+ All Categories
Home > Documents > Full Circle Magazine - issue 91 EN

Full Circle Magazine - issue 91 EN

Date post: 02-Jun-2018
Category:
Upload: roman-sukochev
View: 222 times
Download: 0 times
Share this document with a friend

of 52

Transcript
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    1/52

    f u l l c i r c l e m a g a z i n e # 9 1 1

    c o n t e n t s ^

    F u l l C i r c l e

    T H E I N D E P E N D E N T M A G A Z I N E F O R T H E U B U N T U L I N U X C O M M U N I T Y

    I S S U E # 9 1 - N o v e m b e r 2 0 1 4

    F

    F

    u

    u

    l

    l

    l

    l

    C

    C

    i

    i

    r

    r

    c

    c

    l

    l

    e

    e

    M

    M

    a

    a

    g

    g

    a

    a

    z

    z

    i

    i

    n

    n

    e

    e

    i

    i

    s

    s

    n

    n

    e

    e

    i

    i

    t

    t

    h

    h

    e

    e

    r

    r

    a

    a

    f

    f

    f

    f

    i

    i

    l

    l

    i

    i

    a

    a

    t

    t

    e

    e

    d

    d

    w

    w

    i

    i

    t

    t

    h

    h

    ,

    ,

    n

    n

    o

    o

    r

    r

    e

    e

    n

    n

    d

    d

    o

    o

    r

    r

    s

    s

    e

    e

    d

    d

    b

    b

    y

    y

    ,

    ,

    C

    C

    a

    a

    n

    n

    o

    o

    n

    n

    i

    i

    c

    c

    a

    a

    l

    l

    L

    L

    t

    t

    d

    d

    .

    .

    K

    K

    O

    O

    D

    D

    I

    I

    (

    (

    F

    F

    K

    K

    A

    A

    :

    :

    X

    X

    B

    B

    M

    M

    C

    C

    )

    )

    B O O K R E V I E W

    S O M E S O F T W A R E A D D I T I O N S

    http://fullcirclemagazine.org/
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    2/52

    f u l l c i r c l e m a g a z i n e # 9 1

    2

    c o n t e n t s ^

    T h e a r t i c l e s c o n t a i n e d i n t h i s m a g a z i n e a r e r e l e a s e d u n d e r t h e C r e a t i v e C o m m o n s A t t r i b u t i o n - S h a r e A l i k e 3 . 0 U n p o r t e d l i c e n s e .

    T h i s m e a n s y o u c a n a d a p t , c o p y , d i s t r i b u t e a n d t r a n s m i t t h e a r t i c l e s b u t o n l y u n d e r t h e f o l l o w i n g c o n d i t i o n s : y o u m u s t a t t r i b u t e

    t h e w o r k t o t h e o r i g i n a l a u t h o r i n s o m e w a y ( a t l e a s t a n a m e , e m a i l o r U R L ) a n d t o t h i s m a g a z i n e b y n a m e ( ' F u l l C i r c l e M a g a z i n e ' )

    a n d t h e U R L w w w . f u l l c i r c l e m a g a z i n e . o r g ( b u t n o t a t t r i b u t e t h e a r t i c l e ( s ) i n a n y w a y t h a t s u g g e s t s t h a t t h e y e n d o r s e y o u o r y o u r u s e o f t h e w o r k ) . I f

    y o u a l t e r , t r a n s f o r m , o r b u i l d u p o n t h i s w o r k , y o u m u s t d i s t r i b u t e t h e r e s u l t i n g w o r k u n d e r t h e s a m e , s i m i l a r o r a c o m p a t i b l e l i c e n s e .

    F u l l C i r c l e m a g a z i n e i s e n t i r e l y i n d e p e n d e n t o f C a n o n i c a l , t h e s p o n s o r o f t h e U b u n t u p r o j e c t s , a n d t h e v i e w s a n d o p i n i o n s i n t h e

    m a g a z i n e s h o u l d i n n o w a y b e a s s u m e d t o h a v e C a n o n i c a l e n d o r s e m e n t .

    F u l l C i r c l e

    T H E I N D E P E N D E N T M A G A Z I N E F O R T H E U B U N T U L I N U X C O M M U N I T Y

    M u l t i p l e P a s s w o r d s p . 1 6

    L i b r e O f f i c e p . 1 3

    P r o g r a m I n P y t h o n p . 1 1

    B l e n d e r p . X X

    H o w T o

    Q & A p . 4 6

    C o m m a n d & C o n q u e r p . 0 9

    I n k s c a p e p . 1 9

    T u x i d e r m y p . 4 5

    L e t t e r s p . 4 4

    S e c u r i t y p . X X

    L i n u x L a b s p . 3 2

    L i n u x N e w s p . 0 4

    U b u n t u G a m e s p . 4 8

    A r d u i n o p . 2 3

    R e v i e w p . 3 9

    U b u n t u W o m e n p . X X

    G r a p h i c s

    B A C K N E X T M O N T H

    B A C K N E X T M O N T H

    B A C K N E X T M O N T H

    M y S t o r y p . 4 2

    L i n u x L a b s p . 2 6

    http://creativecommons.org/licenses/by-sa/3.0/
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    3/52

    f u l l c i r c l e m a g a z i n e # 9 1

    3

    c o n t e n t s ^

    E

    E

    D

    D

    I

    I

    T

    T

    O

    O

    R

    R

    I

    I

    A

    A

    L

    L

    W E L C O M E T O A N O T H E R I S S U E O F F U L L C I R C L E .

    P

    y t h o n m a k e s a t r i u m p h a n t r e t u r n t h i s m o n t h , b u t s t i l l n o B l e n d e r a g a i n t h i s m o n t h I ' m

    a f r a i d . I f y o u r e a d l a s t m o n t h ' s i s s u e y o u ' l l k n o w t h a t N i c h o l a s i s n o w o f f i c i a l l y a f a t h e r

    a n d h a s p r o b a b l y o n l y s l e p t a h a n d f u l l o f h o u r s t h i s m o n t h . C o m p l e t i n g t h e t r i n i t y ( w i t h

    L i b r e O f f i c e ) i s a n i n t e r e s t i n g a r t i c l e o n m a n a g i n g m u l t i p l e p a s s w o r d s w i t h a B A S H s c r i p t .

    V e r y d i f f e r e n t !

    I n k s c a p e a l s o c o n t i n u e s a s n o r m a l a n d i s j o i n e d w i t h t h e f o u r t h i n o u r s e r i e s o f k e r n e l

    a r t i c l e s a n d C h a r l e s r e t u r n s w i t h a s e c o n d p a r t t o h i s K o d i ( f o r m e r l y k n o w n a s X B M C ) s e r i e s .

    W h y I r e m e m b e r i n s t a l l i n g X B M C o n t o a n X b o x . T h e f i r s t X b o x n o l e s s ! O K , I ' m g i v i n g a w a y m y

    a g e . I ' l l s t o p n o w .

    E l e m e n t a r y O S i s r e v i e w e d a s i s t h e b o o k ( k i n d l y g i f t e d t o u s b y P a c k t P u b l i s h i n g ) W e b

    D e v e l o p m e n t w i t h M o n g o D B a n d N o d e J S b y J a s o n K r o l . L u c a s t o u c h e d u p o n N o d e J S i n a

    p r e v i o u s C o m m a n d a n d C o n q u e r a r t i c l e . S o , i t ' s o n l y n a t u r a l t h a t h e s h o u l d r e v i e w t h e b o o k .

    A s e v e r , p l e a s e s u p p o r t P a c k t a s t h e y ' r e o n e o f t h e f e w p u b l i s h e r s w h o s e n d u s b o o k s f o r

    r e v i e w .

    T h i s m o n t h b r i n g s t o a n e n d m y c u r r e n t A r d u i n o p r o j e c t , b u t I ' l l h a v e s o m e t h i n g n e w f o r

    y o u t o d o n e x t m o n t h . F e a r n o t !

    A n y w a y , e n o u g h r a m b l i n g f r o m m e . I h o p e y o u e n j o y t h e i s s u e .

    A l l t h e b e s t , a n d k e e p i n t o u c h !

    R o n n i e

    r o n n i e @ f u l l c i r c l e m a g a z i n e . o r g

    T h i s m a g a z i n e w a s c r e a t e d u s i n g :

    F u l l C i r c l e P o d c a s t

    R e l e a s e d m o n t h l y , e a c h e p i s o d e

    c o v e r s a l l t h e l a t e s t U b u n t u n e w s ,

    o p i n i o n s , r e v i e w s , i n t e r v i e w s a n d

    l i s t e n e r f e e d b a c k . T h e S i d e - P o d i s

    a n e w a d d i t i o n , i t ' s a n e x t r a

    ( i r r e g u l a r ) s h o r t - f o r m p o d c a s t

    w h i c h i s i n t e n d e d t o b e a b r a n c h

    o f t h e m a i n p o d c a s t . I t ' s

    s o m e w h e r e t o p u t a l l t h e g e n e r a l

    t e c h n o l o g y a n d n o n - U b u n t u s t u f f

    t h a t d o e s n t f i t i n t h e m a i n

    p o d c a s t .

    H o s t s :

    L e s P o u n d e r

    T o n y H u g h e s

    J o n C h a m b e r l a i n

    O l i v e r C l a r k

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g

    http://fullcirclemagazine.org/http://creativecommons.org/http://www.libreoffice.org/http://www.gimp.org/http://www.scribus.net/mailto:[email protected]
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    4/52

  • 8/10/2019 Full Circle Magazine - issue 91 EN

    5/52

  • 8/10/2019 Full Circle Magazine - issue 91 EN

    6/52

    f u l l c i r c l e m a g a z i n e # 9 1 6

    c o n t e n t s ^

    N E W S

    d e f i n i t e l y w o r t h c h e c k i n g o u t .

    S o u r c e :

    h t t p : / / w w w . n e t w o r k w o r l d . c o m / a r t

    i c l e / 2 8 4 1 8 0 4 / s o f t w a r e / k r i t a -

    d e s k t o p - a - f r e e - o p e n - s o u r c e -

    p a i n t i n g - t o o l - m a y b e - a s - g o o d - a s -

    p h o t o s h o p . h t m l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    L I N U X F O U N D A T I O N : O P E N

    SO U R C E I S

    EA T I N G T H E

    SO F T W A R E

    WO R L D

    I

    n e v e r y s e c t o r o f t h e t e c h n o l o g y

    w o r l d t h e r e i s n o w a n o p e n

    s o u r c e p r o j e c t t h a t i s d e f i n i n g t h a t

    p a r t i c u l a r t e c h n o l o g y . S o f t w a r e

    d r i v e s v a l u e i n n e a r l y e v e r y

    i n d u s t r y , a n d o p e n s o u r c e p r o j e c t s

    a r e w h e r e m o s t o f t h a t v a l u e

    c o m e s f r o m .

    T h a t s a c c o r d i n g t o J i m Z e m l i n ,

    e x e c u t i v e d i r e c t o r o f t h e L i n u x

    F o u n d a t i o n a n d o n e o f M o n d a y s

    k e y n o t e s p e a k e r s a t t h i s w e e k s

    O p e n S t a c k s u m m i t i n P a r i s t h e

    f i r s t i n E u r o p e . O p e n s o u r c e i s

    r e a l l y e a t i n g t h e s o f t w a r e w o r l d ,

    Z e m l i n s a i d , a d a p t i n g t h e f a m o u s

    p h r a s e f r o m a 2 0 1 1 W a l l S t r e e t

    J o u r n a l O p E d b y v e n t u r e c a p i t a l i s t

    M a r k A n d r e e s s e n , t i t l e d S o f t w a r e

    i s e a t i n g t h e w o r l d .

    T h e r e i s a w h o l e s a l e s h i f t i n t h e

    e n t e r p r i s e s o f t w a r e w o r l d f r o m

    u s i n g a l i t t l e b i t o f o p e n s o u r c e

    c o d e h e r e a n d t h e r e t o a n 8 0 - 2 0

    s p l i t , w h e r e 8 0 i s t h e o p e n s o u r c e

    p o r t i o n , h e s a i d . T h e r e a s o n f o r t h e

    s h i f t i s q u i t e s i m p l e : s o f t w a r e h a s

    b e c o m e a w a y f o r a n e n t e r p r i s e t o

    a d d v a l u e , a n d o p e n s o u r c e i s t h e

    b e s t w a y t o u s e a l o t o f s o f t w a r e .

    T h e r e i s t o o m u c h s o f t w a r e b e i n g

    w r i t t e n f o r a n y o r g a n i z a t i o n t o

    w r i t e t h a t s o f t w a r e o n t h e i r o w n ,

    Z e m l i n e x p l a i n e d .

    S o u r c e :

    h t t p : / / w w w . d a t a c e n t e r k n o w l e d g e .

    c o m / a r c h i v e s / 2 0 1 4 / 1 1 / 0 3 / l i n u x -

    f o u n d a t i o n - o p e n - s o u r c e - e a t i n g -

    e n t e r p r i s e - s o f t w a r e - w o r l d /

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    G O O G L E C L O U D A D D S

    S U P P O R T F O R U B U N T U

    LI N U X

    DI S T R I B U T I O N

    G

    o o g l e p a r t n e r e d w i t h

    C a n o n i c a l t o b r i n g o f f i c i a l

    U b u n t u i m a g e s t o G o o g l e C o m p u t e

    E n g i n e .

    G o o g l e C o m p u t e E n g i n e

    b e c a m e g e n e r a l l y a v a i l a b l e i n

    D e c e m b e r 2 0 1 3 . S i n c e t h e n , i t

    a d d e d s u p p o r t f o r C o r e O S , D e b i a n ,

    R e d H a t E n t e r p r i s e L i n u x , S U S E a n d

    M i c r o s o f t W i n d o w s S e r v e r . T h o u g h

    D e b i a n a n d U b u n t u d i s t r i b u t i o n s

    a r e c o m p a t i b l e , m a n y d e v e l o p e r s

    p r e f e r t o w o r k o n U b u n t u .

    A c c o r d i n g t o C a n o n i c a l , U b u n t u

    p o w e r s 8 5 % o f L i n u x w o r k l o a d s

    r u n n i n g o n p u b l i c c l o u d s . U b u n t u i s

    a p o p u l a r c h o i c e o f L i n u x

    d i s t r i b u t i o n o n A m a z o n E C 2 ,

    M i c r o s o f t A z u r e a n d H P C l o u d a n d

    J o y e n t .

    A c c o r d i n g t o a b l o g p o s t f r o m

    G o o g l e C l o u d P l a t f o r m t e a m ,

    C a n o n i c a l m a i n t a i n e d i m a g e s a r e

    c o n t i n u a l l y t e s t e d a n d u p d a t e d ,

    f o l l o w i n g U b u n t u s b e s t - p r a c t i c e s .

    S o u r c e :

    h t t p : / / w w w . i n f o q . c o m / n e w s / 2 0 1 4 /

    1 1 / g o o g l e - c l o u d - s u p p o r t s -

    u b u n t u ? u t m _ c a m p a i g n = i n f o q _ c o n t

    e n t & u t m _ s o u r c e = i n f o q & u t m _ m e d i

    u m = f e e d & u t m _ t e r m = g l o b a l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    UB U N T U

    G N O M E 1 4 . 1 0 :

    U N I F Y I N G T H E L I N U X

    D E S K T O P

    A

    s y o u m a y k n o w , U b u n t u 1 4 . 1 0

    c a m e o u t w i t h a b o u t a s m u c h

    f a n f a r e a s g r o w i n g g r a s s . I f y o u ' r e

    u n s u r e w h y t h i s h a p p e n e d , i t ' s

    s i m p l e - - U b u n t u i s i n a s t a t e o f

    h o l d i n g b e c a u s e o f U n i t y 8 / M i r .

    U n t i l t h a t h a p p e n s , U b u n t u v e r s i o n

    u p g r a d e s w i l l b e a b o u t b u g f i x e s

    a n d n o t m u c h m o r e . I t m a k e s

    s e n s e . . . w h y d u m p a b u n c h o f

    t i m e / e f f o r t i n t o a n i n t e r f a c e t h a t ' s

    a b o u t t o u n d e r g o a r a d i c a l s h i f t ?

    H o w e v e r , t h a t ' s n o t t h e c a s e f o r

    t h e G N O M E f l a v o r o f U b u n t u .

    U b u n t u G N O M E 1 4 . 1 0 w a s r e l e a s e d

    a l o n g w i t h t h e o f f i c i a l f l a v o r a n d

    b r i n g s t o l i g h t s o m e r e a l l y

    i m p r e s s i v e f e a t u r e s . T h i s r e l e a s e

    a l s o i n c l u d e s t h e m u c h a n t i c i p a t e d

    G N O M E - M a p s a n d G N O M E -

    W e a t h e r - - a n d i t ' s i m p o r t a n t t o

    d e v e l o p e r s , b e c a u s e i t c o m e s w i t h

    n u m e r o u s n e w A P I s a n d w i d g e t s .

    S o u r c e :

    h t t p : / / w w w . t e c h r e p u b l i c . c o m / a r t i c l

    e / u b u n t u - g n o m e - 1 4 - 1 0 - u n i f y i n g -

    t h e - l i n u x - d e s k t o p /

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    C A N O N I C A L C O N F I R M S

    IN V O L V E M E N T I N

    UB U N T U

    LI N U X

    TA B L E T

    A

    c c o r d i n g t o e m a i l s f r o m

    A n d r e w B e r n s t e i n , w h o h a s

    e m e r g e d a s t h e p u b l i c f a c e o f t h e

    U T O n e t a b l e t p r o j e c t , C a n o n i c a l

    http://www.techrepublic.com/article/ubuntu-gnome-14-10-unifying-the-linux-desktop/http://www.infoq.com/news/2014/11/google-cloud-supports-ubuntu?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=globalhttp://www.datacenterknowledge.com/archives/2014/11/03/linux-foundation-open-source-eating-enterprise-software-world/http://www.networkworld.com/article/2841804/software/krita-desktop-a-free-open-source-painting-tool-maybe-as-good-as-photoshop.html
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    7/52

    f u l l c i r c l e m a g a z i n e # 9 1 7

    c o n t e n t s ^

    N E W S

    " c e r t a i n l y w i l l b e i n v o l v e d " i n t h e

    p r o d u c t i o n o f t h e t a b l e t , w h i c h w i l l

    f e a t u r e a n I n t e l x 8 6 p r o c e s s o r .

    F o r n o w , B e r n s t e i n i s h o l d i n g h i s

    c a r d s c l o s e w i t h r e g a r d t o

    s p e c i f y i n g e x a c t l y w h a t C a n o n i c a l ' s

    r o l e w i l l b e . B u t h e w r i t e s t h a t , a t a

    m i n i m u m , " w e d o h o p e t o g e t

    o f f i c i a l h a r d w a r e c e r t i f i c a t i o n a n d

    s o m e a g r e e m e n t o n s u p p o r t f o r U T

    O n e ' s s o f t w a r e , a s i n p r o v i d i n g

    s u p p o r t f o r e n d u s e r s i n r e l a t i o n t o

    t h e h a r d w a r e . "

    B e r n s t e i n a l s o c o n f i r m e d t h a t

    t h e t a b l e t h a r d w a r e w i l l b e r e a d y

    t o s h i p b y D e c e m b e r , a l t h o u g h h e

    e x p r e s s e d d o u b t t h a t t h e s o f t w a r e

    i t n e e d s t o r u n w i l l b e a v a i l a b l e

    t h a t s o o n . T h a t ' s b e c a u s e

    C a n o n i c a l l i k e l y w o n ' t c o m p l e t e

    w o r k o n U b u n t u T o u c h , t h e v e r s i o n

    o f U b u n t u t h a t i t i s b u i l d i n g f o r

    t a b l e t s , p h o n e s a n d o t h e r m o b i l e

    d e v i c e s , u n t i l s o m e t i m e i n t h e n e w

    y e a r , p o s t p o n i n g t h e U T O n e

    r e l e a s e d , B e r n s t e i n s a i d .

    S o u r c e :

    h t t p : / / t h e v a r g u y . c o m / u b u n t u / 1 1 0 6

    1 4 / c a n o n i c a l - c o n f i r m s -

    i n v o l v e m e n t - u b u n t u - l i n u x - t a b l e t

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    LI N U X S T I L L O W N S

    S U P E R C O M P U T I N G

    T

    h a t ' s n o s u r p r i s e . F o r y e a r s ,

    L i n u x h a s d o m i n a t e d

    s u p e r c o m p u t i n g . T h e N o v e m b e r

    2 0 1 4 T o p 5 0 0 s u p e r c o m p u t e r

    r a n k i n g f o u n d 4 8 5 o u t o f t h e

    w o r l d ' s f a s t e s t 5 0 0 c o m p u t e r s

    r u n n i n g L i n u x . T h a t ' s 9 7 p e r c e n t f o r

    t h o s e o f y o u w i t h o u t a c a l c u l a t o r a t

    h a n d .

    C o m p a r e d t o t h a t , W i n d o w s o n

    d e s k t o p s a n d A n d r o i d o n

    s m a r t p h o n e s a r e p i k e r s .

    L i n u x h a s g r o w n t o o w n

    s u p e r c o m p u t i n g s i n c e i t f i r s t

    a p p e a r e d o n t h e T o p 5 0 0 l i s t i n

    J u n e 1 9 9 8 b e c a u s e i t s i m p l y w o r k s

    w e l l i n c r e a t i n g u l t r a - f a s t

    c o m p u t e r s . U n i x , w h i c h o n c e

    d o m i n a t e d t h e b i - a n n u a l l i s t i n g s i s

    d o w n t o a m e r e 1 3 s y s t e m s , 2 . 6

    p e r c e n t . T h e r e m a i n i n g t w o

    s u p e r c o m p u t e r s c o n s i s t s o f a

    s y s t e m r u n n i n g a m i x e d o p e r a t i n g

    s y s t e m a n d a s i n g l e W i n d o w s

    s y s t e m .

    S o u r c e :

    h t t p : / / w w w . z d n e t . c o m / l i n u x - s t i l l -

    o w n s - s u p e r c o m p u t i n g -

    7 0 0 0 0 3 5 8 7 6 /

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    P R O M I N E N T D E V E L O P E R S

    P U L L I N G O U T O F D

    E B I A N A S

    V O T I N G D E A D L I N E N E A R S

    F

    o u r p r o m i n e n t m e m b e r s o f t h e

    D e b i a n c o m m u n i t y h a v e

    s t e p p e d d o w n o r r e d u c e d t h e i r

    i n v o l v e m e n t i n t h e p r o j e c t a s a

    r e s u l t o f a n i n c r e a s i n g l y b i t t e r

    a r g u m e n t o v e r t h e f u t u r e o f t h e

    w i d e l y i n f l u e n t i a l L i n u x

    d i s t r i b u t i o n .

    T h e b a t t l e s c e n t e r o n t h e r e c e n t

    d e c i s i o n b y D e b i a n ' s g o v e r n i n g

    t e c h n i c a l c o m m i t t e e t o r e p l a c e t h e

    v e n e r a b l e s y s v i n i t s t a r t u p m o d u l e

    w i t h s y s t e m d i n t h e f o r t h c o m i n g

    r e l e a s e , d u b b e d " J e s s i e . " S y s t e m d

    i s a m o r e s o p h i s t i c a t e d , c o m p l e x

    p i e c e o f s o f t w a r e , w h i c h

    s u p p o r t e r s s a y i s a n e c e s s a r y

    u p d a t e t o a b a d l y o u t m o d e d p a r t

    o f D e b i a n , w h i l e c r i t i c s a c c u s e i t o f

    b e i n g n e e d l e s s l y c o m p l e x a n d

    s u f f e r i n g f r o m s e r i o u s f e a t u r e

    c r e e p .

    T h e c r i t i c i s m h a s h i t a f e v e r

    p i t c h i n r e c e n t m o n t h s , w i t h

    s y s t e m d c r e a t o r L e n n a r t

    P o e t t e r i n g t a k i n g t o G o o g l e P l u s t o

    t a l k a b o u t r e c e i v i n g d e a t h t h r e a t s

    a n d o t h e r o n l i n e a b u s e .

    S o u r c e :

    h t t p : / / w w w . i n f o w o r l d . c o m / a r t i c l e /

    2 8 4 9 3 6 4 / l i n u x / p r o m i n e n t -

    d e v e l o p e r s - p u l l i n g - o u t - o f - d e b i a n -

    a s - v o t i n g - d e a d l i n e - n e a r s . h t m l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    C R O W D F U N D I N G J O L L A , A

    G N U / L I N U X

    -P O W E R E D

    H I G H -

    S P E C T A B L E T

    I

    t r u n s a n O S c a l l e d S a i l f i s h t h a t

    c a n u s e A n d r o i d a p p s a s w e l l i t s

    o w n n a t i v e a p p s , a n d w a s c r e a t e d

    b y a t e a m w i t h a b u n c h o f s e n i o r

    N o k i a r e f u g e e s o n i t .

    T h e t a b l e t i t s e l f i s s u p e r h i g h -

    s p e c a n d c o m p e t i t i v e l y p r i c e d ( a n d

    t o t a l v a p o u r w a r e a t t h i s p o i n t ,

    c a v e a t e m p t o r ) . T h e O S i s b u i l t o n

    G N U / L i n u x w i t h t h e Q t a p p l i c a t i o n

    f r a m e w o r k . T h e c o m p a n y

    a d v e r t i s e s i t s e l f a s p r i v a c y - f r i e n d l y

    a n d p r o m i s e s n e v e r t o s e l l o r s h a r e

    y o u r d a t a a n d n o t t o b u i l d i n a n y

    i n t e n t i o n a l b a c k - d o o r s .

    I t o o k a f l u t t e r a n d p r e - o r d e r e d

    o n e .

    S o u r c e :

    h t t p : / / b o i n g b o i n g . n e t / 2 0 1 4 / 1 1 / 1 9 /

    c r o w d f u n d i n g - j o l l a - a - g n u l i n u . h t m l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    http://boingboing.net/2014/11/19/crowdfunding-jolla-a-gnulinu.htmlhttp://www.infoworld.com/article/2849364/linux/prominent-developers-pulling-out-of-debian-as-voting-deadline-nears.htmlhttp://www.zdnet.com/linux-still-owns-supercomputing-7000035876/http://thevarguy.com/ubuntu/110614/canonical-confirms-involvement-ubuntu-linux-tablet
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    8/52f u l l c i r c l e m a g a z i n e # 9 1 8c o n t e n t s ^

    N E W S

    HO W T H E

    LI N U X

    F O U N D A T I O N ' S C I I I S

    S E C U R I N G T H E I N T E R N E T

    T

    h e H e a r t b l e e d f l a w t h a t w a s

    f i r s t p u b l i c l y d i s c l o s e d i n A p r i l

    o f t h i s y e a r , w a s i n s o m e r e s p e c t s a

    b l a c k e y e o n t h e o p e n - s o u r c e

    c o m m u n i t y . H e a r t b l e e d i s a f l a w i n

    t h e o p e n - s o u r c e O p e n S S L

    c r y p t o g r a p h i c l i b r a r y t h a t h a d w i d e

    r a n g i n g i m p a c t a c r o s s t h e

    i n f r a s t r u c t u r e o f t h e I n t e r n e t . I n

    t h e a f t e r m a t h o f H e a r t b l e e d , a

    n e w e f f o r t e m e r g e d c a l l e d t h e

    C o r e I n f r a s t r u c t u r e I n i t i a t i v e ( C I I )

    t o h e l p f u n d d e v e l o p e r s w a n t i n g t o

    i m p r o v e s e c u r i t y a c r o s s c r i t i c a l

    o p e n - s o u r c e i n f r a s t r u c t u r e

    t e c h n o l o g i e s . I n a v i d e o i n t e r v i e w

    w i t h e W E E K , J i m Z e m l i n , e x e c u t i v e

    d i r e c t o r o f t h e L i n u x F o u n d a t i o n ,

    e x p l a i n s h o w C I I w o r k s a n d w h a t

    c a n b e d o n e t o i m p r o v e o p e n -

    s o u r c e s e c u r i t y . Z e m l i n n o t e d t h a t

    i n t h e c a s e o f O p e n S S L , t h o u g h i t

    p l a y s a c r i t i c a l r o l e i n I n t e r n e t

    i n f r a s t r u c t u r e , i t w a s n o t r e c e i v i n g

    t h e l e v e l o f s u p p o r t t h a t i s

    c o m m e n s u r a t e w i t h t h e r o l e i t

    p l a y s . T h e r e a r e o t h e r o p e n - s o u r c e

    e f f o r t s b e y o n d j u s t O p e n S S L t h a t

    c o u l d a l s o b e n e f i t f r o m i n c r e a s e d

    f i n a n c i a l s u p p o r t , h e a d d e d .

    S o u r c e :

    h t t p : / / w w w . e w e e k . c o m / s e c u r i t y / h

    o w - t h e - l i n u x - f o u n d a t i o n s - c o r e -

    i n f r a s t r u c t u r e - i n i t i a t i v e - i s - s e c u r i n g -

    t h e - i n t e r n e t - v i d e o . h t m l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    ' L E S S ' M E A N S M O R E T O

    M A L W A R E A U T H O R S

    T A R G E T I N G L

    I N U X U S E R S

    U

    s i n g t h e l e s s L i n u x c o m m a n d

    t o v i e w t h e c o n t e n t s o f f i l e s

    d o w n l o a d e d f r o m t h e I n t e r n e t i s a

    d a n g e r o u s o p e r a t i o n t h a t c a n l e a d

    t o r e m o t e c o d e e x e c u t i o n ,

    a c c o r d i n g t o a s e c u r i t y r e s e a r c h e r .

    A t f i r s t g l a n c e , l e s s a p p e a r s t o

    b e a h a r m l e s s c o m m a n d t h a t

    o u t p u t s a f i l e s c o n t e n t t o a

    t e r m i n a l w i n d o w a n d a l l o w s t h e

    u s e r s t o n a v i g a t e f o r w a r d a n d

    b a c k w a r d t h r o u g h i t . L e s s d o e s n o t

    a l l o w f i l e e d i t i n g , w h i c h i s a j o b f o r

    f i l e e d i t o r s l i k e t h e w i d e l y u s e d v i ,

    b u t h a s t h e b e n e f i t o f d i s p l a y i n g

    d a t a o n t h e f l y w i t h o u t n e e d i n g t o

    l o a d a n e n t i r e f i l e i n t o m e m o r y .

    T h i s i s u s e f u l w h e n d e a l i n g w i t h

    l a r g e f i l e s . L e s s i s f r e q u e n t l y u s e d

    t o v i e w t e x t f i l e s , b u t o n m a n y

    L i n u x d i s t r i b u t i o n s , i n c l u d i n g

    U b u n t u a n d C e n t O S , i t s u p p o r t s

    m a n y m o r e f i l e t y p e s , i n c l u d i n g

    a r c h i v e s , i m a g e s a n d P D F . T h a t s

    b e c a u s e , o n t h e s e s y s t e m s , l e s s i s

    e x t e n d e d t h r o u g h a s c r i p t c a l l e d

    l e s s p i p e t h a t r e l i e s o n d i f f e r e n t

    t h i r d - p a r t y t o o l s t o p r o c e s s f i l e s

    w i t h v a r i o u s e x t e n s i o n s .

    S o u r c e :

    h t t p : / / w w w . p c w o r l d . c o m / a r t i c l e / 2

    8 5 1 6 9 2 / l e s s - m e a n s - m o r e - t o -

    m a l w a r e - a u t h o r s - t a r g e t i n g - l i n u x -

    u s e r s . h t m l

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    AN T A R C T I C I C E M I G H T B E

    T H I C K E R T H A N P R E V I O U S L Y

    T H O U G H T , R E V E A L S L I N U X

    P O W E R E D U N D E R W A T E R

    R O B O T S E A B E D

    S

    e a B E D , a s u b m e r s i b l e r o b o t

    p o w e r e d b y L i n u x , w a s r e c e n t l y

    u s e d t o s c a n t h e h u g e f r o z e n i c e

    s h e e t s a c r o s s A n t a r c t i c a . T h a t h a s

    h e l p e d s c i e n t i s t s g e t d e t a i l e d a n d

    h i g h - r e s o l u t i o n 3 - D m a p s o f t h e

    f r o z e n c o n t i n e n t f o r t h e f i r s t t i m e .

    R e s e a r c h e r s a t t h e B r i t i s h A n t a r c t i c

    S u r v e y w i l l n o w b e a b l e t o k n o w

    m o r e r e g i o n s w h i c h h a d e a r l i e r

    b e e n d i f f i c u l t t o a c c e s s b e c a u s e o f

    t h e h o s t i l e c o n d i t i o n s p r e v a i l i n g i n

    t h e a r e a .

    T h e r o b o t r u n s o n a 1 . 2 G H z I n t e l

    P e n t i u m p r o c e s s o r a n d u s e s

    U b u n t u , w h i l e t h e h u l l o f t h e s u b

    h a s b e e n s o d e s i g n e d t h a t i t s t a y s

    s t a b l e e n o u g h f o r p h o t o g r a p h i c

    w o r k , t o a l l o w t h e s o n a r t o a i m

    p r e c i s e l y a n d t o b e a b l e t o s e n d t h e

    d a t a t h u s c o l l e c t e d c o n s i s t e n t l y .

    S o u r c e :

    h t t p : / / t h e w e s t s i d e s t o r y . n e t / 2 0 1 4 /

    1 1 / 2 5 / 2 1 7 9 4 / a n t a r c t i c - i c e - m i g h t -

    t h i c k e r - p r e v i o u s l y - t h o u g h t - r e v e a l s -

    l i n u x - p o w e r e d - u n d e r w a t e r - r o b o t -

    s e a b e d /

    S u b m i t t e d b y : A r n f r i e d W a l b r e c h t

    http://thewestsidestory.net/2014/11/25/21794/antarctic-ice-might-thicker-previously-thought-reveals-linux-powered-underwater-robot-seabed/http://www.pcworld.com/article/2851692/less-means-more-to-malware-authors-targeting-linux-users.htmlhttp://www.eweek.com/security/how-the-linux-foundations-core-infrastructure-initiative-is-securing-the-internet-video.html
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    9/52f u l l c i r c l e m a g a z i n e # 9 1

    9

    c o n t e n t s ^

    L

    a s t m o n t h I m e n t i o n e d t h e

    Z u r b F o u n d a t i o n w h e n

    d i s c u s s i n g b o w e r . F o r a l o n g w h i l e

    i t w a s m y g o - t o g r i d s y s t e m ,

    r e g a r d l e s s o f m y o p i n i o n t o w a r d s

    u s i n g d i v s f o r r o w s a n d t h e s t r i c t

    f o r m a t t i n g g u i d e l i n e s . V e r y

    r e c e n t l y , h o w e v e r , I h a v e f o u n d a

    n e w f r a m e w o r k w h i c h d o e s n o t

    r e q u i r e t h o s e s o r t s o f d i v s ( o r e v e n

    p r e - d e f i n e d c l a s s e s ) . I t i s c a l l e d

    J e e t , a n d a f t e r u s i n g i t o n o n l y o n e

    p r o j e c t , I d o n t s e e m y s e l f u s i n g

    F o u n d a t i o n f o r t h e g r i d a n y m o r e .

    E X A M P L E F I L E S

    I v e c r e a t e d a g i t h u b r e p o s i t o r y

    c o n t a i n i n g a l l m y e x a m p l e f i l e s . F o r

    a n y o n e i n t e r e s t e d i n t h e m , t h e y

    c a n e i t h e r b e v i e w e d o n t h e w e b ,

    o r c l o n e d . T h e r e p o s i t o r y i s h e r e :

    h t t p s : / / g i t h u b . c o m / l s w e s t / F C M 9 1 .

    JE E T

    - WH A T I S I T

    ?

    J e e t i s a s o - c a l l e d R a t i o G r i d .

    I t f e a t u r e s f u n c t i o n s i n S A S S o r

    S t y l u s t o g e n e r a t e t h e C S S

    r e q u i r e d t o c r e a t e c o l u m n s o n a n y

    e l e m e n t . T h e w e b s i t e l i n k e d t o i n

    F u r t h e r R e a d i n g ( b e l o w ) d o e s a n

    e x c e l l e n t j o b d e s c r i b i n g w h a t

    e x a c t l y J e e t i s . S o i n s t e a d , I w i l l

    f o c u s o n a n e x a m p l e o f h o w i t

    d i f f e r s f r o m F o u n d a t i o n .

    EM M E T

    ? WH O

    ?

    E m m e t i s e s s e n t i a l l y t h e

    s p i r i t u a l s u c c e s s o r t o Z e n C o d i n g . I t

    e n a b l e s y o u t o e n t e r a s e r i e s o f

    s e l e c t o r s ( b a s e d o f f t h e C S S

    s e l e c t o r s ) , w h i c h t h e n a u t o -

    c o m p l e t e s i n t o H T M L c o d e w h e n

    y o u h i t t a b . T h e r e a r e p l u g i n s

    a v a i l a b l e f o r t h e v a s t m a j o r i t y o f

    t e x t e d i t o r s , s o y o u s h o u l d h a v e n o

    p r o b l e m f i n d i n g o n e .

    T H E E M M E T E X A M P L E

    F o r t h e i l l u s t r a t i o n b e t w e e n t h e

    d i f f e r e n c e s o f J e e t a n d

    F o u n d a t i o n , I w i l l u s e t h e s a m e

    t h r e e s t a t e m e n t s i n E m m e t , a n d

    w o r k f r o m t h e r e . A f t e r e a c h

    s t a t e m e n t , I l l h i t t a b a n d h a v e

    e m m e t c o m p l e t e i t , t h e n m o v e

    o n t o t h e n e x t . T h e y a r e :

    html:5

    T h i s g e n e r a t e s t h e b a s i c H T M L 5

    p a g e s t r u c t u r e ( d o c t y p e , h t m l t a g s ,

    h e a d a n d b o d y ) .

    link[href=css/foundation.css]:css

    T h i s g e n e r a t e s a < l i n k

    r e l = s t y l e s h e e t

    h r e f = c s s / f o u n d a t i o n . c s s > l i n e .

    R e p l a c e f o u n d a t i o n . c s s f o r a p p . c s s

    f o r t h e J e e t e x a m p l e

    header+section>article+aside^footer

    T h i s c r e a t e s a s e t o f h e a d e r t a g s ,

    f o l l o w e d b y ( + a d j a c e n t s i b l i n g

    s e l e c t o r ) a s e c t i o n e l e m e n t w i t h

    t w o c h i l d r e n ( > , a n a r t i c l e a n d a n

    a s i d e ) , a n d t h e n a f o l l o w i n g ( ^ " u p

    o n e l e v e l ) f o o t e r t a g .

    A f t e r r u n n i n g t h e s e c o m m a n d s ,

    I w i l l h a v e a b a s i c H T M L 5 p a g e . T o

    s e e w h a t t h e e n d r e s u l t w a s , l o o k

    i n t h e e m m e t . h t m l f i l e i n t h e

    e x a m p l e c o d e .

    TH E

    EX A M P L E

    A s s u m i n g y o u w a n t e d t o c r e a t e

    a t w o - c o l u m n l a y o u t t h a t s p a n s t h e

    w h o l e w i d t h o f t h e w e b p a g e , y o u d

    n e e d t o d o t h e f o l l o w i n g f o r

    F o u n d a t i o n :

    C r e a t e a d i v w i t h c l a s s r o w

    w i t h i n t h e b o d y t a g s .

    C r e a t e a n e x t r a s t y l e t o e x p a n d

    t h e w i d t h o f t h e r o w t o 1 0 0 % .

    A d d y o u r c o l u m n c l a s s e s t o e v e r y

    e l e m e n t .

    A d d a d i v w i t h c l a s s r o w a r o u n d

    t h e a r t i c l e a n d t h e a s i d e e l e m e n t s

    w i t h i n s e c t i o n .

    T h e s a m e s t e p s f o r J e e t

    ( s t a r t i n g a f t e r t h e e m m e t f i l e w a s

    c r e a t e d ) :

    R u n t h e c f ( ) f u n c t i o n o n h e a d e r ,

    f o o t e r a n d s e c t i o n ( N o t s t r i c t l y

    n e c e s s a r y , b u t i t d e f i n i t e l y d o e s n t

    h u r t ) .

    R u n t h e c o l u m n f u n c t i o n o n

    a r t i c l e a n d a s i d e ( c o l ( 0 . 7 5 ) a n d

    c o l ( 0 . 2 5 ) r e s p e c t i v e l y ) .

    C o m p i l e t h e s c s s o r s t y l u s f i l e .

    I n b o t h c a s e s , I v e a d d e d a f e w

    e x t r a s t y l e s t o h e l p i l l u s t r a t e t h e

    e n d l a y o u t , b u t a s t h e y a r e n t

    n e c e s s a r y , I h a v e n t i n c l u d e d t h e m .

    N o t e : T h e f u n c t i o n s f o r J e e t c a n

    b e r u n i n s c s s , b u t t h a t r e q u i r e s t h e

    f o r m a t @ i n c l u d e c o l ( 0 . 7 5 ) ; T h e

    f o r m a t I u s e a b o v e i s f o r S t y l u s .

    C

    C

    O

    O

    M

    M

    M

    M

    A

    A

    N

    N

    D

    D

    &

    &

    C

    C

    O

    O

    N

    N

    Q

    Q

    U

    U

    E

    E

    R

    R

    W r i t t e n b y L u c a s W e s t e r m a n n

    J

    J

    e

    e

    e

    e

    t

    t

    &

    &

    E

    E

    m

    m

    m

    m

    e

    e

    t

    t

    https://github.com/lswest/FCM91
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    10/52f u l l c i r c l e m a g a z i n e # 9 1

    1 0

    c o n t e n t s ^

    C O M M A N D & C O N Q U E R

    N o t e # 2 : I f y o u w a n t t o w o r k o n

    t h e s t y l u s f i l e , y o u l l f i r s t n e e d t o

    i n s t a l l j e e t ( m o s t e a s i l y d o n e v i a

    n p m ) .

    TH E C O N C L U S I O N

    A s y o u c a n s e e , t h e

    c o n f i g u r a t i o n o f t h e c o l u m n s

    o c c u r s i n a s t y l e s h e e t , m e a n i n g y o u

    c a n f o c u s o n c r e a t i n g a b a s i c h t m l

    s t r u c t u r e , a n d t h e n o n l y e d i t i t a s

    y o u a d d e x t r a s t y l e s t h a t y o u m a y

    n e e d . Y o u r e n o t f o r c e d t o a d j u s t

    t h e c o l u m n s b y e d i t i n g t h e e l e m e n t

    t a g s , w h i c h i s g r e a t w h e n y o u r e

    w o r k i n g w i t h a C M S a n d w o n t

    n e c e s s a r i l y b e a b l e t o e a s i l y e d i t a n

    H T M L f i l e t o m a k e y o u r c h a n g e s .

    A n o t h e r b e n e f i t i s t h a t t h e

    c o m p i l e d C S S f i l e c o n t a i n s l i t e r a l l y

    o n l y t h e s t y l e s y o u u s e . W h i l e

    F o u n d a t i o n d o e s l e t y o u p i c k a n d

    c h o o s e d i f f e r e n t m o d u l e s t o

    c o m p i l e , t h e r e i s v e r y o f t e n a l a r g e

    a m o u n t o f u n n e c e s s a r y c o d e .

    H o p e f u l l y t h i s w i l l h e l p b r i n g

    J e e t t o t h e a t t e n t i o n o f t h o s e j u s t

    s t a r t i n g o u t , s o t h e y c a n f o c u s

    m o r e o n g o o d f o r m a t t i n g a n d

    b e i n g s u c c i n c t r a t h e r t h a n

    c o n f o r m i n g t o t h e Z u r b F o u n d a t i o n

    f o r m a t . T h a t i s n t t o s a y

    F o u n d a t i o n i s n t u s e f u l f o r c e r t a i n

    a s p e c t s , a s i t o f f e r s m o r e t h a n j u s t

    a g r i d ( s u c h a s p r e - d e f i n e d s t y l e s

    f o r b u t t o n s o r m e n u s ) , a n d i t c a n

    e a s i l y b e m i x e d w i t h t h e J e e t g r i d .

    F i n a l n o t e : I f y o u w a n t J e e t t o

    w o r k i n o l d e r v e r s i o n s o f I n t e r n e t

    E x p l o r e r , y o u l l n e e d t o u s e

    s o m e t h i n g l i k e s e l e c t i v z r ,

    m o d e r n i z r , o r H T M L 5 s h i v , o r a

    c o m b i n a t i o n .

    I h o p e t h i s a r t i c l e h a s b e e n

    h e l p f u l t o a n y o n e s t a r t i n g o u t w i t h

    w e b p r o g r a m m i n g . I f y o u h a v e a n y

    q u e s t i o n s , o r h a v e u s e d e i t h e r

    E m m e t o r J e e t f o r a n i n t e r e s t i n g

    p r o j e c t , f e e l f r e e t o e m a i l m e a t

    l s w e s t 3 4 + f c m @ g m a i l . c o m . A l s o ,

    a n y o n e w h o h a s a r e q u e s t f o r a n

    a r t i c l e i s a l s o w e l c o m e t o e m a i l m e .

    F U R T H E R R E A D I N G

    h t t p : / / j e e t . g s / - T h e J e e t

    F r a m e w o r k

    h t t p s : / / g i t h u b . c o m / m o j o t e c h / j e e t /

    t r e e / m a s t e r / s t y l u s - T h e J e e t

    F r a m e w o r k S t y l u s g i t h u b

    r e p o s i t o r y w i t h u s e f u l s t y l u s

    p r o j e c t s ( l i s t e d u n d e r P r o t i p s ) .

    h t t p : / / e m m e t . i o / - T h e E m m e t

    w e b s i t e

    h t t p s : / / g i t h u b . c o m / l s w e s t / F C M 9 1 -

    G i t h u b r e p o s i t o r y w i t h e x a m p l e s .

    P Y T H O N S P E C I A L E D I T I O N S :

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / i s s u e - p y 0 1 / h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / i s s u e - p y 0 2 /

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -

    s p e c i a l - e d i t i o n - i s s u e - t h r e e /

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -

    s p e c i a l - e d i t i o n - v o l u m e - f o u r /

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -

    s p e c i a l - e d i t i o n - v o l u m e - f i v e /

    h t t p : / / f u l l c i r c l e m a g a z i n e . o r g / p y t h o n -

    s p e c i a l - e d i t i o n - v o l u m e - s i x /

    http://fullcirclemagazine.org/python-special-edition-volume-six/http://fullcirclemagazine.org/python-special-edition-volume-five/http://fullcirclemagazine.org/python-special-edition-volume-four/http://fullcirclemagazine.org/python-special-edition-issue-three/http://fullcirclemagazine.org/issue-py02/http://fullcirclemagazine.org/issue-py01/https://github.com/lswest/FCM91http://emmet.io/https://github.com/mojotech/jeet/tree/master/stylushttp://jeet.gs/mailto:[email protected]
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    11/52f u l l c i r c l e m a g a z i n e # 9 1

    1 1

    c o n t e n t s ^

    H

    H

    O

    O

    W

    W

    -

    -

    T

    T

    O

    O

    W r i t t e n b y G r e g W a l t e r s

    P

    P

    r

    r

    o

    o

    g

    g

    r

    r

    a

    a

    m

    m

    I

    I

    n

    n

    P

    P

    y

    y

    t

    t

    h

    h

    o

    o

    n

    n

    P

    P

    t

    t

    .

    .

    5

    5

    7

    7

    CR O S S

    ST I T C H

    PA T T E R N

    G E N E R A T O R - P A R T 4 -

    U N D E R S T A N D I N G P Y F P D F

    S

    o r r y f o r m i s s i n g s o m a n y

    m o n t h s . I s t i l l c a n t s i t f o r l o n g

    p e r i o d s o f t i m e , s o t h i s a r t i c l e

    m i g h t b e s h o r t e r t h a n w h a t y o u a r e

    u s e d t o . M y o r i g i n a l p l a n w a s t o

    j u m p r i g h t i n t o t h e P D F o u t p u t

    p o r t i o n o f t h e p r o g r a m , b u t t h e r e

    i s s o m u c h t o u n d e r s t a n d a b o u t

    t h i s l i b r a r y , I d e c i d e d t o u s e t h i s

    i n s t a l l m e n t a s a t u t o r i a l o n p y f P D F

    a n d t h e n t a c k l e t h e P D F o u t p u t

    n e x t t i m e . S o l e t s g e t s t a r t e d .

    F P D F s t a n d s f o r F r e e P D F . A

    V E R Y m i n i m a l e x a m p l e w o u l d b e a s

    f o l l o w s :

    from fpdf import FPDF

    pdf = FPDF()

    pdf.add_page()

    pdf.set_font(Arial,B,16)

    pdf.cell(40,10,Hello FromPython)

    pdf.output(example1.pdf,F)

    T h e f i r s t l i n e i m p o r t s t h e l i b r a r y

    f i l e . T h e n e x t c r e a t e s a n i n s t a n c e o f

    t h e F P D F o b j e c t . W e u s e t h e

    d e f a u l t v a l u e s f o r t h i s e x a m p l e ,

    w h i c h a r e :

    P o r t r a i t

    M e a s u r e U n i t = M i l l i m e t e r s .

    F o r m a t = A 4

    I f y o u n e e d t o u s e U S

    s t a n d a r d s , y o u c o u l d d o i t t h i s w a y :

    pdf=FPDF(P,in,Letter)

    N o t i c e t h e p a r a m e t e r s a r e

    F P D F ( o r i e n t a t i o n , u n i t s , f o r m a t ) :

    P o s s i b l e v a l u e s f o r o r i e n t a t i o n a r e

    P f o r P o r t r a i t a n d L f o r

    L a n d s c a p e .

    P o s s i b l e v a l u e s f o r u n i t s a r e : p t

    ( p o i i n t s ) , m m ( m i l l i m e t e r ) , c m

    ( c e n t i m e t e r ) , i n ( i n c h e s ) .

    P o s s i b l e v a l u e s f o r f o r m a t a r e :

    A 3 , A 4 , A 5 , L e t t e r , L e g a l o r a

    t u p l e c o n t a i n i n g t h e w i d t h a n d

    h e i g h t e x p r e s s e d i n t h e u n i t g i v e n

    i n t h e u n i t p a r a m e t e r .

    T h e t h i r d l i n e c r e a t e s a p a g e t o

    e n t e r d a t a i n t o . N o t i c e a p a g e i s

    n o t a u t o m a t i c a l l y c r e a t e d w h e n w e

    c r e a t e t h e i n s t a n c e o f t h e o b j e c t .

    T h e o r i g i n o f t h e p a g e i s t h e u p p e r -

    l e f t c o r n e r , a n d t h e c u r r e n t

    p o s i t i o n d e f a u l t s t o 1 c m f r o m t h e

    m a r g i n . T h e m a r g i n c a n b e c h a n g e d

    w i t h t h e S e t M a r g i n s f u n c t i o n .

    B e f o r e y o u c a n a c t u a l l y p r i n t

    a n y t e x t , y o u m u s t c a l l

    p d f . s e t _ f o n t ( ) t o d e f i n e a f o n t . I n

    t h e l i n e a b o v e , w e a r e d e f i n i n g

    A r i a l B o l d 1 6 p o i n t . S t a n d a r d v a l i d

    f o n t s a r e A r i a l , T i m e s , C o u r i e r ,

    S y m b o l a n d Z a p f D i n g b a t s .

    N o w w e c a n p r i n t a c e l l w i t h t h e

    p d f . c e l l ( ) c a l l . A c e l l i s a r e c t a n g u l a r

    a r e a , p o s s i b l y f r a m e d , w h i c h

    c o n t a i n s s o m e t e x t . O u t p u t i s a t

    t h e c u r r e n t p o s i t i o n w h i c h i s

    s p e c i f i e d ( 4 0 , 1 0 c m ) i n t h e a b o v e

    e x a m p l e . T h e p a r a m e t e r s a r e :

    pdf.cell(Width, Height, text,border, line, align, fill,link)

    W h e r e :

    W i d t h i s l e n g t h o f c e l l . I f 0 , w i d t h

    e x t e n d s t o t h e r i g h t m a r g i n .

    H e i g h t i s t h e h e i g h t o f t h e c e l l .

    T e x t i s t h e s t r i n g o f t e x t y o u w a n t

    t o p r i n t .

    B o r d e r i s e i t h e r 0 ( n o

    b o r d e r ( d e f a u l t ) ) , 1 i s b o r d e r , o r a

    s t r i n g o f a n y o r a l l o f t h e f o l l o w i n g

    c h a r a c t e r s : " L " , " T " , " B " , " R "

    L i n e i s w h e r e t h e c u r r e n t p o s i t i o n

    s h o u l d g o a f t e r p r i n t i n g t h e t e x t .

    V a l u e s a r e 0 ( t o t h e r i g h t ) , 1 ( t o t h e

    b e g i n n i n g o f t h e n e x t l i n e , 2

    ( b e l o w ) . D e f a u l t i s 0 , a n d p u t t i n g 1

    i s e q u i v a l e n t t o p u t t i n g 0 a n d

    c a l l i n g l n ( ) i m m e d i a t l y a f t e r .

    A l i g n a l l o w s t o c e n t e r o r a l i g n t h e

    t e x t w i t h i n t h e c e l l . V a l u e s a r e " L "

    ( l e f t ) , " C " ( c e n t e r ) , " R " ( r i g h t ) .

    F i l l s e t s t h e b a c k g r o u n d t o b e

    p a i n t e d ( t r u e ) o r t r a n s p a r e n t

    ( f a l s e ) . D e f a u l t i s f a l s e .

    L i n k i s a u r l o r i d e n t i f i e r r e t u r n e d

    b y a d d l i n k ( ) .

    F i n a l l y , t h e d o c u m e n t i s c l o s e d

    a n d s e n t t o t h e f i l e w i t h O u t p u t .

    T h e p a r a m e t e r s a r e

    f p d f . o u t p u t ( n a m e , d e s t ) . I f f i l e i s

    n o t s p e c i f i e d , t h e o u t p u t w i l l b e

    s e n t t o t h e b r o w s e r . O p t i o n s f o r

    d e s t i n a t i o n a r e " I " ( i n l i n e t o

    b r o w s e r ( d e f a u l t ) ) , " F " ( l o c a l f i l e

    g i v e n b y n a m e ) , " D " ( t o t h e

    b r o w s e r a n d f o r c e a f i l e d o w n l o a d

    w i t h t h e n a m e p a s s e d ) , a n d " S "

    ( r e t u r n t h e d o c u m e n t a s a s t r i n g ) .

  • 8/10/2019 Full Circle Magazine - issue 91 EN

    12/52f u l l c i r c l e m a g a z i n e # 9 1

    1 2

    c o n t e n t s ^

    G r e g W a l t e r s i s o w n e r o f R a i n y D a y

    S o l u t i o n s , L L C , a c o n s u l t i n g c o m p a n y

    i n A u r o r a , C o l o r a d o , a n d h a s b e e n

    p r o g r a m m i n g s i n c e 1 9 7 2 . H e e n j o y s

    c o o k i n g , h i k i n g , m u s i c , a n d s p e n d i n g

    t i m e w i t h h i s f a m i l y . H i s w e b s i t e i s

    w w w . t h e d e s i g n a t e d g e e k . n e t .

    H O W T O - P R O G R A M I N P Y T H O N

    S i n c e w e w i l l b e s e n d i n g o u r

    c r o s s s t i t c h i m a g e s t o t h e p d f f i l e ,

    w e w i l l h a v e t o u n d e r s t a n d t h e

    i m a g e f u n c t i o n .

    T h e f u n c t i o n i s c a l l e d l i k e t h i s :

    pdf.image(name,x=None,y=None,

    w=0,h=0,type="",link="")

    T h i s f u n c t i o n p u t s t h e i m a g e .

    T h e s i z e i t w i l l t a k e o n t h e p a g e c a n

    b e s p e c i f i e d i n d i f f e r e n t w a y s :

    E x p l i c i t w i d t h a n d h e i g h t o r

    O n e e x p l i c i t d i m e n s i o n

    S u p p o r t e d f o r m a t s a r e J P E G ,

    P N G , a n d G I F . I f y o u w i s h t o u s e G I F

    f i l e s , y o u m u s t g e t t h e G D

    e x t e n s i o n .

    F o r J P E G s , a l l f l a v o r s a r e

    a l l o w e d :

    g r a y s c a l e

    t r u e c o l o u r s ( 2 4 b i t s )

    C M Y K ( 3 2 b i t s )

    F o r P N G s , t h e f o l l o w i n g a r e

    a l l o w e d :

    g r a y s c a l e s o n a t m o s t 8 b i t s ( 2 5 6

    l e v e l s )

    i n d e x e d c o l o r s

    t r u e c o l o r s ( 2 4 b i t s )

    N o t e : i n t e r l a c i n g i s n o t a l l o w e d ,

    a n d i f y o u a r e u s i n g a v e r s i o n o f

    F P D F p r i o r t o 1 . 7 , A l p h a c h a n n e l i s

    n o t s u p p o r t e d .

    I s t o l e t h i s e x a m p l e ( s h o w n

    r i g h t ) f r o m t h e p y F P D F t u t o r i a l .

    Y o u h a v e b e e n a r o u n d l o n g

    e n o u g h t h a t y o u s h o u l d b e a b l e t o

    l o o k a t t h e p r o g r a m a n d

    u n d e r s t a n d w h a t i s g o i n g o n . B u t i n

    t h i s e x a m p l e t h e l i n e w e a r e

    R E A L L Y i n t e r e s t e d i n i s t h e f o u r t h

    l i n e :

    this.image('img1.png',10,8,33)

    I n t h i s i n s t a n c e , w e a r e c a l l i n g

    t h e i m a g e f u n c t i o n w i t h t h e

    f i l e n a m e , t h e x p o s i t i o n o f w h e r e

    t h e p i c t u r e w i l l g o o n t h e p a g e , t h e

    y p o s i t i o n , a n d t h e w i d t h o f t h e

    p i c t u r e .

    N o w t h a t y o u h a v e a g r o s s

    g r a s p o f t h e l i b r a r y , w e w i l l s t a r t

    o u r P D F c o d e n e x t t i m e .

    U n t i l t h e n , h a v e a g o o d m o n t h .

    S e e y o u s o o n .

    from fpdf import FPDF

    class PDF(FPDF):def header(this):

    # Logo - replace with a small png of your ownthis.image('img1.png',10,8,33)# Arial bold 15this.set_font('Arial','B',15)# Move to the right

    this.cell(80)# Titlethis.cell(30,10,'Title',1,0,'C')# Line breakthis.ln(20)

    # Instantiation of inherited classpdf=PDF()pdf.alias_nb_pages()pdf.add_page()pdf.set_font('Times','',12)for i in range(1,41):

    pdf.cell(0,10,'Printing line number '+str(i),0,1)pdf.output('example2.pdf','F')

    http://www.thedesignatedgeek.net/
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    13/52f u l l c i r c l e m a g a z i n e # 9 1

    1 3

    c o n t e n t s ^

    H

    H

    O

    O

    W

    W

    -

    -

    T

    T

    O

    O

    W r i t t e n b y E l m e r P e r r y

    L

    L

    i

    i

    b

    b

    r

    r

    e

    e

    O

    O

    f

    f

    f

    f

    i

    i

    c

    c

    e

    e

    P

    P

    t

    t

    .

    .

    4

    4

    3

    3

    -

    -

    S

    S

    t

    t

    a

    a

    t

    t

    i

    i

    s

    s

    t

    t

    i

    i

    c

    c

    a

    a

    l

    l

    F

    F

    u

    u

    n

    n

    c

    c

    t

    t

    i

    i

    o

    o

    n

    n

    s

    s

    S

    p r e a d s h e e t s a r e g o o d f o r

    c o l l e c t i n g d a t a l i k e

    t e m p e r a t u r e s , s t o c k p r i c e s , a n d

    s p o r t s d a t a . H o w e v e r , t h e d a t a o n

    i t s o w n d o e s u s l i t t l e g o o d . W e

    n e e d w a y s t o a n a l y z e t h e d a t a .

    L i b r e O f f i c e C a l c p r o v i d e s u s w i t h

    b u i l t - i n f u n c t i o n s t o d o t h i s . I n t h i s

    a r t i c l e , w e w i l l l o o k a t a f e w o f t h e

    s i m p l e s t a t i s t i c a l f u n c t i o n s b u i l t

    i n t o C a l c . T h i s i s n o t m e a n t a s a

    t h o r o u g h e x a m i n a t i o n o f a l l t h e

    f u n c t i o n s , b u t m o r e a n e x e r c i s e t o

    g e t y o u c o m f o r t a b l e u s i n g

    f u n c t i o n s .

    IM P O R T I N G T H E

    DA T A

    F o r o u r d a t a , I h a v e c o l l e c t e d a

    f e w m o n t h s w o r t h o f s t o c k p r i c e s

    o n t h e m u t u a l f u n d F F A C X . Y o u c a n

    f i n d t h e d a t a a t

    h t t p : / / p a s t e b i n . c o m / A e L c y M 1 t .

    T h e d a t a i s l a i d o u t a s c o m m a -

    d e l i m i t e d p l a i n t e x t . C o p y t h e d a t a

    f r o m P a s t e b i n . M a k e s u r e t h a t y o u

    c o p y f r o m t h e R a w P a s t e D a t a

    t e x t b o x . C r e a t e a n e w C a l c

    d o c u m e n t . R i g h t - c l i c k o n c e l l A 1

    a n d s e l e c t P a s t e . T h e T e x t I m p o r t

    d i a l o g w i l l s h o w . U n d e r S e p a r a t o r

    O p t i o n s , s e l e c t S e p a r a t e d b y a n d

    c h e c k C o m m a . C l i c k O K . Y o u n o w

    h a v e t w o c o l u m n s o f d a t a , t h e d a t e

    a n d t h e p r i c e . S a v e t h e s h e e t .

    CR E A T I N G A

    NA M E D

    CE L L

    R A N G E

    T h r o u g h o u t t h i s a r t i c l e w e w i l l

    u s e t h e p r i c e s a s o u r d a t a r a n g e .

    S i n c e w e w i l l u s e t h e r a n g e s e v e r a l

    t i m e s , w e w i l l n a m e i t t o m a k e t h e

    r e f e r e n c e s e a s i e r . S e l e c t a l l t h e

    p r i c e s ( c e l l s B 2 : B 8 2 ) . T h e e a s i e s t

    w a y t o s e l e c t a l l t h e c e l l s i s t o t y p e

    t h e r a n g e B 2 : B 8 2 i n t o t h e c e l l

    n a m e b o x o n t h e f o r m u l a t o o l b a r

    a n d p r e s s E n t e r o n t h e k e y b o a r d .

    I n s e r t > N a m e s > D e f i n e , a n d t h e

    D e f i n e N a m e d i a l o g s h o w s . N a m e

    t h e r a n g e P r i c e s . N o t i c e t h e

    a b s o l u t e r e f e r e n c e i n t h e R a n g e

    t e x t b o x ( $ S h e e t 1 . $ B $ 2 : $ B $ 8 2 ) .

    N a m e s a p p l y t o a s p e c i f i c g r o u p o f

    c e l l s , s o t h e r e f e r e n c e i s a b s o l u t e .

    U n d e r t h e S c o p e , w e w i l l r e s t r i c t

    t h e u s e o f t h i s n a m e t o j u s t S h e e t 1 .

    C l i c k A d d t o c r e a t e t h e r a n g e

    n a m e .

    N o w , i n a n y f o r m u l a o r f u n c t i o n

    w h e r e w e u s e t h e n a m e P r i c e s , i t

    i s t h e s a m e a s t y p i n g t h e c e l l r a n g e

    $ S h e e t 1 . $ B $ 2 : $ B $ 8 2 .

    M A XA N D

    M I N

    T h e f i r s t t w o s t a t i s t i c a l

    f u n c t i o n s w e w i l l l o o k a t a r e M A X

    a n d M I N . B o t h f u n c t i o n s a c c e p t a

    http://pastebin.com/AeLcyM1t
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    14/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 4

    c o n t e n t s ^

    H O W T O - L I B R E O F F I C E

    l i s t o f v a l u e s o r r a n g e ( s ) . M A X

    r e t u r n s t h e m a x i m u m ( o r l a r g e s t )

    v a l u e i n t h e l i s t . M I N d o e s j u s t t h e

    o p p o s i t e , r e t u r n i n g t h e m i n i m u m

    ( o r s m a l l e s t ) v a l u e i n t h e l i s t .

    M o v e y o u r c u r s o r t o D 4 . T y p e i n

    H i g h e s t . I n t h e c e l l E 4 , t y p e i n t h e

    f o r m u l a

    =MAX(Prices)

    Y o u s h o u l d g e t t h e r e s u l t 1 4 . 1 6 .

    I f y o u l o o k t h r o u g h t h e l i s t o f

    p r i c e s , y o u w i l l d i s c o v e r t h i s i s t h e

    l a r g e s t n u m b e r i n t h e l i s t .

    I n D 5 p u t L o w e s t . T h e f o r m u l a

    f o r E 5 i s

    =MIN(Prices)

    T h e r e s u l t i s 1 3 . 5 7 , t h e l o w e s t

    n u m b e r i n t h e l i s t .

    I t i s a l s o p o s s i b l e t o u s e t h e s e ,

    o r a n y C a l c f u n c t i o n , a s a n o p e r a n d

    i n a f o r m u l a . F o r e x a m p l e , i f w e

    w a n t e d t o k n o w t h e d i f f e r e n c e

    b e t w e e n t h e h i g h e s t a n d l o w e s t

    p r i c e , w e c o u l d u s e t h e f o r m u l a

    =MAX(Prices) MIN(Prices)

    i n c e l l E 6 . I n t h e f o r m u l a , t h e

    r e s u l t s o f t h e f u n c t i o n s a r e

    c a l c u l a t e d f i r s t . M A X ( P r i c e s )

    b e c o m e s 1 4 . 1 6 , a n d M I N ( P r i c e s )

    b e c o m e s 1 3 . 5 7 . T h e n t h e r e s u l t o f

    1 4 . 1 6 - 1 3 . 5 7 i s p l a c e d i n t h e c e l l E 6 .

    P l a c e t h e t e x t D i f f e r e n c e i n t h e

    c e l l D 6 a s a l a b e l .

    A V E R A G E , M E D I A N ,

    A N DM O D E

    I n s t a t i s t i c s t h e r e a r e m a n y

    w a y s t o d e t e r m i n e j u s t w h a t i s t h e

    t y p i c a l v a l u e f o r a s e t o f n u m b e r s .

    A m o n g t h e s e a r e t h e a r i t h m e t i c

    a v e r a g e , t h e m e d i a n , a n d t h e

    m o d e . T h e a r i t h m e t i c a v e r a g e ,

    k n o w n t o m o s t p e o p l e a s s i m p l y

    t h e a v e r a g e , i s t h e s u m o f a s e r i e s

    o f n u m b e r s d i v i d e d b y t h e n u m b e r

    o f i t e m s i n t h e s e r i e s . I n C a l c w e

    u s e t h e A V E R A G E f u n c t i o n t o g e t

    t h e a r i t h m e t i c a v e r a g e .

    T h e m e d i a n r a n k s t h e n u m b e r s

    f r o m t h e l o w e s t t o t h e h i g h e s t . I f

    t h e n u m b e r o f i t e m s i n t h e s e r i e s i s

    a n o d d n u m b e r , i t t a k e s t h e o n e i n

    t h e m i d d l e . I f i t i s e v e n , t h e m e d i a n

    i s t h e a r i t h m e t i c a v e r a g e o f t h e

    t w o c e n t e r n u m b e r s . C a l c u s e s t h e

    M E D I A N f u n c t i o n t o c a l c u l a t e t h e

    m e d i a n f o r y o u .

    M o d e i s t h e n u m b e r t h a t

    r e p e a t s m o s t o f t e n . I f t h e r e i s a t i e ,

    i t u s e s t h e s m a l l e s t n u m b e r . C a l c

    u s e s t h e M O D E f u n c t i o n t o g e t t h e

    m o d e f o r y o u .

    W e c a n s e e t h e r e s u l t s o f t h e s e

    t h r e e f u n c t i o n s b y p u t t i n g t h e

    f o l l o w i n g f o r m u l a s i n t h e c e l l s E 7 ,

    E 8 , a n d E 9 .

    =AVERAGE(Prices)

    =MEDIAN(Prices)

    =MODE(Prices)

    Y o u w i l l n o t i c e t h a t t h e r e s u l t s

    a r e w i t h i n a f e w h u n d r e d t h s o f

    e a c h o t h e r s . T h i s i s n o t t r u e i n a l l

    c a s e s . N u m b e r s t h a t a r e m u c h

    l a r g e r o r m u c h s m a l l e r t h a n a l l t h e

    o t h e r s c a n a f f e c t t h e a v e r a g e . I n

    t h o s e c a s e s , t h e m o d e o r m e d i a n

    m i g h t b e t t e r s u i t y o u r n e e d s f o r a

    t y p i c a l v a l u e .

    T h e C a l c s t a t i s t i c a l f u n c t i o n s

    h e l p u s t o a n a l y z e t h e d a t a i n a C a l c

    s p r e a d s h e e t . W e t o u c h e d o n o n l y a

    f e w o f t h e s t a t i s t i c a l f u n c t i o n s .

    C a l c h a s o v e r 7 0 s t a t i s t i c a l

    f u n c t i o n s . T h i s i s j u s t o n e o f m a n y

    c a t e g o r i e s o f f u n c t i o n s a v a i l a b l e t o

    u s i n C a l c . Y o u c a n g e t a l i s t o f a l l

    t h e C a l c f u n c t i o n s i n t h e h e l p

    d o c u m e n t a t i o n .

    C O N D I T I O N A L F O R M A T T I N G

    I n o u r d a t a s e t , t h e t o p a n d

    b o t t o m a r e p r e t t y c l o s e t o g e t h e r ,

    s o t h e a v e r a g e w i l l w o r k g o o d f o r

    u s a s t h e t y p i c a l v a l u e f o r t h i s d a t a

    s e t . W e c a n u s e c o n d i t i o n a l

    f o r m a t t i n g t o m a r k e a c h o f t h e

    p r i c e s a s e i t h e r a b o v e o r b e l o w t h e

    a v e r a g e .

    S t a r t b y s e l e c t i n g a l l t h e p r i c e s

    i n t h e B c o l u m n ( B 2 : B 8 2 ) . S i n c e w e

    n a m e d t h e r a n g e B 2 : B 8 2 , a q u i c k

    w a y t o s e l e c t a l l t h e p r i c e s i s b y

    u s i n g t h e d r o p d o w n a r r o w f o r t h e

    c e l l n a m e b o x o n t h e f o r m u l a

    t o o l b a r a n d s e l e c t i n g t h e n a m e

    P r i c e s ( S h e e t 1 ) .

    F o r m a t > C o n d i t i o n a l

    F o r m a t t i n g > C o n d i t i o n w i l l b r i n g

    u p t h e C o n d i t i o n a l F o r m a t t i n g

    d i a l o g . S e l e c t C e l l v a l u e i s f r o m

    t h e l e f t d r o p - d o w n l i s t . F r o m t h e

    d r o p - d o w n l i s t i n t h e c e n t e r , s e l e c t

    l e s s t h a n . E n t e r $ E $ 7 i n t h e t e x t

    b o x t o t h e r i g h t . I f y o u w a n t t o u s e

    t h e m e d i a n o r m o d e f o r t h e

  • 8/10/2019 Full Circle Magazine - issue 91 EN

    15/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 5

    c o n t e n t s ^

    E l m e r P e r r y ' s h i s t o r y o f w o r k i n g , a n d

    p r o g r a m m i n g , c o m p u t e r s i n v o l v e s a n

    A p p l e ] [ E , a d d i n g s o m e A m i g a , a

    g e n e r o u s h e l p i n g o f D O S a n d

    W i n d o w s , a d a s h o f U n i x , a n d b l e n d

    w e l l w i t h L i n u x a n d U b u n t u .

    H e b l o g s a t

    h t t p : / / e e p e r r y . w o r d p r e s s . c o m

    E X T R A ! E X T R A !

    R E A D A L L A B O U T I T !

    O u r g l o r i o u s n e w s r e p o r t e r s

    a r e n o w p o s t i n g r e g u l a r n e w s

    u p d a t e s t o t h e m a i n F u l l C i r c l e

    s i t e .

    C l i c k t h e N E W S l i n k , i n t h e s i t e

    m e n u a t t h e t o p o f t h e p a g e ,

    a n d y o u ' l l s e e t h e n e w s

    h e a d l i n e s .

    A l t e r n a t i v e l y , l o o k o n t h e r i g h t

    s i d e o f a n y p a g e o n t h e s i t e ,

    a n d y o u ' l l s e e t h e f i v e l a t e s t

    n e w s p o s t s .

    F e e l f r e e t o d i s c u s s t h e n e w s

    i t e m s . I t ' s m a y b e s o m e t h i n g

    t h a t c a n s p i l l b a c k f r o m t h e s i t e

    i n t o t h e m a g a z i n e . E n j o y !

    H O W T O - L I B R E O F F I C E

    c o m p a r i s o n , y o u c a n u s e $ E $ 8 o r

    $ E $ 9 . W e a r e u s i n g a n a b s o l u t e

    r e f e r e n c e h e r e b e c a u s e w e w a n t t o

    r e f e r e n c e t h e s a m e c e l l r e g a r d l e s s

    o f w h a t r o w w e a r e f o r m a t t i n g .

    F o r t h e A p p l y S t y l e , s e l e c t N e w

    S t y l e f r o m t h e d r o p - d o w n l i s t . T h e

    C e l l S t y l e d i a l o g w i l l o p e n . O n t h e

    O r g a n i z e r t a b , n a m e t h e s t y l e

    B e l o w A v e r a g e . S w i t c h t o t h e

    B a c k g r o u n d t a b a n d s e l e c t t h e R e d

    c o l o r s w a t c h . C l i c k O K t o c l o s e t h e

    d i a l o g a n d s a v e t h e n e w s t y l e . Y o u

    w i l l s e e B e l o w A v e r a g e i s n o w

    s e l e c t e d a s t h e A p p l y S t y l e .

    C l i c k A d d t o a d d a s e c o n d

    c o n d i t i o n . T h i s t i m e s e l e c t g r e a t e r

    t h a n i n s t e a d o f l e s s t h a n . U s e

    t h e s a m e a b s o l u t e r e f e r e n c e , $ E $ 7 ,

    $ E $ 8 , o r $ E $ 9 , a s y o u u s e d i n t h e

    l e s s t h a n c o n d i t i o n . O n c e a g a i n

    s e l e c t N e w S t y l e f o r t h e A p p l y

    S t y l e . G i v e t h e n e w s t y l e t h e n a m e

    A b o v e A v e r a g e , a n d m a k e t h e

    b a c k g r o u n d g r e e n i n s t e a d o f r e d .

    O K t o s a v e t h e n e w s t y l e .

    O K i n t h e C o n d i t i o n a l

    F o r m a t t i n g d i a l o g w i l l s a v e t h e

    s e t t i n g s . P r i c e s t h a t a r e o v e r t h e

    a v e r a g e w i l l h i g h l i g h t i n g r e e n , a n d

    t h e p r i c e s b e l o w t h e a v e r a g e w i l l

    h i g h l i g h t i n r e d .

    N O T E : Y o u c a n c r e a t e y o u r s t y l e

    f o r c o n d i t i o n a l f o r m a t t i n g b e f o r e

    c r e a t i n g t h e c o n d i t i o n . I n s u c h a

    c a s e , y o u w o u l d j u s t s e l e c t t h e

    s t y l e t o u s e .

    I h o p e t h i s a r t i c l e h a s h e l p e d

    y o u t o u n d e r s t a n d t h e u s e o f t h e

    s t a t i s t i c a l f u n c t i o n s d e m o n s t r a t e d

    a n d f u n c t i o n s i n g e n e r a l . W e s a w

    h o w t o u s e n a m e d r a n g e s t o

    i d e n t i f y c e l l r a n g e s b e i n g u s e d

    r e p e a t e d l y . W e u s e d f u n c t i o n s b y

    t h e m s e l v e s a n d a s o p e r a n d s i n a

    f o r m u l a . U s i n g c o n d i t i o n a l

    f o r m a t t i n g , w e h i g h l i g h t e d c e r t a i n

    c e l l s t o s h o w v i s u a l l y t h e s t a t u s o f

    t h e c e l l ' s v a l u e . T h i s e l i m i n a t e s t h e

    n e e d t o s c r o l l b a c k u p t h e s h e e t t o

    c h e c k t h e a v e r a g e v a l u e . U n t i l n e x t

    m o n t h , l o o k u p s o m e f u n c t i o n s i n

    t h e h e l p a n d p u t t h e m t o w o r k f o r

    y o u . A l s o , p l a y w i t h s o m e o f t h e

    f e a t u r e s o f t h e c o n d i t i o n a l

    f o r m a t t i n g a n d s e e w h a t o t h e r

    v i s u a l s y o u c a n c r e a t e .

    N e x t t i m e , I w i l l s h o w y o u h o w

    t o v a l i d a t e c e l l v a l u e s .

    http://eeperry.wordpress.com/
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    16/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 6

    c o n t e n t s ^

    H

    H

    O

    O

    W

    W

    -

    -

    T

    T

    O

    O

    W r i t t e n b y D a v i d M a w d s l e y

    M

    M

    u

    u

    l

    l

    t

    t

    i

    i

    p

    p

    l

    l

    e

    e

    P

    P

    a

    a

    s

    s

    s

    s

    w

    w

    o

    o

    r

    r

    d

    d

    s

    s

    W

    W

    i

    i

    t

    t

    h

    h

    A

    A

    S

    S

    c

    c

    r

    r

    i

    i

    p

    p

    t

    t

    I

    u s e a T e r m i n a l B a s h s c r i p t t o

    i n t e r a c t w i t h m y e n c r y p t e d

    p a s s w o r d f i l e s a s n e e d e d . M y s c r i p t

    p r o c e d u r e i s s i m p l e a n d q u i c k . A

    p e r s o n n e w t o B a s h s c r i p t s s h o u l d

    s e e t h e m a s s m a l l , s e l f - c o n t a i n e d ,

    u t i l i t y p r o g r a m s w h i c h u s e t h e f u l l

    p o w e r o f L i n u x a n d m a k e

    r e p e t i t i v e , p e r h a p s t e d i o u s ,

    d i f f i c u l t t a s k s m u c h e a s i e r t o

    a c c o m p l i s h .

    H O W I S T O R E M Y

    P A S S W O R D S

    M y p a s s w o r d s a l l r e s i d e i n

    e n c r y p t e d t e x t f i l e s o n m y

    c o m p u t e r , a n d a l s o a s n o n - l i n k e d ,

    e n c r y p t e d t e x t f i l e s o n m y

    w e b s i t e ' s h o s t i n g s e r v e r . H e r e s m y

    r a t i o n a l e : I a m a b l e t o e a s i l y

    d e c r y p t a n y f i l e i n t o c l e a r t e x t

    w h e n n e e d e d o n m y r e g u l a r

    c o m p u t e r w h e r e b y I c a n . . .

    U s e i t o n a d a y - t o - d a y b a s i s , a n d

    S a v e i t t o a U S B k e y i n a s a f e

    d e p o s i t b o x u s i n g c l e a r - t e x t t h a t

    g e t s r o t a t e d e v e r y 1 5 d a y s m y

    r e g u l a r b u s i n e s s p r a c t i c e .

    ( E n c r y p t e d f i l e s w o u l d b e q u i t e

    s a f e t o s t o r e e v e n o n a c l o u d

    s t o r a g e s e r v i c e . )

    H O W I M A N A G E M Y

    E N C R Y P T I O N / D E C R Y P T I O N O F

    M Y P A S S W O R D L I S T S

    F i r s t , m y s c r i p t r u n s a q u i c k

    c h e c k t o s e e i f t h e c a p s l o c k k e y i s

    e n a b l e d o n m y k e y b o a r d s o t h a t I

    a m c e r t a i n t h a t m y m a s t e r

    p a s s w o r d i s c o r r e c t l y t y p e d t h o u g h

    i t d o e s n ' t d i s p l a y a s I t y p e .

    N e x t , c o n t r o l g o e s t h r o u g h a

    d e c r y p t i o n r o u t i n e r e s u l t i n g i n

    o p e n i n g t h e c l e a r - t e x t f i l e i n m y

    c h o i c e L i n u x t e x t e d i t o r g e d i t

    w h e r e I c a n r e a d t h e c l e a r - t e x t f i l e

    o f p a s s w o r d s w i t h a c c o m p a n y i n g

    d e t a i l s .

    I t h e n c l o s e t h a t c l e a r - t e x t f i l e

    a f t e r s e e i n g w h a t I n e e d . T h e u t i l i t y

    t h e n c o n t i n u e s a n d p r o c e s s e s t h e

    e n c r y p t i o n t h e r e b y c o n v e r t i n g

    t h e c l e a r - t e x t f i l e b a c k t o i t s

    e n c r y p t e d f o r m a n d t h e n i t s a v e s

    t h e r e s u l t .

    L a s t l y , m y s c r i p t l i s t s t h e f o l d e r

    o f e n c r y p t e d f i l e s ( I h a v e m a n y i n

    m y a c t u a l b u s i n e s s ) , s h o w i n g t h e

    f i l e a n d i t s e x t e n s i o n a s e n c r y p t e d

    t o v e r i f y t h a t t h e e n c r y p t i o n

    a c t u a l l y w a s s u c c e s s f u l w i t h t h e

    c l e a r - t e x t f i l e n o w g o n e .

    E n c r y p t e d f i l e s g e t t h e

    e x t e n s i o n . c p t t o i n d i c a t e

    e n c r y p t e d s t a t u s . A l l a c t i v i t y

    r e g a r d i n g e n c r y p t i o n / d e c r y p t i o n o f

    p a s s w o r d f i l e s i s t h e n l o g g e d i n t o

    t h e f i l e ' p w l o g . ' f o r r e c o r d i n g m y

    p a s s w o r d f i l e a c c e s s a c t i v i t y . N o t e

    t h a t r e m o v i n g t h e ' . c p t ' e x t e n s i o n

    d o e s n ' t u n d o t h e e n c r y p t i o n .

    M y s c r i p t a l s o a l l o w s m e t o

    n a v i g a t e t o a n d e n c r y p t o r d e c r y p t

    a n y c h o s e n f i l e o n m y c o m p u t e r .

    T h e e n c r y p t i o n u t i l i t y I u s e i s

    c c r y p t , i t s a v a i l a b l e f r o m m o s t

    s t a n d a r d r e p o s i t o r i e s v i a :

    sudo apt-get install ccrypt

    N o t e s o n c c r y p t c a n b e f o u n d a t :

    h t t p : / / c c r y p t . s o u r c e f o r g e . n e t / # d e s

    c r i p t i o n w h i c h d e s c r i b e f u l l y h o w t o

    u s e i t .

    I c h o s e c c r y p t b a s e d o f i t s e a s e

    o f u s e a n d t h e o v e r a l l q u i c k n e s s

    a n d s i m p l i c i t y o f i t s m e t h o d . ( I

    f i r m l y b e l i e v e t h a t m o s t u s e r s f a i l

    t o u s e e n c r y p t i o n b e c a u s e o f t h i s . )

    I ' m s u r e y o u ' d t e l l m e a b o u t t h e

    a d v a n t a g e s o f p g p o r g p g

    p u b l i c / p r i v a t e k e y s , b u t I n e e d e d

    s o m e t h i n g t h a t m a k e s e n c r y p t i n g

    a n d d e c r y p t i n g f i l e s a s d e a d - s i m p l e

    a s p o s s i b l e , a n d w i t h a r e a s o n a b l e

    l e v e l o f s e c u r i t y . c c r y p t u s e s a

    s i m p l e r s y m m e t r i c k e y i n s t e a d .

    I i m a g i n e t h a t m a l i c i o u s h a c k e r s

    t r y i n g t o g e t p e r s o n a l i n f o r m a t i o n

    a b o u t m e o r m y f i l e s a l w a y s g o f o r

    m y l o w h a n g i n g f r u i t o n m y

    d o c u m e n t t r e e f i r s t , a n d t h e n

    m a y b e e v e n n e v e r b o t h e r w i t h t h e

    d e l i c i o u s h i g h e r f r u i t ( w h e r e m y

    e n c r y p t e d f i l e s a r e ) .

    Y o u m i g h t a p p r e c i a t e w h a t a n

    e n c r y p t e d t e x t f i l e u s i n g c c r y p t

    a c t u a l l y l o o k s l i k e . B r i n g i t u p w i t h

    e x t e n s i o n . c p t i n y o u r t e x t e d i t o r ;

    y o u w i l l q u i c k l y r e a l i z e t h a t

    d e c r y p t i n g t h a t f i l e u s i n g t r i a l a n d

    e r r o r , a n t i - e n c r y p t i o n s o f t w a r e j u s t

    i s n ' t a s h o r t - t i m e p o s s i b i l i t y f o r

    a n y o n e t r y i n g t o b r e a k y o u r

    e n c r y p t i o n . H o w e v e r , I a l w a y s

    a s s u m e t h a t N O e n c r y p t i o n w i l l

    http://ccrypt.sourceforge.net/#description
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    17/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 7

    c o n t e n t s ^

    H O W T O - M U L T I P L E P A S S W O R D S W I T H A S C R I P T

    r e s i s t p e r s i s t e n t b r e a k a g e f o r e v e r .

    T h u s , m y m e t h o d i s p r a c t i c a l

    w i t h o u t b e i n g f o o l - p r o o f .

    R e m e m b e r t h e l o w h a n g i n g f r u i t

    p r i n c i p l e .

    M a k e y o u r c c r y p t d e f a u l t

    p a s s w o r d d i f f i c u l t t o g u e s s a n d

    y o u ' r e p r o b a b l y p r o t e c t i n g

    y o u r s e l f v e r y w e l l . ( 1 1 + p a s s w o r d

    c h a r a c t e r s o r m o r e w i t h n o n -

    d i c t i o n a r y w o r d s , u p p e r / l o w e r c a s e

    l e t t e r s , n u m b e r s a n d p u n c t u a t i o n )

    E x a m p l e :

    mYbroTher#owEmE400$

    T H E S C R I P T

    T h e s c r i p t r e s i d e s i n m y h o m e

    d i r e c t o r y w i t h t h e t e r m i n a l

    c o m m a n d o f . / d i r p w t o s t a r t i t . M y

    ' p w ' f o l d e r w i t h p a s s w o r d f i l e s

    r e s i d e s o n m y D e s k t o p f o l d e r ' p w . '

    I n t h a t f o l d e r a r e m y e n c r y p t e d

    t e x t f i l e s : ' c u s t o m e r s . c p t ' a n d

    ' p e r s o n a l . c p t ' t h a t c o n t a i n

    r e l e v a n t w e b p a g e c o n t r o l p a n e l

    l o g i n d e t a i l s , e - m a i l s e c u r i t y

    q u e s t i o n s , e t c . A l l a c t i v i t y

    r e g a r d i n g e n c r y p t i o n / d e c r y p t i o n o f

    f i l e s i s a l s o l o g g e d i n t o t h e f i l e

    ' p w l o g . ' f o r r e c o r d i n g p a s s w o r d -

    f i l e a c c e s s e s .

    T h e s c r i p t p r e s e n t s a d i r e c t o r y

    o f 4 c h o i c e s a n d a n e x i t o p t i o n .

    E n t e r i n g 1 , 2 , 3 , 4 o r 0 s e n d s s c r i p t

    c o n t r o l t o t h e r e l e v a n t s e l e c t i o n . I

    p a r t i c u l a r l y l i k e t o u s e c o l o r s i n m y

    s c r i p t s s o t h a t t h e p r e s e n t e d d i a l o g

    a n d r e s p o n s e s s t a n d o u t . W h i l e I

    n o r m a l l y h e a v i l y c o m m e n t m y

    s c r i p t s , I s u s p e c t t h a t m o s t r e a d e r s

    w i l l h a v e l i t t l e t r o u b l e f o l l o w i n g

    t h e f l o w . A r u n o f t h e s c r i p t u s u a l l y

    c l e a r s u p t h e r e m a i n i n g u s e r / c o d e r

    u n c e r t a i n t i e s .

    B e l o w I ' v e i n c l u d e d a

    m o d i f i c a t i o n o f m y B a s h s c r i p t s o

    t h a t y o u c a n e a s i l y c o n v e r t i t t o

    y o u r c o m p u t i n g e n v i r o n m e n t .

    M a k e i t e x e c u t a b l e v i a o w n e r f o r

    y o u r c o m p u t i n g n e e d s w i t h :

    chmod u+x

    N o t e t h a t I a l w a y s u s e i n d e n t s

    e v e n i n B a s h s c r i p t s t o i m p r o v e

    r e a d a b i l i t y a n d t h a t l o n g l i n e s

    s h o w n h e r e m a y d i s p l a y a s

    w r a p p e d a r o u n d .

    S C R I P T

    h t t p : / / g o o . g l / o c k J E j

    http://goo.gl/ockJEj
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    18/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 8

    c o n t e n t s ^

    http://www.apress.com/
  • 8/10/2019 Full Circle Magazine - issue 91 EN

    19/52

    f u l l c i r c l e m a g a z i n e # 9 1 1 9

    c o n t e n t s ^

    H

    H

    O

    O

    W

    W

    -

    -

    T

    T

    O

    O

    W r i t t e n b y M a r k C r u t c h

    I

    I

    n

    n

    k

    k

    s

    s

    c

    c

    a

    a

    p

    p

    e

    e

    -

    -

    P

    P

    a

    a

    r

    r

    t

    t

    3

    3

    1

    1

    A

    f t e r t h e p r e v i o u s i n s t a l m e n t

    o f t h i s s e r i e s h a d g o n e t o

    p r e s s , a n i n t e r e s t i n g p r o b l e m w a s

    r a i s e d a t w w w . i n k s c a p e f o r u m . c o m

    t h a t d i r e c t l y r e l a t e s t o t h e u s e o f

    u n s e t f i l l s a n d c l o n e s . S o , b e f o r e

    m o v i n g o n t o t h e n e x t t o p i c , I t h i n k

    i t ' s w o r t h d r a w i n g a t t e n t i o n t o t h i s

    i s s u e , a n d h o w y o u c a n d e a l w i t h i t .

    L e t u s s u p p o s e t h a t y o u c r e a t e a

    p a r e n t o b j e c t a n d u n s e t b o t h i t s f i l l

    a n d s t r o k e . A s y o u k n o w f r o m t h e

    p r e v i o u s i n s t a l m e n t , y o u c a n n o w

    s e t t h e f i l l a n d s t r o k e o n a n y c l o n e s

    i n d e p e n d e n t l y . I d e m o n s t r a t e d

    u s i n g c o l o r s , p a t t e r n s a n d

    g r a d i e n t s f o r b o t h t h e f i l l a n d t h e

    s t r o k e , b u t i t s e e m s t h a t o n e t h i n g

    I m i s s e d w a s s e t t i n g a n o n - o p a q u e

    c o l o r i . e . o n e w i t h t h e a l p h a ( A )

    c h a n n e l i n t h e F i l l a n d S t r o k e

    d i a l o g s e t t o s o m e t h i n g o t h e r t h a n

    2 5 5 . I t t u r n s o u t t h a t d o i n g t h i s

    w i t h t h e s t r o k e w o r k s p e r f e c t l y

    w e l l , b u t t h e o p a c i t y o f t h e f i l l

    c o l o r i s c o m p l e t e l y i g n o r e d . I n t h i s

    e x a m p l e y o u c a n s e e w h a t I m e a n .

    B o t h t h e f i l l a n d s t r o k e o p a c i t i e s

    o n t h e c l o n e h a v e b e e n s e t t o 1 7 7 ,

    b u t o n l y t h e s t r o k e a c t u a l l y

    a p p e a r s t r a n s p a r e n t ( t h e b o t t o m

    d i a m o n d s h o w s h o w t h e c l o n e

    s h o u l d a p p e a r ) .

    I t t u r n s o u t t h a t t h e r e ' s a b i t o f

    a b u g i n I n k s c a p e ( i s s u e 1 1 8 3 4 0 0 i n

    L a u n c h p a d ) . W h e n y o u u n s e t a f i l l ,

    t h e p r o g r a m f a i l s t o r e m o v e t h e

    f i l l - o p a c i t y a t t r i b u t e i n t h e S V G .

    A n y c l o n e s m a d e f r o m t h a t o b j e c t

    a r e t h e n s t u c k w i t h t h e o p a c i t y

    t h a t t h e p a r e n t f i l l h a d b e f o r e i t

    w a s u n s e t . A s a d e m o n s t r a t i o n o f

    t h i s , I c r e a t e d a c l o n e a n d f i l l e d i t

    w i t h a n o p a q u e g r e e n c o l o r . T h e n I

    s e t t h e a l p h a c h a n n e l f o r t h e g r e e n

    f i l l t o 1 7 7 . N e x t I u n s e t t h e f i l l

    a l t o g e t h e r . F i n a l l y I c l o n e d t h e

    o b j e c t a n d g a v e t h e c l o n e a f u l l y

    o p a q u e p u r p l e c o l o r .

    W h a t I w o u l d e x p e c t t o s e e h e r e

    i s t h a t u n s e t t i n g t h e f i l l s h o u l d a l s o

    u n s e t t h e o p a c i t y , m a k i n g i t d e f a u l t

    t o t h e S V G s t a n d a r d o f f u l l y

    o p a q u e . C l e a r l y t h e p a r e n t a t t h e

    b o t t o m i s s t i l l t r a n s l u c e n t , a s t h e

    b l u e b a r b e h i n d i t s h o w s . E v e n

    w i t h o u t t h e b l u e b a r , i t a p p e a r s a s

    a w a s h e d o u t g r a y c o l o r , r a t h e r

    t h a n t h e d e e p b l a c k w e w o u l d

    u s u a l l y e x p e c t o f a n u n s e t f i l l .

    F u r t h e r m o r e , t h e c l o n e i s n o w

    f o r c e d t o a d o p t t h e t r a n s p a r e n c y

    o f t h e p a r e n t , s o t h e r e ' s n o w a y

    t h a t a n y c l o n e s o f t h i s o b j e c t c o u l d

    b e c o m p l e t e l y o p a q u e , r e g a r d l e s s

    o f t h e i r o w n a l p h a v a l u e .

    F o r m o s t p e o p l e t h i s b u g m a y

    n e v e r b e a p r o b l e m , b u t i f y o u d o

    w a n t t o s e t t h e o p a c i t y o f y o u r

    c l o n e s t o b e a n y t h i n g o t h e r t h a n

    1 0 0 % , t h e r e i s a f i x f o r t h e i s s u e .

    I t w i l l m e a n u s i n g I n k s c a p e ' s X M L

    E d i t o r d i a l o g , w h i c h i s a t o p i c I h a d

    h o p e d t o a v o i d u n t i l l a t e r i n t h i s

    s e r i e s , b u t a s m y h a n d h a s b e e n

    f o r c e d , I ' v e d e c i d e d t o i n t r o d u c e i t

    n o w . B u t t o u n d e r s t a n d t h e X M L

    e d i t o r , y o u f i r s t n e e d a l i t t l e i n s i g h t

    i n t o t h e s t r u c t u r e o f a n I n k s c a p e

    f i l e .

    T h e S V G f o r m a t t h a t I n k s c a p e

    n a t i v e l y u s e s i s a n X M L f i l e ,

    m e a n i n g t h a t i t f o l l o w s t h e r u l e s ,

    c o n v e n t i o n s a n d s t r u c t u r e f o r s u c h

    f i l e s a s d e f i n e d b y t h e W 3 C t h e

    s t a n d a r d s b o d y o f t h e w e b . X M L i s

    a d u b i o u s a b b r e v i a t i o n o f

    e X t e n s i b l e M a r k u p L a n g u a g e . I n

    s h o r t , i t m e a n s t h a t e v e r y I n k s c a p e

    f i l e i s m a d e u p o f a h i e r a r c h i c a l

    c o l l e c t i o n o f t a g s ( a l s o c a l l e d

    e l e m e n t s o r n o d e s ) , e a c h o f

    w h i c h c a n c a r r y a t t r i b u t e s t o

    f u r t h e r d e f i n e i t . F o r e x a m p l e a

    s i m p l e r e c t a n g l e m i g h t a p p e a r i n

    a n S V G d o c u m e n t a s a r e c t t a g ,

    w i t h a t t r i b u t e s f o r d e f i n i n g i t s s i z e

    a n d l o c a t i o n :

  • 8/10/2019 Full Circle Magazine - issue 91 EN

    20/52

    f u l l c i r c l e m a g a z i n e # 9 1

    2 0

    c o n t e n t s ^

    H O W T O - I N K S C A P E

    W h a t a b o u t t h e h i e r a r c h i c a l

    a s p e c t I m e n t i o n e d ? H o w a b o u t

    t h i s m o r e c o m p l e x e x a m p l e :

    A s y o u c a n s e e , w e ' v e g o t t w o

    r e c t a n g l e s n o w , a n d t h e y ' v e g a i n e d

    a c o u p l e m o r e a t t r i b u t e s t o s e t t h e

    f i l l c o l o r , a n d t o g i v e e a c h o f t h e m

    a n I D s o w e c a n i d e n t i f y t h e m

    i n d i v i d u a l l y . T h o s e a r e b o t h i n s i d e

    a s e t o f < g > . . . < / g > t a g s , w h i c h

    d e f i n e s a g r o u p i n S V G t e r m s . T h e

    g r o u p , i n t u r n , i s i n s i d e t h e

    o u t e r m o s t p a i r o f < s v g > . . . < / s v g >

    t a g s . Y o u c a n t h i n k o f t h e s e a s a

    c l u e t o a n a p p l i c a t i o n t h a t t h e

    c o n t e n t i n s i d e t h e m s h o u l d b e

    r e n d e r e d a s S V G , r a t h e r t h a n a s

    H T M L o r p l a i n t e x t .

    B e c a u s e t h e r 1 r e c t a n g l e i s

    f i r s t i n t h e f i l e , i t ' s d r a w n f i r s t o n

    t h e c a n v a s . T h e r 2 r e c t a n g l e i s

    d r a w n a f t e r w a r d s , s o i t o v e r l a p s

    t h e f i r s t o n e . T h e r e s u l t i s a s i m p l e

    S V G i m a g e w i t h a b l u e r e c t a n g l e o n

    t o p o f a r e d o n e , b o t h i n s i d e a

    g r o u p . T r y i t f o r y o u r s e l f : c o p y t h e

    c o d e a b o v e i n t o a t e x t e d i t o r a n d

    s a v e i t w i t h a n s v g e x t e n s i o n ,

    t h e n l o a d t h e f i l e i n t o a w e b

    b r o w s e r o r I n k s c a p e .

    W h a t i f w e w a n t e d a n o t h e r

    r e c t a n g l e , o u t s i d e t h e g r o u p ? W e

    c o u l d j u s t i n c l u d e a n a d d i t


Recommended