SlideShare a Scribd company logo
1 of 38
Download to read offline
full circle
    ISSUE #33 - January 2010




CREATE A MEDIA CENTER
WITH UBUNTU, AN
ACER REVO & BOXEE
                               full circle magazine #33   contents ^
full circle                                                   Ubuntu Women                 p.28




Program In Python - Pt7 p.08                                                                                            Ubuntu Games                 p.31



                                       My Story                     p.19       MOTU Interview               p.24
                                       Read how Ubuntu is used in
                                       public education, and why one
                                       man made the switch to Linux.
Ubuntu, Revo & Boxee        p.13                                                                                        Command & Conquer            p.05




The Perfect Server - Pt3 p.15          Review - Exaile              p.23        Letters                      p.26       Top 5 - Sync. Clients        p.35



                       The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license.
                       This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: You must attribute
                      the work to the original author in some way (at least a name, email or URL) and to this magazine by name ('full circle magazine')
  and the URL www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work). If
  you alter, transform, or build upon this work, you must distribute the resulting work under the same, similar or a compatible license.

                                                  full circle magazine #33                                                                          contents ^
EDITORIAL
                                                                                                This magazine was created using :


Welcome to another issue of Full Circle magazine.



L
       ast month, Andrew gave us his Top 5 Media Center applications. This month I've
       written a How-To on using Ubuntu on an Acer Aspire Revo to create the
       foundation for Boxee. For under £150 I've created a fantastic media center
       which not only looks great, it's fully customizable!

   That's my media center story, but don't forget to read the My Story articles which
this month focus on Ubuntu, Linux and open-source in public education, as well as how
one man went from using old (modern at the time) computers, to using Ubuntu.

   Another advertisement this month! But don't panic, it's only for this month and it's          Ubuntu is a complete operating
our way of trying to bring more attention to SCaLE 2010. February sees the eighth                system that is perfect for
                                                                                                 laptops, desktops and servers.
annual                                 . Unfortunately I can't attend, but if anyone does        Whether at home, school or
attend, we'd love to hear what it was like, who was there, what happened, so fill us in!         work, Ubuntu contains all the
                                                                                                 applications you'll ever need
  Don't forget to read the Ubuntu Women interview, on page 28, with Jane Silber the              including word processor, email
                                                                                                 application and web browser.
COO at Canonical. As most of you will know, Jane will take over from Mark as CEO on              Ubuntu is and always will be free
March 1st.                                                                                       of charge. You do not pay any
                                                                                                 licensing fees. You can
  And finally, Robin Catling, the man of many words, is considering resurrecting the             download, use and share Ubuntu
                                                                                                 with your friends, family, school
FCM podcast. Care to help? - http://ubuntuforums.org/showthread.php?t=1380948                    or business, for absolutely
                                                                                                 nothing.
  Enjoy the issue, and keep in touch!
                                                                                                 Once installed, your system is
                                                                                                 ready to use with a full set of
                                                                                                 productivity, internet, drawing
                                                                                                 and graphics applications, and
Editor, Full Circle magazine                                                                     games.
ronnie@fullcirclemagazine.org
                                                                                                 use the new
                                                                                            'contents' link to jump
                                                                                            to the contents page
                                        full circle magazine #33                            from any other page!
                                                                                                                              contents ^
NEWS
Ubuntu Firefox shuns              Ubuntu - version 10.4, dubbed
                                                                        Ubuntu Primes Music                  Music Store objective as such:
Google for Yahoo! search          Lucid Lynx and due in April -
                                  Yahoo! will be the default            Service                              "
                                  engine in the search box in the
The next release of Ubuntu will                                         Although it is not yet official,
                                  top right-hand corner of the
scrap Google as the default                                             Ubuntu's next release looks likely
                                  Firefox browser bundled with
search engine on its Firefox                                            to include a music store service
                                  the OS, and Yahoo! search will        similar to Apple's iTunes.
browser in favor of Yahoo!,
                                  be the browser's default
thanks to a new revenue-
                                  homepage.                             The first hint that Ubuntu
sharing deal between Yahoo!                                             developers were considering a
and commercial Ubuntu backer                                            music store came in September
Canonical.                                                              last year when Canonical chief
                                                                        Mark Shuttleworth announced
With regulators set to approve                                          plans for Lucid Lynx, the next
                                  As is typical with Firefox, users     version of Ubuntu. At the time
Yahoo!'s search pact with
                                  will have the option of               Shuttleworth made vague
Microsoft, this means that
                                  changing the search box               references to an Amazon- and                      "
Redmond will power the future
                                  default. This means they can          iTunes-like music store for the
of Firefox on Ubuntu, a                                                 next release.
                                  change it back to Google, and                                              According to the specifications
combination with decidedly                                                                                   users will log into the music store
                                  thanks to another Lucid Lynx
anti-Redmond connotations.                                              Since then the noise around an       using their existing Ubuntu One
                                  change announced by
The ultimate irony is that                                              Ubuntu music store has grown         username. [...] Already a
                                  Spencer, doing so will also           into a coherent direction and a
Microsoft will essentially be                                                                                Rhythmbox plugin for the Ubuntu
                                  switch the browser's                  number of details suggest that
paying people to build a Linux                                                                               One Music Store is listed in
                                  homepage to Google. If you            the Ubuntu One Music Store is on     Ubuntu's blueprints.
distro.
                                  choose a search provider other        track for possible inclusion in
                                  than Google or Yahoo!, Lynx           Lucid Lynx which is scheduled to             : mybroadband.co.za
Canonical's Rick Spencer                                                be released in April this year.
                                  may or may not update the
announced the Yahoo! revenue
                                  browser's homepage in similar
deal on Tuesday, with a post to                                         The most obvious clue to the
                                  fashion. Canonical has yet to
the Ubuntu developer mailing                                            Ubuntu One Music Store is the
                                  sort out the situation involving      wiki page outlining plans for the
list.
                                  other providers.                      product. Among other details, the
                                                                        wiki explains the Ubuntu One
With the next release of
                                          : theregister.co.uk
                                             full circle magazine #33                                                                    contents ^
COMMAND & CONQUER


N
           ow that we've                                                 windows). This feature is          can set up the commands to
           covered the                If you were looking through        especially useful if you're the    run, detach the Screen, and
           introduction to GNU     my configuration file last            kind of person who regularly       disconnect from the SSH
           Screen last month,      month, you must have noticed          uses certain CLI-based             server. If you want to re-
we're ready to advance into        the following two lines at the        programs (mutt, irssi, midnight    connect and get the info back,
slightly more useful               end of my .screenrc:                  commander, etc.), and want to      all you have to do is re-attach
configurations. I'll be covering                                         have them readily available in     the Screen session. I
only a few aspects of Screen       # autostart screen sessions           one easy-to-access window          recommend detaching before
                                   screen -t Zsh 0 /bin/zsh              without opening a horde of         disconnecting from SSH, but
that I use and find useful, but
                                   screen -t IRC 1
