full circle magazine - issue 85 en

Upload: roman-sukochev

Post on 03-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Full Circle Magazine - issue 85 EN

    1/54

    f u l l c i r c l e m a g a z i n e # 8 5 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 # 8 5 - M a y 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

    .

    .

    U

    U

    B

    B

    U

    U

    N

    N

    T

    T

    U

    U

    1

    1

    4

    4

    .

    .

    0

    0

    4

    4

    U N D E R R E V I E W

    http://fullcirclemagazine.org/
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    2/54

    f u l l c i r c l e m a g a z i n e # 8 5

    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

    G R U B 2 & M u l t i b o o t i n g p . 1 7

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

    P y t h o n p . 1 1

    B l e n d e r p . 1 9

    H o w T o

    Q & A p . 4 4

    C r y p t o C u r r e n c y p . 3 9

    O p e n S o u r c e D e s i g n p . 4 7

    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 . 2 1

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

    L e t t e r s p . 4 2

    S e c u r i t y p . 4 6

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

    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 9

    A r d u i n o p . 2 5

    R e v i e w : U b u n t u 1 4 . 0 4 p . 3 7

    G r a p h i c s

    A s k T h e N e w G u y p . 2 9

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

    3/54

    f u l l c i r c l e m a g a z i n e # 8 5

    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 .

    I

    t ' s a f u l l h o u s e t h i s m o n t h . G r e g ' s P y t h o n a r t i c l e i s h e r e b e s i d e E l m e r ' s L i b r e O f f i c e .

    C o m p l e t i n g t h e s e t i s t h e f i r s t o f s e v e r a l p a r t s e x p l a i n i n g t h e G R U B b o o t m e n u a n d

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

    a r t i c l e s . I n t h i s f i r s t o n e I ' m j u s t t i n k e r i n g w i t h s o m e s e n s o r s , b u t , f r o m n e x t m o n t h , I ' l l b e

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

    O u r r e v i e w t h i s m o n t h i s U b u n t u 1 4 . 0 4 w h i c h w a s r e l e a s e d r o u g h l y a m o n t h a g o . R o b i n

    h a s c a s t h i s c r i t i c a l e y e o v e r i t , a n d w i l l g i v e y o u h i s v e r d i c t . M e ? I ' m s t i l l u s i n g M i n t 1 6 , b u t

    C h a r l e s s e e m s t o h a v e f a l l e n h e a d o v e r h e e l s f o r m y o l d f r i e n d K u b u n t u . I ' l l p r o b a b l y r e t u r n

    t o i t o n e d a y ; I a l w a y s h a v e i n t h e p a s t .

    O n l y t w o M y D e s k t o p s c r e e n s t h i s m o n t h a s , I m a f r a i d , t h a t ' s a l l I h a v e . I f y o u ' d l i k e t o

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

    t e x t a b o u t h o w y o u g o t y o u r b e l o v e d d e s k t o p .

    I w a s s e n t a s e c u r i t y q u e s t i o n f o r M i c h a e l ( w h i c h h e a n s w e r s t h i s m o n t h ) w h i c h w a s

    s o m e t h i n g I h a d n ' t c o n s i d e r e d b e f o r e . I n s h o r t : c a n f r e e v i r u s s c a n n e r s b e t r u s t e d ? I f y o u h a v e

    a s e c u r i t y b a s e d q u e s t i o n f o r M i c h a e l , p l e a s e s e n d i t i n a n d I ' l l p a s s i t a l o n g t o h i m .

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

    r e v i e w o f T h e I m p o s s i b l e G a m e , a n s w e r t h e s i m p l e q u e s t i o n , a n d y o u m i g h t

    w i n s o m e f r e e b i e s !

    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/12/2019 Full Circle Magazine - issue 85 EN

    4/54

    f u l l c i r c l e m a g a z i n e # 8 5 4

    c o n t e n t s ^

    N

    N

    E

    E

    W

    W

    S

    S

    R O B O L I N U X T U R N S Y O U R C

    DR I V E I N T O A V I R T U A L

    W I N D O W S M A C H I N E Y O U

    C A N R U N I N L I N U X

    S

    a y y o u w a n t t o m o v e f r o m

    W i n d o w s t o L i n u x b u t t h e r e a r e

    a f e w W i n d o w s a p p s t h a t y o u c a n t

    g i v e u p , a n d t h e y d o n t w o r k w e l l

    u n d e r W I N E . T h e d e v e l o p e r o f

    R o b o l i n u x o f f e r s a D e b i a n - b a s e d

    G N U / L i n u x o p e r a t i n g s y s t e m

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

    X P o r W i n d o w s 7 i n a v i r t u a l

    m a c h i n e .

    T h e l a t e s t v e r s i o n o f R o b o l i n u x

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

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

    m a c h i n e b y c l o n i n g y o u r W i n d o w s

    C : D r i v e , w h i c h m e a n s i t t a k e s j u s t

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

    W i n d o w s t h a t y o u c a n r u n i n

    v i r t u a l i z a t i o n i n L i n u x , a n d i t w i l l

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

    p r o g r a m s a n d d a t a .

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

    f r e s h W i n d o w s l i c e n s e k e y . T h a t

    c a n c o m e i n h a n d y i f y o u r o n l y c o p y

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

    c o m p u t e r o r i f y o u h a v e a n O E M

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

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

    T h i s t o o l w a s d e v e l o p e d b y

    R o b o l i n u x m a k e r J o h n M a r t i n s o n ,

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

    U b u n t u , L i n u x M i n t , O p e n S U S E ,

    F e d o r a , D e b i a n , o r 5 0 0 o t h e r L i n u x

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

    S o u r c e :

    h t t p : / / l i l i p u t i n g . c o m / 2 0 1 4 / 0 5 / r o b o l

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

    m a c h i n e - c a n - r u n - l i n u x . h t m l

    S u b m i t t e d b y : B r a d L i n d e r

    FO R G E T

    AB O U T

    RA Z O R

    -Q T

    A N DL X D E , I

    T'

    ST

    I M E T O

    E M B R A C E T H E B E A U T I F U L

    L X Q T

    T

    h e L X D E a n d R a z o r - q t t e a m s

    a r e p r o u d t o a n n o u n c e L X Q t

    0 . 7 . 0 , t h e f i r s t r e l e a s e o f L X Q t , t h e

    Q t L i g h t w e i g h t D e s k t o p

    E n v i r o n m e n t . T h i s b e t a r e l e a s e i s

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

    t h e R a z o r d e s k t o p .

    T h e h a r d w o r k i n g d e v e l o p e r s

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

    t r a n s l a t o r s , a f t e r a l m o s t o n e y e a r

    s i n c e t h e R a z o r - q t a n d t h e L X D E - Q t

    p r o j e c t d e c i d e d t o m e r g e , p r o u d l y

    p r e s e n t t h e b e t a r e l e a s e o f L X Q t

    0 . 7 . 0 . T h e n e w w e b s i t e f o r t h e

    L X Q t p r o j e c t i s a v a i l a b l e a t

    h t t p : / / l x q t . o r g / .

    T h e e x i s t i n g L X D E u s e r s d o n o t

    h a v e t o b e w o r r i e d f o r t h e t i m e

    b e i n g , b e c a u s e t h e G T K v e r s i o n o f

    L X D E w i l l s t i l l c o n t i n u e t o b e

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

    d e v e l o p e r s s t i l l w o r k i n g o n i t ;

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

    t h e i r f o c u s t o L X Q t . P a c k a g e s o f

    L X Q t a r e a l r e a d y a v a i l a b l e f o r t h e

    f o l l o w i n g d i s t r i b u t i o n s : A r c h L i n u x

    t h r o u g h A U R , U b u n t u w i t h d a i l y

    b u i l d s P P A , O p e n s u s e a n d

    S i d u c t i o n .

    S o u r c e :

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

    o r g e t - A b o u t - R a z o r - q t - a n d - L X D E - I t -

    s - T i m e - t o - E m b r a c e - t h e - B e a u t i f u l -

    L X Q t - 4 4 1 1 6 2 . s h t m l

    S u b m i t t e d b y : S i l v i u S t a h i e

    D E B I A N 7 . 5 W H E E Z Y L I V E

    C D NO W

    AV A I L A B L E F O R

    D O W N L O A D

    T

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

    t h e n e w L i v e C D i m a g e s f o r t h e

    l a t e s t v e r s i o n o f D e b i a n 7 . 5

    W h e e z y , t h a t w a s m a d e a v a i l a b l e

    a w e e k a g o .

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

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

    C D v e r s i o n o f t h a t d i s t r o i s n o t

    a c c e s s i b l e t o u s e r s r i g h t a w a y . I t

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

    D e b i a n L i v e C D t e a m t o p u t

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

    D e b i a n f l a v o r s h a v e g o t t e n t h e i r

    o w n L i v e C D , i n c l u d i n g L X D E ,

    G N O M E , K D E , a n d t h e R e s c u e C D .

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

    X f c e .

    S o u r c e :

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

    e b i a n - 7 - 5 - W h e e z y - L i v e - C D - N o w -

    A v a i l a b l e - f o r - D o w n l o a d -

    4 4 1 2 7 3 . s h t m l

    S u b m i t t e d b y : S i l v i u S t a h i e

    http://lxqt.org/http://news.softpedia.com/news/Debian-7-5-Wheezy-Live-CD-Now-Available-for-Download-441273.shtmlhttp://news.softpedia.com/news/Forget-About-Razor-qt-and-LXDE-It-s-Time-to-Embrace-the-Beautiful-LXQt-441162.shtmlhttp://liliputing.com/2014/05/robolinux-turns-c-drive-virtual-windows-machine-can-run-linux.html
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    5/54

  • 8/12/2019 Full Circle Magazine - issue 85 EN

    6/54

    f u l l c i r c l e m a g a z i n e # 8 5 6

    c o n t e n t s ^

    N E W S

    E

    p i c G a m e s a n n o u n c e d t o d a y

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

    a l l - n e w U n r e a l T o u r n a m e n t g a m e .

    I n t e r e s t i n g l y , t h e U n r e a l E n g i n e 4 -

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

    w h e n i t ' s r e l e a s e d . N o t f r e e - t o -

    p l a y , c o m p l e t e l y f r e e , E p i c G a m e s

    s a i d . A " s m a l l c o r e t e a m " i s

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

    w h i c h i s c o m i n g t o W i n d o w s , L i n u x ,

    a n d M a c .

    D e v e l o p m e n t o n t h e g a m e

    b e g a n t o d a y , M a y 8 , E p i c G a m e s

    s a i d . T h e s t u d i o p l a n s t o d e v e l o p

    t h e n e w U n r e a l T o u r n a m e n t g a m e

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

    b e t w e e n E p i c G a m e s , U n r e a l

    T o u r n a m e n t f a n s , a n d U n r e a l

    E n g i n e 4 d e v e l o p e r s . " T h e g a m e

    w i l l b e t r u e t o i t s r o o t s a s a

    c o m p e t i t i v e F P S , " E p i c G a m e s s a y s .

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

    w i l l t a k e " m a n y m o n t h s " u n t i l t h e

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

    t h a t ' s p l a y a b l e . " T h i s i s r e a l

    d e v e l o p m e n t f r o m s c r a t c h , " t h e

    c o m p a n y s a y s .

    S o u r c e :

    h t t p : / / w w w . g a m e s p o t . c o m / a r t i c l e s

    / n e w - u n r e a l - t o u r n a m e n t - i n -

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

    a b s o l u t e l y - f r e e / 1 1 0 0 - 6 4 1 9 5 1 1 /

    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

    R E D H A T L O O K S T O B E

    P L A T F O R M O F C H O I C E I N

    C L O U D

    R

    e d H a t h a s b e e n i n s t r u m e n t a l

    i n t h e e v o l u t i o n o f L i n u x f r o m

    a g e e k - f r i e n d l y , h a c k e r - b a s e d o p e n

    s o u r c e O S t o a f u l l T i e r 1 v i a b l e

    e n t e r p r i s e s o l u t i o n . A t R e d H a t

    S u m m i t 2 0 1 4 , J o h n F u r r i e r a n d S t u

    M i n i m a n o f T h e C U B E t a l k e d w i t h

    J i m T o t t o n , V P & G M o f P l a t f o r m

    B u s i n e s s U n i t a t R e d H a t a b o u t R e d

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

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

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

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

    S o u r c e :

    h t t p : / / s i l i c o n a n g l e . c o m / b l o g / 2 0 1 4 /

    0 5 / 0 7 / r e d - h a t - l o o k s - t o - b e -

    p l a t f o r m - o f - c h o i c e - i n - c l o u 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

    N O W , U P D A T E L I N U X

    S E R V E R S W I T H N O

    DO W N T I M E

    W

    i t h K e r n e l C a r e , n o w

    a v a i l a b l e f r o m C l o u d L i n u x ,

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

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

    t h i n g o f t h e p a s t , g i v i n g

    o r g a n i z a t i o n s r e a l - t i m e u p d a t e s .

    K e r n e l C a r e a u t o m a t i c a l l y

    a p p l i e s L i n u x s e r v e r s e c u r i t y

    u p d a t e s w i t h o u t h a v i n g t o r e - b o o t ,

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

    t h e l a b o r i o u s p r o c e s s t h a t t a k e s

    s e v e r a l m i n u t e s f o r e v e r y s e r v e r ,

    s e v e r a l t i m e s a y e a r .

    T h i s i s t h e e q u i v a l e n t o f

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

    w h i l e i t ' s f l y i n g , " s a i d D a n O l d s ,

    p r i n c i p a l a n a l y s t , G a b r i e l

    C o n s u l t i n g G r o u p . I t h i n k t h i s w i l l

    b e v i e w e d a s a n o - b r a i n e r p u r c h a s e

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

    t h a n $ 5 0 a n n u a l l y p e r s e r v e r f o r

    h a v i n g t h e p r o t e c t i o n o f k e r n e l

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

    d o w n t i m e .

    S o u r c e :

    h t t p : / / i n t e r n e t . i t b u s i n e s s n e t . c o m / a

    r t i c l e / N o w - U p d a t e - L i n u x - S e r v e r s -

    w i t h - N o - D o w n t i m e - 3 2 3 6 2 7 3

    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

    I N T H E C L O U D , L I N U X W I L L

    W I N T H E O S W A R

    A

    r e c e n t a r t i c l e i n F o r t u n e

    m a g a z i n e e n t i t l e d T h e D a w n

    o f t h e C h r o m e A g e h i g h l i g h t s t h e

    s u c c e s s o f t h e L i n u x - b a s e d O S i n

    t h e l o w - c o s t l a p t o p m a r k e t .

    A c c o r d i n g t o t h e a r t i c l e , O v e r t h e

    h o l i d a y s i n 2 0 1 3 , t w o C h r o m e b o o k

    m o d e l s w e r e t h e N o . 1 a n d N o . 3

    b e s t s e l l i n g l a p t o p s o n

    A m a z o n . c o m , a n d t h e y r e b e i n g

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

    a r o u n d t h e w o r l d . S i m p l y p u t ,

    C h r o m e O S r e p r e s e n t s W e b a p p s

    o n t o p o f L i n u x , a n d g i v e n t h a t t h e

    W e b h a s b e c o m e t h e l e a d i n g

    a p p l i c a t i o n d e v e l o p m e n t p l a t f o r m

    t h i s i s s i g n i f i c a n t .

    T h e r e a r e o t h e r m a r q u e e

    e x a m p l e s o f L i n u x s a s c e n d e n c y

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

    A m a z o n s K i n d l e i s a s e t o f J a v a

    a p p l i c a t i o n s o n t o p o f L i n u x .

    A n d r o i d i s a l s o a J a v a V M o n t o p o f

    L i n u x . F i n a l l y , V a l v e i s b r i n g i n g

    v i d e o g a m e s , a l o n g - t i m e b a s t i o n

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

    w i t h S t e a m O S .

    S o u r c e :

    h t t p : / / g c n . c o m / b l o g s / r e a l i t y -

    c h e c k / 2 0 1 4 / 0 5 / l i n u x - w i n s - o s -

    w a r . a s p x

    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://gcn.com/blogs/reality-check/2014/05/linux-wins-os-war.aspxhttp://internet.itbusinessnet.com/article/Now-Update-Linux-Servers-with-No-Downtime-3236273http://siliconangle.com/blog/2014/05/07/red-hat-looks-to-be-platform-of-choice-in-cloud/http://www.gamespot.com/articles/new-unreal-tournament-in-development-and-it-ll-be-absolutely-free/1100-6419511/
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    7/54

    f u l l c i r c l e m a g a z i n e # 8 5 7

    c o n t e n t s ^

    N E W S

    TA I L S

    , ED W A R D

    SN O W D E N

    S

    L I N U X D I S T R O O F C H O I C E ,

    L E A V E S B E T A

    T

    h e A m n e s i c I n c o g n i t o L i v e

    S y s t e m ( T a i l s , f o r s h o r t ) , a

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

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

    a n d a n o n y m i t y , h a s l e f t b e t a a n d

    i s n o w a v a i l a b l e a s v e r s i o n 1 . 0 . T h e

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

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

    c h o i c e f o r u s e r s w h o s e e k o u t

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

    E d w a r d S n o w d e n , t h e f o r m e r

    c o n t r a c t o r f o r t h e N a t i o n a l

    S e c u r i t y A d m i n i s t r a t i o n . W i r e d

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

    s o f t w a r e , w h i l e t h e N S A s e e s t h i s

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

    a n o n y m o u s b r o w s e r T o r .

    T a i l s i s i n t e n d e d t o b e u s e d

    f r o m a b o o t a b l e U S B o r a l i v e d i s c ,

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

    m a d e t e m p o r a r i l y s e c u r e . T h i s

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

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

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

    f o r c e i t t o r u n e n t i r e l y o f f t h e R A M

    m e m o r y . M a n y l i g h t w e i g h t L i n u x

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

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

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

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

    S p e c i f i c d o c u m e n t s c a n b e s a v e d t o

    t h e h a r d d r i v e w i t h e x p l i c i t u s e r

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

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

    e n c r y p t a l l e x t e r n a l d r i v e s .

    S o u r c e :

    h t t p : / / w w w . m u k t w a r e . c o m / 2 0 1 4 / 0

    5 / t a i l s - e d w a r d - s n o w d e n s - l i n u x -

    d i s t r o - c h o i c e - l e a v e s - b e t a / 2 6 6 1 3

    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

    W H A T W O U L D Y O U D O T O

    IM P R O V E

    LI N U X

    ?

    T

    h e L i n u x s p h e r e i s a w i l d ,

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

    p l a c e . B y i t s n a t u r e a l o n e , L i n u x i s

    o f t e n c o n s i d e r e d a m a v e r i c k . I t s

    b e e n m y o b s e r v a t i o n t h a t L i n u x

    u s e r s t e n d t o e x p l o r e a n d t a k e

    m o r e r i s k s w h e n u s i n g t h e i r

    c o m p u t e r s . F o r b e t t e r o r w o r s e , i t

    a p p e a r s t h a t L i n u x u s e r s h a v e b e e n

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

    I v e e v e n t h o u g h t o f i t a s b e i n g t h e

    w i l d w e s t o f t e c h . I v e r e f e r r e d t o

    u s i n g L i n u x a s c o m p u t i n g w i t h o u t a

    s a f e t y n e t .

    S o u r c e :

    h t t p : / / f o s s f o r c e . c o m / 2 0 1 4 / 0 4 / w h a

    t - w o u l d - y o u - d o - t o - i m p r o v e - l i n u x /

    S u b m i t t e d b y : P e t e r O d i g i e

    L U K S : L I N U X

    HA R D

    DI S K

    DA T A

    EN C R Y P T I O N W I T H

    N T F S S U P P O R T I N L I N U X

    L

    U K S a c r o n y m s t a n d s f o r L i n u x

    U n i f i e d K e y S e t u p w h i c h i s a

    m e t h o d o f d i s k - e n c r y p t i o n u s e d b y

    t h e L i n u x K e r n e l , i m p l e m e n t e d

    w i t h t h e c r y p t s e t u p p a c k a g e . T h e

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

    a v o l u m e d i s k o n t h e f l y u s i n g a

    s y m m e t r i c e n c r y p t i o n k e y d e r i v e d

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

    p r o v i d e d e v e r y t i m e a p a r t i t i o n o r

    e v e n a w h o l e d i s k i s m o u n t e d .

    S o u r c e :

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

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

    S u b m i t t e d b y : P e t e r O d i g i e

    L I N U X P R O S U S E T W E A K

    T O O L S T O C U S T O M I Z E T H E I R

    O S ,A N D S O C A N Y O U

    W

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

    L i n u x h a s t w e a k t o o l s . A n d

    w h e t h e r y o u r e a L i n u x p r o o r a

    r e c e n t r e f u g e e f r o m W i n d o w s X P ,

    t h e y c a n h e l p y o u m a k e U b u n t u

    1 4 . 0 4 L T S T r u s t y T a h r ( t h e l a t e s t

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

    d i s t r o p i o n e e r C a n o n i c a l ) r e a l l y

    s t a r t t o f e e l l i k e h o m e .

    C u s t o m i z a b i l i t y h a s l o n g b e e n

    o n e o f L i n u x s m o s t c o m p e l l i n g

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

    c o m p a r e d w i t h p r o p r i e t a r y

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

    O S X b u t t h e t w e a k t o o l s o u t

    t h e r e t o d a y l e t y o u r e f i n e t h e O S

    e v e n f u r t h e r . A n d i f y o u r e m a k i n g

    t h e m i g r a t i o n t o L i n u x o n y o u r

    w o r k p l a c e P C s , t w e a k t o o l s c a n

    h e l p e a s e t h e t r a n s i t i o n .

    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

    1 5 2 5 4 6 / l i n u x - p r o s - u s e - t w e a k -

    t o o l s - t o - c u s t o m i z e - t h e i r - o s - a n d - s o -

    c a n - y o 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

    KI M

    KO M A N D O

    : BU Y A

    C O M P U T E R F O R L E S S T H A N

    $ 1 0 0

    W

    i t h t h e e n d o f s u p p o r t f o r

    W i n d o w s X P l a s t m o n t h ,

    t h e r e a r e a l o t o f p e o p l e l o o k i n g t o

    b u y n e w c o m p u t e r s .

    http://www.pcworld.com/article/2152546/linux-pros-use-tweak-tools-to-customize-their-os-and-so-can-you.htmlhttp://www.tecmint.com/linux-hard-disk-encryption-using-luks/http://fossforce.com/2014/04/what-would-you-do-to-improve-linux/http://www.muktware.com/2014/05/tails-edward-snowdens-linux-distro-choice-leaves-beta/26613
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    8/54f u l l c i r c l e m a g a z i n e # 8 5 8c o n t e n t s ^

    N E W S

    I f y o u h a v e n t l o o k e d a t

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

    y o u m i g h t b e s h o c k e d b y h o w

    m u c h p o w e r y o u g e t f o r t h e p r i c e .

    T h e b u d g e t c o m p u t e r s o f t o d a y

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

    j u s t a f e w y e a r s a g o .

    O f c o u r s e , e v e n a b u d g e t

    c o m p u t e r w i l l s e t y o u b a c k $ 3 5 0 t o

    $ 5 0 0 . T h a t s n o t b a d w h e n y o u

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

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

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

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

    S o u r c e :

    h t t p : / / w w w . s h r e v e p o r t t i m e s . c o m /

    a r t i c l e / 2 0 1 4 0 5 1 1 / N E W S 0 5 / 3 0 5 1 0 0

    0 1 5 / K i m - K o m a n d o - B u y - c o m p u t e r -

    l e s s - t h a n - 1 0 0 ? n c l i c k _ c h e c k = 1

    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 G R O U P B U I L D S

    6 4 -B I T

    AN D R O I D

    KI T

    KA T F O R

    A R M

    D E V E L O P E R S

    G

    o o g l e i s b e i n g t i g h t - l i p p e d

    a b o u t w h e n t h e 6 4 - b i t v e r s i o n

    o f A n d r o i d w i l l b e r e l e a s e d , b u t

    L i n u x d e v e l o p m e n t g r o u p L i n a r o

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

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

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

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

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

    w i t h A p p l e .

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

    t a b l e t s c o u l d b e f a s t e r w i t h 6 4 - b i t

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

    m e m o r y . D e v i c e m a k e r s a r e f e e l i n g

    p r e s s u r e t o c a t c h u p w i t h A p p l e ,

    w h i c h j u m p e d a h e a d o f t h e

    c o m p e t i t i o n b y p u t t i n g i t s 6 4 - b i t

    A 7 p r o c e s s o r i n t h e i P h o n e 5 s a n d

    i P a d A i r . L i n a r o s A n d r o i d b u i l d s a r e

    n o t f u l l - f l e d g e d d i s t r i b u t i o n s o f t h e

    O S , b u t a r e s y s t e m b u i l d s m e a n t

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

    a p p l i c a t 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 1

    5 4 5 8 0 / l i n u x - g r o u p - b u i l d s - 6 4 b i t -

    a n d r o i d - k i t k a t - f o r - a r m -

    d e v e l o p 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

    E N D I N G T H E E M B E D D E D

    LI N U X

    PA T E N T

    WA R

    BE F O R E

    IT

    BE G I N S

    T

    h e n e x t b i g i n t e l l e c t u a l

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

    f o r m i n g o v e r h a r d w i r e d a n d

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

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

    c o d e . H o w e v e r , t h e O p e n I n v e n t i o n

    N e t w o r k h a s s t r a t e g i c a l l y d e p l o y e d

    f o r c e s t o k e e p L i n u x - p o w e r e d

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

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

    h a r m ' s w a y . I t s g o a l i s t o c r e a t e a

    p a t e n t l i t i g a t i o n n o - f l y z o n e a r o u n d

    e m b e d d e d L i n u x .

    T h e O p e n I n v e n t i o n N e t w o r k , o r

    O I N , w a s c r e a t e d i n 2 0 0 5 a s a w h i t e

    h a t o r g a n i z a t i o n t o p r o t e c t L i n u x . I t

    h a s c o n s i d e r a b l e f i n a n c i a l b a c k i n g

    f r o m G o o g l e , I B M , N E C , N o v e l l ,

    P h i l i p s , R e d H a t a n d S o n y . M o r e

    t h a n 8 0 0 o r g a n i z a t i o n s w o r l d w i d e

    h a v e j o i n e d t h e O I N c o m m u n i t y b y

    s i g n i n g t h e f r e e O I N l i c e n s e .

    S o u r c e :

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

    s t o r y / 8 0 4 4 7 . 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

    HO W

    MU N I C H S W I T C H E D

    1 5 , 0 0 0 P C S F R O M

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

    H

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

    M u n i c h , i s o n e o f E u r o p e ' s

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

    8 , 0 0 0 p l a c e s t o s i t . I t ' s a

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

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

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

    s h e l t e r f r o m t h e h e a t , a n d a v a s t

    n u m b e r o f p e o p l e r e l a x i n g a n d

    e n j o y i n g t h e c i t y ' s f a m o u s b e e r s .

    B u t w h i l e 8 , 0 0 0 i s a n i m p r e s s i v e

    n u m b e r , i t ' s n o t a s i m p r e s s i v e a s

    1 5 , 0 0 0 . T h a t ' s h o w m a n y p e o p l e

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

    s w i t c h e d f r o m W i n d o w s t o L i n u x

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

    w o r k e r s o f G e r m a n y ' s t h i r d - l a r g e s t

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

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

    w a y , b u t b y a n d l a r g e t h e p r o j e c t

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

    W e ' v e b e e n f o l l o w i n g t h e

    p r o g r e s s o f L i M u x ( L i n u x i n M u n i c h )

    f o r y e a r s , a n d n o w t h a t t h e p r o j e c t

    i s e f f e c t i v e l y c o m p l e t e , w e d e c i d e d

    t o v i s i t t h e c i t y a n d t a l k t o t h e m a n

    i n c h a r g e o f i t . R e a d o n t o d i s c o v e r

    h o w i t a l l s t a r t e d , h o w M i c r o s o f t

    t r i e d t o t o r p e d o i t , a n d w h e t h e r

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

    M u n i c h ' s l e a d

    S o u r c e :

    h t t p : / / o p e n s o u r c e . c o m / g o v e r n m e n

    t / 1 4 / 5 / h o w - m u n i c h - s w i t c h e d -

    1 5 0 0 0 - p c s - w i n d o w s - l i n u x

    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://opensource.com/government/14/5/how-munich-switched-15000-pcs-windows-linuxhttp://www.ecommercetimes.com/story/80447.htmlhttp://www.pcworld.com/article/2154580/linux-group-builds-64bit-android-kitkat-for-arm-developers.htmlhttp://www.shreveporttimes.com/article/20140511/NEWS05/305100015/Kim-Komando-Buy-computer-less-than-100?nclick_check=1
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    9/54f u l l c i r c l e m a g a z i n e # 8 5

    9

    c o n t e n t s ^

    L

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

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

    t e r m i n o l o g y u s e d b y G i t . T h i s

    m o n t h w e ' l l b e t a k i n g i t a s t e p

    f u r t h e r , a n d r u n n i n g t h r o u g h a

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

    u s i n g G i t ( i n c o m b i n a t i o n w i t h

    G i t H u b ; c r e a t i n g a c u s t o m G i t

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

    t h i s a r t i c l e ) . I w i l l b e a s s u m i n g y o u

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

    G i t H u b , o r e l s e t h a t y o u h a v e f o u n d

    s o m e o n e ' s r e p o s i t o r y y o u ' d l i k e t o

    c l o n e . F o r a n y o n e w h o i s

    i n t e r e s t e d , I c r e a t e d a p u b l i c

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

    c a n b e f o u n d h e r e :

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

    n d - C o n q u e r - E x a m p l e s .

    N o t e : I f y o u d o n ' t h a v e a G i t H u b

    a c c o u n t , a n d a r e u s i n g s o m e o n e ' s

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

    b e a b l e t o p u s h t o t h e m . Y o u c a n

    c r e a t e y o u r o w n c o p y o f t h e

    r e p o s i t o r y b y f o r k i n g i t ( r e q u i r e s a n

    a c c o u n t a s w e l l ) .

    S T E P O N E : C R E A T E A

    R E P O S I T O R Y

    I f y o u w o u l d p r e f e r t o u s e a n

    e x i s t i n g r e p o s i t o r y ( o r n o t c r e a t e a

    G i t H u b a c c o u n t ) , s k i p t h i s s t e p .

    A t t h e v e r y t o p o f t h e s c r e e n

    w h e n l o g g e d i n t o G i t H u b , y o u ' l l s e e

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

    p l u s s i g n . C l i c k t h e p l u s t o c r e a t e a

    n e w r e p o s i t o r y . Y o u c a n e n t e r t h e

    f o l l o w i n g i n f o r m a t i o n :

    R e q u i r e d :

    R e p o s i t o r y N a m e

    O w n e r

    P u b l i c / P r i v a t e ( P r i v a t e i s a v a i l a b l e

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

    O p t i o n a l :

    D e s c r i p t i o n o f t h e r e p o s i t o r y

    I n i t i a l i z e w i t h a R E A D M E

    . g i t i g n o r e s e t t i n g s

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

    r e p o s i t o r y .

    ST E P

    TW O

    : CL O N E T H E

    GI T

    RE P O S I T O R Y

    T h e r e a r e s o m e G U I T o o l s f o r

    L i n u x , b u t f o r t h e s a k e o f t h i s

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

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

    O p e n a t e r m i n a l .

    c d t o a n y s u b f o l d e r w h e r e y o u

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

    E n t e r :

    git clonehttps://github.com/lswest/Com

    mand-Conquer-Examples.git

    D e p e n d i n g o n t h e s i z e o f t h e

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

    O n c e y o u ' r e b a c k a t y o u r p r o m p t ,

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

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

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

    C o m m a n d - C o n q u e r - E x a m p l e s ) .

    ST E P

    TH R E E

    : MA K I N G

    C H A N G E S

    F o r t h e s a k e o f t h i s e x a m p l e , I ' l l

    b e e d i t i n g t h e R E A D M E . m d f i l e .

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

    s a m e w i t h a n y e d i t :

    O p e n t h e f i l e i n y o u r f a v o u r i t e

    e d i t o r .

    M a k e y o u r c h a n g e s .

    O n c e t h e f i l e i s s a v e d , y o u t h e n

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

    git add

    N o t e : i f y o u w a n t t o a d d a l l f i l e s ,

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

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

    ST E P

    FO U R

    : CO M M I T

    O n c e y o u ' v e a d d e d t h e f i l e y o u

    w a n t , a n d a r e r e a d y t o c o m m i t

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

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

    f o l l o w i n g c o m m a n d :

    git commit

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

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

    p a r a m e t e r s , i t w i l l p r o m p t y o u t o

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

    b e f o r e f i n i s h i n g . A c o u p l e u s e f u l

    o p t i o n s a r e :

    - a : A u t o m a t i c a l l y a d d s a n y

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

    a d d e d / r e m o v e d f i l e s ) .

    - m < m s g > : U s e s t h e m e s s a g e

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

    i . e . - m F i r s t c o m m i t e d i t e d

    R E A D M E . m d .

    ST E P

    FI V E

    : PU S H

    N o w t h a t y o u ' v e c r e a t e d a

    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

    G

    G

    i

    i

    t

    t

    h

    h

    u

    u

    b

    b

    E

    E

    x

    x

    a

    a

    m

    m

    p

    p

    l

    l

    e

    e

    s

    s

    https://github.com/lswest/Command-Conquer-Examples
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    10/54f u l l c i r c l e m a g a z i n e # 8 5

    1 0

    c o n t e n t s ^

    L u c a s h a s l e a r n e d a l l h e k n o w s f r o m

    r e p e a t e d l y b r e a k i n g h i s s y s t e m , t h e n

    h a v i n g n o o t h e r o p t i o n b u t t o

    d i s c o v e r h o w t o f i x i t . Y o u c a n e m a i l

    L u c a s a t : l s w e s t 3 4 @ g m a i l . c o m .

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

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

    w a n t t o t a k e o v e r o n t o t h e r e m o t e

    r e p o s i t o r y , y o u ' r e r e a d y t o

    s y n c h r o n i z e t h e m . I n G i t t h i s i s

    c a l l e d a p u s h . T h e f o r m a t o f t h e

    c o m m a n d i s :

    git push

    B y d e f a u l t w h e n u s i n g G i t h u b ,

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

    r e m o t e w i l l b e m a s t e r . I f y o u ' r e

    w o r k i n g o n a m o r e c o m p l i c a t e d

    r e p o s i t o r y , y o u ' l l n e e d t o c h e c k t h e

    e x a c t b r a n c h n a m e s . I n t h i s

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

    l i k e l y b e :

    git push origin master

    I f y o u h a v e n ' t c o n f i g u r e d g i t t o

    s t o r e y o u r u s e r n a m e a n d p a s s w o r d

    f o r G i t h u b , y o u ' l l b e p r o m p t e d f o r

    t h o s e n o w . A s i s t h e c u s t o m i n

    L i n u x , t h e p r o m p t f o r t h e p a s s w o r d

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

    a l l , b u t w i l l i n d e e d r e g i s t e r y o u r

    k e y s t r o k e s .

    S T E P S I X : C H E C K I N G T H E

    R E M O T E

    O n c e y o u ' v e p u s h e d y o u r

    c h a n g e s , y o u ' l l s e e t h e n e w e s t

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

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

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

    a f f e c t e d b y i t . T h i s h e l p s t o k e e p

    t r a c k o f w h i c h f i l e s a r e n ' t b e i n g

    c h a n g e d f r e q u e n t l y .

    FU R T H E R

    PO S S I B I L I T I E S

    P O S S I B I L I T Y O N E : A D D I N G A

    NE W

    FI L E

    I n s t e p 3 , w e d i s c u s s e d h o w t o

    e d i t f i l e s t h a t a l r e a d y e x i s t i n t h e

    r e p o s i t o r y . F i r s t c r e a t e a n e w f i l e

    u s i n g w h a t e v e r m e t h o d y o u n e e d ,

    a n d t h e n a d d i t t o a c o m m i t w i t h

    g i t a d d < f i l e > . O n c e y o u ' v e a d d e d

    i t , f o l l o w s t e p s 4 - 5 .

    P O S S I B I L I T Y T W O :

    R E M O V I N G A F I L E

    I f y o u w a n t t o r e m o v e a f i l e

    f r o m t h e r e p o s i t o r y , s i m p l y

    d e l e t i n g i t f r o m t h e f i l e s y s t e m i s n ' t

    e n o u g h . Y o u ' d n e e d t o u s e t h e g i t

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

    d e l e t e d w i t h t h i s ( i . e . g i t r m

    A d d i n g a f i l e . t x t ) , y o u c a n t h e n

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

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

    s t e p s 4 - 5 .

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

    t o s h e d s o m e l i g h t o n u s i n g G i t H u b

    a n d G i t r e p o s i t o r i e s . I f y o u h a v e

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

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

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

    q u e s t i o n s . A s a l w a y s , I c a n b e

    r e a c h e d a t

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

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

    t h e i r o w n g i t s e r v e r s , I w o u l d b e

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

    t o p i c t o o ( i f t h e r e i s s u f f i c i e n t

    i n t e r e s t ) .

    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 !

    mailto:[email protected]:[email protected]
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    11/54f u l l c i r c l e m a g a z i n e # 8 5

    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 D . 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

    a

    a

    r

    r

    t

    t

    5

    5

    4

    4

    M

    a n y y e a r s a g o , I w a s d e a l i n g

    w i t h h i g h b l o o d p r e s s u r e

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

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

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

    u s e f u l , b u t r a t h e r t r i v i a l . I d e a l t

    w i t h i t b y t r y i n g t o d o c o u n t e d

    c r o s s s t i t c h . I t s c r e a t i v e , f o c u s e d ,

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

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

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

    p o s i t i o n a g a i n , s o I b r o k e o u t t h e

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

    a g a i n .

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

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

    g r o s s o v e r v i e w o f w h a t i t i s . C r o s s

    s t i t c h i s a t y p e o f n e e d l e w o r k t h a t

    u s e s t i n y x p a t t e r n s o f t h r e a d t h a t

    e v e n t u a l l y m a k e u p a p i c t u r e . T h e

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

    f a b r i c t h a t y o u u s e i s c a l l e d a i d a .

    A c c o r d i n g t o W i k i p e d i a , a i d a i s a

    s p e c i a l f a b r i c t h a t h a s t i n y s q u a r e s

    t h a t h a v e s m a l l h o l e s a t r e g u l a r

    i n t e r v a l s t h a t f o r m t h e s q u a r e s .

    T h i s f a c i l i t a t e s t h e p l a c e m e n t o f

    t h e x p a t t e r n s t h a t m a k e t h e

    i m a g e . T h e r e a r e t w o t y p e s o f c r o s s

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

    t h e a i d a ( s o r t o f l i k e p a i n t b y

    n u m b e r s ) , a n d t h e o t h e r u s e s

    t o t a l l y b l a n k a i d a t h a t y o u c o u n t

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

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

    f i r s t . G o t o y o u r f a v o r i t e f a b r i c

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

    m e g a - m a r t a n d y o u l l g e t t h e i d e a .

    A l s o a w h i l e b a c k , I s t a r t e d

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

    t h a t w o u l d t a k e a n i m a g e a n d

    c o n v e r t i t i n t o a c r o s s s t i t c h

    p a t t e r n . O n e t h i n g l e a d t o a n o t h e r ,

    a n d I h a d t o s h e l v e t h e p r o g r a m f o r

    o t h e r t h i n g s . I v e n o w d u s t e d o f f

    t h e i d e a a n d s t a r t e d a n e w .

    W e w i l l s p e n d t h e n e x t f e w

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

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

    a r e f a i r l y c o m p l e x a n d h a v e m a n y

    p a r t s t o t h e m . H e r e i s t h e g a m e

    p l a n :

    C r e a t e a d a t a b a s e f o r t h e p i x e l

    c o l o r s t o f l o s s c o l o r s .

    C r e a t e a G U I u s i n g T k i n t e r f o r t h e

    a p p l i c a t i o n .

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

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

    C r e a t e a P D F f i l e t h a t w i l l b e t h e

    u l t i m a t e p a t t e r n f o r t h e p r o j e c t .

    W h a t y o u w i l l l e a r n

    R e v i s i t a t i o n o f d a t a b a s e a n d X M L

    m a n i p u l a t i o n .

    R e v i s i t a t i o n o f T k i n t e r G U I

    p r o g r a m m i n g . I f y o u m i s s e d t h e

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

    r e f e r t o F C M i s s u e s 5 1 t h r u 5 4 .

    I m a g e m a n i p u l a t i o n u s i n g P I L

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

    a t e s t / ) .

    P D F c r e a t i o n u s i n g p y F P D F

    ( h t t p s : / / c o d e . g o o g l e . c o m / p / p y f p d f

    ) .

    G E T T I N G S T A R T E D

    T h e f i r s t t h i n g i n o u r l i s t o f t a s k s

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

    h o l d t h e D M C ( ) f l o s s c o l o r s a n d

    r e f e r e n c e t h e m t o t h e c l o s e s t

    a p p r o x i m a t i o n t o t h e R G B ( R e d ,

    G r e e n , B l u e ) v a l u e s t h a t a r e u s e d i n

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

    s a m e t i m e , t h e d a t a b a s e w i l l h o l d

    t h e h e x v a l u e a n d t h e H S V ( H u e ,

    S a t u r a t i o n , V a l u e ) r e p r e s e n t a t i o n s

    f o r e a c h f l o s s c o l o r . I t s e e m s t h a t

    H S V i s t h e e a s i e s t w a y t o f i n d t h e

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

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

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

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

    n o t f a m i l i a r w i t h H S V c o l o r

    r e p r e s e n t a t i o n s , t h e r e i s a r a t h e r

    c o m p l e x w r i t e u p o n W i k i p e d i a a t

    h t t p : / / e n . w i k i p e d i a . o r g / w i k i / H S L _ a

    n d _ H S V . I t m i g h t h e l p , b u t i t m i g h t

    m a k e t h i n g s l e s s c l e a r .

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

    X M L f i l e t h a t h a s t h e D M C f l o s s

    c o l o r s w i t h a R G B c o n v e r s i o n . T h e

    b e s t o n e I f o u n d i s a t

    h t t p : / / s o u r c e f o r g e . n e t / p / k x s t i t c h / f

    e a t u r e - r e q u e s t s / 9 / . T h e f i l e y o u

    w a n t i s d m c . x m l . D o w n l o a d i t a n d

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

    t o h o l d t h e P y t h o n c o d e .

    N o w w e w i l l b e u s i n g a p s w

    ( b e l o w ) t o d o o u r d a t a b a s e

    m a n i p u l a t i o n , w h i c h y o u s h o u l d

    # makedb.py# DMC.xml to SQLite database# For Full Circle Magazine #85

    import apswfrom xml.etree import ElementTree as ETtablename = "DMC"

    http://sourceforge.net/p/kxstitch/feature-requests/9/http://pillow.readthedocs.org/en/latest/https://code.google.com/p/pyfpdf
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    12/54f u l l c i r c l e m a g a z i n e # 8 5

    1 2

    c o n t e n t s ^

    H O W T O - P Y T H O N P A R T 5 4

    a l r e a d y h a v e a n d E l e m e n t T r e e t o

    d o t h e X M L p a r s i n g ( w h i c h i s

    i n c l u d e d i n P y t h o n v e r s i o n 2 . 7 + ) .

    A s a l w a y s , w e s t a r t w i t h o u r

    i m p o r t s . I n t h i s p r o g r a m , w e h a v e

    o n l y t h e t w o . W e a l s o s e t t h e n a m e

    o f t h e t a b l e .

    T h e n e x t p o r t i o n s h o u l d b e

    f a m i l i a r i f y o u h a v e b e e n r e a d i n g

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

    f u n c t i o n t h a t w i l l r e a d t h e X M L f i l e ,

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

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

    d a t a b a s e . A s n i p p e t o f t h e X M L f i l e

    i s s h o w n t o p r i g h t .

    W e a r e l o o k i n g f o r t h e < f l o s s >

    t a g f o r e a c h l i n e o f i n f o r m a t i o n . T o

    d o t h i s , w e u s e t h e . f i n d a l l ( f l o s s )

    c o m m a n d . O n c e w e h a v e t h e

    i n f o r m a t i o n l i n e , w e b r e a k e a c h t a g

    ( n a m e , d e s c r i p t i o n , e t c . ) i n t o

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

    d a t a b a s e . W h e n i t c o m e s t o t h e

    < c o l o r > t a g , w e u s e t h e

    . f l o s s . f i n d a l l ( c o l o r ) c o m m a n d t o

    g e t e a c h v a l u e o f R e d , G r e e n a n d

    B l u e .

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

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

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

    W e t h e n s e t t h e f i l e n a m e o f t h e

    X M L f i l e , p a r s e t h e X M L f i l e , a n d

    g e t s t a r t e d . W e a l s o u s e a c o u n t e r

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

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

    d a t a b a s e i n s e r t s a r e g o i n g o n .

    N o w t h a t w e h a v e a l l o u r d a t a ,

    w e n e e d t o c r e a t e t h e S Q L i n s e r t

    s t a t e m e n t a n d e x e c u t e i t . N o t i c e

    t h e \ a f t e r t h e w o r d V A L U E S i n

    t h e S Q L s t a t e m e n t . T h a t i s a l i n e -

    c o n t i n u a t i o n c h a r a c t e r t o m a k e i t

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

    m a g a z i n e . W e w i l l b e c r e a t i n g t h e

    d a t a b a s e a n d t a b l e i n a f e w

    m o m e n t s .

    SQL = "INSERT INTO DMC(DMC,Description,Red,Green,Bl

    ue) VALUES \

    ('%s','%s',%s,%s,%s)" %(name,desc,red,green,blue)

    cursor.execute(SQL)

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

    w i n d o w t h a t s o m e t h i n g i s g o i n g

    o n :

    print "Working record{0}".format(cntr)

    cntr += 1

    N o w w e c r e a t e a n d / o r o p e n t h e

    d a t a b a s e i n t h e O p e n D B r o u t i n e

    ( b o t t o m r i g h t ) . I f y o u v e b e e n w i t h

    u s w h e n w e h a v e d o n e d a t a b a s e

    w o r k b e f o r e , y o u w i l l n o t i c e t h a t

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

    T h e c u r s o r v a r i a b l e i s u s e d f o r t h e

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

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

    u p d a t e t o s e t t h e h e x a n d H S V

    v a l u e s . W e h a v e t o u s e t w o c u r s o r s ,

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

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

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

    c o m m a n d . B y u s i n g u c u r s o r , w e

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

    s t a t e m e n t s . O t h e r t h a n t h a t , i t i s

    o u r n o r m a l O p e n D B r o u t i n e .

    150Dusty Rose Ultra VDK

    1712

    73

    def ReadXML():global connectionglobal cursorfn = 'dmc.xml'tree = ET.parse(fn)root = tree.getroot()cntr = 0for floss in root.findall('floss'):

    name = floss.find('name').textdesc = floss.find('description').textfor colour in floss.findall('color'):

    red = colour.find('red').text

    green = colour.find('green').textblue = colour.find('blue').text

    def OpenDB():global connectionglobal cursorglobal ucursorglobal dbnameconnection = apsw.Connection("floss.db3")cursor = connection.cursor()ucursor = connection.cursor()

  • 8/12/2019 Full Circle Magazine - issue 85 EN

    13/54f u l l c i r c l e m a g a z i n e # 8 5

    1 3

    c o n t e n t s ^

    H O W T O - P Y T H O N P A R T 5 4

    N o w t h a t t h e d a t a b a s e i s

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

    u p o u r t a b l e ( t o p r i g h t ) . N o t i c e t h a t

    t h e S Q L s t a t e m e n t b e l o w u s e s t h e

    t r i p l e q u o t e t o a l l o w f o r t h e l i n e t o

    b r e a k n e a t l y f o r v i e w i n g .

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

    ( m i d d l e r i g h t ) i s t h e r e j u s t t o m a k e

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

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

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

    e m p t y t a b l e i f i t e x i s t s .

    I F w e w e r e t o s t o p h e r e , w e

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

    d a t a b a s e w i t h t h e D M C c o l o r , c o l o r

    n a m e a n d t h e R G B v a l u e s

    a s s o c i a t e d w i t h e a c h . H o w e v e r , a s I

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

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

    t h e H S V d a t a .

    W e n e x t c r e a t e t h e h e x v a l u e

    f r o m t h e R G B v a l u e s ( m i d d l e l e f t ) .

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

    H S V v a l u e s f r o m t h e R G B v a l u e s . I

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

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

    F i n a l l y , w e c r e a t e t h e U p d a t e D B

    f u n c t i o n ( n e x t p a g e , t o p l e f t ) . W e

    u s e t h e S E L E C T * F R O M D M C

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

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

    W e t h e n s t e p t h r o u g h t h e r e t u r n e d

    d a t a , a n d r e a d t h e R G B v a l u e s , a n d

    p a s s t h e m t o t h e r g b 2 h e x f u n c t i o n

    a s a t u p l e a n d t o t h e r g b 2 h s v

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

    O n c e w e g e t t h e r e t u r n v a l u e s , w e

    u s e t h e u p d a t e S Q L c o m m a n d t o

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

    t h e p r i m a r y k e y ( p k I D ) . A s I s t a t e d

    b e f o r e , w e h a v e t o u s e a s e p a r a t e

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

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

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

    t h e d a t a b a s e , a n d , a t t h e e n d , w e

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

    e v e r y t h i n g i s d o n e .

    OpenDB()MakeTables()EmptyTables() # Just to besafeReadXML()UpdateDB()print "Finished"

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

    M a k e D B . T h e d a t a b a s e s h o u l d b e

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

    t h e c o d e a n d X M L f i l e a r e l o c a t e d .

    A s a l w a y s , t h e f u l l c o d e c a n b e

    f o u n d a t

    h t t p : / / p a s t e b i n . c o m / Z e g q w 3 p i .

    N e x t t i m e , w e w i l l w o r k o n t h e

    G U I . W e u s e T k i n t e r f o r t h e G U I , s o ,

    i n t h e m e a n t i m e , y o u m i g h t w a n t

    t o r e f r e s h y o u r m e m o r y b y l o o k i n g

    a t F C M i s s u e s 5 1 t h r u 5 4 w h e r e I

    t a k e y o u t h r o u g h T k i n t e r .

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

    m o n t h .

    def MakeTables():sql = '''CREATE TABLE IF NOT EXISTS DMC

    (pkID INTEGER PRIMARY KEY, DMC INTEGER,Description TEXT, Red INTEGER, Green INTEGER, Blue INTEGER,HEX TEXT,H INTEGER,S INTEGER,V INTEGER)'''

    cursor.execute(sql)

    def EmptyTables():sql="DELETE FROM %s" % tablename

    cursor.execute(sql)

    def rgb2hex(rgb):return '%02x%02x%02x' % rgb

    def rgb2hsv(r, g, b):r, g, b = r/255.0, g/255.0, b/255.0

    mx = max(r, g, b)mn = min(r, g, b)df = mx-mnif mx == mn:

    h = 0elif mx == r:

    h = (60 * ((g-b)/df) + 360) % 360elif mx == g:

    h = (60 * ((b-r)/df) + 120) % 360elif mx == b:h = (60 * ((r-g)/df) + 240) % 360

    if mx == 0:s = 0

    else:s = df/mxv = m x

    return int(round(h,0)), int(round(s*100,0)),int(round(v*100,0))

    http://pastebin.com/Zegqw3pi
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    14/54

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

    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 C o r k M a r i n o

    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

    .

    .

    3

    3

    7

    7

    -

    -

    B

    B

    a

    a

    s

    s

    e

    e

    F

    F

    o

    o

    r

    r

    m

    m

    I

    I

    m

    m

    p

    p

    r

    r

    o

    o

    v

    v

    e

    e

    m

    m

    e

    e

    n

    n

    t

    t

    I

    n m y a r t i c l e i n i s s u e 8 3 o f F u l l

    C i r c l e M a g a z i n e , I w a l k e d y o u

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

    a v i e w , b u t I l e f t t h i n g s u n f i n i s h e d

    i n t h e f o r m s : I d i d n ' t d o a n y t h i n g t o

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

    i n t e g r i t y . I f y o u h a v e n ' t a l r e a d y

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

    C i r c l e 8 3 , a n d f o l l o w a l o n g t o

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

    w i l l w o r k w i t h t h e P r o j e c t F o r m ,

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

    i n t e g r i t y . I ' l l w a i t i f y o u n e e d t o

    w o r k t h r o u g h t h e H o w - T o i n i s s u e

    8 3 .

    DA T E A N D

    TI M E

    CO N T R O L S

    N o w l e t ' s g e t d o w n t o w o r k . O n

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

    f i l e y o u c r e a t e d , r i g h t - c l i c k t h e

    P r o j e c t F o r m a n d s e l e c t E d i t . A s

    I h a v e s a i d b e f o r e , t h e w i z a r d

    u s u a l l y j o i n s a l a b e l w i t h a n i n p u t

    b o x , b u t i n t h e c a s e o f d a t e a n d

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

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

    W i t h o u t a n y f o r m a t t i n g , t h e y j u s t

    l o o k l i k e t e x t i n p u t b o x e s , b u t t r u s t

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

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

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

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

    R i g h t - c l i c k t h e D u e l a b e l o r d a t e

    c o n t r o l , t h e n s e l e c t G r o u p >

    U n g r o u p .

    D o u b l e - c l i c k t h e d a t e c o n t r o l t o

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

    d i a l o g . O n t h e G e n e r a l t a b , y o u

    f i n d a l l t h e a d j u s t m e n t s y o u c a n

    m a k e t o t h e c o n t r o l . W e a r e

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

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

    D a t e M i n / D a t e M a x T h e s e

    t w o o p t i o n s a l l o w y o u t o c o n t r o l

    t h e m i n i m u m a n d m a x i m u m d a t e

    v a l u e s a l l o w e d i n t h e f i e l d s . T h e s e

    f i e l d s h a v e d e f a u l t v a l u e s o f

    0 1 / 0 1 / 1 8 0 0 f o r m i n i m u m a n d

    1 2 / 3 1 / 2 2 0 0 f o r m a x i m u m . I n

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

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

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

    a d j u s t . A n e x a m p l e i s a n i n v e n t o r y

    d a t a b a s e , w h e r e n o s h i p p i n g

    i n v o i c e s d a t e d b e f o r e t h e i n c e p t i o n

    o f t h e c o m p a n y i s n e c e s s a r y . Y o u

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

    o p e n i n g d a y .

    D a t e F o r m a t T h e r e a r e 1 2

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

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

    d i s p l a y t h e d a t e . S c r o l l t h r o u g h t h e

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

    s u i t s y o u r a p p l i c a t i o n .

    D e f a u l t D a t e T h i s i s a d e f a u l t

    v a l u e f o r t h e f i e l d . I f y o u h a v e a

    d a t e t h a t u s e r s s h o u l d u s e m o s t o f

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

    s p e e d u p d a t a e n t r y . I t c a n a l s o

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

    t o e n t e r d a t e s . U n f o r t u n a t e l y , a t

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

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

    r e c o r d w a s a d d e d .

    S p i n B u t t o n S e t t i n g t h i s

    o p t i o n t o Y e s w i l l p u t a n u p - a n d -

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

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

    a d j u s t t h e m o n t h , d a y , a n d y e a r .

    T h e u s e r c l i c k s i n t o t h e p a r t o f t h e

    d a t e t h e y w a n t t o a d j u s t a n d

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

    b u t t o n s . V e r y h a n d y f o r d a t a e n t r y .

    R e p e a t T h e R e p e a t o p t i o n i s

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

    c o n t r o l s w h e t h e r t o r e p e a t w h e n

    y o u h o l d d o w n t h e m o u s e b u t t o n

    o n t h e s p i n b u t t o n . U s e a t y o u r

    o w n d i s c r e t i o n . S o m e t i m e s , i t

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

    m u c h .

    D e l a y T h e D e l a y o p t i o n

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

    o p t i o n . A l o n g e r d e l a y m e a n s y o u

    h a v e t o h o l d t h e b u t t o n d o w n

    l o n g e r b e f o r e i t w i l l r e p e a t . T h e

    d e f a u l t i s 5 0 m s ( m i l l i s e c o n d s ) .

  • 8/12/2019 Full Circle Magazine - issue 85 EN

    15/54

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

    c o n t e n t s ^

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

    D r o p d o w n D r o p d o w n a d d s a

    l i s t b o x s t y l e a r r o w t o t h e c o n t r o l .

    C l i c k i n g i t d i s p l a y s a c a l e n d a r

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

    n e e d .

    N O T E : Y o u c a n u s e t h e S p i n B u t t o n

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

    c r e a t e a f l e x i b l e c o n t r o l .

    A f t e r y o u m a k e y o u r

    a d j u s t m e n t s t o t h e c o n t r o l , s a v e

    t h e f o r m a n d c l o s e i t . O p e n t h e

    f o r m a n d t e s t y o u r n e w l y a d j u s t e d

    d a t e c o n t r o l . F e e l f r e e t o

    e x p e r i m e n t w i t h t h e d i f f e r e n t

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

    o f h o w t h e y w o r k . T h e o p t i o n s f o r

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

    d a t e c o n t r o l e x c e p t y o u d o n ' t h a v e

    t h e D r o p d o w n o p t i o n .

    MA K I N G T H E

    TI T L E

    M A N D A T O R Y

    N o w t h a t w e h a v e s e t u p t h e

    d a t e c o n t r o l , l e t ' s t a c k l e s o m e

    p o s s i b l e i s s u e s w i t h t h e T i t l e

    f i e l d ' s i n p u t b o x . W h e n w e c r e a t e d

    t h e f i e l d , w e s e t i t s m a x i m u m

    l e n g t h a t 5 0 . H o w e v e r , a s t h e i n p u t

    b o x s t a n d s n o w , w e c a n t y p e m o r e

    t h a n 5 0 c h a r a c t e r s i n t o t h e b o x .

    T r y i n g t o s a v e t h e r e c o r d w i t h

    m o r e t h a n 5 0 c h a r a c t e r s i n T i t l e

    r e s u l t s i n a n S Q L i n s e r t e r r o r . A l s o ,

    w h e n w e c r e a t e d t h e t a b l e , w e

    d e c l a r e d T i t l e a s N O T N U L L . W e

    w a n t t o m a k e t h e T i t l e a

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

    T h e N O T N U L L s t a t u s p r e v e n t s

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

    e m p t y , b u t i t i s s t i l l p o s s i b l e t o

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

    a c c e p t t h e e n t r y a s

    v a l i d . S o , w e h a v e a f e w t h i n g s t o

    f i x i n o u r f o r m .

    O p e n P r o j e c t F o r m f o r e d i t i n g .

    R i g h t - c l i c k i n g t h e T i t l e l a b e l o r

    i n p u t b o x , G r o u p > U n g r o u p . N o w ,

    d o u b l e - c l i c k t h e T i t l e i n p u t b o x

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

    O n t h e G e n e r a l t a b , s e t t h e v a l u e

    f o r M a x L e n g t h t o 5 0 . T h i s w i l l

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

    m o r e t h a n 5 0 c h a r a c t e r s . O n t h e

    D a t a t a b , m a k e s u r e t h a t b o t h

    E m p t y S t r i n g I s N U L L a n d I n p u t

    R e q u i r e d a r e s e t t o Y e s . T h e s e

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

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

    v a l i d v a l u e i n t h e i n p u t f i e l d .

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

    w i t h t h e f a c t t h a t t h e u s e r c a n j u s t

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

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

    l i t t l e S Q L . I h a v e l o o k e d f o r a

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

    r e s u l t , b u t s o m e t i m e s , w h e n y o u

    w o r k w i t h d a t a b a s e s , S Q L i s t h e

    b e s t , i f n o t o n l y , c h o i c e . W e w i l l

    a d d a C H E C K c o n s t r a i n t t o t h e

    P r o j e c t t a b l e . C l i c k o n T o o l s >

    S Q L . T o e n t e r t h e S Q L , T o o l s >

    S Q L . . . U s e t h e f o l l o w i n g S Q L

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

    t h e t a b l e :

    ALTER TABLE Project

    ADD CONSTRAINT NOSPACES_CK

    CHECK(TRIM(BOTH FROM Title) '');

    T h e A L T E R T A B L E c o m m a n d

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

    t h e t a b l e , i n t h i s c a s e t h e t a b l e

    P r o j e c t . T o i n d i c a t e t h e c h a n g e

    w e a r e m a k i n g , w e u s e t h e A D D

    C O N S T R A I N T c o m m a n d .

    N O S P A C E S _ C K i s t h e n a m e o f t h e

    c o n s t r a i n t w e a r e a d d i n g . I t ' s n o t

  • 8/12/2019 Full Circle Magazine - issue 85 EN

    16/54

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

    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

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

    r e q u i r e d t h a t y o u m a k e y o u r

    c o n s t r a i n t n a m e s a l l c a p s . I j u s t d o

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

    l a s t l i n e i s t h e C H E C K c o n s t r a i n t .

    U s i n g t h e b u i l t - i n f u n c t i o n T R I M , i t

    r e m o v e s a l l t h e s p a c e s f r o m b o t h

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

    m a k e s u r e i t i s n o t e q u a l t o a n

    e m p t y s t r i n g . N o w , i f s o m e o n e

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

    t h e T i t l e , a n S Q L c o n s t r a i n t e r r o r

    i s g e n e r a t e d .

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

    t h e F i r s t N a m e a n d L a s t N a m e

    f i e l d s i n t h e T e a m M e m b e r t a b l e .

    T h e M a x L e n g t h f o r t h e n a m e

    f i e l d s i s 2 5 . I s u g g e s t t h e f o l l o w i n g

    S Q L f o r a d d i n g t h e c o n s t r a i n t s :

    ALTER TABLE TeamMember

    ADD CONSTRAINTRNAME_NOSPACES_CK

    CHECK(TRIM(BOTH FROMFirstName) '');

    ALTER TABLE TeamMember

    ADD CONSTRAINTLNAME_NOSPACES_CK

    CHECK(TRIM(BOTH FROMLastName) '');

    I M P R O V I N G T H E V I E W

    QU E R Y

    T h e v i e w w e c r e a t e f o r p u t t i n g

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

    b o x i n t h e P r o j e c t F o r m i s g o o d ,

    l e g a l S Q L , b u t t h e r e a r e a c o u p l e o f

    p r o b l e m s . F i r s t , a l t h o u g h w e h a v e

    p r e v e n t e d a n a m e f r o m b e i n g j u s t

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

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

    t h e b e g i n n i n g o r e n d . A l s o , t h e

    n a m e s a r e n o t i n a n y o r d e r .

    L u c k i l y , w e c a n e d i t o u r v i e w

    a n d m a k e s o m e a d d i t i o n s t o

    a d d r e s s t h e s e p r o b l e m s . S e l e c t

    T a b l e s f r o m t h e D a t a b a s e p a n e .

    R i g h t - c l i c k T e a m V i e w a n d s e l e c t

    E d i t i n S Q L V i e w . . . T h i s b r i n g s u p

    t h e S Q L w e u s e d t o c r e a t e t h e

    v i e w . C h a n g e t h e c u r r e n t S Q L s o i t

    l o o k s l i k e t h e f o l l o w i n g :

    SELECT TRIM(BOTH FROMFirstName) | | ' '|| TRIM(BOTH FROM LastName)

    AS Name, ID

    from TeamMember

    ORDER BYLastName, FirstName;

    W e a l r e a d y s a w T R I M w h e n w e

    c r e a t e d o u r C H E C K c o n s t r a i n t s . I t

    r e m o v e s a l l s p a c e s f r o m t h e

    b e g i n n i n g a n d e n d o f F i r s t N a m e

    a n d L a s t N a m e .

    A t t h e e n d , w e t a g o n a n O R D E R

    B Y c o m m a n d t o s o r t t h e n a m e s b y

    L a s t N a m e , t h e n F i r s t N a m e . T h i s

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

    L a s t N a m e , t h e n i f t h e r e i s m o r e

    t h a n o n e o f t h e s a m e L a s t N a m e ,

    i t w i l l s o r t b y F i r s t N a m e .

    W i t h a d j u s t m e n t s t o t h e

    c o n t r o l s a n d a l i t t l e S Q L , w e w e r e

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

    t o o u r f o r m s , m a k i n g d a t a i n p u t

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

    y o u a r e i n t e r e s t e d i n a b e t t e r

    u n d e r s t a n d i n g o f t h e S Q L u s e d i n

    t h i s H o w - T o , I h a v e a c o u p l e o f

    r e s o u r c e s f o r y o u .

    M y b l o g W h a t t h e T e c h A m I

    D o i n g ? L i b r e O f f i c e B a s e p o s t s

    h t t p : / / e e p e r r y . w o r d p r e s s . c o m / c a t e

    g o r y / l i b r e o f f i c e / l i b r e o f f i c e - b a s e /

    W 3 S c h o o l s S Q L T u t o r i a l

    h t t p : / / w w w . w 3 s c h o o l s . c o m / s q l / d e f

    a u l t . a s p

    T h e U b u n t u P o d c a s t c o v e r s a l l

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

    U b u n t u L i n u x u s e r s a n d F r e e

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

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

    a n d t h e o l d e s t c o d e r . O u r

    d i s c u s s i o n s c o v e r t h e

    d e v e l o p m e n t o f U b u n t u b u t

    a r e n t o v e r l y t e c h n i c a l . W e a r e

    l u c k y e n o u g h t o h a v e s o m e g r e a t

    g u e s t s o n t h e s h o w , t e l l i n g u s

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

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

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

    a l l u n d e r s t a n d ! W e a l s o t a l k

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

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

    T h e s h o w i s p r e s e n t e d b y

    m e m b e r s o f t h e U K s U b u n t u

    L i n u x c o m m u n i t y . B e c a u s e i t i s

    c o v e r e d b y t h e U b u n t u C o d e o f

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

    T h e s h o w i s b r o a d c a s t l i v e e v e r y

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

    ( B r i t i s h t i m e ) a n d i s a v a i l a b l e f o r

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

    p o d c a s t . u b u n t u - u k . o r g

    http://podcast.ubuntu-uk.org/http://www.w3schools.com/sql/default.asphttp://eeperry.wordpress.com/category/libreoffice/libreoffice-base/http://eeperry.wordpress.com/
  • 8/12/2019 Full Circle Magazine - issue 85 EN

    17/54

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

    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 F l o r i s V a n d e r h a e g h e

    G

    G

    R

    R

    U

    U

    B

    B

    2

    2

    &

    &

    M

    M

    u

    u

    l

    l

    t

    t

    i

    i

    b

    b

    o

    o

    o

    o

    t

    t

    i

    i

    n

    n

    g

    g

    P

    P

    t

    t

    .

    .

    1

    1

    N

    e w L i n u x f l a v o u r s e m e r g e a l l

    t h e t i m e . U b u n t u , D e b i a n ,

    L i n u x M i n t , B o d h i L i n u x ,

    S n o w L i n u x , a n t i X , r e g u l a r l y

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

    O v e r w h e l m i n g ! A s i f t h i s w a s n t

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

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

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

    p r o g r a m s . C o m m o n d e s k t o p

    m a n a g e r s i n c l u d e G n o m e ,

    C i n n a m o n , U n i t y , X F C E , L X D E a n d

    E n l i g h t e n m e n t . T h i s w e a l t h i s a j o y

    f o r o p e n s o u r c e p r o t a g o n i s t s . S t i l l ,

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

    t o e n j o y a n d c o m p a r e m u l t i p l e

    d i s t r i b u t i o n s . A c o m m o n a p p r o a c h

    i s t o r u n a l i v e s e s s i o n ( f r o m D V D

    o r U S B s t i c k ) , o r t o r u n a s e c o n d

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

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

    o f t h e s e w a y s a l l o w y o u t o f u l l y

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

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

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

    d i r e c t l y f r o m t h e h a r d d i s k o f y o u r

    p c ! M u l t i p l e i n s t a l l e d d i s t r i b u t i o n s

    o n y o u r h a r d d i s k t o c h o o s e f r o m ,

    w o u l d a l l o w y o u t o t r y o u t

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

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

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

    s e s s i o n .

    L a t e l y , I f i g u r e d o u t a n

    a p p r o a c h , a n d I w a s c o m p e l l e d t o

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

    F C M r e a d e r s . T h e a n s w e r i s i n

    c u s t o m i z i n g G R U B , t h e G r a n d

    U n i f i e d B o o t l o a d e r .

    W h e n m y P C b o o t s , t h e f i r s t

    t h i n g t h a t a p p e a r s a f t e r B I O S i s a

    G R U B m e n u i n w h i c h m u l t i p l e

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

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

    m y c a s e ) . M a n y o f u s k n o w a b o u t

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

    L i n u x d i s t r i b u t i o n : i t i s a d e f a u l t

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

    i n s t a l l U b u n t u o r a n o t h e r L i n u x

    d i s t r i b u t i o n o n a W i n d o w s - o n l y

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

    r e s t a r t , y o u w i l l g e t a G R U B m e n u

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

    o p e r a t i n g s y s t e m ( O S ) t o b o o t :

    U b u n t u o r W i n d o w s . I f y o u d o n t

    s e e t h e G R U B m e n u ( e . g . y o u h a v e

    o n l y U b u n t u o n y o u r h a r d d i s k ) ,

    p r e s s S h i f t d u r i n g b o o t t o u n h i d e i t .

    G R U B c a n d o m o r e f o r y o u t h a n

    o f f e r i n g a d u a l - b o o t i n g m e n u , a n d

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

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

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

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

    G R U B .

    W i t h G R U B , I m e a n v e r s i o n 2

    ( G R U B 2 ) , w h i c h i s t h e v e r s i o n

    p a c k a g e d w i t h m o s t L i n u x

    d i s t r i b u t i o n s ( i . e . g r u b - p c p a c k a g e

    v e r s i o n 1 . 9 7 a n d l a t e r ! ) . F r o m

    U b u n t u 1 2 . 1 0 o n , v e r s i o n 2 . 0 0 o f

    g r u b - p c i s i n s t a l l e d .

    G R U B i s a b o o t l o a d e r , w h i c h b y

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

    M a s t e r B o o t R e c o r d ( M B R ) o f y o u r

    h a r d d i s k . W h a t a m o u t h f u l . T h e

    M B R i s t h e f i r s t s e c t o r o f y o u r h a r d

    d i s k ( 5 1 2 b y t e s ) , a n d , a s s u c h , i t i s

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

    h a r d d i s k w h e n b o o t i n g . I t s

    c o n t e n t s d o N O T a p p e a r w i t h i n

    y o u r f i l e s y s t e m ( s ) o n t h e h a r