they are by no means as            /usr/bin/irssi                        terminals.                         Screen should automatically
advanced as they get, nor are                                                                               detach and keep the Screen
they the only aspects worth            The lines there add a new            If you're an SSH user, you've   running when the connection
using in Screen. I'd be happy to   window (the number after the          probably run into the problem      closes. This is useful for system
have readers send in their         title) to Screen with the title       where you access a machine,        administrators who may need
favourite configuration/setting    (specified after the “-t” flag),      and run a command, and you         to run a script to update
for Screen. I can post them at     and the following command.            end up losing your connection,     permissions or whatnot, and
the start of Command &             So, the .screenrc launches            and then frustrate yourself by     will save them the need to
Conquer each month, so that        Screen with window 0 running          having to re-run the command       send the process to the
we can learn something new         my Z-shell, with a title of           since you lost the output. This    background, or to keep the SSH
from them. The things I'll be      “Zsh”, and window 1 with irssi        is why I, personally, feel that    connection open the entire
covering in this article are the   running, and a title of “IRC”.        Screen (or another terminal        time. If I remember correctly,
following: automatically           Screen will default to the            multiplexer) is a must for any     you can even configure the
starting windows with              newest window, so my Screen           SSH users who will be              SSH shell to automatically run
commands, using Screen over        sessions always start in IRC,         connected for longer than a        Screen for any SSH login,
SSH to daemonize commands,         since that's what I'll most likely    few minutes, and who may           meaning you're always going
sharing Screen sessions,           use. I don't know if there is a       need to run more than one          to be in a Screen shell.
splitting the window, and the      limit to how many windows             command. Even if you're one
benefit of Screen over TTY         Screen can have, but I would          of those one-command and a             Another extremely useful
screens or a normal shell. So,     recommend not having more             few-minutes users, Screen          feature of Screen is the ability
lets get started and fire up our   than the number of shortcuts          might still be a very useful       to share sessions. This is great
Screen sessions, and our           to quickly switch between             thing for you. If you connect      if you're editing a script and
.screenrc files!                   them (so a maximum of 9               via SSH, and run Screen, you       need input from another user.

                                              full circle magazine #33                                                               contents ^
COMMAND & CONQUER
You can allow them to SSH to         article on securing Screen, and        enable vertical splitting, I'll    can be sent there too.
the box, and share the screen.       adding names to Screen                 post a link to a tutorial in the
To do this, the host (first user),   sessions to make management            Further Reading section.              Last command for Screen:
has to do the following:             easier.
                                                                                The last thing I want to       screen -S <name of screen
Ctrl + a                                                                                                       session>
                                         The very last feature I'm          cover for this article is why
:multiuser on
                                     going to cover for the moment          someone should use this
                                                                                                                  The above command
                                     is the ability to split the            instead of a TTY screen, or a
    The Ctrl +a is the actual                                                                                  creates a Screen session using
                                     window in Screen. This means           normal shell. The simple
keyboard combination, and you                                                                                  the name you supply after the -
                                     you can have two shells                answer is personal preference.
have to then type “:multiuser                                                                                  S flag, for quick and easy
                                     running parallel with a tiling         The long answer is that it
on”. You then need to allow the                                                                                access (great for when you're
                                     window manager feel to it.             allows SSH sessions to run
remote user to connect to the                                                                                  running lots of Screen
                                     Screen only supports horizontal        multi-task without any chance
Screen session with the                                                                                        sessions).
                                     splitting out of the box; there is     of losing the processes when
following:                           a patch to enable splitting            disconnecting, and it also
                                     vertically, but it requires you to     allows you to minimize the
Ctrl +a                                                                                                        Vertical splitting:
:acladd <ruser>                      re-compile Screen by hand. In          amount of RAM being used.          http://scie.nti.st/2008/8/22/gnu-
                                     order to split the screen              Also, it allows you to have a      screen-with-vertical-split-support
                                     horizontally in Screen, hit the        better overview of what is         http://www.gnu.org/software/screen/m
   Substitute “<ruser>” with                                                                                   anual/html_node/Default-Key-
the username for the remote          following key combination:             running - if you give the Screen   Bindings.html#Default-Key-Bindings –
user. Once you've done that,                                                windows titles, and keep them      The manual page for keybindings on
                                     C-a S                                  running in one terminal            the GNU homepage.
the remote user can connect to
                                                                            emulator, you'll have a status-    http://www.math.utah.edu/docs/info/sc
the Screen session using:
                                        For those who didn't read                                              reen_9.html – Short and concise list of
                                                                            bar type list of running           things for .screenrc files, and Screen
screen -x $USER/<screen              my last article, that means ctrl       programs. I'm by no means          in general
ID/name>                             +a, then S (shift + s). This will      saying you have to use it, but
                                     take the current window and            for those people to whom the
   You need to replace $USER         split it in half down the center.      features of Screen appeal, I
with the username of the             Once you have your two panes,          highly recommend using it and
original user (the “host”), and      you can switch between them            getting into the habit of using
the Screen ID/name with the          with:                                  it regularly (which, I have to              has learned all he knows
name or ID of the Screen                                                    admit, I haven't managed yet).      from repeatedly breaking his
session the user started. If you     C-a <Tab>
                                                                            As always, feel free to email       system, then having no other
want to know how to set a                                                   any questions you may have to       option but to discover how to fix
Screen name, I'll be adding a           where <Tab> is the actual                                               it. You can email Lucas at:
                                                                            lswest34@gmail.com. Any             lswest34@gmail.com.
few quick tips at the end of the     tab key. If anyone wants to            suggestions for new articles
                                                 full circle magazine #33                                                                   contents ^
full circle magazine #33   contents ^
HOW-TO                                                                Program In Python - Part 7
                                               paper. In each filing cabinet        and filing cabinets and wasted      User, came to see See-Quill.
 FCM#27-32 - Python Parts 1 - 6                was something called a file          time, if only people would          He was very impressed with
                                               folder, which attempted to           believe in computers and her.       her beauty, and said “See-
                                               organize relevant papers             She called this power a             Quill, Please teach me to use
                                               together. But after time, they       “Database”. She said that the       your power.” See-Quill said
                                               would get over-stuffed, and fall     “Database” could replace the        that she would.
                                               apart when they got old or           entire filing system. Some
                                               opened too many times.               people did, and soon their lives       She said, “First, you have to
                                                                                    were very happy. Some didn't,       know how your information is
                                                  Using these filing cabinets       and their lives stayed the          laid out. Show me your papers.”
  Dev     Graphics Internet M/media System     properly required a college          same, lost in mountains of
                                               degree. It could take days to        paper.                                  Being a young boy, User
                                               find all the papers that were in                                         had only a few pieces of paper.
                                               the various cabinets.                   All fairy promises, however,     See-Quill said, “User, right now
 CD/DVD    HDD   USB Drive Laptop   Wireless   Businesses suffered horribly. It     come with some sort of              you could live with papers and
                                               was a very dark time in the          requirement. That requirement       file folders. However, I can get
                                               history of man- and woman-           was that whoever wanted to          glimpses of the future, and you




G
                                               kind.                                use the power of See-Quill          will someday have so many
        ood morning Boys                                                            needed to learn a bit of a          papers that they would, if
        and Girls. It's story                     Then one day, from the top        different language. It wouldn't     placed on top of each other, be
        time. Everyone get                     of a mountain somewhere (I           be too difficult a language to      taller than you by 15 times. We
        settled and comfy.                     personally think it was              learn. In fact, it was much like    should use my power.”
Ready? Good!                                   Colorado, but I'm not sure),         the one the people already
                                               came a lovely fairy. This fairy      used. It just has a different way      So, working together, User
   Once upon a time, the world                 was blue and silver - with           of saying things, and you had       and See-Quill created a
was ruled by paper. Paper,                     beautiful wings and white hair,      to think about things very          “database thingie” (a fairy
paper everywhere. They had to                  and was about 1 foot tall. Her       carefully BEFORE you said           technical term), and User lived
make special homes for all that                name, believe it or not, was         them - to use the power of See-     happily ever after.
paper. They were called filing                 See-Quill. Isn't that a funny        Quill.
cabinets, and were big metal                   name? Anyway, See-Quill said
things that would take rooms                   that she could fix everything          One day, a young boy
and rooms and rooms at                         having to do with all the paper      named, curiously enough,              Of course, the story is not
businesses to house all the
                                                         full circle magazine #33                                                               contents ^
PROGRAM IN PYTHON - PART 7
completely true. However,           to create a recipe database           make it very large and
using databases and SQL can         program. Around my house,             have one record for
make our lives easier. This         recipes come in various forms:        everything in the recipe.
time, we will learn about some      3x5 card, 8x10 pieces of paper,       That, however, would be         Serves: 4
simple SQL queries, and how to      napkins with the recipe               clumsy and hard to deal
use them in a program. Some         scribbled on it, pages from           with. Instead, we are going             : Greg Walters
people might think that this        magazines, and even stranger          to use the recipe card as a
might not be the “correct” way      forms. They can be found in           template. One table will
or the “best” way, but it is a      books, boxes, binders, and            handle the top of the card,     1 cup parboiled Rice (uncooked)
reasonable way. So let's begin.     other things. However, they all       or the gross information        1 pound Hamburger
                                    pretty much have one thing in         about the recipe; one table     2 cups Water
    Databases are like the filing   common: the format. In almost         will handle the middle of       1 8 oz can Tomato Sauce
cabinets in our story above.        every case, at the top you have       the card, or the ingredients    1 small Onion chopped
Data tables are like the file       the recipe title and maybe how        information; and one table      1 clove Garlic chopped
folders. The individual records     many servings it makes and            will handle the bottom, or      1 tablespoon Ground Cumin
in the tables are like the sheets   where it came from. The               the instructions.               1 teaspoon Ground Oregano
of paper. Each piece of             middle contains the list of                                           Salt and Pepper to taste
information is called a field. It   ingredients, and the bottom               Make sure you have          Salsa to taste
falls together very nicely,         contains the instructions -           installed SQLite and APSW.
doesn't it? You use SQL             dealing with the order that           SQLite is a small database
(pronounced See-Quill)              things are done in, the cooking       engine that doesn't require     Brown hamburger.
statements to do things with        time, and so on. We will use          you to have a separate
the data. SQL stands for            this general format as the            database server, which          Add all other ingredients.
Structured Query Language,          template of our database              makes it ideal for our little
and is basically designed to be     project. We will break this up        application. Everything you     Bring to boil.
an easy way to use databases.       into two parts. We'll create the      learn here can be used
In practice, however, it can        database this time, and the           with larger database            Stir, lower to simmer and cover.
become very complicated. We         application to read and update        systems like MySQL and
will keep things pretty simple      the database next time.               others. The other good          Cook for 20 minutes.
for this installment.                                                     thing about SQLite is that
                                      Here's an example. Let's say        it uses limited data types.     Do not look, do not touch.
    We need to create a plan,       we have the recipe shown right.       These types are Text,
like starting any construction                                            Numeric, Blob, and Integer      Stir and serve.
project. So, think of a recipe         Notice the order we just           Primary Key. As you have
card, which is a good thing to      discussed. Now when we                learned already, text is
think about, since we are going     design our database - we could        pretty much anything. Our
                                               full circle magazine #33                                                                contents ^
PROGRAM IN PYTHON - PART 7
ingredients, instructions, and      SELECT * FROM Recipes                would be                           typing and very redundant. We
the title of our recipe are all                                                                             can use a method called
text types - even though they           If you wish to obtain just a     INSERT INTO Recipes                aliasing. We can do it like this:
                                    record by its primary key, you       (name,servings,source)
have numbers in them.                                                    VALUES (“Tacos”,4,”Greg”)
Numeric datatypes store             have to know what that value                                            SELECT r.name, r.servings,
                                    is (pkID in this instance), and                                         r.source, i.Instructions
numbers. These can be integer                                              To delete a record we can        FROM Recipes r LEFT JOIN
values or floating point or real    we have to include a WHERE                                              instructions i ON (r.pkid =
                                                                         use
values. Blobs are binary data,      command in the statement. We                                            i.recipeid) WHERE r.pkid = 1
and can include things like         could use:                           DELETE FROM Recipes WHERE
pictures and other things.                                               pkID = 10                              It's shorter and still
Integer Primary Key values are      SELECT * FROM Recipes WHERE                                             readable. Now we will write a
                                    pkID = 2
special. The SQLite database                                                There's also an UPDATE          small program that will create
engine automatically puts in a                                           statement, but we'll leave that    our database, create our
                                       Simple enough...right?
guaranteed unique integer                                                for another time.                  tables, and put some simple
                                    Pretty much plain language.
value for us. This will be                                                                                  data into the tables to have
                                    Now, suppose we want to just
important later on.
                                    get the name of the recipe and       More on SELECT                     something to work with. We
                                                                                                            COULD write this into our full
                                    the number of servings it
   APSW stands for Another                                                   In the case of our database,   program, but, for this example,
                                    makes - for all recipes. It's
Python SQLite Wrapper and is a                                           we have three tables, each can     we will make a separate
                                    easy. All you have to do is
quick way to communicate with                                            be related together by using       program. This is a run-once
                                    include a list of the fields that
SQLite. Now let's go over some                                           recipeID pointing to the pkID of   program - if you try to run it a
                                    you want in the SELECT
of the ways to create our SQL                                            the recipe table. Let's say we     second time, it will fail at the
                                    statement:
statements.                                                              want to get all the instructions   table creation statements.
                                    SELECT name, servings FROM           for a given recipe. We can do it   Again, we could wrap it with a
  To obtain records from a          Recipes                              like this:                         try...catch handler, but we'll do
database, you would use the                                                                                 that another time.
SELECT statement. The format           To insert records, we use the     SELECT Recipes.name,
would be:                           INSERT INTO command. The             Recipes.servings,                    We start by importing the
                                    syntax is                            Recipes.source,                    APSW wrapper.
SELECT [what] FROM [which                                                Instructions.Instructions
table(s)] WHERE [Constraints]                                            FROM Recipes LEFT JOIN
                                    INSERT INTO [table name]             instructions ON                    import apsw
                                    (field list) VALUES (values          (Recipes.pkid =
    So, if we want to get all the   to insert)                           Instructions.recipeid) WHERE          The next thing we need to
fields from the Recipes table                                            Recipes.pkid = 1                   do is create a connection to our
we would use:                          So, to insert a recipe into                                          database. It will be located in
                                    the recipe table the command           However, that is a lot of        the same directory where we
                                              full circle magazine #33                                                               contents ^
PROGRAM IN PYTHON - PART 7
have our application. When we
create this connection, SQLite      RECIPES                             INSTRUCTIONS                         INGREDIENTS
automatically looks to see if       ------------                        ----------------------               --------------------
the database exists. If so, it      pkID (Integer Primary Key)          pkID(Integer Primary Key)            pkID (Integer Primary Key)
opens it. If not, it creates the    name (Text)                         recipeID (Integer)                   recipeID (Integer)
                                    source (Text)                       instructions (Text)                  ingredients (Text)
database for us. Once we have       serves (Text)
a connection, we need what is
called a cursor. This creates a
mechanism that we can use to       structure like this. Each column     automatically assigned. Let's        source TEXT)'
work with the database. So         is a separate table as shown         pretend that this is the very
remember, we need both a           above right.                         first record in our table, so the       Next we have to tell ASPW
connection and a cursor. These                                          database engine would assign         to actually do the sql command:
are created like this:                Each table has a field called     the value 1 to the pkID. We will
                                   pkID. This is the primary key        use this value to relate the         cursor.execute(sql)
# Opening/creating database
                                   that will be unique within the       information in the other tables
connection=apsw.Connection("c      table. This is important so that     to this recipe. The instructions        Now we create the other
ookbook1.db3")                     the data tables never have a         table is simple. It just holds the   tables:
cursor=connection.cursor()         completely duplicated record.        long text of the instructions, its
                                   This is an integer data type,        own pkID and then a pointer to       sql = 'CREATE TABLE
   Okay - we have our              and is automatically assigned        the recipe in the recipe table.      Instructions (pkID INTEGER
                                                                                                             PRIMARY KEY, instructions
connection and our cursor. Now     by the database engine. Can          The ingredients table is a bit       TEXT, recipeID NUMERIC)'
we need to create our tables.      you do without it? Yes, but you      more complicated in that we
There will be three tables in      run the risk of accidentally         have one record for each             cursor.execute(sql)
our application. One to hold the   creating a duplicated record id.     ingredient as well as its own
                                                                                                             sql = 'CREATE TABLE
gross recipe information, one      In the case of the Recipes           pkID and the pointer back to         Ingredients (pkID INTEGER
for the instructions for each      table, we will use this number       our recipe table record.             PRIMARY KEY, ingredients
recipe, and one to hold the list   as a reference for which                                                  TEXT, recipeID NUMERIC)'
of the ingredients. Couldn't we    instruction and which set of             So in order to create the
                                                                                                             cursor.execute(sql)
do it with just one table? Well,   ingredients go with that recipe.     recipe table, we define a string
yes we could, but, as you will                                          variable called sql, and assign
                                                                                                                Once we have the tables
see, it will make that one table      We would first put the            it the command to create the
                                                                                                             created, we will use the INSERT
very large, and will include a     information into the database        table:
                                                                                                             INTO command to enter each
bunch of duplicate information.    so that the name, source and
                                                                        sql = 'CREATE TABLE Recipes          set of data into its proper table.
                                   number served goes into the
  We can look at the table                                              (pkiD INTEGER PRIMARY KEY,
                                   recipe table. The pkID is            name TEXT, servings TEXT,               Remember, the pkID is
                                             full circle magazine #33                                                                 contents ^
PROGRAM IN PYTHON - PART 7
automatically entered for us,                                           place the pkID of the recipe        some time reading up on SQL
so we don't include that in the        Why is this? Well, when we       (lastid) into the sql statement.    programming. You'll be happy
list of fields in our insert       get data back from ASPW, it          Finally, we need to put each        you did.
statement. Since we will be        comes back as a tuple. This is       ingredient into the ingredient
using the field names, they can    something we haven't talked          table. I'll show you just one for
be in any order, not just the      about yet. The quick                 now:
order they were created in. As     explanation is that a tuple is (if
long as we know the names of       you look at the code above)          sql = 'INSERT INTO
                                                                        Ingredients
the fields, everything will work   like a list, but it can't be         (recipeID,ingredients)
correctly. The insert statement    changed. Many people use             VALUES ( %s,"1 cup parboiled
for our recipe table entry         tuples rarely; others use them       Rice (uncooked)")' % lastid
becomes                            often; it's up to you. The
                                                                        cursor.execute(sql)
                                   bottom line is that we want to
INSERT INTO Recipes (name,         use the first value returned. We
serves, source) VALUES                                                     It's not too hard to
(“Spanish Rice”,4,”Greg            use the 'for' loop to get the
                                                                        understand at this point. Next
Walters”)                          value into the tuple variable x.
                                                                        time it will get a bit more
                                   Make sense? OK. Let's
                                                                        complicated.
   Next we need to find out the    continue...
value that was assigned to the                                             If you would like the full
pkID in the recipe table. We          Next, we would create the
                                                                        source code, I've placed it on
can do this with a simple          insert statement for the
                                                                        my website. Go to
command:                           instructions:
                                                                        www.thedesignatedgeek.com
                                   sql = 'INSERT INTO                   to download it.
SELECT last_insert_rowid()
                                   Instructions
                                   (recipeID,instructions)                  Next time, we will use what
   However, it doesn't just        VALUES( %s,"Brown hamburger.         we've learned over the series
come out as something we can       Stir in all other
                                                                        to create a menu-driven front
really use. We need to use a       ingredients. Bring to a
                                   boil. Stir. Lower to simmer.         end for our recipe program - it
series of statements like this:
                                   Cover and cook for 20                will allow viewing all recipes in                   is owner of
                                   minutes or until all liquid          a list format, viewing a single                              ,a
sql = "SELECT                      is absorbed.")' % lastid                                                  consulting company in Aurora,
last_insert_rowid()"                                                    recipe, searching for a recipe,
                                                                                                             Colorado, and has been
                                   cursor.execute(sql)                  and adding and deleting              programming since 1972. He
cursor.execute(sql)
                                                                        recipes.                             enjoys cooking, hiking, music,
                                                                                                             and spending time with his
for x in cursor.execute(sql):         Notice that we are using the                                           family.
    lastid = x[0]                  variable substitution (%s) to           I suggest that you spend
                                             full circle magazine #33                                                                  contents ^
HOW-TO                                                        Ubuntu, Acer Revo & Boxee

                                              I
                                                    decided just before             the Alpha) is fully compatible          Once it’s installed, Boxee is
FCM#32 - TOP5 MEDIA CENTERS                        Christmas that I'd like to       with Karmic.                        found in Applications > Sound
                                                   retire my first generation                                           & Video. With Boxee running, I
                                                   Xbox (aka media center),                                             added my local media folders
                                              and get something more up-to-                                             and my wireless shared
                                              date, so I bought an Acer                                                 directories. From there, Boxee
                                              Aspire Revo - a nettop, as they                                           looks through your files
                                              call them, which is basically a                                           guessing at their classification
                                              PC in the shape of a Nintendo                                             (Movies/TV), but you can
                                              Wii. Needless to say, the first                                           assign a media type to a
 Dev     Graphics Internet M/media System
                                              thing was to get my Ubuntu                                                particular directory if you wish.
                                              9.10 USB stick, and use it to                                             It does the same with audio
                                              install Ubuntu on the Revo. This                                          files, and it will automatically
                                              is painless and is just a bog                                             grab your album covers and
CD/DVD    HDD   USB Drive Laptop   Wireless   standard Ubuntu install.                  The first thing to do is head   band photographs. Editing
                                                                                    over to the Boxee site              audio/video, or entering
                                                But what software would I           (Boxee.tv) and sign up. The         information, is quite easy too -
                                              use for playing my media?             reason for this is that Boxee is    even without a keyboard, as
                                                                                    part XBMC, part social media.       Boxee has an on-screen
                                                  Having used Xbox Media            Boxee is based on XBMC, but it      keyboard which is easy to use.
                                              Center (XBMC) on my Xbox, it          has several useful addons that
                                              was an obvious choice to try          allow you to rate your media           As well as using your own
                                              XBMC on my Acer Aspire Revo -         and recommend media to              media, you have access to
                                              which I did - but I thought I’d       friends. All this is done via the   dozens of ‘applications’ in
                                              give Boxee a try. I’d heard such      Boxee website, hence the            Boxee, which are basically
                                              good things about it that it          signup. Once you’ve signed up,      channels or feeds. Channels
                                              would have been rude of me to         you can go to the downloads         are video podcasts and internet
                                              ignore it. I have to say I really     page, grab the Ubuntu               episodes. The list is quite
                                              like it. Just this month the          compatible 32/64bit .deb file,      varied and has everything from
                                              Boxee developers released the         and double-click it to have it      CNN to Open University
                                              Boxee Beta to the masses! Not         installed via Gdebi.                lectures to anime.
                                              only that, but the Beta (unlike

                                                         full circle magazine #33                                                                contents ^
UBUNTU, ACER REVO & BOXEE

                                                                            Look me up on Boxee, and
                                                                        'friend' me - my username is
                                                                                       . I look forward
                                                                        to seeing your
                                                                        recommendations!




    The only quibble I have with   sudo gedit
Boxee is that my (cheapo)          ~/.boxee/UserData/Lircmap.xml
Cyberlink remote control
(right) didn’t work as well with      And, yes, UserData and
Boxee as it did with XBMC, but     Lircmap.xml should be
I found a solution at              capitalized as shown.
http://xbmc.org/forum/showpos
t.php?p=433877&postcount=1            Now, load up Boxee, and the
You should follow this guide to    vast majority of the Cyberlink
the letter until it says the       remote buttons will work
following in post #3:              properly!

sudo gedit                            All in all, I’m really
~/.xbmc/userdata/Lircmap.xml       impressed with Boxee; I loved
                                   the Alpha, but the Beta just
   For Boxee you should            takes it to a whole new level
instead enter:                     with its new layout!
                                             full circle magazine #33                                     contents ^
HOW-TO                                                             The Perfect Server - Part 3
                                               courier-imap-ssl libsasl2-2          update-alternatives --remove-      # Instead of skip-networking
                                               libsasl2-modules libsasl2-           all maildir.5                      the default is now to listen
 FCM09 - 16 : Server Series 1 - 8              modules-sql sasl2-bin libpam-                                           only on
 FCM28 - 29 : LAMP Server 1 - 2                mysql openssl getmail4               update-alternatives --remove-
 FCM31 - 32 : The Perfect Server 1 - 2         rkhunter binutils                    all maildirquota.7                 # localhost which is more
                                                                                                                       compatible and is not less
                                                                                    aptitude install maildrop          secure.
                                                   You will be asked the
                                               following questions:                                                    #bind-address              =
                                                                                        You will ask yourself why we
                                                                                                                       127.0.0.1
                                                                                    didn't install maildrop together   [...]
                                               New password for the MySQL
                                                                                    with all the other packages.
                                               "root" user
  Dev     Graphics Internet M/media System                                          The reason for this is a bug in      Then we restart MySQL:
                                                                                    the courier-base package - if
                                               Repeat password for the
                                                                                    you install maildrop together      /etc/init.d/mysql restart
                                               MySQL "root" user
                                                                                    with courier-pop, courier-pop-
                                                                                    ssl, courier-imap, and courier-       Now check that networking
 CD/DVD    HDD   USB Drive Laptop   Wireless   Create directories for web-
                                                                                    imap-ssl, you will get the         is enabled. Run:
                                               based administration?
                                                                                    following error:
                                               Enter:




W
                                                                                                                       netstat -tap | grep mysql
               e can install                                                        update-alternatives: error:
                                               General type of mail                 alternative link
               Postfix, Courier,                                                                                          The output should look like
                                               configuration:                       /usr/share/man/man5/maildir.5
               Saslauthd, MySQL,                                                    .gz is already managed by
                                                                                                                       this:
                                               Enter:
               rkhunter, and                                                        maildir.5.gz.
binutils - with a single                                                                                               root@server1:~# netstat -tap
                                               System mail name:                                                       | grep mysql
command:                                                                                We want MySQL to listen on
                                               Enter:
                                                                                    all interfaces, not just           tcp 0 0 *:mysql *:* LISTEN
                                               (but using your .com)
  (Prefix each command with                                                         localhost. Therefore we edit        6267/mysqld
sudo, if appropriate).                                                              /etc/mysql/my.cnf and
                                               SSL certificate required                                                root@server1:~#
                                                                                    comment out the line bind-
aptitude install postfix                       Enter:
                                                                                    address = 127.0.0.1:
postfix-mysql postfix-doc                                                                                                 During the installation, the
mysql-client mysql-server                          Next we install maildrop as                                         SSL certificates for IMAP-SSL
courier-authdaemon courier-                                                         vi /etc/mysql/my.cnf
                                               follows:                                                                and POP3-SSL are created with
authlib-mysql courier-pop
courier-pop-ssl courier-imap                                                          [...]                            the hostname localhost. To

                                                         full circle magazine #33                                                              contents ^
THE PERFECT SERVER - PART 3
change this to the correct       and Courier-POP3-SSL:
hostname
(server1.example.com in this     /etc/init.d/courier-imap-ssl
                                                                     aptitude install apache2
                                                                     apache2.2-common apache2-doc    Install PureFTPd And
tutorial), delete the            restart                             apache2-mpm-prefork apache2-
                                                                     utils libexpat1 ssl-cert
                                                                                                     Quota
certificates...                  /etc/init.d/courier-pop-ssl         libapache2-mod-php5 php5
                                 restart                             php5-common php5-gd php5-          PureFTPd and quota can be
cd /etc/courier                                                      mysql php5-imap phpmyadmin      installed with the following
                                                                     php5-cli php5-cgi libapache2-
rm -f /etc/courier/imapd.pem     Install Amavisd-new,                mod-fcgid apache2-suexec php-
                                                                                                     command:

                                 SpamAssassin, And
                                                                     pear php-auth php5-mcrypt
rm -f /etc/courier/pop3d.pem                                         mcrypt php5-imagick             aptitude install pure-ftpd-
                                 Clamav                              imagemagick libapache2-mod-     common pure-ftpd-mysql quota
                                                                     suphp                           quotatool
and modify the following two
files - replacing CN=localhost     To install amavisd-new,                                              Edit the file /etc/default/pure-
                                                                       You will see the following
with                             SpamAssassin, and ClamAV,                                           ftpd-common:
                                                                     question:
''CN=server1.example.com'        we run:
(and you can also modify the                                                                         vi /etc/default/pure-ftpd-
                                 aptitude install amavisd-new        Web server to reconfigure       common
other values, if necessary):
                                 spamassassin clamav clamav-         automatically:
vi /etc/courier/imapd.cnf        daemon zoo unzip bzip2 arj          Enter:                          and make sure that the start
                                 nomarch lzop cabextract apt-
                                 listchanges libnet-ldap-perl                                        mode is set to standalone and
[...]                                                                Configure database for
CN=server1.example.com           libauthen-sasl-perl clamav-                                         set VIRTUALCHROOT=true:
                                 docs daemon libio-string-           phpmyadmin with dbconfig-
[...]
                                 perl libio-socket-ssl-perl          common?                         [...]
vi /etc/courier/pop3d.cnf        libnet-ident-perl zip libnet-       Enter:                          STANDALONE_OR_INETD=standalon
                                 dns-perl                                                            e
[...]                                                                                                [...]
                                                                        Then run the following
                                 Install Apache2, PHP5,
CN=server1.example.com                                                                               VIRTUALCHROOT=true
[...]                                                                command to enable the           [...]
                                 phpMyAdmin, FCGI,                   Apache modules suexec,

                                 suExec, Pear, And
   Then recreate the                                                 rewrite, ssl, actions, and         Then restart PureFTPd:
certificates:                                                        include:
                                 mcrypt                                                              /etc/init.d/pure-ftpd-mysql
mkimapdcert                                                          a2enmod suexec rewrite ssl      restart
                                                                     actions include
                                    Apache2, PHP5,
mkpop3dcert                      phpMyAdmin, FCGI, suExec,                                               Edit /etc/fstab. Mine looks
                                 Pear, and mcrypt can be               Restart Apache afterwards:    like Fig.1 on the following page
and restart Courier-IMAP-SSL     installed as follows:                                               (I added
                                                                     /etc/init.d/apache2 restart
                                          full circle magazine #33                                                             contents ^
THE PERFECT SERVER - PART 3
,usrjquota=aquota.user,grpjquo
ta=aquota.group,jqfmt=vfsv0
to the partition with the mount      # /etc/fstab: static file system information.
                                     #
point /):                            # Use 'blkid -o value -s UUID' to print the universally unique identifier
                                     # for a device; this may be used with UUID= as a more robust way to name
vi /etc/fstab                        # devices that works even if disks are added and removed. See fstab(5).
                                     #
  To enable quota, run these         # <file system> <mount point>   <type> <options>        <dump> <pass>
                                     proc            /proc           proc    defaults        0        0
commands:                            /dev/mapper/server1-root /               ext4    errors=remount-
                                     ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0         1
touch /aquota.user                   # /boot was on /dev/sda5 during installation
/aquota.group                        UUID=9ea34148-31b7-4d5c-baee-c2e2022562ea /boot           ext2     defaults                 0
                                           2
chmod 600 /aquota.*                  /dev/mapper/server1-swap_1 none            swap    sw               0         0
                                     /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0         0
mount -o remount /                   /dev/fd0        /media/floppy0 auto     rw,user,noauto,exec,utf8 0        0

quotacheck -avugm

quotaon -avug                     wget                                    Then we make the script        Jailkit is needed only if you
                                  http://heanet.dl.sourceforge.        executable, and create the     want to chroot SSH users. It
                                  net/sourceforge/mydns-
Install MyDNS                     ng/mydns-1.2.8.27.tar.gz
                                                                       system startup links for it:   can be installed as follows
                                                                                                      (important: Jailkit must be
                                  tar xvfz mydns-                      chmod +x /etc/init.d/mydns
   Before we install MyDNS, we                                                                        installed before ISPConfig - it
                                  1.2.8.27.tar.gz
need to install a few                                                  update-rc.d mydns defaults     cannot be installed
prerequisites:                    cd mydns-1.2.8                                                      afterwards!):

                                  ./configure                          Install Vlogger And            aptitude install build-
                                                                       Webalizer
aptitude install g++ libc6
gcc gawk make texinfo                                                                                 essential autoconf
libmysqlclient15-dev              make                                                                automake1.9 libtool flex
                                                                                                      bison
                                  make install                            Vlogger and webalizer can
   MyDNS is not available in                                           be installed as follows:       cd /tmp
the Ubuntu 9.10 repositories,         Next, we create the
therefore we have to build it     start/stop script (shown on the
                                                                       aptitude install vlogger       wget
ourselves as follows:                                                  webalizer                      http://olivier.sessink.nl/jai
                                  following page) for MyDNS:                                          lkit/jailkit-2.10.tar.gz
cd /tmp                           vi /etc/init.d/mydns                 Install Jailkit                tar xvfz jailkit-2.10.tar.gz


                                            full circle magazine #33                                                            contents ^
#! /bin/sh                                                            restart)
#                                                                           echo -n "Restarting $DESC: $NAME"
# mydns         Start the MyDNS server                                      start-stop-daemon --stop --quiet --oknodo 
#                                                                                    --exec $DAEMON
# Author:       Philipp Kern <phil@philkern.de>.                            sleep 1
#               Based upon skeleton 1.9.4 by Miquel van                     start-stop-daemon --start --quiet 
Smoorenburg                                                                          --exec $DAEMON -- -b
#               <miquels@cistron.nl> and Ian Murdock                        echo "."
<imurdock@gnu.ai.mit.edu>.                                                  ;;
#                                                                     *)
                                                                            echo "Usage: $SCRIPTNAME
set -e                                                              {start|stop|restart|reload|force-reload}" >&2
                                                                            exit 1
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:                   ;;
/usr/bin                                                            esac
DAEMON=/usr/local/sbin/mydns
NAME=mydns                                                          exit 0
DESC="DNS server"

SCRIPTNAME=/etc/init.d/$NAME
                                                                  cd jailkit-2.10                      Next month, in the final
# Gracefully exit if the package has been removed.                                                  installment, we will install
test -x $DAEMON || exit 0                                         ./configure
                                                                                                    SquirrelMail and ISPConfig3,
case "$1" in                                                      make                              giving you the perfect server,
  start)                                                                                            ready to go!
         echo -n "Starting $DESC: $NAME"                          make install
         start-stop-daemon --start --quiet 
                  --exec $DAEMON -- -b                            cd ..
         echo "."
         ;;                                                       rm -rf jailkit-2.10*
  stop)
                                                                  Install fail2ban
         echo -n "Stopping $DESC: $NAME"
         start-stop-daemon --stop --oknodo --quiet 
                  --exec $DAEMON
         echo "."                                                    This is optional but
         ;;
  reload|force-reload)                                            recommended, because the
         echo -n "Reloading $DESC configuration..."               ISPConfig monitor tries to show
         start-stop-daemon --stop --signal HUP --quiet           the fail2ban log:
                  --exec $DAEMON
         echo "done."                                             aptitude install fail2ban
         ;;


                                       full circle magazine #33                                                             contents ^
MY STORY                                      Linux, Ubuntu & FOSS In Education

M
            uch like any change    experiences with open source         and, sure enough, the errors         larger Linux deployment could
            in public education,   and Linux began with a               and crashes disappeared. I           not occur at that time, we
            the decision to        Washington Post article on           struck gold! We eventually           explored other applications for
            study a migration      Firefox in December, 2004. Up        added Firefox to all the school's    deployment. Audacity
to more open-source                until that point, my frustration     computers. Our school-based          continued to receive heavy use
applications and Linux occurs      with Internet Explorer grew and      technician shared some other         for creating podcasts. We
very slowly. With all the legacy   grew with each new Web               applications with me, and            dabbled with Gimp for graphic
applications a school uses         application my school                pointed me toward Linux as a         design. We also deployed
designed for one browser (IE6),    purchased. At that time, I           replacement operating system.        applications on the network
or one operating system            worked as a technology               I targeted an ancient desktop,       side for monitoring servers and
(Windows), inflexible              facilitator in one school,           poised to make the next trip to      bandwidth, but that was the
applications for state and         assisting teachers to integrate      the warehouse, and                   limit then.
federal reporting paint us into    technology into their                reformatted it to run Edubuntu.
a corner where we either           classrooms. IE just never            Wow! It worked, and actually            After a role at the state
submit to the application of       worked - between the Active X        ran applications smoothly,           level, and seeing more
choice, or rebel and receive no    errors and the consistent            whereas, when running                examples of school systems
support for running said           crashes. As a K-5 school, the        Windows, the desktop bogged          exploring open source and
applications. While the interest   trend of Web-based                   down even when running only          Linux, I wanted to transition
and passion of open source         applications for student                   one application. When          into a district that actively
does grip many educators,          tutorials just                                  reformatted under         looked at the innovation
these obstacles do take time,      began, and                                         Edubuntu, I could      possible with these tools. One
but, with patience, we are         many of the                                          use Open Office,     district in particular continued
beginning to see a trend to        applications                                          Gimp, and more      to explore various applications,
more school systems exploring      struggled in                                           applications at    and I sought out that
open-source. In spite of these     the IE                                                  the same time     opportunity. As I became a
challenges, Linux and open         environment                                             with little       director in this school system
source is alive and gaining        . After that                                            performance       of 14 schools, I wanted to
support in K-12 education.         article, we                                             issues. While I   continue to utilize their existing
                                   decided to                                              knew the          tools and investigate more
   As a lifetime educator,         deploy                                                 challenge to       uses. Some additional
starting as a classroom            Firefox in one                                        even begin          innovations did not receive the
teacher, my personal               school lab,                                          exploring a          road blocks that can occur in

                                             full circle magazine #33                                                                 contents ^
MY STORY - LINUX, UBUNTU & FOSS IN EDUCATION
other districts. For instance, we   etc.) - and settled on               many open-source tools. While        source and Linux, and many of
opened a new elementary             WordPress, installed on a            in no way satisfied with the         us in the field will continue to
school stocked with 150             Ubuntu server. Our solution to       progress, our district definitely    make a strong case for them. If
eeePCs running Xandros Linux        course-management systems            built a strong foundation with       you want to help spread Linux
this year. While I will not say     came to the same conclusion:         which we can continue to seek        and open-source in public
we did this without obstacles,      abandoning the proprietary           out solutions to our problems,       education, target principals
all my staff realized the           Blackboard CMS in favor of           solutions that will provide us       and superintendents. Chances
potential for using these tools,    Moodle. Both of these tools          with the flexibility, and            are, most Technology Directors,
so we worked to solve the           allowed us                                                 sometimes      CIOs, and CTOs, know about
issues of network printers,         the                                                        scalability,   the benefits. Many of our
wireless access, and network        freedom to                                                 that will      schools' principals and
storage in a Windows                tailor our                                                 allow          superintendents probably do
environment. Students               teacher and                                                growth to      not. Start a dialogue with
benefited from utilizing laptops    student                                                    continue       them, and ask them how they
in a pseudo-1:1 environment,        needs in                                                   throughout     are utilizing open source for
and became adept at using an        ways that                                                  the years.     cost savings and adaptability. If
alternate operating system.         proprietary                                                               you receive puzzled looks, you
Other schools jumped on             tools did                                                    While        know where to begin!
board, and we moved toward          not. We add                                              public
the Dell Mini-9, 10, and 12         modules to                                               education
netbooks running Ubuntu             Moodle to                                                often shows
exclusively. After struggling       allow tight integration with         up late to the party, many in
with the Dell distro, we did        other tools, such as an e-           education now see open
move to Ubuntu Netbook              portfolio tool. With WordPress,      source, Linux, and Ubuntu as
Remix, and we continue to see       custom add-ons allow teachers        viable and necessary to their
more of our schools purchasing      functionality that replaces their    futures. Besides the cost
these for their classrooms. We      antiquated HTML-inspired Web         savings, finding applications
continue to utilize open-source     pages.                               that they can tailor to specific             is first a proud papa to his
                                                                                                               four- and two-year-old girls. He
applications more often now as                                           needs, beyond what can be             also serves as the Director of
well. When confronted with the         Now, at the end of another        done with proprietary software,       Technology of a school system in
increasing desire of blogging       year, we take a brief pause to       means a great deal, and will          North Carolina. His free time is
by classroom teachers, we           reflect on the past-year's           force them to move from               spent following the Carolina
                                                                                                               Hurricanes, maintaining K-12
looked for a tool we could host     successes. One cannot help           traditional practices to utilize      Open-Source Classroom
and manage as opposed to the        smiling at having overcome the       these advantages. While a total       (www.k12opensourceclassroom.o
commercial/proprietary              obstacles and seeing the             move may never occur, more            rg), and training for marathons.
products (Blogger, Edublogs,        successful deployment of so          and more are moving to open
                                              full circle magazine #33                                                                      contents ^
MY STORY                                                                               Why I Use Linux

T
          he first computer I      was cooking. I upgraded MS-         Then it happened...                  Linux, and decided to give it a
          used was a Televideo     DOS at every opportunity, and       somewhere, somehow, I                try from the CD-ROM. I was
          802 running CP/M on a    jumped on Windows for               discovered something called          hooked. Everything worked.
          Z80 chip - with two      Workgroups with both feet. I        Linux. I don't remember if it        After years of being a tinkerer,
5.25-inch, single-sided, floppy-   read all the magazines,             was Slackware or Mandrake or         all I really want today is simple,
disk drives, and 32K or 64K of     tweaked, upgraded and               Suse or Redhat. I do know I          stable and clean. I installed
RAM. Except for an industry        reformatted with abandon. I         tried every flavor on the old        Ubuntu 7.04 64-bit to dual-boot
specific program, the only         tried DESKview and PCTools. I       486 and on the ThinkPad - until      with Vista. I never looked back.
application was WordStar. The      bought and proudly registered       the memory and disk space            I recently moved to 9.04 on the
next computer was an IBM PC,       all my software, and had a          requirements exceeded what           entire disk. I can do everything
followed by a Televideo            bookcase of manuals. I even         was left.                            I want to do with speed and
Portable the size of a             Netscaped                                                                elegance. And regardless of
Samsonite. All these were text-    my way                                                 When the          popular opinion, I did not have
based with green screens. My       onto the                                            ThinkPad finally     to become an engineer to
first exposure to a GUI was        Internet                                             wore out, I         make things work. Any help
Tandy's Deskmate. Then,            with my                                              bought my           I've needed or any questions
finally, came Windows on a         CompuS                                               current Acer        I've had have been quickly
Tandy 2500 with VGA. We also       erve                                                 Notebook with       resolved by generally
had SCO Unix and some dumb         account                                               Vista installed.   respectful and enthusiastic
terminals for word processing      . When                                                  While I have     users like myself. Truly a
with Microsoft Word and Real       I took                                                    always         community. The more I learn,
World Accounting, and then         a new                                                       been an      the more I like. I have become
Novell 2. These were all           job that required                                             admirer    an advocate as well as a user.
company owned machines.            me to travel, I                                                of Bill   My next computer... Linux for
                                   couldn't wait to get                                       Gates,        sure and maybe that monster I
   My first personal machine       to CompUSA to pick                                         and never     always wanted to build when I
was a mail-order box, from         out my ThinkPad with Windows        personally had any big               was a tinkerer.
some long-gone builder, with       95 with a free upgrade to the       problems with Microsoft
an Intel 486DX33, 4MB RAM, a       soon-to-be-released Windows         Windows or the applications,
260MB HDD, 1MB Video, and a        98. I desktop published, I          Vista forced me over the edge.
2400-baud modem, plus a 15-        databased, I accounted, I           It just didn't work very well for
inch .28 SVGA Color Monitor. I     spreadsheeted and emailed.          me. I had read about Ubuntu
                                            full circle magazine #33                                                                 contents ^
ADVERTISEMENT




  Ubuntu User is the first print magazine created specifically for Ubuntu users. Ease into
  Ubuntu with the helpful Discovery Guide included in each issue, or advance your skills
  with in-depth technical articles, HOW-TOs, reviews, tutorials, and community reports.




                                                                                   r for only
                                                               4 issue s p er y ea        S $ 39. 95
                                                                         EUR   29. 90 / U
                                                              £ 24. 90 /




                               full circle magazine #33                                           contents ^
REVIEW                                                                                                         Exaile

I
       would like to present my                                             wrong with imitating a fine          extensible through plugins.
      favorite music player in            After I began learning to         product? Amarok 1.4 is a great
      Ubuntu. It's Exaile, a          program in Python, I chanced          music player, because, despite          I'm very happy with Exaile
      player for GTK+, written in     upon Exaile, which is written in      its many features, its interface     now. It runs well without
Python. It incorporates               Python. I noticed that it is          remains simple and intuitive.        problems. Although the
automatic fetching of album           similar to Amarok and looks           Even first-time users will be        number of its plugins is tiny
art, lyrics fetching, artist/album    better on the Ubuntu Desktop.         able to use it adequately.           compared to Amarok, I don't
information via Wikipedia,            It also starts faster than                                                 care, because I use only a few.
support for many portable             Amarok, because it doesn't               Since Amarok2 was
media players including iPods,        need the KDE libs.                    released, many users haven't            Exaile is in active
internet radio such as                                                      let go of the old Amarok player,     development. Recently, Exaile
shoutcast, and tabbed                   Exaile has an interface like        because its interface is more        was rewritten from the ground
playlists. I would like to tell you   Amarok 1.4, so some people            intuitive. Exaile also has an        up for release 0.3.0. This
how I came to this player.            say it's just a clone of the great    intuitive, relatively minimalistic   should make development of
                                      Amarok player. But what's             interface, but this is greatly       future versions much easier.
   When I initially used Ubuntu                                                                                  Because its system
(Gutsy Gibson, 7.10), I                                                                                          requirements are low, it has
immediately disliked                                                                                             been the default player in
Rhythmbox - the standard                                                                                         Xubuntu since release 9.10.
Gnome player. Its interface and
configuration didn't appeal to                                                                                      If you are running Ubuntu,
me. Then I read something                                                                                        and want a cool way to play
about a popular player called                                                                                    and manage your music
Amarok, and installed it.                                                                                        collection, you might want to
Although it didn't fit well into                                                                                 give Exaile a try. You'll find
the Gnome desktop, I liked it. I                                                                                 Exaile in the Ubuntu software
subsequently replaced the                                                                                        repository, and you can get the
unsuitable blue icons with                                                                                       newest version with the
Gnome Icons, which I found on                                                                                    developers' PPA. In my opinion,
gnome-look.org. Then I was                                                                                       Exaile is a top-notch audio
very happy with the music                                                                                        player.
player.

                                                 full circle magazine #33                                                                contents ^
MOTU INTERVIEW                                                                               Didier Roche
                                    little before the release of          Ubuntu, as a
                                    October 2004, known now as            derivative
                                    Ubuntu. After testing it, I loved     distribution of
                                    it. I have stuck with it, and I       Debian, benefits
                                    love the GNOME environment.           from the huge
                                                                          documentations of
                                    When did you get involved with        both distributions.
                                    the MOTU team, and how?               I was also part of
Age: 25
                                                                          the mentoring
Location: Paris/France
                                    Last July, during the RMLL            program, and I
IRC Nick: didrocks
                                    (Libre Software Meeting in            asked my mentor,
                                    France), I spoke with                 Andrea Colangelo
How long have you used Linux
                                    Christophe Sauthier (huats)           (warp10), a lot of
and what was your first distro?
                                    and he told me he was making          questions. High-
                                    some packages for Ubuntu. He          five to him! When other/more       them, you can discover a new
I started using Linux with Red
                                    presented the process, and            detailed explanations were         thing/concept every day. How
Hat 6 in 1999. I have been a
                                    then I decided to start learning      needed, I jumped to #ubuntu-       exciting it is to see how far
regular Linux user since the
                                    how to package.                       motu or other Ubuntu               GNU/Linux is today!
arrival of KDE-based Mandrake
                                                                          channels. Nobody can know
7. I used Mandrake until
                                    What helped you learn                 everything, and that’s where       Any advice for people wanting
release 9.0, and then I decided
                                    packaging and how Ubuntu              the team is fantastic: you will    to help out MOTU?
to try Debian. I was truly
                                    teams work?                           always find someone who will
satisfied with it, despite the
                                                                          be able to help you.               Do not hesitate to jump in! No
long configuration time needed
                                    Read, read documentation! I've                                           programming skills are
for a working environment (this
                                    never ceased to read                  What’s your favorite part of       required. Everyone can make
is no longer the case).
                                    documentation, starting from          working with the MOTU?             Ubuntu better, and that’s a
                                    the great resource on Ubuntu                                             great opportunity. You can read
How long have you been using
                                    wiki. Now that I have finished        My favorite part is, without any   https://wiki.ubuntu.com/MOTU/
Ubuntu?
                                    the “how to secure Debian”            contest, interaction with          GettingStarted, and
                                    and the “Debian reference             others. You will find great        https://wiki.ubuntu.com/Ubuntu
I was seeking an easy to use
                                    guide”, I am getting into the         people - a big bunch of helpful    DeveloperWeek (the first
and install Linux distribution. I
                                    “Debian FAQ”, just for fun!           and talented developers. With      session is available through 5
found the “no-name-yet” just a

                                               full circle magazine #33                                                             contents ^
MOTU INTERVIEW: DIDIER ROCHE
languages!). Sign up for the        jams in Toulouse and in Paris.
mentor process if you prefer to     We will participate in 3 events
have a mentor guide you             in France this month, one of
through your MOTU journey!          which is Solutions Linux.

Are you involved with any local     What are you going to focus on
Linux/Ubuntu groups?                in Jaunty and Jaunty+1?

Yes! I am involved in the French    I will still help in the GNOME
non-governmental Ubuntu-fr          desktop area with the desktop
loco team - as a member of the      team. People from other
administration, and a part of       countries, please come in! It
the chair (the secretary).          seems to be a French place
Within this, I participate in the   there! I will also try to dedicate
French Ubuntu Party as a core       some time to gchildcare, which
organizer, and go to various        will be a simple, user-friendly,
French FOSS meetings to             secure, parental, child-
promote Ubuntu. I also have         protection software application.
some relations with the press.
The last events we organized
were the Ubuntu Global Bug




                                              full circle magazine #33   contents ^
LETTERS                                                                                                    letters@fullcirclemagazine.org
                                                                      PLEASE NOTE: some letters may be edited for space reasons.


Mounting Problems                                                           LETTER OF THE MONTH



I
     n the hope that this may       The Universe of Sound article
     help some of the poor          (FCM#31) mentions that there is a
     hapless people who have        "record" button in Exaile, which
                                    allows the recording of a radio song.
     had USB drive mounting         This does not seem to exist on my
problems and are on the point       machine running Ubuntu 9.10 with
of doing irreparable harm to        Exaile 0.3.0.1.
their computers or themselves
I offer what I hope to be some
comfort.                            Fernando replies:

    I have two laptops, one is an
updated Jaunty to Karmic
system and the other is a new
system. I have had little or no
problems with the upgraded
system, but the new fresh
install will not mount a USB
drive properly. The drive is
seen by the system. When fdisk
-l was run in a terminal, I could
see the drive correctly
identified as sdb1. However,
the system made no attempt to
finish the automount by placing
a drive icon on the desktop or                                                                  .
opening a Nautilus window.
After Googling I was no further
forward other than to see that
a lot of other users were having
the same issue.

                                              full circle magazine #33                                                                            contents ^
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33
Full Circle 33

More Related Content

Similar to Full Circle 33

Getting started with ubuntu 13.10
Getting started with ubuntu 13.10Getting started with ubuntu 13.10
Getting started with ubuntu 13.10faustoco
 
Getting Started with Ubuntu 10.04
Getting Started with Ubuntu 10.04Getting Started with Ubuntu 10.04
Getting Started with Ubuntu 10.04fmbalvarez
 
LinuxIdentity magazine - Ubuntu 10.10 Maverick Meerkat
LinuxIdentity magazine - Ubuntu 10.10 Maverick MeerkatLinuxIdentity magazine - Ubuntu 10.10 Maverick Meerkat
LinuxIdentity magazine - Ubuntu 10.10 Maverick MeerkatAnurag Upadhaya
 
Full Circle 86
Full Circle 86Full Circle 86
Full Circle 86Huehue 1
 
Getting started with ubuntu 12.04
Getting started with ubuntu 12.04Getting started with ubuntu 12.04
Getting started with ubuntu 12.04cataftscu
 
Ubuntu OS and it's Flavours
Ubuntu OS and it's FlavoursUbuntu OS and it's Flavours
Ubuntu OS and it's FlavoursTushar B Kute
 
Ubuntu an absolute beginners guide
Ubuntu an absolute beginners guideUbuntu an absolute beginners guide
Ubuntu an absolute beginners guideCOMSATS
 
Anthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAnthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAndreas Lloyd
 
Full Circle 89
Full Circle 89Full Circle 89
Full Circle 89Huehue 1
 
Getting started with ubuntu 16.04
Getting started with ubuntu 16.04Getting started with ubuntu 16.04
Getting started with ubuntu 16.04CristianBarna1
 
08.03.2015-Getting started with ubuntu 14.04
08.03.2015-Getting started with ubuntu 14.0408.03.2015-Getting started with ubuntu 14.04
08.03.2015-Getting started with ubuntu 14.04El Alex Andrade
 
Tamaray ACT22A
Tamaray ACT22ATamaray ACT22A
Tamaray ACT22AErm78
 
Full Circle 88
Full Circle 88Full Circle 88
Full Circle 88Huehue 1
 

Similar to Full Circle 33 (20)

Coacpxp
CoacpxpCoacpxp
Coacpxp
 
Getting started with ubuntu 13.10
Getting started with ubuntu 13.10Getting started with ubuntu 13.10
Getting started with ubuntu 13.10
 
Iniciando conubuntu1004 en
Iniciando conubuntu1004 enIniciando conubuntu1004 en
Iniciando conubuntu1004 en
 
Manual ubuntu 10_04
Manual ubuntu 10_04Manual ubuntu 10_04
Manual ubuntu 10_04
 
Getting Started with Ubuntu 10.04
Getting Started with Ubuntu 10.04Getting Started with Ubuntu 10.04
Getting Started with Ubuntu 10.04
 
LinuxIdentity magazine - Ubuntu 10.10 Maverick Meerkat
LinuxIdentity magazine - Ubuntu 10.10 Maverick MeerkatLinuxIdentity magazine - Ubuntu 10.10 Maverick Meerkat
LinuxIdentity magazine - Ubuntu 10.10 Maverick Meerkat
 
Ubuntu Handbook
Ubuntu HandbookUbuntu Handbook
Ubuntu Handbook
 
Ubuntu 10
Ubuntu 10Ubuntu 10
Ubuntu 10
 
Full Circle 86
Full Circle 86Full Circle 86
Full Circle 86
 
Getting started with ubuntu 12.04
Getting started with ubuntu 12.04Getting started with ubuntu 12.04
Getting started with ubuntu 12.04
 
Ubuntu OS and it's Flavours
Ubuntu OS and it's FlavoursUbuntu OS and it's Flavours
Ubuntu OS and it's Flavours
 
Ubuntu an absolute beginners guide
Ubuntu an absolute beginners guideUbuntu an absolute beginners guide
Ubuntu an absolute beginners guide
 
Anthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu LinuxAnthropological fieldwork in Ubuntu Linux
Anthropological fieldwork in Ubuntu Linux
 
Full Circle 89
Full Circle 89Full Circle 89
Full Circle 89
 
Getting started with ubuntu 16.04
Getting started with ubuntu 16.04Getting started with ubuntu 16.04
Getting started with ubuntu 16.04
 
Getting started with ubuntu 16.04
Getting started with ubuntu 16.04Getting started with ubuntu 16.04
Getting started with ubuntu 16.04
 
08.03.2015-Getting started with ubuntu 14.04
08.03.2015-Getting started with ubuntu 14.0408.03.2015-Getting started with ubuntu 14.04
08.03.2015-Getting started with ubuntu 14.04
 
Getting started with ubuntu
Getting started with ubuntuGetting started with ubuntu
Getting started with ubuntu
 
Tamaray ACT22A
Tamaray ACT22ATamaray ACT22A
Tamaray ACT22A
 
Full Circle 88
Full Circle 88Full Circle 88
Full Circle 88
 

More from Victor Castro

Revista Espírito Livre - N. 8 - Nov. 2009
Revista Espírito Livre - N. 8 - Nov. 2009Revista Espírito Livre - N. 8 - Nov. 2009
Revista Espírito Livre - N. 8 - Nov. 2009Victor Castro
 
O manual do cético sobre o aquecimento global
O manual do cético sobre o aquecimento globalO manual do cético sobre o aquecimento global
O manual do cético sobre o aquecimento globalVictor Castro
 
Salão do Automóvel em Paris
Salão do Automóvel em ParisSalão do Automóvel em Paris
Salão do Automóvel em ParisVictor Castro
 
Sun Gerenciamento de Identidade com Segurança
Sun Gerenciamento de Identidade com SegurançaSun Gerenciamento de Identidade com Segurança
Sun Gerenciamento de Identidade com SegurançaVictor Castro
 
Revista Espírito Livre - nº 7 - Outubro de 2009
Revista Espírito Livre - nº 7 - Outubro de 2009Revista Espírito Livre - nº 7 - Outubro de 2009
Revista Espírito Livre - nº 7 - Outubro de 2009Victor Castro
 
Software Livre no Exército
Software Livre no ExércitoSoftware Livre no Exército
Software Livre no ExércitoVictor Castro
 
Linux Magazine 59 CE
Linux Magazine 59 CELinux Magazine 59 CE
Linux Magazine 59 CEVictor Castro
 
Linux Magazine 58 CE
Linux Magazine 58 CELinux Magazine 58 CE
Linux Magazine 58 CEVictor Castro
 
Apresentação Banco do Brasil e Software Livre
Apresentação Banco do Brasil e Software LivreApresentação Banco do Brasil e Software Livre
Apresentação Banco do Brasil e Software LivreVictor Castro
 

More from Victor Castro (15)

Dupla Sertaneja
Dupla SertanejaDupla Sertaneja
Dupla Sertaneja
 
Revista Espírito Livre - N. 8 - Nov. 2009
Revista Espírito Livre - N. 8 - Nov. 2009Revista Espírito Livre - N. 8 - Nov. 2009
Revista Espírito Livre - N. 8 - Nov. 2009
 
Caricaturas
CaricaturasCaricaturas
Caricaturas
 
Que idéia boa
Que idéia boaQue idéia boa
Que idéia boa
 
Mar em Fúria
Mar em FúriaMar em Fúria
Mar em Fúria
 
O manual do cético sobre o aquecimento global
O manual do cético sobre o aquecimento globalO manual do cético sobre o aquecimento global
O manual do cético sobre o aquecimento global
 
Salão do Automóvel em Paris
Salão do Automóvel em ParisSalão do Automóvel em Paris
Salão do Automóvel em Paris
 
Sun Gerenciamento de Identidade com Segurança
Sun Gerenciamento de Identidade com SegurançaSun Gerenciamento de Identidade com Segurança
Sun Gerenciamento de Identidade com Segurança
 
Sun Open Storage
Sun Open StorageSun Open Storage
Sun Open Storage
 
Revista Espírito Livre - nº 7 - Outubro de 2009
Revista Espírito Livre - nº 7 - Outubro de 2009Revista Espírito Livre - nº 7 - Outubro de 2009
Revista Espírito Livre - nº 7 - Outubro de 2009
 
Software Livre no Exército
Software Livre no ExércitoSoftware Livre no Exército
Software Livre no Exército
 
Linux Magazine 59 CE
Linux Magazine 59 CELinux Magazine 59 CE
Linux Magazine 59 CE
 
Linux Magazine 58 CE
Linux Magazine 58 CELinux Magazine 58 CE
Linux Magazine 58 CE
 
O Centro da Bíblia
O Centro da BíbliaO Centro da Bíblia
O Centro da Bíblia
 
Apresentação Banco do Brasil e Software Livre
Apresentação Banco do Brasil e Software LivreApresentação Banco do Brasil e Software Livre
Apresentação Banco do Brasil e Software Livre
 

Full Circle 33

  • 1. full circle ISSUE #33 - January 2010 CREATE A MEDIA CENTER WITH UBUNTU, AN ACER REVO & BOXEE full circle magazine #33 contents ^
  • 2. full circle Ubuntu Women p.28 Program In Python - Pt7 p.08 Ubuntu Games p.31 My Story p.19 MOTU Interview p.24 Read how Ubuntu is used in public education, and why one man made the switch to Linux. Ubuntu, Revo & Boxee p.13 Command & Conquer p.05 The Perfect Server - Pt3 p.15 Review - Exaile p.23 Letters p.26 Top 5 - Sync. Clients p.35 The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license. This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: You must attribute the work to the original author in some way (at least a name, email or URL) and to this magazine by name ('full circle magazine') and the URL www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work). If you alter, transform, or build upon this work, you must distribute the resulting work under the same, similar or a compatible license. full circle magazine #33 contents ^
  • 3. EDITORIAL This magazine was created using : Welcome to another issue of Full Circle magazine. L ast month, Andrew gave us his Top 5 Media Center applications. This month I've written a How-To on using Ubuntu on an Acer Aspire Revo to create the foundation for Boxee. For under £150 I've created a fantastic media center which not only looks great, it's fully customizable! That's my media center story, but don't forget to read the My Story articles which this month focus on Ubuntu, Linux and open-source in public education, as well as how one man went from using old (modern at the time) computers, to using Ubuntu. Another advertisement this month! But don't panic, it's only for this month and it's Ubuntu is a complete operating our way of trying to bring more attention to SCaLE 2010. February sees the eighth system that is perfect for laptops, desktops and servers. annual . Unfortunately I can't attend, but if anyone does Whether at home, school or attend, we'd love to hear what it was like, who was there, what happened, so fill us in! work, Ubuntu contains all the applications you'll ever need Don't forget to read the Ubuntu Women interview, on page 28, with Jane Silber the including word processor, email application and web browser. COO at Canonical. As most of you will know, Jane will take over from Mark as CEO on Ubuntu is and always will be free March 1st. of charge. You do not pay any licensing fees. You can And finally, Robin Catling, the man of many words, is considering resurrecting the download, use and share Ubuntu with your friends, family, school FCM podcast. Care to help? - http://ubuntuforums.org/showthread.php?t=1380948 or business, for absolutely nothing. Enjoy the issue, and keep in touch! Once installed, your system is ready to use with a full set of productivity, internet, drawing and graphics applications, and Editor, Full Circle magazine games. ronnie@fullcirclemagazine.org use the new 'contents' link to jump to the contents page full circle magazine #33 from any other page! contents ^
  • 4. NEWS Ubuntu Firefox shuns Ubuntu - version 10.4, dubbed Ubuntu Primes Music Music Store objective as such: Google for Yahoo! search Lucid Lynx and due in April - Yahoo! will be the default Service " engine in the search box in the The next release of Ubuntu will Although it is not yet official, top right-hand corner of the scrap Google as the default Ubuntu's next release looks likely Firefox browser bundled with search engine on its Firefox to include a music store service the OS, and Yahoo! search will similar to Apple's iTunes. browser in favor of Yahoo!, be the browser's default thanks to a new revenue- homepage. The first hint that Ubuntu sharing deal between Yahoo! developers were considering a and commercial Ubuntu backer music store came in September Canonical. last year when Canonical chief Mark Shuttleworth announced With regulators set to approve plans for Lucid Lynx, the next As is typical with Firefox, users version of Ubuntu. At the time Yahoo!'s search pact with will have the option of Shuttleworth made vague Microsoft, this means that changing the search box references to an Amazon- and " Redmond will power the future default. This means they can iTunes-like music store for the of Firefox on Ubuntu, a next release. change it back to Google, and According to the specifications combination with decidedly users will log into the music store thanks to another Lucid Lynx anti-Redmond connotations. Since then the noise around an using their existing Ubuntu One change announced by The ultimate irony is that Ubuntu music store has grown username. [...] Already a Spencer, doing so will also into a coherent direction and a Microsoft will essentially be Rhythmbox plugin for the Ubuntu switch the browser's number of details suggest that paying people to build a Linux One Music Store is listed in homepage to Google. If you the Ubuntu One Music Store is on Ubuntu's blueprints. distro. choose a search provider other track for possible inclusion in than Google or Yahoo!, Lynx Lucid Lynx which is scheduled to : mybroadband.co.za Canonical's Rick Spencer be released in April this year. may or may not update the announced the Yahoo! revenue browser's homepage in similar deal on Tuesday, with a post to The most obvious clue to the fashion. Canonical has yet to the Ubuntu developer mailing Ubuntu One Music Store is the sort out the situation involving wiki page outlining plans for the list. other providers. product. Among other details, the wiki explains the Ubuntu One With the next release of : theregister.co.uk full circle magazine #33 contents ^
  • 5. COMMAND & CONQUER N ow that we've windows). This feature is can set up the commands to covered the If you were looking through especially useful if you're the run, detach the Screen, and introduction to GNU my configuration file last kind of person who regularly disconnect from the SSH Screen last month, month, you must have noticed uses certain CLI-based server. If you want to re- we're ready to advance into the following two lines at the programs (mutt, irssi, midnight connect and get the info back, slightly more useful end of my .screenrc: commander, etc.), and want to all you have to do is re-attach configurations. I'll be covering have them readily available in the Screen session. I only a few aspects of Screen # autostart screen sessions one easy-to-access window recommend detaching before screen -t Zsh 0 /bin/zsh without opening a horde of disconnecting from SSH, but that I use and find useful, but screen -t IRC 1 they are by no means as /usr/bin/irssi terminals. Screen should automatically advanced as they get, nor are detach and keep the Screen they the only aspects worth The lines there add a new If you're an SSH user, you've running when the connection using in Screen. I'd be happy to window (the number after the probably run into the problem closes. This is useful for system have readers send in their title) to Screen with the title where you access a machine, administrators who may need favourite configuration/setting (specified after the “-t” flag), and run a command, and you to run a script to update for Screen. I can post them at and the following command. end up losing your connection, permissions or whatnot, and the start of Command & So, the .screenrc launches and then frustrate yourself by will save them the need to Conquer each month, so that Screen with window 0 running having to re-run the command send the process to the we can learn something new my Z-shell, with a title of since you lost the output. This background, or to keep the SSH from them. The things I'll be “Zsh”, and window 1 with irssi is why I, personally, feel that connection open the entire covering in this article are the running, and a title of “IRC”. Screen (or another terminal time. If I remember correctly, following: automatically Screen will default to the multiplexer) is a must for any you can even configure the starting windows with newest window, so my Screen SSH users who will be SSH shell to automatically run commands, using Screen over sessions always start in IRC, connected for longer than a Screen for any SSH login, SSH to daemonize commands, since that's what I'll most likely few minutes, and who may meaning you're always going sharing Screen sessions, use. I don't know if there is a need to run more than one to be in a Screen shell. splitting the window, and the limit to how many windows command. Even if you're one benefit of Screen over TTY Screen can have, but I would of those one-command and a Another extremely useful screens or a normal shell. So, recommend not having more few-minutes users, Screen feature of Screen is the ability lets get started and fire up our than the number of shortcuts might still be a very useful to share sessions. This is great Screen sessions, and our to quickly switch between thing for you. If you connect if you're editing a script and .screenrc files! them (so a maximum of 9 via SSH, and run Screen, you need input from another user. full circle magazine #33 contents ^
  • 6. COMMAND & CONQUER You can allow them to SSH to article on securing Screen, and enable vertical splitting, I'll can be sent there too. the box, and share the screen. adding names to Screen post a link to a tutorial in the To do this, the host (first user), sessions to make management Further Reading section. Last command for Screen: has to do the following: easier. The last thing I want to screen -S <name of screen Ctrl + a session> The very last feature I'm cover for this article is why :multiuser on going to cover for the moment someone should use this The above command is the ability to split the instead of a TTY screen, or a The Ctrl +a is the actual creates a Screen session using window in Screen. This means normal shell. The simple keyboard combination, and you the name you supply after the - you can have two shells answer is personal preference. have to then type “:multiuser S flag, for quick and easy running parallel with a tiling The long answer is that it on”. You then need to allow the access (great for when you're window manager feel to it. allows SSH sessions to run remote user to connect to the running lots of Screen Screen only supports horizontal multi-task without any chance Screen session with the sessions). splitting out of the box; there is of losing the processes when following: a patch to enable splitting disconnecting, and it also vertically, but it requires you to allows you to minimize the Ctrl +a Vertical splitting: :acladd <ruser> re-compile Screen by hand. In amount of RAM being used. http://scie.nti.st/2008/8/22/gnu- order to split the screen Also, it allows you to have a screen-with-vertical-split-support horizontally in Screen, hit the better overview of what is http://www.gnu.org/software/screen/m Substitute “<ruser>” with anual/html_node/Default-Key- the username for the remote following key combination: running - if you give the Screen Bindings.html#Default-Key-Bindings – user. Once you've done that, windows titles, and keep them The manual page for keybindings on C-a S running in one terminal the GNU homepage. the remote user can connect to emulator, you'll have a status- http://www.math.utah.edu/docs/info/sc the Screen session using: For those who didn't read reen_9.html – Short and concise list of bar type list of running things for .screenrc files, and Screen screen -x $USER/<screen my last article, that means ctrl programs. I'm by no means in general ID/name> +a, then S (shift + s). This will saying you have to use it, but take the current window and for those people to whom the You need to replace $USER split it in half down the center. features of Screen appeal, I with the username of the Once you have your two panes, highly recommend using it and original user (the “host”), and you can switch between them getting into the habit of using the Screen ID/name with the with: it regularly (which, I have to has learned all he knows name or ID of the Screen admit, I haven't managed yet). from repeatedly breaking his session the user started. If you C-a <Tab> As always, feel free to email system, then having no other want to know how to set a any questions you may have to option but to discover how to fix Screen name, I'll be adding a where <Tab> is the actual it. You can email Lucas at: lswest34@gmail.com. Any lswest34@gmail.com. few quick tips at the end of the tab key. If anyone wants to suggestions for new articles full circle magazine #33 contents ^
  • 7. full circle magazine #33 contents ^
  • 8. HOW-TO Program In Python - Part 7 paper. In each filing cabinet and filing cabinets and wasted User, came to see See-Quill. FCM#27-32 - Python Parts 1 - 6 was something called a file time, if only people would He was very impressed with folder, which attempted to believe in computers and her. her beauty, and said “See- organize relevant papers She called this power a Quill, Please teach me to use together. But after time, they “Database”. She said that the your power.” See-Quill said would get over-stuffed, and fall “Database” could replace the that she would. apart when they got old or entire filing system. Some opened too many times. people did, and soon their lives She said, “First, you have to were very happy. Some didn't, know how your information is Using these filing cabinets and their lives stayed the laid out. Show me your papers.” Dev Graphics Internet M/media System properly required a college same, lost in mountains of degree. It could take days to paper. Being a young boy, User find all the papers that were in had only a few pieces of paper. the various cabinets. All fairy promises, however, See-Quill said, “User, right now CD/DVD HDD USB Drive Laptop Wireless Businesses suffered horribly. It come with some sort of you could live with papers and was a very dark time in the requirement. That requirement file folders. However, I can get history of man- and woman- was that whoever wanted to glimpses of the future, and you G kind. use the power of See-Quill will someday have so many ood morning Boys needed to learn a bit of a papers that they would, if and Girls. It's story Then one day, from the top different language. It wouldn't placed on top of each other, be time. Everyone get of a mountain somewhere (I be too difficult a language to taller than you by 15 times. We settled and comfy. personally think it was learn. In fact, it was much like should use my power.” Ready? Good! Colorado, but I'm not sure), the one the people already came a lovely fairy. This fairy used. It just has a different way So, working together, User Once upon a time, the world was blue and silver - with of saying things, and you had and See-Quill created a was ruled by paper. Paper, beautiful wings and white hair, to think about things very “database thingie” (a fairy paper everywhere. They had to and was about 1 foot tall. Her carefully BEFORE you said technical term), and User lived make special homes for all that name, believe it or not, was them - to use the power of See- happily ever after. paper. They were called filing See-Quill. Isn't that a funny Quill. cabinets, and were big metal name? Anyway, See-Quill said things that would take rooms that she could fix everything One day, a young boy and rooms and rooms at having to do with all the paper named, curiously enough, Of course, the story is not businesses to house all the full circle magazine #33 contents ^
  • 9. PROGRAM IN PYTHON - PART 7 completely true. However, to create a recipe database make it very large and using databases and SQL can program. Around my house, have one record for make our lives easier. This recipes come in various forms: everything in the recipe. time, we will learn about some 3x5 card, 8x10 pieces of paper, That, however, would be Serves: 4 simple SQL queries, and how to napkins with the recipe clumsy and hard to deal use them in a program. Some scribbled on it, pages from with. Instead, we are going : Greg Walters people might think that this magazines, and even stranger to use the recipe card as a might not be the “correct” way forms. They can be found in template. One table will or the “best” way, but it is a books, boxes, binders, and handle the top of the card, 1 cup parboiled Rice (uncooked) reasonable way. So let's begin. other things. However, they all or the gross information 1 pound Hamburger pretty much have one thing in about the recipe; one table 2 cups Water Databases are like the filing common: the format. In almost will handle the middle of 1 8 oz can Tomato Sauce cabinets in our story above. every case, at the top you have the card, or the ingredients 1 small Onion chopped Data tables are like the file the recipe title and maybe how information; and one table 1 clove Garlic chopped folders. The individual records many servings it makes and will handle the bottom, or 1 tablespoon Ground Cumin in the tables are like the sheets where it came from. The the instructions. 1 teaspoon Ground Oregano of paper. Each piece of middle contains the list of Salt and Pepper to taste information is called a field. It ingredients, and the bottom Make sure you have Salsa to taste falls together very nicely, contains the instructions - installed SQLite and APSW. doesn't it? You use SQL dealing with the order that SQLite is a small database (pronounced See-Quill) things are done in, the cooking engine that doesn't require Brown hamburger. statements to do things with time, and so on. We will use you to have a separate the data. SQL stands for this general format as the database server, which Add all other ingredients. Structured Query Language, template of our database makes it ideal for our little and is basically designed to be project. We will break this up application. Everything you Bring to boil. an easy way to use databases. into two parts. We'll create the learn here can be used In practice, however, it can database this time, and the with larger database Stir, lower to simmer and cover. become very complicated. We application to read and update systems like MySQL and will keep things pretty simple the database next time. others. The other good Cook for 20 minutes. for this installment. thing about SQLite is that Here's an example. Let's say it uses limited data types. Do not look, do not touch. We need to create a plan, we have the recipe shown right. These types are Text, like starting any construction Numeric, Blob, and Integer Stir and serve. project. So, think of a recipe Notice the order we just Primary Key. As you have card, which is a good thing to discussed. Now when we learned already, text is think about, since we are going design our database - we could pretty much anything. Our full circle magazine #33 contents ^
  • 10. PROGRAM IN PYTHON - PART 7 ingredients, instructions, and SELECT * FROM Recipes would be typing and very redundant. We the title of our recipe are all can use a method called text types - even though they If you wish to obtain just a INSERT INTO Recipes aliasing. We can do it like this: record by its primary key, you (name,servings,source) have numbers in them. VALUES (“Tacos”,4,”Greg”) Numeric datatypes store have to know what that value SELECT r.name, r.servings, is (pkID in this instance), and r.source, i.Instructions numbers. These can be integer To delete a record we can FROM Recipes r LEFT JOIN values or floating point or real we have to include a WHERE instructions i ON (r.pkid = use values. Blobs are binary data, command in the statement. We i.recipeid) WHERE r.pkid = 1 and can include things like could use: DELETE FROM Recipes WHERE pictures and other things. pkID = 10 It's shorter and still Integer Primary Key values are SELECT * FROM Recipes WHERE readable. Now we will write a pkID = 2 special. The SQLite database There's also an UPDATE small program that will create engine automatically puts in a statement, but we'll leave that our database, create our Simple enough...right? guaranteed unique integer for another time. tables, and put some simple Pretty much plain language. value for us. This will be data into the tables to have Now, suppose we want to just important later on. get the name of the recipe and More on SELECT something to work with. We COULD write this into our full the number of servings it APSW stands for Another In the case of our database, program, but, for this example, makes - for all recipes. It's Python SQLite Wrapper and is a we have three tables, each can we will make a separate easy. All you have to do is quick way to communicate with be related together by using program. This is a run-once include a list of the fields that SQLite. Now let's go over some recipeID pointing to the pkID of program - if you try to run it a you want in the SELECT of the ways to create our SQL the recipe table. Let's say we second time, it will fail at the statement: statements. want to get all the instructions table creation statements. SELECT name, servings FROM for a given recipe. We can do it Again, we could wrap it with a To obtain records from a Recipes like this: try...catch handler, but we'll do database, you would use the that another time. SELECT statement. The format To insert records, we use the SELECT Recipes.name, would be: INSERT INTO command. The Recipes.servings, We start by importing the syntax is Recipes.source, APSW wrapper. SELECT [what] FROM [which Instructions.Instructions table(s)] WHERE [Constraints] FROM Recipes LEFT JOIN INSERT INTO [table name] instructions ON import apsw (field list) VALUES (values (Recipes.pkid = So, if we want to get all the to insert) Instructions.recipeid) WHERE The next thing we need to fields from the Recipes table Recipes.pkid = 1 do is create a connection to our we would use: So, to insert a recipe into database. It will be located in the recipe table the command However, that is a lot of the same directory where we full circle magazine #33 contents ^
  • 11. PROGRAM IN PYTHON - PART 7 have our application. When we create this connection, SQLite RECIPES INSTRUCTIONS INGREDIENTS automatically looks to see if ------------ ---------------------- -------------------- the database exists. If so, it pkID (Integer Primary Key) pkID(Integer Primary Key) pkID (Integer Primary Key) opens it. If not, it creates the name (Text) recipeID (Integer) recipeID (Integer) source (Text) instructions (Text) ingredients (Text) database for us. Once we have serves (Text) a connection, we need what is called a cursor. This creates a mechanism that we can use to structure like this. Each column automatically assigned. Let's source TEXT)' work with the database. So is a separate table as shown pretend that this is the very remember, we need both a above right. first record in our table, so the Next we have to tell ASPW connection and a cursor. These database engine would assign to actually do the sql command: are created like this: Each table has a field called the value 1 to the pkID. We will pkID. This is the primary key use this value to relate the cursor.execute(sql) # Opening/creating database that will be unique within the information in the other tables connection=apsw.Connection("c table. This is important so that to this recipe. The instructions Now we create the other ookbook1.db3") the data tables never have a table is simple. It just holds the tables: cursor=connection.cursor() completely duplicated record. long text of the instructions, its This is an integer data type, own pkID and then a pointer to sql = 'CREATE TABLE Okay - we have our and is automatically assigned the recipe in the recipe table. Instructions (pkID INTEGER PRIMARY KEY, instructions connection and our cursor. Now by the database engine. Can The ingredients table is a bit TEXT, recipeID NUMERIC)' we need to create our tables. you do without it? Yes, but you more complicated in that we There will be three tables in run the risk of accidentally have one record for each cursor.execute(sql) our application. One to hold the creating a duplicated record id. ingredient as well as its own sql = 'CREATE TABLE gross recipe information, one In the case of the Recipes pkID and the pointer back to Ingredients (pkID INTEGER for the instructions for each table, we will use this number our recipe table record. PRIMARY KEY, ingredients recipe, and one to hold the list as a reference for which TEXT, recipeID NUMERIC)' of the ingredients. Couldn't we instruction and which set of So in order to create the cursor.execute(sql) do it with just one table? Well, ingredients go with that recipe. recipe table, we define a string yes we could, but, as you will variable called sql, and assign Once we have the tables see, it will make that one table We would first put the it the command to create the created, we will use the INSERT very large, and will include a information into the database table: INTO command to enter each bunch of duplicate information. so that the name, source and sql = 'CREATE TABLE Recipes set of data into its proper table. number served goes into the We can look at the table (pkiD INTEGER PRIMARY KEY, recipe table. The pkID is name TEXT, servings TEXT, Remember, the pkID is full circle magazine #33 contents ^
  • 12. PROGRAM IN PYTHON - PART 7 automatically entered for us, place the pkID of the recipe some time reading up on SQL so we don't include that in the Why is this? Well, when we (lastid) into the sql statement. programming. You'll be happy list of fields in our insert get data back from ASPW, it Finally, we need to put each you did. statement. Since we will be comes back as a tuple. This is ingredient into the ingredient using the field names, they can something we haven't talked table. I'll show you just one for be in any order, not just the about yet. The quick now: order they were created in. As explanation is that a tuple is (if long as we know the names of you look at the code above) sql = 'INSERT INTO Ingredients the fields, everything will work like a list, but it can't be (recipeID,ingredients) correctly. The insert statement changed. Many people use VALUES ( %s,"1 cup parboiled for our recipe table entry tuples rarely; others use them Rice (uncooked)")' % lastid becomes often; it's up to you. The cursor.execute(sql) bottom line is that we want to INSERT INTO Recipes (name, use the first value returned. We serves, source) VALUES It's not too hard to (“Spanish Rice”,4,”Greg use the 'for' loop to get the understand at this point. Next Walters”) value into the tuple variable x. time it will get a bit more Make sense? OK. Let's complicated. Next we need to find out the continue... value that was assigned to the If you would like the full pkID in the recipe table. We Next, we would create the source code, I've placed it on can do this with a simple insert statement for the my website. Go to command: instructions: www.thedesignatedgeek.com sql = 'INSERT INTO to download it. SELECT last_insert_rowid() Instructions (recipeID,instructions) Next time, we will use what However, it doesn't just VALUES( %s,"Brown hamburger. we've learned over the series come out as something we can Stir in all other to create a menu-driven front really use. We need to use a ingredients. Bring to a boil. Stir. Lower to simmer. end for our recipe program - it series of statements like this: Cover and cook for 20 will allow viewing all recipes in is owner of minutes or until all liquid a list format, viewing a single ,a sql = "SELECT is absorbed.")' % lastid consulting company in Aurora, last_insert_rowid()" recipe, searching for a recipe, Colorado, and has been cursor.execute(sql) and adding and deleting programming since 1972. He cursor.execute(sql) recipes. enjoys cooking, hiking, music, and spending time with his for x in cursor.execute(sql): Notice that we are using the family. lastid = x[0] variable substitution (%s) to I suggest that you spend full circle magazine #33 contents ^
  • 13. HOW-TO Ubuntu, Acer Revo & Boxee I decided just before the Alpha) is fully compatible Once it’s installed, Boxee is FCM#32 - TOP5 MEDIA CENTERS Christmas that I'd like to with Karmic. found in Applications > Sound retire my first generation & Video. With Boxee running, I Xbox (aka media center), added my local media folders and get something more up-to- and my wireless shared date, so I bought an Acer directories. From there, Boxee Aspire Revo - a nettop, as they looks through your files call them, which is basically a guessing at their classification PC in the shape of a Nintendo (Movies/TV), but you can Wii. Needless to say, the first assign a media type to a Dev Graphics Internet M/media System thing was to get my Ubuntu particular directory if you wish. 9.10 USB stick, and use it to It does the same with audio install Ubuntu on the Revo. This files, and it will automatically is painless and is just a bog grab your album covers and CD/DVD HDD USB Drive Laptop Wireless standard Ubuntu install. The first thing to do is head band photographs. Editing over to the Boxee site audio/video, or entering But what software would I (Boxee.tv) and sign up. The information, is quite easy too - use for playing my media? reason for this is that Boxee is even without a keyboard, as part XBMC, part social media. Boxee has an on-screen Having used Xbox Media Boxee is based on XBMC, but it keyboard which is easy to use. Center (XBMC) on my Xbox, it has several useful addons that was an obvious choice to try allow you to rate your media As well as using your own XBMC on my Acer Aspire Revo - and recommend media to media, you have access to which I did - but I thought I’d friends. All this is done via the dozens of ‘applications’ in give Boxee a try. I’d heard such Boxee website, hence the Boxee, which are basically good things about it that it signup. Once you’ve signed up, channels or feeds. Channels would have been rude of me to you can go to the downloads are video podcasts and internet ignore it. I have to say I really page, grab the Ubuntu episodes. The list is quite like it. Just this month the compatible 32/64bit .deb file, varied and has everything from Boxee developers released the and double-click it to have it CNN to Open University Boxee Beta to the masses! Not installed via Gdebi. lectures to anime. only that, but the Beta (unlike full circle magazine #33 contents ^
  • 14. UBUNTU, ACER REVO & BOXEE Look me up on Boxee, and 'friend' me - my username is . I look forward to seeing your recommendations! The only quibble I have with sudo gedit Boxee is that my (cheapo) ~/.boxee/UserData/Lircmap.xml Cyberlink remote control (right) didn’t work as well with And, yes, UserData and Boxee as it did with XBMC, but Lircmap.xml should be I found a solution at capitalized as shown. http://xbmc.org/forum/showpos t.php?p=433877&postcount=1 Now, load up Boxee, and the You should follow this guide to vast majority of the Cyberlink the letter until it says the remote buttons will work following in post #3: properly! sudo gedit All in all, I’m really ~/.xbmc/userdata/Lircmap.xml impressed with Boxee; I loved the Alpha, but the Beta just For Boxee you should takes it to a whole new level instead enter: with its new layout! full circle magazine #33 contents ^
  • 15. HOW-TO The Perfect Server - Part 3 courier-imap-ssl libsasl2-2 update-alternatives --remove- # Instead of skip-networking libsasl2-modules libsasl2- all maildir.5 the default is now to listen FCM09 - 16 : Server Series 1 - 8 modules-sql sasl2-bin libpam- only on FCM28 - 29 : LAMP Server 1 - 2 mysql openssl getmail4 update-alternatives --remove- FCM31 - 32 : The Perfect Server 1 - 2 rkhunter binutils all maildirquota.7 # localhost which is more compatible and is not less aptitude install maildrop secure. You will be asked the following questions: #bind-address = You will ask yourself why we 127.0.0.1 didn't install maildrop together [...] New password for the MySQL with all the other packages. "root" user Dev Graphics Internet M/media System The reason for this is a bug in Then we restart MySQL: the courier-base package - if Repeat password for the you install maildrop together /etc/init.d/mysql restart MySQL "root" user with courier-pop, courier-pop- ssl, courier-imap, and courier- Now check that networking CD/DVD HDD USB Drive Laptop Wireless Create directories for web- imap-ssl, you will get the is enabled. Run: based administration? following error: Enter: W netstat -tap | grep mysql e can install update-alternatives: error: General type of mail alternative link Postfix, Courier, The output should look like configuration: /usr/share/man/man5/maildir.5 Saslauthd, MySQL, .gz is already managed by this: Enter: rkhunter, and maildir.5.gz. binutils - with a single root@server1:~# netstat -tap System mail name: | grep mysql command: We want MySQL to listen on Enter: all interfaces, not just tcp 0 0 *:mysql *:* LISTEN (but using your .com) (Prefix each command with localhost. Therefore we edit 6267/mysqld sudo, if appropriate). /etc/mysql/my.cnf and SSL certificate required root@server1:~# comment out the line bind- aptitude install postfix Enter: address = 127.0.0.1: postfix-mysql postfix-doc During the installation, the mysql-client mysql-server Next we install maildrop as SSL certificates for IMAP-SSL courier-authdaemon courier- vi /etc/mysql/my.cnf follows: and POP3-SSL are created with authlib-mysql courier-pop courier-pop-ssl courier-imap [...] the hostname localhost. To full circle magazine #33 contents ^
  • 16. THE PERFECT SERVER - PART 3 change this to the correct and Courier-POP3-SSL: hostname (server1.example.com in this /etc/init.d/courier-imap-ssl aptitude install apache2 apache2.2-common apache2-doc Install PureFTPd And tutorial), delete the restart apache2-mpm-prefork apache2- utils libexpat1 ssl-cert Quota certificates... /etc/init.d/courier-pop-ssl libapache2-mod-php5 php5 restart php5-common php5-gd php5- PureFTPd and quota can be cd /etc/courier mysql php5-imap phpmyadmin installed with the following php5-cli php5-cgi libapache2- rm -f /etc/courier/imapd.pem Install Amavisd-new, mod-fcgid apache2-suexec php- command: SpamAssassin, And pear php-auth php5-mcrypt rm -f /etc/courier/pop3d.pem mcrypt php5-imagick aptitude install pure-ftpd- Clamav imagemagick libapache2-mod- common pure-ftpd-mysql quota suphp quotatool and modify the following two files - replacing CN=localhost To install amavisd-new, Edit the file /etc/default/pure- You will see the following with SpamAssassin, and ClamAV, ftpd-common: question: ''CN=server1.example.com' we run: (and you can also modify the vi /etc/default/pure-ftpd- aptitude install amavisd-new Web server to reconfigure common other values, if necessary): spamassassin clamav clamav- automatically: vi /etc/courier/imapd.cnf daemon zoo unzip bzip2 arj Enter: and make sure that the start nomarch lzop cabextract apt- listchanges libnet-ldap-perl mode is set to standalone and [...] Configure database for CN=server1.example.com libauthen-sasl-perl clamav- set VIRTUALCHROOT=true: docs daemon libio-string- phpmyadmin with dbconfig- [...] perl libio-socket-ssl-perl common? [...] vi /etc/courier/pop3d.cnf libnet-ident-perl zip libnet- Enter: STANDALONE_OR_INETD=standalon dns-perl e [...] [...] Then run the following Install Apache2, PHP5, CN=server1.example.com VIRTUALCHROOT=true [...] command to enable the [...] phpMyAdmin, FCGI, Apache modules suexec, suExec, Pear, And Then recreate the rewrite, ssl, actions, and Then restart PureFTPd: certificates: include: mcrypt /etc/init.d/pure-ftpd-mysql mkimapdcert a2enmod suexec rewrite ssl restart actions include Apache2, PHP5, mkpop3dcert phpMyAdmin, FCGI, suExec, Edit /etc/fstab. Mine looks Pear, and mcrypt can be Restart Apache afterwards: like Fig.1 on the following page and restart Courier-IMAP-SSL installed as follows: (I added /etc/init.d/apache2 restart full circle magazine #33 contents ^
  • 17. THE PERFECT SERVER - PART 3 ,usrjquota=aquota.user,grpjquo ta=aquota.group,jqfmt=vfsv0 to the partition with the mount # /etc/fstab: static file system information. # point /): # Use 'blkid -o value -s UUID' to print the universally unique identifier # for a device; this may be used with UUID= as a more robust way to name vi /etc/fstab # devices that works even if disks are added and removed. See fstab(5). # To enable quota, run these # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 commands: /dev/mapper/server1-root / ext4 errors=remount- ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1 touch /aquota.user # /boot was on /dev/sda5 during installation /aquota.group UUID=9ea34148-31b7-4d5c-baee-c2e2022562ea /boot ext2 defaults 0 2 chmod 600 /aquota.* /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 mount -o remount / /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 quotacheck -avugm quotaon -avug wget Then we make the script Jailkit is needed only if you http://heanet.dl.sourceforge. executable, and create the want to chroot SSH users. It net/sourceforge/mydns- Install MyDNS ng/mydns-1.2.8.27.tar.gz system startup links for it: can be installed as follows (important: Jailkit must be tar xvfz mydns- chmod +x /etc/init.d/mydns Before we install MyDNS, we installed before ISPConfig - it 1.2.8.27.tar.gz need to install a few update-rc.d mydns defaults cannot be installed prerequisites: cd mydns-1.2.8 afterwards!): ./configure Install Vlogger And aptitude install build- Webalizer aptitude install g++ libc6 gcc gawk make texinfo essential autoconf libmysqlclient15-dev make automake1.9 libtool flex bison make install Vlogger and webalizer can MyDNS is not available in be installed as follows: cd /tmp the Ubuntu 9.10 repositories, Next, we create the therefore we have to build it start/stop script (shown on the aptitude install vlogger wget ourselves as follows: webalizer http://olivier.sessink.nl/jai following page) for MyDNS: lkit/jailkit-2.10.tar.gz cd /tmp vi /etc/init.d/mydns Install Jailkit tar xvfz jailkit-2.10.tar.gz full circle magazine #33 contents ^
  • 18. #! /bin/sh restart) # echo -n "Restarting $DESC: $NAME" # mydns Start the MyDNS server start-stop-daemon --stop --quiet --oknodo # --exec $DAEMON # Author: Philipp Kern <phil@philkern.de>. sleep 1 # Based upon skeleton 1.9.4 by Miquel van start-stop-daemon --start --quiet Smoorenburg --exec $DAEMON -- -b # <miquels@cistron.nl> and Ian Murdock echo "." <imurdock@gnu.ai.mit.edu>. ;; # *) echo "Usage: $SCRIPTNAME set -e {start|stop|restart|reload|force-reload}" >&2 exit 1 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin: ;; /usr/bin esac DAEMON=/usr/local/sbin/mydns NAME=mydns exit 0 DESC="DNS server" SCRIPTNAME=/etc/init.d/$NAME cd jailkit-2.10 Next month, in the final # Gracefully exit if the package has been removed. installment, we will install test -x $DAEMON || exit 0 ./configure SquirrelMail and ISPConfig3, case "$1" in make giving you the perfect server, start) ready to go! echo -n "Starting $DESC: $NAME" make install start-stop-daemon --start --quiet --exec $DAEMON -- -b cd .. echo "." ;; rm -rf jailkit-2.10* stop) Install fail2ban echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --oknodo --quiet --exec $DAEMON echo "." This is optional but ;; reload|force-reload) recommended, because the echo -n "Reloading $DESC configuration..." ISPConfig monitor tries to show start-stop-daemon --stop --signal HUP --quiet the fail2ban log: --exec $DAEMON echo "done." aptitude install fail2ban ;; full circle magazine #33 contents ^
  • 19. MY STORY Linux, Ubuntu & FOSS In Education M uch like any change experiences with open source and, sure enough, the errors larger Linux deployment could in public education, and Linux began with a and crashes disappeared. I not occur at that time, we the decision to Washington Post article on struck gold! We eventually explored other applications for study a migration Firefox in December, 2004. Up added Firefox to all the school's deployment. Audacity to more open-source until that point, my frustration computers. Our school-based continued to receive heavy use applications and Linux occurs with Internet Explorer grew and technician shared some other for creating podcasts. We very slowly. With all the legacy grew with each new Web applications with me, and dabbled with Gimp for graphic applications a school uses application my school pointed me toward Linux as a design. We also deployed designed for one browser (IE6), purchased. At that time, I replacement operating system. applications on the network or one operating system worked as a technology I targeted an ancient desktop, side for monitoring servers and (Windows), inflexible facilitator in one school, poised to make the next trip to bandwidth, but that was the applications for state and assisting teachers to integrate the warehouse, and limit then. federal reporting paint us into technology into their reformatted it to run Edubuntu. a corner where we either classrooms. IE just never Wow! It worked, and actually After a role at the state submit to the application of worked - between the Active X ran applications smoothly, level, and seeing more choice, or rebel and receive no errors and the consistent whereas, when running examples of school systems support for running said crashes. As a K-5 school, the Windows, the desktop bogged exploring open source and applications. While the interest trend of Web-based down even when running only Linux, I wanted to transition and passion of open source applications for student one application. When into a district that actively does grip many educators, tutorials just reformatted under looked at the innovation these obstacles do take time, began, and Edubuntu, I could possible with these tools. One but, with patience, we are many of the use Open Office, district in particular continued beginning to see a trend to applications Gimp, and more to explore various applications, more school systems exploring struggled in applications at and I sought out that open-source. In spite of these the IE the same time opportunity. As I became a challenges, Linux and open environment with little director in this school system source is alive and gaining . After that performance of 14 schools, I wanted to support in K-12 education. article, we issues. While I continue to utilize their existing decided to knew the tools and investigate more As a lifetime educator, deploy challenge to uses. Some additional starting as a classroom Firefox in one even begin innovations did not receive the teacher, my personal school lab, exploring a road blocks that can occur in full circle magazine #33 contents ^
  • 20. MY STORY - LINUX, UBUNTU & FOSS IN EDUCATION other districts. For instance, we etc.) - and settled on many open-source tools. While source and Linux, and many of opened a new elementary WordPress, installed on a in no way satisfied with the us in the field will continue to school stocked with 150 Ubuntu server. Our solution to progress, our district definitely make a strong case for them. If eeePCs running Xandros Linux course-management systems built a strong foundation with you want to help spread Linux this year. While I will not say came to the same conclusion: which we can continue to seek and open-source in public we did this without obstacles, abandoning the proprietary out solutions to our problems, education, target principals all my staff realized the Blackboard CMS in favor of solutions that will provide us and superintendents. Chances potential for using these tools, Moodle. Both of these tools with the flexibility, and are, most Technology Directors, so we worked to solve the allowed us sometimes CIOs, and CTOs, know about issues of network printers, the scalability, the benefits. Many of our wireless access, and network freedom to that will schools' principals and storage in a Windows tailor our allow superintendents probably do environment. Students teacher and growth to not. Start a dialogue with benefited from utilizing laptops student continue them, and ask them how they in a pseudo-1:1 environment, needs in throughout are utilizing open source for and became adept at using an ways that the years. cost savings and adaptability. If alternate operating system. proprietary you receive puzzled looks, you Other schools jumped on tools did While know where to begin! board, and we moved toward not. We add public the Dell Mini-9, 10, and 12 modules to education netbooks running Ubuntu Moodle to often shows exclusively. After struggling allow tight integration with up late to the party, many in with the Dell distro, we did other tools, such as an e- education now see open move to Ubuntu Netbook portfolio tool. With WordPress, source, Linux, and Ubuntu as Remix, and we continue to see custom add-ons allow teachers viable and necessary to their more of our schools purchasing functionality that replaces their futures. Besides the cost these for their classrooms. We antiquated HTML-inspired Web savings, finding applications continue to utilize open-source pages. that they can tailor to specific is first a proud papa to his four- and two-year-old girls. He applications more often now as needs, beyond what can be also serves as the Director of well. When confronted with the Now, at the end of another done with proprietary software, Technology of a school system in increasing desire of blogging year, we take a brief pause to means a great deal, and will North Carolina. His free time is by classroom teachers, we reflect on the past-year's force them to move from spent following the Carolina Hurricanes, maintaining K-12 looked for a tool we could host successes. One cannot help traditional practices to utilize Open-Source Classroom and manage as opposed to the smiling at having overcome the these advantages. While a total (www.k12opensourceclassroom.o commercial/proprietary obstacles and seeing the move may never occur, more rg), and training for marathons. products (Blogger, Edublogs, successful deployment of so and more are moving to open full circle magazine #33 contents ^
  • 21. MY STORY Why I Use Linux T he first computer I was cooking. I upgraded MS- Then it happened... Linux, and decided to give it a used was a Televideo DOS at every opportunity, and somewhere, somehow, I try from the CD-ROM. I was 802 running CP/M on a jumped on Windows for discovered something called hooked. Everything worked. Z80 chip - with two Workgroups with both feet. I Linux. I don't remember if it After years of being a tinkerer, 5.25-inch, single-sided, floppy- read all the magazines, was Slackware or Mandrake or all I really want today is simple, disk drives, and 32K or 64K of tweaked, upgraded and Suse or Redhat. I do know I stable and clean. I installed RAM. Except for an industry reformatted with abandon. I tried every flavor on the old Ubuntu 7.04 64-bit to dual-boot specific program, the only tried DESKview and PCTools. I 486 and on the ThinkPad - until with Vista. I never looked back. application was WordStar. The bought and proudly registered the memory and disk space I recently moved to 9.04 on the next computer was an IBM PC, all my software, and had a requirements exceeded what entire disk. I can do everything followed by a Televideo bookcase of manuals. I even was left. I want to do with speed and Portable the size of a Netscaped elegance. And regardless of Samsonite. All these were text- my way When the popular opinion, I did not have based with green screens. My onto the ThinkPad finally to become an engineer to first exposure to a GUI was Internet wore out, I make things work. Any help Tandy's Deskmate. Then, with my bought my I've needed or any questions finally, came Windows on a CompuS current Acer I've had have been quickly Tandy 2500 with VGA. We also erve Notebook with resolved by generally had SCO Unix and some dumb account Vista installed. respectful and enthusiastic terminals for word processing . When While I have users like myself. Truly a with Microsoft Word and Real I took always community. The more I learn, World Accounting, and then a new been an the more I like. I have become Novell 2. These were all job that required admirer an advocate as well as a user. company owned machines. me to travel, I of Bill My next computer... Linux for couldn't wait to get Gates, sure and maybe that monster I My first personal machine to CompUSA to pick and never always wanted to build when I was a mail-order box, from out my ThinkPad with Windows personally had any big was a tinkerer. some long-gone builder, with 95 with a free upgrade to the problems with Microsoft an Intel 486DX33, 4MB RAM, a soon-to-be-released Windows Windows or the applications, 260MB HDD, 1MB Video, and a 98. I desktop published, I Vista forced me over the edge. 2400-baud modem, plus a 15- databased, I accounted, I It just didn't work very well for inch .28 SVGA Color Monitor. I spreadsheeted and emailed. me. I had read about Ubuntu full circle magazine #33 contents ^
  • 22. ADVERTISEMENT Ubuntu User is the first print magazine created specifically for Ubuntu users. Ease into Ubuntu with the helpful Discovery Guide included in each issue, or advance your skills with in-depth technical articles, HOW-TOs, reviews, tutorials, and community reports. r for only 4 issue s p er y ea S $ 39. 95 EUR 29. 90 / U £ 24. 90 / full circle magazine #33 contents ^
  • 23. REVIEW Exaile I would like to present my wrong with imitating a fine extensible through plugins. favorite music player in After I began learning to product? Amarok 1.4 is a great Ubuntu. It's Exaile, a program in Python, I chanced music player, because, despite I'm very happy with Exaile player for GTK+, written in upon Exaile, which is written in its many features, its interface now. It runs well without Python. It incorporates Python. I noticed that it is remains simple and intuitive. problems. Although the automatic fetching of album similar to Amarok and looks Even first-time users will be number of its plugins is tiny art, lyrics fetching, artist/album better on the Ubuntu Desktop. able to use it adequately. compared to Amarok, I don't information via Wikipedia, It also starts faster than care, because I use only a few. support for many portable Amarok, because it doesn't Since Amarok2 was media players including iPods, need the KDE libs. released, many users haven't Exaile is in active internet radio such as let go of the old Amarok player, development. Recently, Exaile shoutcast, and tabbed Exaile has an interface like because its interface is more was rewritten from the ground playlists. I would like to tell you Amarok 1.4, so some people intuitive. Exaile also has an up for release 0.3.0. This how I came to this player. say it's just a clone of the great intuitive, relatively minimalistic should make development of Amarok player. But what's interface, but this is greatly future versions much easier. When I initially used Ubuntu Because its system (Gutsy Gibson, 7.10), I requirements are low, it has immediately disliked been the default player in Rhythmbox - the standard Xubuntu since release 9.10. Gnome player. Its interface and configuration didn't appeal to If you are running Ubuntu, me. Then I read something and want a cool way to play about a popular player called and manage your music Amarok, and installed it. collection, you might want to Although it didn't fit well into give Exaile a try. You'll find the Gnome desktop, I liked it. I Exaile in the Ubuntu software subsequently replaced the repository, and you can get the unsuitable blue icons with newest version with the Gnome Icons, which I found on developers' PPA. In my opinion, gnome-look.org. Then I was Exaile is a top-notch audio very happy with the music player. player. full circle magazine #33 contents ^
  • 24. MOTU INTERVIEW Didier Roche little before the release of Ubuntu, as a October 2004, known now as derivative Ubuntu. After testing it, I loved distribution of it. I have stuck with it, and I Debian, benefits love the GNOME environment. from the huge documentations of When did you get involved with both distributions. the MOTU team, and how? I was also part of Age: 25 the mentoring Location: Paris/France Last July, during the RMLL program, and I IRC Nick: didrocks (Libre Software Meeting in asked my mentor, France), I spoke with Andrea Colangelo How long have you used Linux Christophe Sauthier (huats) (warp10), a lot of and what was your first distro? and he told me he was making questions. High- some packages for Ubuntu. He five to him! When other/more them, you can discover a new I started using Linux with Red presented the process, and detailed explanations were thing/concept every day. How Hat 6 in 1999. I have been a then I decided to start learning needed, I jumped to #ubuntu- exciting it is to see how far regular Linux user since the how to package. motu or other Ubuntu GNU/Linux is today! arrival of KDE-based Mandrake channels. Nobody can know 7. I used Mandrake until What helped you learn everything, and that’s where Any advice for people wanting release 9.0, and then I decided packaging and how Ubuntu the team is fantastic: you will to help out MOTU? to try Debian. I was truly teams work? always find someone who will satisfied with it, despite the be able to help you. Do not hesitate to jump in! No long configuration time needed Read, read documentation! I've programming skills are for a working environment (this never ceased to read What’s your favorite part of required. Everyone can make is no longer the case). documentation, starting from working with the MOTU? Ubuntu better, and that’s a the great resource on Ubuntu great opportunity. You can read How long have you been using wiki. Now that I have finished My favorite part is, without any https://wiki.ubuntu.com/MOTU/ Ubuntu? the “how to secure Debian” contest, interaction with GettingStarted, and and the “Debian reference others. You will find great https://wiki.ubuntu.com/Ubuntu I was seeking an easy to use guide”, I am getting into the people - a big bunch of helpful DeveloperWeek (the first and install Linux distribution. I “Debian FAQ”, just for fun! and talented developers. With session is available through 5 found the “no-name-yet” just a full circle magazine #33 contents ^
  • 25. MOTU INTERVIEW: DIDIER ROCHE languages!). Sign up for the jams in Toulouse and in Paris. mentor process if you prefer to We will participate in 3 events have a mentor guide you in France this month, one of through your MOTU journey! which is Solutions Linux. Are you involved with any local What are you going to focus on Linux/Ubuntu groups? in Jaunty and Jaunty+1? Yes! I am involved in the French I will still help in the GNOME non-governmental Ubuntu-fr desktop area with the desktop loco team - as a member of the team. People from other administration, and a part of countries, please come in! It the chair (the secretary). seems to be a French place Within this, I participate in the there! I will also try to dedicate French Ubuntu Party as a core some time to gchildcare, which organizer, and go to various will be a simple, user-friendly, French FOSS meetings to secure, parental, child- promote Ubuntu. I also have protection software application. some relations with the press. The last events we organized were the Ubuntu Global Bug full circle magazine #33 contents ^
  • 26. LETTERS letters@fullcirclemagazine.org PLEASE NOTE: some letters may be edited for space reasons. Mounting Problems LETTER OF THE MONTH I n the hope that this may The Universe of Sound article help some of the poor (FCM#31) mentions that there is a hapless people who have "record" button in Exaile, which allows the recording of a radio song. had USB drive mounting This does not seem to exist on my problems and are on the point machine running Ubuntu 9.10 with of doing irreparable harm to Exaile 0.3.0.1. their computers or themselves I offer what I hope to be some comfort. Fernando replies: I have two laptops, one is an updated Jaunty to Karmic system and the other is a new system. I have had little or no problems with the upgraded system, but the new fresh install will not mount a USB drive properly. The drive is seen by the system. When fdisk -l was run in a terminal, I could see the drive correctly identified as sdb1. However, the system made no attempt to finish the automount by placing a drive icon on the desktop or . opening a Nautilus window. After Googling I was no further forward other than to see that a lot of other users were having the same issue. full circle magazine #33 contents ^