You are on page 1of 47

Full Circle

THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY

ISSUE #48 - April 2011


LINUX LABS
SWAPPINESS - PT. 1

REMASTERSYS YOUR MACHINE


CREATE YOUR OWN PERSONAL UBUNTU LIVE CD
full circle magazine #48 1 contents ^
full circle magazine is neither affiliated with, nor endorsed by, Canonical Ltd.
Linux News p.04
Full Circle
THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY
Ubuntu Women p.37

Program In Python Pt22 p.07 Ubuntu Games p.39

Write For Full Circle p.24 Linux Lab p.25


Guidelines for submitting an Robin Catling explains swap
article to Full Circle. We rely files in this the first of two
LibreOffice Pt3 p.16 on reader submissions so articles about swappiness. Command & Conquer p.05
please write!

Finding Ebooks p.19 Review - Remastersys p.31 Letters p.35 Top 5 p.44

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 is entirely independent of Canonical, the sponsor of the Ubuntu projects, and the views and opinions in the
magazine should in no way be assumed to full circle
have magazineendorsement.
Canonical #48 2 contents ^
EDITORIAL
This magazine was created using :

Welcome to another issue of Full Circle!

T
here are several notable things happening this month. First, and most important, is that
we're four! Each April issue marks another milestone in the history of FCM, and this is
now the fourth year of FCM. As I do every year (and hopefully every month), I want to
thank all the people who help me put together FCM each month. You'll find their names
at the end of this (and every) issue of FCM. Another important thing this month is 11.04. I'm sure,
by the time you read this, many of you will have upgraded to Natty Narwhal. The last major thing
of note, which you can read more about in the Linux News page, is that Canonical have announced
the end of ShipIt. This means that people won't be able to request a free Ubuntu CD. I'm sure most
of the world has broadband Internet, but I know many of our readers do not. I hope the removal of
ShipIt doesn't stop people from getting Ubuntu. Full Circle Podcast
Released every two weeks, each
Since it's our fourth birthday, I've added a fourth HowTo article about developing a circuit using episode covers all the latest
Ubuntu news, opinions, reviews,
the Arduino board. I'm hoping that, from this issue onwards, I can keep four HowTo's each month.
interviews and listener feedback.
Daniel Holbach has kindly offered to write a series of articles on developing for Ubuntu. The first The Side-Pod is a new addition,
article describes the development process of Ubuntu itself, and then moves on, in later parts, to it's an extra (irregular) short-form
how you can help develop Ubuntu with fixes and bug reports. It's very insightful, and it'll start next podcast which is intended to be a
branch of the main podcast. It's
month. This month, however, we have more Python, the third piece on LibreOffice, and a piece on
somewhere to put all the general
finding ebooks for free. If you're fed up with reinstalling Ubuntu, putting your desktop back to the technology and non-Ubuntu stuff
way you like it, and reinstalling all your applications, then you might want to take a look at that doesn’t fit in the main
Art's review (and HowTo, all in one handy dandy article) of Remastersys. It lets you take a podcast.
new Ubuntu install, and remaster it to become your own customized Live CD.
Hosts:
Robin Catling
I hope you enjoy the issue, and I'll see you all next month. Ed Hewitt
Dave Wilkins
All the best, and keep in touch.
http://fullcirclemagazine.org
Ronnie
ronnie@fullcirclemagazine.org

full circle magazine #48 3 contents ^


LINUX NEWS


ShipIt comes to an end C64 Returns!


GNOME 3 Released!

C
anonical has announced It's back... and better than ever! The new Commodore 64 is a GNOME 3 was released on
the end of the ShipIt modern functional PC as close to the original in design as humanly 6th April 2011. If you want to try it,
program. As Gerry Carr possible. It houses a modern mini-ITX PC motherboard featuring a Dual you can run a live version from a
CD/DVD or USB stick.
explained on the Core 525 Atom processor and the latest nVidia ION2 graphics chipset. It

“ “
Canonical blog: comes in the original taupe brown/beige color, with other colors to follow. The 'live version' comes in both
OpenSUSE and Fedora versions. No
It’s with some regret that we Commodore OS 1.0, along with emulation functionality and classic Ubuntu download though as
are announcing the end of the ShipIt game package, will be Ubuntu, from 11.04, will come with
Programme and the CD distributor mailed to purchasers when its own Unity interface.
programme. When we started ShipIt available. In the meantime,
Source: http://gnome3.org/
in 2005 broadband was still a units come with the Ubuntu
marketing promise even in the most 10.04 LTS operating system
connected parts of the most on CD ready to install.
developed nations. We knew that
this represented a significant Source: commodoreusa.net
stumbling block to the adoption of a
new technology like Ubuntu. So we
invested in making the CDs free and
Full Circle Notifier
freely delivered to anywhere in the
world [...] but for Ubuntu 11.04 you Our very own Full Circle Notifier is now at 1.0.2. FCN is a small
will no longer be able to go to our application that sits in your system tray and will not only announce
website and apply for a free CD. issue/podcast releases, and can be set to automatically download
them for you too! Several
We are going to make large numbers people have created
of CDs available to the Ubuntu Local packages of FCN and
Communities (LoCos) through a translations are starting.
shipIt-lite program. For more info, see the
FCN Google Group:
Source: http://blog.canonical.com http://goo.gl/4Ob4

full circle magazine #48 4 contents ^


COMMAND & CONQUER
Written by Lucas Westermann
Asian Language Support

T
his month, I felt I would and katakana easily, so I decided to packages offering applets,
share with you something take a suggestion from a friend of different dictionaries, and utilities, export QT_IM_MODULE="uim"
I just recently learned mine and tried out uim. that may be of interest to some
about. The topics I'll be Surprisingly, uim doesn't block my people. Once you've set these
covering apply only to those dead keys in rxvt-unicode, and variables, you should run the
readers who either use iBus/SCIM allows easy switching between Once you've installed it, following in a terminal:
and aren't happy with it, or who hiragana and katakana. Below is running uim-toolbar-gtk-systray
how I configured it for use. will give you a system tray icon. gtk-query-immodules-2.0 >
have it running and are happy with /etc/gtk-2.0/gtk.immodules
it - but whose Right-click on it and choose
Japanese/Chinese/etc. doesn't uim & uim-fep: preferences. Here, I would adjust
This will re-create the
appear in a legible font in rxvt- the list of enabled input languages
gtk.immodules file, which specifies
unicode. Also, I'd like to take a From the homepage to only the ones you need, and
to GTK programs which Input
moment to announce that next (http://code.google.com/p/uim/): adjust the global key bindings to
Method types are available.
month I hope to do a question and “uim's goal is to provide simple, your preferences. If you find that
answer session for C&C readers. If easily extensible and high code- the system tray icon is practically
Uim-fep is a Front-End
you have questions about Linux in quality input method development invisible, it's because too much
Processor for terminal emulators.
general, the command-line, or me platform, and useful input method information is being displayed in
Basically, it allows you to type
as an author, feel free to send your environment for users of desktop the one “icon” width. To adjust
Japanese in a terminal emulator
questions to lswest34@gmail.com and embedded platforms. See this, open the preferences, and,
(rxvt-unicode in my case), without
before the 28th of April. I will be what's uim? for further under “Toolbar”, uncheck
relying on uim-xim (which is a bit
selecting a bunch of questions to information.” everything, and set the enabled
of a resource hog). In order to get
answer next month. Requests for toolbar buttons per language that
it working, you'll need to add uim-
articles are also welcome. First, you'll need to install it: you use to just “Input Mode”. This
fep to the end of your .bashrc, or
will reduce it to one icon - making
your .zshrc, or whatever shell
As some of you probably know, sudo apt-get install uim uim- it readable again. Also, in order to
you’re using. If you get a warning
I wrote an article on iBus in issue gtk2.0 uim-qt uim-qt3 uim- get it working, you'll need to add
fep uim-anthy that uim-fep is already running,
#43 of FCM. I hadn't used iBus the following to /etc/profile (or
you can add “clear” (without the
since I was comfortable with SCIM. .bashrc, or .zshrc):
This should cover uim support quotes) after it, so that it hides the
However, an update recently message. Once it's running, you'll
disabled SCIM, and so I tried iBus. for terminals, QT applications, and export XMODIFIERS=@im=uim
GTK applications using anthy. have a line at the end of your
What really got me was that I terminal that looks something like
There are a number of other export GTK_IM_MODULE="uim"
couldn't switch between hiragana
full circle magazine #48 5 contents ^
COMMAND & CONQUER
this: expect Japanese input from uim.
The fonts are actually a list of two, WM_CLASS(STRING) = "urxvt",
as you can see. Anonymous Pro is "URxvt"
the terminal font I use for
everything, but if rxvt-unicode Now you should have a fully
Using the global shortcut for can't find the symbols for functional uim setup, and
uim will result in the icon at the something in that font, it will shouldn't have had to compromise
end changing to the input method, move on to the next one in the list any functionality in your terminal
and allows you to type Japanese in- (or a fallback font if there is no either. If you have any suggestions,
line in the terminal. such symbol in any font listed). or requests for articles, feel free
This allows you to have support for to email me at
multiple languages without lswest34@gmail.com. Also, don't
Rxvt-unicode: forget your questions! I will need
compromising the readability of
Latin symbols. Also, you may see the questions sent in before the
In case you have the problem 28th of April!
that your Japanese is nearly some people using urxvt.* instead
unreadable in rxvt-unicode (this of URxvt.* - which can be
may apply to other terminal problematic if you set the name of
emulators as well, but I haven't your terminal from a shortcut (i.e.
tested it), then you can add the urxvt -name ncmpcpp -e ncmpcpp).
following to your .Xdefaults: The first section of these
preferences tells the system that
URxvt.preeditType: the WM_CLASS of the program is
OnTheSpot,None that we want to affect, and the
lowercase “urxvt” is the first of the
URxvt.imLocale: ja_JP.UTF-8
list, which is set using the -name
URxvt.font: xft:Anonymous argument. If, instead, you use
Pro:size=11:antialias=true:au “URxvt”, then it will not change
tohint=false,xft:IPAGothic:si depending on the -name switch. To
ze=11:antialias=true
see what I mean, enter the
URxvt.boldFont: xft:Anonymous following command into a
Pro:size=11:weight=Bold:antia terminal, and click on rxvt-unicode. Lucas has learned all he knows from
lias=true:autohint=false,xft:
repeatedly breaking his system, then
IPAGothic:size=11:weight=Bold xprop|grep "^WM_CLASS" having no other option but to
:antialias=true
discover how to fix it. You can email
Which gives you something like Lucas at: lswest34@gmail.com.
This, basically, tells urxvt to
this:
full circle magazine #48 6 contents ^
HOW-TO
Written by Greg Walters
Program In Python - Part 22
including the full path. There's
Correction also an extension that can be #!/usr/bin/env python
import sys
added before each entry that from mutagen.mp3 import MP3
Last month, in part 21, you includes the length of the song, try:
were told to save what you the album name the song comes import pygtk
pygtk.require("2.0")
have as "PlaylistMaker.glade", from, the track number, and the except:
but, in the code, it was referred song name. We'll bypass the pass
try:
to as: "playlistmaker.glade". I’m extension for now and just import gtk
sure you noticed that one has concentrate on the basic version. import gtk.glade
capitals and the other does not. except:
sys.exit(1)
The code will run only if you use Here is an example of a M3U
both the call and file name playlist file.. next the class definition
with, or both without, the . class PlayListCreator:
#EXTM3U def __init__(self):
capitals.
Adult Contemporary/Chris self.gladefile = "playlistmaker.glade"
Rea/Collection/02 - On The self.wTree = gtk.glade.XML(self.gladefile,"MainWindow")

T
Beach.mp3
o start off on the right Adult Contemporary/Chris and the main routine
Rea/Collection/07 - Fool (If if __name__ == "__main__":
foot, you need to have You Think It's Over).mp3 plc = PlayListCreator()
the playlistmaker.glade Adult Contemporary/Chris gtk.main()
and playlistmaker.py from Rea/Collection/11 - Looking
For The Summer.mp3 Next, we have our dictionary which should go after the __init__ routine.
last month. If you don't, jump over def SetEventDictionary(self):
to the last issue and get the dict = {"on_MainWindow_destroy": gtk.main_quit,
goodies. Before we get to the All path names are relative to the "on_tbtnQuit_clicked": gtk.main_quit,

code, let's take a look at what a location of the playlist file. "on_tbtnAdd_clicked": self.on_tbtnAdd_clicked,
"on_tbtnDelete_clicked": self.on_tbtnDelete_clicked,
playlist file is. There are multiple "on_tbtnClearAll_clicked": self.on_tbtnClearAll_clicked,
versions of play lists, and they all OK...now let's get to coding. "on_tbtnMoveToTop_clicked": self.on_tbtnMoveToTop_clicked,
"on_tbtnMoveUp_clicked": self.on_tbtnMoveUp_clicked,
have different extensions. The one Shown right is the opening of the "on_tbtnMoveDown_clicked": self.on_tbtnMoveDown_clicked,
we will be creating will be a *.m3u source code from last month. "on_tbtnMoveToBottom_clicked": self.on_tbtnMoveToBottom_clicked,
"on_tbtnAbout_clicked": self.on_tbtnAbout_clicked,
type playlist. In its simplest form, "on_btnGetFolder_clicked": self.on_btnGetFolder_clicked,
Now, we need to create an event
it's just a text file that starts with "on_btnSavePlaylist_clicked": self.on_btnSavePlaylist_clicked}
handler routine for each of our self.wTree.signal_autoconnect(dict)
“#EXTM3U”, and then has an entry
events that we have set up. Notice
for each song file you want to play -
that on_MainWindow_destroy and
full circle magazine #48 7 contents ^
PROGRAM IN PYTHON - PART 22
on_tbtnQuit_clicked are already
def on_tbtnAdd_clicked(self,widget):
done for us, so we need to have Now, we will create a function that pass
only 10 more (shown top right). allows us to display a popup dialog def on_tbtnDelete_clicked(self,widget):
Just make stubs for now. box whenever we need to give pass
def on_tbtnClearAll_clicked(self,widget):
some information to our user. pass
We'll modify these stubbed There is a built-in set of routines def on_tbtnMoveToTop_clicked(self,widget):
routines in a few minutes. For now, that we will use, but we'll make a pass
this should get us up and running routine of our own to make it def on_tbtnMoveUp_clicked(self,widget):
pass
with an application, and we can easier for us. It is the def on_tbtnMoveDown_clicked(self,widget):
test things as we go. But, we need gtk.MessageDialog routine, and pass
to add one more line to the the syntax is as follows... def on_tbtnMoveToBottom_clicked(self,widget):
__init__ routine before we can run pass
def on_tbtnAbout_clicked(self,widget):
the app. After the self.wTree line, gtk.MessageDialog(parent,flag
s,MessageType,Buttons,message pass
add... def on_btnGetFolder_clicked(self,widget):
)
pass
self.SetEventDictionary() def on_btnSavePlaylist_clicked(self,widget):
Some discussion is needed before pass
Now, you can run the application, we go too much further. The
see the window, and click the Quit message type can be one of the Cancel button than once or twice, that's a LOT of
toolbar button to exit the following... GTK_BUTTONS_YES_NO - Yes and typing. The general rule of thumb
application properly. Save the No buttons
GTK_MESSAGE_INFO - GTK_BUTTONS_OK_CANCEL - OK is that if you write a series of lines-
code as "playlistmaker-1a.py" and Informational message and Cancel Buttons of-code more than once or twice,
give it a try. Remember to save it GTK_MESSAGE_WARNING - it's usually better to create a
in the same folder as the glade file Nonfatal warning message
Normally, you would use the function and then call that. Think
we created last time, or copy the GTK_MESSAGE_QUESTION -
Question requiring a choice following code , or similar, to of it this way: If we want to display
glade file into the folder you saved GTK_MESSAGE_ERROR - Fatal create the dialog, display it, wait a message dialog to the user, say
this code in. error message for a response, and then destroy it. ten times in your application,
that's 10 X 3 (or 30) lines of code.
We also need to define a few And the button types are... dlg = By making a function to do this for
variables for future use. Add these gtk.MessageDialog(None,0,gtk. us (using the example I just
after the SetEventDictionary call in GTK_BUTTONS_NONE - no MESSAGE_INFO,gtk.BUTTONS_OK,"
This is a test message...") presented), we would have 10 + 3
the __init__ function. buttons at all
GTK_BUTTONS_OK - an OK response = dlg.run() (or 13) lines of code to write. The
button dlg.destroy() more we call a dialog, the less
self.CurrentPath = "" GTK_BUTTONS_CLOSE - a Close
self.CurrentRow = 0 code we actually have to type, and
button However, if you want to display a the more readable our code is. Our
self.RowCount = 0 GTK_BUTTONS_CANCEL - a
message box to the user more
full circle magazine #48 8 contents ^
PROGRAM IN PYTHON - PART 22
function (top right) will allow us to
call any of the four message dialog def MessageBox(self,level,text):
if level == "info":
types with just one routine using dlg = gtk.MessageDialog(None,0,gtk.MESSAGE_INFO,gtk.BUTTONS_OK,text)
different parameters. elif level == "warning":
dlg = gtk.MessageDialog(None,0,gtk.MESSAGE_WARNING,gtk.BUTTONS_OK,text)
This is a very simple function that elif level == "error":
dlg = gtk.MessageDialog(None,0,gtk.MESSAGE_ERROR,gtk.BUTTONS_OK,text)
we would then call like this... elif level == "question":
dlg = gtk.MessageDialog(None,0,gtk.MESSAGE_QUESTION,gtk.BUTTONS_YES_NO,text)
self.MessageBox("info","The if level == "question":
button QUIT was clicked") resp = dlg.run()
dlg.destroy()
Notice that if we choose to use the return resp
else:
MESSAGE_QUESTION type of resp = dlg.run()
dialog, there are two possible dlg.destroy()
responses that will be returned by
now, replace the
the message dialog - a "Yes" or a
"pass" call in each of def on_tbtnAdd_clicked(self,widget):
"No". Whichever button the user
our event handler self.MessageBox("info","Button Add was clicked...")
clicks, we will receive the def on_tbtnDelete_clicked(self,widget):
routines with
information back in our code. To self.MessageBox("info","Button Delete was clicked...")
something like that def on_tbtnClearAll_clicked(self,widget):
use the question dialog, the call
shown below right. self.MessageBox("info","Button ClearAll was clicked...")
would be something like this...
def on_tbtnMoveToTop_clicked(self,widget):
We won't keep it like self.MessageBox("info","Button MoveToTop was clicked...")
response = def on_tbtnMoveUp_clicked(self,widget):
self.MessageBox("question","A this, but this gives you self.MessageBox("info","Button MoveUp was clicked...")
re you sure you want to do a visual indication that def on_tbtnMoveDown_clicked(self,widget):
this now?") the buttons work the self.MessageBox("info","Button MoveDown was clicked...")
way we want. Save the def on_tbtnMoveToBottom_clicked(self,widget):
if response == self.MessageBox("info","Button MoveToBottom was clicked...")
gtk.RESPONSE_YES: code now as def on_tbtnAbout_clicked(self,widget):
"playlistmaker-1b.py", self.MessageBox("info","Button About was clicked...")
print "Yes was clicked" and test your def on_btnGetFolder_clicked(self,widget):
program. Now we are self.MessageBox("info","Button GetFolder was clicked...")
elif response == def on_btnSavePlaylist_clicked(self,widget):
gtk.RESPONSE_NO: going to create a self.MessageBox("info","Button SavePlaylist was clicked...")
function to set our
print "NO was clicked" widget references. code much more manageable and reference the widgets in our glade
This routine is going to be called readable. Basically, we want to window - so we can make calls to
You can see how you can check the only once, but it will make our create local variables that them whenever (if ever) we need
value of the button returned. So
full circle magazine #48 9 contents ^
PROGRAM IN PYTHON - PART 22
to. Put this function (above right)
below the SetEventDictionary def SetWidgetReferences(self):
self.txtFilename = self.wTree.get_widget("txtFilename")
function. self.txtPath = self.wTree.get_widget("txtPath")
self.tbtnAdd = self.wTree.get_widget("tbtnAdd")
Please notice that there is one self.tbtnDelete = self.wTree.get_widget("tbtnDelete")
thing that isn't referenced in our self.tbtnClearAll = self.wTree.get_widget("tbtnClearAll")
self.tbtnQuit = self.wTree.get_widget("tbtnQuit")
routine. That would be the self.tbtnAbout = self.wTree.get_widget("tbtnAbout")
treeview widget. We'll make that self.tbtnMoveToTop = self.wTree.get_widget("tbtnMoveToTop")
reference when we set up the self.tbtnMoveUp = self.wTree.get_widget("tbtnMoveUp")
treeview itself. Also of note is the self.tbtnMoveDown = self.wTree.get_widget("tbtnMoveDown")
self.tbtnMoveToBottom = self.wTree.get_widget("tbtnMoveToBottom")
last line of our routine. In order to self.btnGetFolder = self.wTree.get_widget("btnGetFolder")
use the status bar, we need to self.btnSavePlaylist = self.wTree.get_widget("btnSavePlaylist")
refer to it by its context id. We'll self.sbar = self.wTree.get_widget("statusbar1")
be using this later on. self.context_id = self.sbar.get_context_id("Statusbar")

and then add a call to it right after the self.SetEventDictionary() call in the __init__ function.
Next, let's set up the function that
displays the “about” dialog when self.SetWidgetReferences()
we click the About toolbar button.
Again, there is a built-in routine to Before we go on, we need to
do this provided by the GTK discuss exactly what will def ShowAbout(self):
library. Put this after the happen from here. The about = gtk.AboutDialog()
MessageBox function. Here's the general idea is that the user about.set_program_name("Playlist Maker")
code, below right. about.set_version("1.0")
will click on the "Add" about.set_copyright("(c) 2011 by Greg Walters")
toolbar button, we'll pop up about.set_comments("Written for Full Circle Magazine")
Save your code and then give it a a file dialog box to allow about.set_website("http://thedesignatedgeek.com")
try. You should see a pop-up box, them to add files to the about.run()
centered in our application, that about.destroy()
playlist, and then display the
displays everything we have set. file information into our
There are more attributes that you Now, comment out (or simply remove) the messagebox call in the
treeview widget. From on_tbtnAbout_clicked routine, and replace it with a call to the ShowAbout
can set for the about box (which there, they can add more
can be found at function. Make it look like this.
files, delete single file
http://www.pygtk.org/docs/pygtk/ entries, delete all file def on_tbtnAbout_clicked(self,widget):
class-gtkaboutdialog.html), but entries, move a file entry up, #self.MessageBox("info","Button About was clicked...")
these are what I would consider a down, or to the top or down self.ShowAbout()
minimum set. to the bottom of the

full circle magazine #48 10 contents ^


PROGRAM IN PYTHON - PART 22
treeview. Eventually, they'll set now, we'll deal with just
the path that the file will be saved three. def SetupTreeview(self):
self.cFName = 0
to, provide a filename with a self.cFType = 1
"m3u" extension, and click the A treeview is simply a self.cFPath = 2
save file button. While this seems visual storage container self.sFName = "Filename"
simple enough, there's a lot that that holds and displays a self.sFType = "Type"
self.sFPath = "Folder"
happens behind the scenes. The model. The model is the self.treeview = self.wTree.get_widget("treeview1")
magic all happens in the treeview actual "device" that holds self.AddPlaylistColumn(self.sFName,self.cFName)
widget, so let's discuss that. This and manipulates our self.AddPlaylistColumn(self.sFType,self.cFType)
will get pretty deep, so you might data. There are two self.AddPlaylistColumn(self.sFPath,self.cFPath)
self.playList = gtk.ListStore(str,str,str)
want to read carefully, since an different pre-defined self.treeview.set_model(self.playList)
understanding of this will keep models that are used self.treeview.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH)
you from making mistakes later on. with a treeview, but you
can certainly create your of renderer the column will use to The variables cFName, cFType and
A treeview can be something as own. That having been said, for display the data. This is simply a cFPath define the column
simple as a columnar list of data 98% of your work, one of the two routine that is used to draw the numbers. The variables sFName,
like a spreadsheet or database pre-defined models will do what data into the tree model. There sFType and sFPath will hold the
representation, or it could be you need. The two types are are many different cell renderers column names in our displayed
more complex like a file-folder GTKListStore and GTKTreeStore. that come with GTK, but most of view. The seventh line sets the
listing with parents and children, As their names suggest, the the ones that you would normally variable reference of the treeview
where the folder would be the ListStore model is usually used for use include GtkCellRenderText and widget as named in our glade file.
parent and the files in that folder lists, the TreeStore is used for GtkCellRendererToggle.
would be the children, or Trees. For our application, we will Next we call a routine (next page,
something even more complex. be using a GTKListStore. So, let's create a function (shown top right), which we'll create in
For this project, we'll use the first The basic steps are: above) that sets up our TreeView just a moment, for each column we
example, a columnar list. In the widget. We'll call it want. Then we define our
list, there will be three columns. • Create a reference to the SetupupTreeview. First we'll GTKListStore with three text
One is for the name of the music TreeView widget. define some variables for our fields, and finally set the model
file, one is for the extension of the • Add the columns. columns, set the variable attribute of our TreeView widget
file (mp3, ogg, wav, etc) and the • Set the type of renderer to use. reference of the TreeView itself, to our GTKListStore. Let's create
final column is for the path. • Create the ListStore. add the columns, set up the the AddPlaylistColumn function
Combining this into a string (path, • Set the model attribute in the ListStore, and set the model. next. Put it after the
filename, extension) gives us the Treeview to our model. Here's the code for the function. SetupTreeview function.
entry into the playlist we will be • Fill in the data. Put it after the
writing. You could, of course, add SetWidgetReferences function. Each column is created with this
more columns as you wish, but for The third step is to set up the type
full circle magazine #48 11 contents ^
PROGRAM IN PYTHON - PART 22
function. We pass in the title of the music
the column (what's displayed on filenames def AddPlaylistColumn(self,title,columnId):
column = gtk.TreeViewColumn(title,gtk.CellRendererText(),text=columnId)
the top line of each column) and a from the user column.set_resizable(True)
columnID. In this case, the and put them column.set_sort_column_id(columnId)
variables we set up earlier into the self.treeview.append_column(column)
(sFName and cFname) will be TreeView as
passed here. We then create a rows of data. We have to create can pull this into a snippet file that be an IF statement
column in our TreeView widget our Delete, ClearAll, movement has all kinds of reusable routines
for later use. if which == 0: # file
giving the title, what kind of cell functions, save routine, and file chooser
renderer it will be using, and, path routines, plus a few "pretty" ...
finally, the id of the column. We things that will make our We'll start by defining a new class else: # folder chooser
then set the column to be application look more called FileDialog which will have ...
resizable, set the sort id, and professional. Let's start with the only one function called
finally append the column into the Add routine. After all, that's the ShowDialog. That function will Before going any further, let's
TreeView. first button on our toolbar. take two parameters, one called explore how the file/folder dialog
When the user clicks the Add 'which' (a '0' or a '1'), that is actually called and used. The
Add these two functions to your button, we want to pop up a designates whether we are syntax of the dialog is as follows
code. I choose to put them right "standard" open-file dialog that creating an open-file or select-
folder dialog, and the other is the gtk.FileChooserDialog(title,p
after the SetWidgetReferences allows for multiple selections. arent,action,buttons,backend)
function, but you can put it Once the user has made their path that should be used for the
anywhere within the selection, we then want to take default view of the dialog called
and returns a dialog object. Our
PlayListCreator class. Add the this data and add it into the CurrentPath. Create this class just
first line (under if which == 0) will
following line after the call to treeview, as I stated above. So the before our main code at the
be the line shown below.
SetWidgetReferences() in the first logical thing to do is work on bottom of the source file.
__init__ function to call the the File Dialog. Again, GTK class FileDialog: As you can see, the title is "Select
function. provides us a way to call a files to add...", the parent is set to
"standard" file dialog in code. We def
None. We are requesting a File
self.SetupTreeview() could hard code this as just lines in ShowDialog(self,which,Current Open type dialog (action), and we
Path):
the on_tbtnAdd_clicked event want a Cancel and an Open button,
Save and run your program, and handler, but let's make a separate
The first part of our code should both using "stock" type icons. We
you will see that we now have class to handle this. While we are
three columns with headers in our at it, we can make this class
TreeView widget. handle not only a file OPEN dialog = gtk.FileChooserDialog("Select files to add...",None,
dialog, but a folder SELECT gtk.FILE_CHOOSER_ACTION_OPEN,
There are so many things left to (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
dialog as well. As before with gtk.STOCK_OPEN, gtk.RESPONSE_OK))
do. We have to have a way to get the MessageBox function, you
full circle magazine #48 12 contents ^
PROGRAM IN PYTHON - PART 22
are also setting the return codes broken down by genre, and further
dialog = gtk.FileChooserDialog("Select Save Folder..",None,
of gtk.RESPONSE_CANCEL and by artist, and further by album. gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
gtk.RESPONSE_OK for when the Let's further assume that the user (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
user makes their selections. The has installed our application in gtk.STOCK_OPEN, gtk.RESPONSE_OK))
call for our Folder Chooser under /home/user2/playlistmaker. Each
the Else clause is similar. time we pop up
the dialog, the class FileDialog:
def ShowDialog(self,which,CurrentPath):
Basically, the only thing that starting folder if which == 0: #file chooser
changed between the two would be #gtk.FileChooserDialog(title,parent,action,buttons,backend)
definitions are the title (shown /home/user2/pla dialog = gtk.FileChooserDialog("Select files to add...",None,
above right) and the action type. ylistmaker. gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
So our code for the class should Quickly, the user gtk.STOCK_OPEN, gtk.RESPONSE_OK))
now be the code shown middle would become else: #folder chooser
right. frustrated by dialog = gtk.FileChooserDialog("Select Save Folder..",None,
this, wanting the gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
These set the default response to last folder he gtk.STOCK_OPEN, gtk.RESPONSE_OK))
be the OK button, and then to turn was in to be the
on the multiple select feature so starting folder The next two lines will be (outside of the IF/ELSE statement)...
the user can select (you guessed next time. Make
it) multiple files to add. If we didn't sense? OK. So, dialog.set_default_response(gtk.RESPONSE_OK)
dialog.set_select_multiple(True)
set this, the dialog would only bottom right are
allow one file to be selected at a our next lines of
time, since set_select_multiple is code.
set to False by default. Our next if CurrentPath != "":
lines are setting the current path, Here we check the responses sent dialog.set_current_folder(CurrentPath)
and then displaying the dialog back. If the user clicked the 'Open' response = dialog.run()
itself. Before we type in the code, button which sends back a
let me explain why we want to gtk.RESPONSE_OK, we get the Next, we need to handle the response from the dialog.
deal with the current path. Every name or names of the files the if response == gtk.RESPONSE_OK:
time you pop up a file dialog box, user selected, set the current path fileselection = dialog.get_filenames()
and you DON'T set a path, the to the folder we are in, destroy the CurrentPath = dialog.get_current_folder()
default is to the folder where our dialog, and then return the data dialog.destroy()
return (fileselection,CurrentPath)
application resides. So, let's say back to the calling routine. If, on elif response == gtk.RESPONSE_CANCEL:
that the music files that the user the other hand, the user clicked on print 'Closed, no files selected'
would be looking for are in the 'Cancel' button, we simply dialog.destroy()
/media/music_files/, and are then destroy the dialog. I put the print
full circle magazine #48 13 contents ^
PROGRAM IN PYTHON - PART 22
statement in there just to show somewhere where you have some dialog.add_filter(filter)
you that the button press worked. files and select them. You can hold filter = gtk.FileFilter()
filter.set_name("All files") so our routine now looks like the
You can leave it or take it out. down the [ctrl] key and click on filter.add_pattern("*") code shown on the next page.
Notice that when we return from multiple files to select them dialog.add_filter(filter)
the Open button part of the individually, or the [shift] key to So, when we get the response
routine, we are returning two sets select multiple contiguous files. We are setting up two "groups", back from file dialog, we will send
of values. 'fileselection' is a list of Click on the 'Open' button, and one for music files the list containing the selected
the files selected by the user, as look at the response in your (filter.set_name("Music Files")), files to this routine. Once here, we
well as the CurrentPath. terminal window. Please note that and the other for all files. We use a set up a counter variable (how
if you click on the 'Cancel' button pattern to define the types of files many files we are adding), then
In order to get the routine to do right now, you'll get an error we want. I have defined three parse the list. Remember that each
something, add the following line message. That's because the patterns, but you can add or entry contains the fully qualified
under the on_tbtnAdd_click above code assumes that there are delete any that you wish. I put the filename with path and extension.
routine... no files selected. Don't worry music filter first, since that's what We'll want to split the filename
about that right now - we'll handle we will assume the user is going to into path, filename, and extension.
fd = FileDialog()
that in a little bit. I just wanted to be mainly concerned with. So the First we get the very last 'period'
selectedfiles,self.CurrentPat let you see what comes back if the steps are... from the filename and assume
h = 'Open' button is pressed. One that is the beginning of the
fd.ShowDialog(0,self.CurrentP thing we should do is add a filter • Define a filter variable. extension and assign its position in
ath)
to our file-open dialog. Since we • Set the name. the string to extStart. Next we
expect the user to normally select • Add a pattern. find the very last '/' in the filename
Here we retrieve the two return music files, we should (1) give the • Add the filter to the dialog. to determine the beginning of the
values that are sent from our option to display only music files, filename. Then we break up the
return call. For now, add the and (2) give the option to show all You can have as many or as few string into extension, filename and
following code to see what the files just-in-case. We do this by filters as you wish. Also notice that file path. We then stuff these
information returned will look like. using the filefilter attributes of once you have added the filter to values into a list named 'data' and
for f in selectedfiles: the dialog. Here's the code for the dialog, you can re-use the append this into our playlist
that which should go in the which variable for the filter. ListStore. We increment the
print "User selected %s" == 0 section right after the dialog counter since we have done all the
% f
set line. Back in the on_tbtnAdd_clicked work. Finally we increment the
print "Current path is %s" % routine, comment out the last variable RowCount which holds
filter = gtk.FileFilter()
self.CurrentPath
filter.set_name("Music lines we added and replace them the total number of rows in our
Files") with this one line. ListStore, and then we print a
When you run the program, filter.add_pattern("*.mp3") message to the status bar.
click on the 'Add' button. You'll see filter.add_pattern("*.ogg") self.AddFilesToTreeview(selec
filter.add_pattern("*.wav") tedfiles)
the file dialog. Now move to Now you can run the application
full circle magazine #48 14 contents ^
PROGRAM IN PYTHON - PART 22

EXTRA! EXTRA!
def on_tbtnAdd_clicked(self,widget):
fd = FileDialog()
selectedfiles,self.CurrentPath =
fd.ShowDialog(0,self.CurrentPath)
self.AddFilesToTreeview(selectedfiles)

We now have to create the function that we just put the call to.
Put this function after the on_btnSavePlaylist_clicked routine. READ ALL ABOUT IT!
def AddFilesToTreeview(self,FileList):
counter = 0
for f in FileList:
Full Circle Special
extStart = f.rfind(".") Editions Released On
fnameStart = f.rfind("/")
extension = f[extStart+1:] Unsuspecting World*
fname = f[fnameStart+1:extStart]
fpath = f[:fnameStart]
data = [fname,extension,fpath]
self.playList.append(data)
counter += 1
self.RowCount += counter
self.sbar.push(self.context_id,"%s files added
for a total of %d" % (counter,self.RowCount))
THE PERFECT SERVER
SPECIAL EDITION
and see the data in the TreeView.
This is a special edition of Full
As always, the full code can be Circle that is a direct reprint PYTHON
found at of the Perfect Server articles SPECIAL EDITION #01
http://pastebin.com/JtrhuE71. that were first published in
FCM#31-#34. This is a reprint of Beginning
Next time, we'll finalize our Python Parts 01 – 08 by Greg
application, filling in the missing http://fullcirclemagazine.org/ Walters.
routines, etc. special-edition-1-the-perfect-
Greg Walters is owner of RainyDay server/ http://fullcirclemagazine.org
Solutions, LLC, a consulting company
/python-special-edition-1/
in Aurora, Colorado, and has been
programming since 1972. He enjoys
cooking, hiking, music, and spending
time with his family. * Neither Full Circle magazine, nor its makers, apologize for any hysteria caused in the release of its publications.

full circle magazine #48 15 contents ^


HOW-TO
Written by Elmer Perry
Libre Office - Part 3

I
n my last article, I wrote about click “title”. Your title will center, style. The “title” style is linked
changing the layout of enlarge, and become bold. Now, with the “Heading” style. When
paragraphs to format your let's change the default styling for styles are linked, any changes to
document. While this titles. In the Styles and Formatting the parent style affects the styles
approach is okay on short window, right-click on the “title” linked to it. As an example, if you
documents, it creates a lot of work style and select modify. The dialog change the text in the “Heading”
should you decide to change that pops up looks a lot like the to blue, all the styles linked to it
something in a large document. dialog from the last article, but will have blue text as well.
This is where the use of styles will there are a few new tabs that are
make things easier. not in the standard paragraph Now, let's format our title
dialog. The first is the organizer. differently from the default. Click
LibreOffice writer has five The organizer (below) shows you on the Font Effects tab. The Font
different style types: paragraph, the name for the style, the next Effects (next page, top left) allow
character, frame, page, and list. style to use, and the linked style. you to change the look of the font,
You can access all the styles by You will see that the next style is including color, strike-through,
clicking on the Styles and “subtitle”, but we don't want to underline, shadow, and relief. The
Formatting button on the use a subtitle, so we will change dialog shows you how the effects
formatting toolbar. This will pop this to the “text body” style. This make your text look. Change the
up the Styles and Formatting makes it so that when we hit Enter color to blue, underlining to
window. You can dock the Styles to start a new paragraph the next Double Wave, and underline color
and Formatting window on the left paragraph will use the “text body” to blue. Click OK.
by holding down the Ctrl key and paragraph and character styles in
double-clicking the empty space in this article.
the Styles and Formatting window
toolbar. Open a new text document and
type in a title. Open the Styles and
The styles toolbar (right)has Formatting window. The
seven icons. The first five give you paragraph icon should be selected
access to the different style types. by default. At the bottom of the
In order from the left, they are Styles and Formatting Window is a
paragraph, character, frame, page, drop-down box. Click on the box
and list. We will concentrate on and select Chapter Styles. Double-

full circle magazine #48 16 contents ^


LIBRE OFFICE - PART 3
automatically linked to “text Now, we want to change the
body”. To create a new style not first paragraph, giving it some
linked to another, change the drop caps. Since we want the first
Linked with to “None”. paragraph of each chapter to look
this way, we will create another
Now, let's change the style. Again, right-click on “text
formatting of our new style. On body” and select New. Name the
the Indents & Spacing tab, change new style “First Paragraph”, and
the “before text” and “after text” change the next style to “Text
to 0.50. Change the First Line back Body.” On the Indents & Spacing
to 0.00. On the Font tab, change tab, change the First Line back to
the typeface to italic. Click OK, and 0.00. On the Drop Caps tab (shown
you will notice a new paragraph below), check “Display drop caps”,
named “Blockquote” has been set “Number of characters” to 1
added to your list. Again, move and set “Lines” to 2. Click OK.
your cursor to anywhere in the Again, no changes are seen yet.
second paragraph and double-click Move your cursor into the first
“Blockquote.” Now, you will see paragraph and double-click your
the first line indent has been taken new style.
Press Enter to start a new the line spacing to 1.5 lines, and away, the paragraph is indented on
paragraph. Notice the style the First Line to 0.50. Click OK. both sides, and the text is We need this new paragraph
changed to “text body” just like we Notice that our changes affected italicized. style to follow every new chapter
set up in the organizer tab. Now, all three paragraphs.
type in three paragraphs of text to
use for our example document. Now, let's create a paragraph
for long quotes. Move the cursor
Next, we will modify the “text to anywhere in the second
body” style and create two new paragraph. In the styles window,
ones based on the “text body” right-click text body and select
style. Back in the Styles and New. On the organizer tab, give it
Formatting window, click the drop- the name of “Blockquote.” Change
down box and select the Text the next style to “text body”, as
Styles category. Right-click on we rarely have two long quotes in
“text body” and select modify. On a row. You will notice that because
the Indents & Spacing tab, change we created the new style by right-
clicking on text body, it is
full circle magazine #48 17 contents ^
LIBRE OFFICE - PART 3
title. Modify the “title” style so the in the same way you do the
next style is “First Paragraph.” paragraph styles.

Character styles affect only The key advantage to styles is


selected text rather than entire making the formatting of like text
paragraphs. In the third paragraph, the same throughout a document.
select some of the text. Click on In the next article, we will talk Elmer Perry is a children's minister
the character style icon in the about adding frames to your in Asheville, North Carolina whose
hobbies include web design,
styles window, and double-click document. programming, and writing.
“Emphasis.” This will italicize the
text you have selected. You can
modify the character styles much

full circle magazine #48 18 contents ^


HOW-TO
Written by Kevin O'Brien
Finding Ebooks

W
hen you are looking each; and they are limited in the formats in E-books. Some of the publishers are still competing to
for E-books, there formats they can handle. formats have been around for a see who can be the most annoying
are a number of while, like the PDB format used by to their customers. While there are
factors you should The next option that is the Palm Pilot. Others are various illegal methods for finding
take into account: reader device, becoming more popular is to use proprietary, such as Amazon's books, I do not intend to explain
formats, DRM, and price are some an e-reader application running on AZW format. In my previous how to do that. I will point out that
that I intend to cover in this article. a tablet device, such as the iPad or article, I showed you how to these “alternatives” tend to be low-
one of the many Android tablets. convert books between most quality and not very satisfactory.
All three of the above booksellers unprotected formats using Calibre. And I have found I can obtain high-
Readers offer free applications for tablet Since my primary e-reader quality books quite legally that are
computers. These allow you to software (Aldiko) prefers Epub, I DRM-free.
The first decision you need to
search for and purchase books look for books in that format, or
make is what device you intend to
from your tablet, and then books that are unprotected that I Price
read your E-books on. The three
download them to it. can convert to that format. You
large online booksellers in the
need to see which formats can be If you go to an online
United States - Amazon (Kindle),
The last option, and the one I read in deciding on a device or on bookseller like Amazon and look
Barnes & Noble (Nook), and
use, is to use software on my e-reader software. around, you will see that most
Borders (Kobo) - each offers a
Android phone. I covered the books being published these days
dedicated device for reading E-
application Aldiko in my previous DRM are being offered in electronic
books. And consumer electronics
article, which has both free and formats at the same time as the
companies like Sony (Reader) are
inexpensive paid versions. I also We seem to be going through a dead-tree versions come out. The
beginning to offer devices. Among
have the three bookseller great deal of difficulty with negative is that they tend to be
the advantages of these devices is
applications installed. I personally publishers of all media over digital offered at prices that are as high,
that they offer a form factor close
find this the best option for one restrictions. It started with the if not higher, as the hardcover
to that of a real printed book; with
simple reason: I always have my music industry, which now seems editions. But there are exceptions,
e-ink they are often easier to read;
phone with me. So any time I have to be wising up to how to keep some of which are quite nice. And
and with e-ink they offer really
a few minutes to kill, I can pull out their customers by providing music there are places where you can get
long battery life (as much as two
my phone and do a little reading. in convenient files that are not books for free, quite legally.
weeks between charges). Their
disadvantages are that they are locked down. Between E-music
one more device to carry around; Formats and Amazon, I purchase all of the Project Gutenberg
they cost between $100 and $200 music I want in plain, unprotected
Sadly, there is no uniformity for MP3 files. Unfortunately, book
full circle magazine #48 19 contents ^
HOWTO - FINDING EBOOKS
• A Connecticut Yankee in King
Arthur's Court, by Mark Twain Baen Books
• A Princess of Mars, by Edgar Rice
WebScription
(http://www.baen.com/) is doing
Burroughs something really good, and I hope
• Frankenstein: Or, the Modern it works well for them. They have
Prometheus, by Mary created something called the Baen
Wollstonecraft Shelley Free Library, in which they offer
• Gulliver's Travels, by Jonathan high-quality, absolutely free, and
Swift non-DRMed books for download. If
• The Adventures of Sherlock you are a fan of Science Fiction
Holmes, by Arthur Conan Doyle and Fantasy (and I'd guess most of
• Alice's Adventures in Wonderland, the folks reading this article are),
by Lewis Carroll this is a great way to start building
your library. They offer a variety of
Project Gutenberg has 33,000 the most popular formats as well.
books available, so you won't lack
If you know your history, you for good books to read. These Now you might wonder what
may recognize the name books are not, of course, the latest their business model is. And the
Gutenberg as the person who is best-sellers. answer is that the Free Library is
credited with developing (in the just a selection from their much
West, I know) the printing press.
Baen Books larger line of books. For example, This
This online project you can download the first book of (http://www.webscription.net/) is
(http://www.gutenberg.org/wiki/M David Weber's popular Honor an offshoot of Baen's ebook site,
ain_Page) took his name for Harrington series, On Basilisk but it offers books from a variety
creating a library of free books Station, for free. If you like it, they of other publishers as well. Ace
which are in the public domain. have at least 9 more, and they are Trade, Del Rey, and Tor are among
Public domain books are no longer available for only $6 each, in high- the larger publishers getting on
subject to copyright, and there are quality non-DRMed files. I have board, as well as some of the
a lot of good books, including downloaded a bunch of the free smaller specialty publishers like
many of the classics, that fall into books, but I have also purchased a Subterranean Press and
this category. Here are just a few half-dozen books from them. I Nightshade Books. As you might
of the books you can find, which check their site periodically to see expect from the Baen connection,
were selected by Wired magazine what is new. Their site is also the selections all appear to be
(October 2010) as the best free E- worth visiting for other free Science Fiction or Fantasy
books you can find here: content and author interviews.

full circle magazine #48 20 contents ^


HOWTO - FINDING EBOOKS
ManyBooks.net Cory Doctorow fan base is much better in the long
Fictionwise (http://craphound.com/?cat=5) run. So I think we will start to see
(http://www.fictionwise.com/eboo deserves a mention all by himself publishers try out offering books
ks/multiformat.htm) offers books because of his stance on freedom. more conveniently.
(and some magazines) at very He insists that his books be
reasonable prices, and without available without DRM, and is But, until that day comes, we
DRM. The selection is heavy on opposed to DRM in all forms. He do have some options. I'd like to
Science Fiction and Fantasy, but has made free e-book versions of point out, as well, that sites like
does go beyond. They seem to his works available on his website, Project Gutenberg and ManyBooks
have a lot of Romance, if that is and, despite this, his sales keep ask for donations. If you are using
your thing. I'd rate this higher going up. His view is that the two them to get free e-books, give
except it looks like they have their are related: the more people are them a donation to help expand
own proprietary format and exposed to his work, the more the offerings they can provide. It is
require you to use their reader. likely they are to buy his books just the right thing to do.
This site draws a lot of its The reader is free to download, when they get the chance. Right
content from Project Gutenberg, but, they don't have an Android now you can download quality
but also adds some things that are version, and so I have not tried versions, without DRM, free of
not Public Domain, but which have them out. Still, the rest of the deal charge from his site, and he won't
been made available. I have found looks pretty good, so check it out even let you put money in a tip jar.
books there that are current (e.g. if you are interested. He says that if you want to support
Accelerando, by Charles Stross), so him, buy a paper copy and give it
to a library. Pretty good advice, I
it is worth checking out. Cory Doctorow think.

Fictionwise
Summary
This is just a snapshot of the
market as it is right now (I am
writing this in early 2011). I'd bet
things would be better in a year.
Many of the authors realize that
expensive DRMed e-books are not
doing them any favors, and are just
restricting their market. Just as
musicians discovered - building a

full circle magazine #48 21 contents ^


HOW-TO
Written by David W. Mawdsley
Arduino Traffic Lights

W
ith the Heathkit with some new commands specific For those using the USB port to Here are the parts I used to
company gone, and to the Arduino ports. Uploading dialog, add yourself to the group complete the wiring (mostly from
with a modern the compiled code to the micro- 'dialout' to have write permissions Radio Shack):
computer using controller was easy. Within a few at that port with:
Ubuntu 10.04 LTS, I found a days of fussing with things, my • breadboard and a few spools of
website detailing a micro- system finally worked as designed. sudo usermod -aG dialout 22-gauge, insulated, solid-core wire
<your username>
controller named Arduino at Later, I updated my code to • 2.1mm power plug, and 9-volt
www.arduino.cc (not .com). It used include a buzzer in the circuit. battery cap (solder red lead to the
Next, to run the application,
a USB cable for power and its center tap, black lead to the
open the "arduino-0022" folder,
computer connection. Arduino Uno Part 1: Installing the outside tap)
right click "arduino" and choose
was affordable at $30. A simple • 9-volt battery
traffic light simulation on a
Arduino IDE "Run". Once the IDE is running, • LEDs: 2 red, 2 green, 1 yellow
(for details see select your board (mine was the
breadboard seemed just the fun (approx 2.1 mA forward current
http://arduino.cc/playground/Linux Arduino Uno) from Tools > Board.
experiment to try. each. Note the orientation!)
/Ubuntu) • breadboard push button switch
Getting things to work involved Part 2: Wiring the • 3VDC Mini Buzzer (Radio Shack
I used the "Ubuntu without 273-0053)
just three main tasks:
'arduino' package" section of the
breadboard and
• Installing and configuring the • resistors 5-220 Ohm, 2-150 Ohm,
Arduino IDE (Integrated
page for my install. (Your connecting it to the 1-10K Ohm (all 1/8 Watt okay)
installation may vary.) Arduino
Development Environment),
• Figuring out the wiring for the Shown below is the wiring
Download the .gtz file, and
breadboard and the Arduino ports
install it with Archive Manager:
needed, and
aduino-0022.gtz (from
• Writing a simple C program
http://arduino.cc/en/Main/Softwar
followed by an upload of the
e using the Linux 32-bit package)
compiled code to the Arduino
micro-controller.
Install the compiler and the
libraries packages:
Task 1 was simple, 2 was
routine with some refresher study, sudo apt-get install gcc-avr
and 3 required a small learning avr-libc
curve about C procedures - along

full circle magazine #48 22 contents ^


HOWTO - ARDUINO TRAFFIC LIGHTS
schematic, and a view of my 'trafficlightsound.pde' inside a upload of bytecode to
Arduino mounted on a wood frame folder named 'trafficlightsound' -- the microcontroller.
with the breadboard and the the name extension and Once loaded, the
wires. (The Lego board was used corresponding folder name that Arduino Uno ran the
to hold things loosely together.) the Arduino IDE seemed to various lights and buzzer
require. Clicking in the IDE's start as designed.
Part 3: Writing the arrow at the left made the
application verify and compile the After disconnecting
code using C, and code of 1468 bytes. the USB cable and
uploading the compiled connecting the 9-volt
The source code for the battery, the project ran
code to the Arduino Arduino traffic lights can be found independently from the
Uno at: http://pastebin.com/ACk9u937 computer. The program
will continue to run in a
After some reading at the After connecting a USB cable loop until the power is
Arduino website, and with some between the computer and the removed.
borrowed code, the project code micro-controller, one click on the
was one page in length using right arrow on the second row
gedit. The file was then renamed square of the IDE started the

full circle magazine #48 23 contents ^


HOW-TO
Written by Ronnie Tucker
Write For Full Circle Magazine
Guidelines If you are writing a review, REVIEWS

T
please follow the guidelines
he single rule for an shown here.
Games/Applications
article is that it must When reviewing games/applications please state clearly:
somehow be linked to For a more detailed list of the
Ubuntu or one of the style rules and common pitfalls
• title of the game
many derivatives of Ubuntu please refer to:
• who makes the game
(Kubuntu, Xubuntu, Lubuntu, etc). https://wiki.ubuntu.com/UbuntuMa
• is it free, or a paid download?
gazine/Style - in short: US spelling,
• where to get it from (give download/homepage URL)
Write your article in whichever no l33t speak and no smilies.
• is it Linux native, or did you use Wine?
software you choose. I would • your marks out of five
recommend OpenOffice, but When you are ready to submit
• a summary with positive and negative points
PLEASE SPELL AND GRAMMAR your article please email it to:
CHECK IT! articles@fullcirclemagazine.org
Hardware
If you can't write articles, but When reviewing hardware please state clearly:
Writing hang out in Ubuntu Forums, send
us interesting forum threads that • make and model of the hardware
In your article, please indicate we could print. • what category would you put this hardware into?
where you would like a particular • any glitches that you may have had while using the hardware?
image to be placed. Please do not • easy to get the hardware working in Linux?
embed images into your Open Non-English Writers
• did you have to use Windows drivers?
Office document. • marks out of five
If your native language is not
• a summary with positive and negative points
English, don't worry. Write your
Images article, and one of the
proofreaders will read it for you
Images should be JPG with low and correct any grammatical or
compression. spelling errors. Not only are you
You don't need to be an expert to write an
helping the magazine and the article - write about the games, applications
Regarding image sizes: if in
doubt, send a full size screengrab
community, but we'll help you with and hardware that you use every day.
your English!
and we will crop the image.
full circle magazine #48 24 contents ^
LINUX LAB
Written by Robin Catling
Swappiness Part 1 - Why, Why, Why?

I
am prompted by my co- swap out some of the programs and a fully loaded Ubuntu 10.10 is
podcaster and fellow and data to temporary storage. Got a netbook, with 1GB RAM fine with Firefox, Chrome, and
columnist Ed Hewitt to amend With plenty of physical memory and Ubuntu Netbook edition; OpenOffice multi-tasking
a statement I made in File- available, the swap partition may mostly surfing the web, writing together, using no Swap for whole
systems Part 1, which stated that never be used and the space would emails, and the odd sessions at a time. Launch Audacity
you won't get through a Linux be wasted. So the question is wordprocessed document? You sound editor, and OpenShot video
install without defining a swap really 'how much RAM is may never fully use all the editor for some work on the
partition. Whilst most of the in my machine, and physical memory. Swap Podcast, and YouTube Hi-
installers these days will let you do I ever fill it partition needed? Definition, and I'm back into using
through with a warning of how this past capacity?' No. However, Swap.
is inadvisable, few will stop you in Answer yes, jump onto
your tracks for this 'sin'. Let's step and you Skype for a Any machine running a current,
back for a moment. could conference full-size operating system (not a
benefit call with 50 light-weight), with a small amount
from a Swap tabs open in of physical memory, maybe 256MB
Why do I need a SWAP partition. It or less, will need a Swap partition.
Firefox, you'll
partition for Linux? may not be probably roll- As workload rises, with more
needed all the over into Swap programs open working on larger
Swap partitions are necessary time, but it will right there. Unless data files, you'll push through your
for those computers which have help your you're Ed and the maximum physical memory
less physical memory (RAM) than computer from whole thing locks up. threshold - be it 512MB, 1GB, 2GB
the applications need. Think of a freezing at times of over- Insert smiley face here. or higher - into Swap.
swap partition as temporary capacity. My old Toshiba Satellite has
storage which is used when all the
physical memory is in use - with no
only 196MB RAM. Running a light- Why a Whole Partition?
further space for data and
How do I know if I need weight Linux such as Crunchbang
or DSL for some light surfing, it's There is an alternate approach
programs. Given the complex one or not? fine with no Swap. Step up to to this 'virtual memory
operating systems we now run, Lubuntu 10.10 with LibreOffice
Apologies for answering a management,' it's called Page
with advanced graphics, large and Firefox running, now I roll over
question with more questions, but Files. In both Windows and some
programs, and multi-tasking, you into Swap.
what's your use-case? What's your Linux configurations, page files
can soon use your physical
operating system and your peak reside on the main program- or
memory resources fully. In this My Dell 6400 with 4GB RAM
workload? data-partition, alongside all your
case, the operating system will
full circle magazine #48 25 contents ^
LINUX LAB - SWAPPINESS PART 1
best performance
out of that
combination. The
truth is that - with
modern kernels like
we have in the
Debian 2.6 family -
memory
management is a lot
smarter. The old
other recommendation that swap should
be between one-and-a-half and
files. This is
two times of the physical memory
A PLEA ON BEHALF OF THE PODCAST PARTY
often considered,
shall we say, sub-optimal, is probably over-generous for a
As you'll heard in episode #15 of the podcast, we're calling for
both for performance and for data desktop machine, but barely
opinion topics for that section of the show.
security. Page files can be very sufficient for a server. Setting a
large, demanding fast on-demand swap space between half and
Instead of us having a rant about whatever strikes us, why not
writes to disk. It can cause an equal the amount of physical RAM
prompt us with a topic and watch for the mushroom clouds over the
Input/Output bottleneck, and should be adequate. If you have a
horizon! It's highly unlikely that the three of us will agree.
when you've had a Windows laptop and set it to 'suspend' to
pagefile trash a chunk of your disk, then you need swap space
Or, an even more radical thought, send us an opinion by way of a
active partition - losing precious equal or greater than physical
contribution!
data and programs, you appreciate RAM. If in doubt, choose a larger
the Linux approach - segregating swap, since a couple of gigabytes
You can post comments and opinions on the podcast page at
Swap from everything else. won't be missed - unless you have a
fullcirclemagazine.org, in our Ubuntu Forums section, or email
Solid-State Drive, but that's
podcast@fullcirclemagazine.org. You can also send us a comment
another story...
What size swap do I by recording an audio clip of no more than 30 seconds and sending
it to the same address. Comments and audio may be edited for
need? In Part Two, Virtual Memory
length. Please remember this is a family-friendly show.
Management, Swap-On, Swap-Off.
As we've seen, maybe none.
It would be great to have contributors come on
When we do need one, the trick is
the show and express an opinion in person.
to balance the use of smaller,
faster RAM against slower larger
Robin
disk, so that you (or rather the
operating system kernel) get the
full circle magazine #48 26 contents ^
MY STORY

I
just completed my first year have answered could have been Windows, I used several programs command in a terminal. At the
as a Ubuntu user and was avoided by using this resource. that will not work in Ubuntu (not time it was baffling but is not a
asked to write an article under WINE either) but have all problem now.
about my experience. The It’s great feeling to help but conquered this annoyance by
invitation to write caused me to another Ubuntu user and when using similar Ubuntu software and In the February edition of FCM
look back on the year and ask they proudly post a screenshot of some web based applications that the article about LibreOffice was
myself, what have I done this year? their personalized desktop or send do the job just as well and, in some of great interest. I had actually
Well, the first year has taken me a thank you it's even better. cases, better. installed it prior to reading the
through three different Ubuntu article. It is a lot faster and a has a
operating systems starting with Frogs Hair There is a stigma attached to lot of features that OOo does not
9.10 and ending with 10.10. Ubuntu and Linux users in general; have. I highly recommend it. It is
[1]: that is to use it you have to be a being supported by Canonical so it
Not knowing much about the http://ubuntuforums.org/showthre computer expert to get it to work. is the way to go.
terminal when first using Ubuntu I ad.php?t=809695 If you check computer hardware

I
focused on the GUI. As I learned supplier's websites the majority I have tried, on many occasions,
how to install themes and have been using Ubuntu for state that Linux is for computer to convince my work colleagues to
customize the Ubuntu desktop, I more than 3 years and am experts, implying that Windows is use Ubuntu but they have their
began to help other new users almost completely Window's simple. There is no mention of the head in the sand and stay with XP.
with this process. The task of free and cannot speak highly extra software you have to install However, recently my grandson
figuring what packages need to be enough of Ubuntu. and pay for to stop an attack from showed me an article that had
extracted, how and where they are the Internet. been presented at his school
installed is simple after you’ve Pretty much all computers are related to Linux. It was extremely
done it, but potentially confusing sold with Windows pre-installed The Linux stigma is therefore well written and listed the
to a new user. and if you want to use a Linux unwarranted. I do not consider advantages of Linux in the
distro you have to install it with a myself to be a computer expert classroom. I was very surprised to
I would like to mention the dual boot or completely remove and am made to accept this fact by read such an article and asked who
sticky in the desktop environments Windows. I tried a dual boot at the some FCM articles that go over my had written it. It was amazingly my
section of Ubuntu Forums as it is a onset of my incursion into the head. What one does have to grandson which was all the more
nice list of resources for new users world of Linux and was not happy accept is that there is a distinct surprising as he is only nine years
interested in customizing their with the problems that appeared. learning curve. I remember my old.
desktops [1]. I mention this A full Ubuntu installation is very first Ubuntu installation and
because many of the questions I definitely the way to go. Under the message that I needed to run a Allan Hambidge

full circle magazine #48 27 contents ^


MY OPINION
Written by Allan J. Smithie

R
emember the scene in computer pointing devices. and my ignorance of factual get better. The sheer multiplicity
Star Trek IV where computing history, but it's never of devices, copyrighted, patented,
Scotty tries to operate a Yes, the GUI was a huge stopped me in the past. I can say and trademarked, each with its
Mac workstation? improvement on what came with some certainty that there is attendant software, also
before. In the seventies, the Data nothing intuitive about the current copyrighted, patented, and
I may be mis-remembering the Processing Department relied on or previous generations of GUIs. trademarked, is making it more
dialogue, but it goes something punch-cards and paper tape. In the None of them. We all have to be difficult to be productive, not less.
like this: eighties, we got as far as green- shown how to use them. The Consistency would be a boon, only
screen terminals and mind- operation of mouses and menus is commerce won't allow it. Yes, we
McCoy: "You have to use the numbing keying of program code. not an innate behavior to the have standards beyond individual
mouse." Try type-setting a magazine on human primate, any more than platforms such as i-OS, Windows,
Scotty (picks up mouse and speaks one. No, don't. I did. I believe that language - another subject I argue and, thank you Hewlett-Packard,
into it): "Hello, computer." is why I am now gray-haired. The about with my friends in teaching. Web-OS. Linux has Open
McCoy: "Just use the keyboard." advent of the cheap(-ish) PC A certain well-known US TV Desktop.org. Not that you would
brought computing to the presenter recently learned how to know it between Gnome, KDE,
Two things: One, I apologize for (relatively well-off) masses. The Tweet. First he had to be taught Xfce, LXDE, Sugar, Linpus, Chrome,
the Star Trek spring-board. Two, GUI accelerated the take-up, not as how to operate the Twitter and many other re-badged
evidently the Mac is not as the catalyst, once the machines website with a mouse, which he deviations. Android is splintered
intuitive as we all thought, even to became powerful enough to run a first tried to touch to the screen. whilst Meego falters, and
a starship engineer from the GUI with some application It's true. Bright people don't Symbian... does whatever Symbian
twenty-third century. programs atop it. necessarily get it. I believe the does in the market these days.
number of mouse buttons affects Double-tap, pinch-to-zoom, tap-to-
Heralded as a great leap Xerox may have invented the the learning curve in inverse focus - all work in slightly different
forward, the Graphical User GUI as a corporate tool, but it was measure. I buried a former friend ways, and the menus of any two
Interface (GUI) that came out of Macintosh and PC that “liberated” under my patio for having owned a smart-phones are seldom the same.
Xerox PARC, Palo Alto in the it from the then-walled garden of Logitech super-mouse with seven
seventies - yes, almost forty years the Unix X-windowing system. buttons and a scroll-wheel. Not Icons. These are religious works
ago - pioneered the use of WIMPs - Here at last were machines for the really, but I thought of it on every of art. The universal language of
Windows, Icons, Mice, Pull-down rest of us, that we could all use. visit to his office. icons in computing is not universal.
Menus. Although strictly that Kinda. Nor is it a language. There are no
should be Mouses, as Mice is the The problem worsens over standards and little permanence,
plural for small rodents - not I may be showing both my age time, whereas one expects it to since icons are either about

full circle magazine #48 28 contents ^


MY OPINION
creative artistic interpretation or cognitive dissonances (bingo
marketing and branding. Here players may take a drink now);
endeth the lesson. • consistent in the learning and
operation;
Minority Report • layered in its inevitable

CD design by Rikulu: http://rikulu.deviantart.com/


complexity, simple in the common
Yes, I do mean Tom Cruise with day-to-day operations, and as
a data glove, waving his arms complex as needed to achieve
about in front of a holographic those more advanced;
projection of data. Anyone who's • and task-oriented - really, don't
tried a data-glove and VR headset just say it, do it.
knows just what a fool they look
(hey, got the t-shirt from VR-expo What does it look like? I have no
London in 1995). I'll take it if it idea. It's not OS-X, Ice-Yeti, or KDE
means no more mouses. Or 4.7. It goes beyond i-OS, Android,
labyrinths of menus. In recent and Windows Phone 7. Just
months, we see the first signs with because our kids are really fast
the Kinect and the Wii-Motion with them, doesn't mean they're
controllers. Yes, you still look like a good. These have all evolved from
fool. the past, and it has to be a break
with the past. It has to be
designed around real people and
'User-Friendly' not around the obstacles the
software engineers find with the
A term so vague, it never lost available hardware. Just imagine.
common currency, it never held FREE UBUNTU CD FOR EVERY READER! *
common currency. I refer back to 1 - Print this page using a modern, colour, printer. This is a critical step.
2 - Carefully, using sharp scissors, cut around the perimeter of the above
my previous point about icons. CD. If you have not printed this page you will find scissor scratches almost
'User friendly' is what we all want, impossible to remove from your desktop/laptop screen.
despite the fact that we can't 3 - Foolishly place your new paper 'CD' in your CD/DVD device.
define it and it, too, changes over 4 - Scratch your head, baffled as to why your CD won't boot.
5 - Direct all complaints to mrmonday@fullcirclemagazine.org as he
time. I submit that the next Allan J. Smithie is a journalist and probably knows nothing about this.
generation of GUI has to be: commentator based in Dubai. His
blog is at: WARNING: YOU MUST HAVE A SUPERVISING ADULT PRESENT WHEN
• flexible, accommodating all http://allanjsmithie.wordpress.com YOU ARE USING SCISSORS! ESPECIALLY SHARP SCISSORS.
tastes, abilities, handicaps and * Neither Full Circle magazine, nor it's creators, will be held responsible if your CD/DVD device eats your paper CD.

full circle magazine #48 29 contents ^


full circle magazine #48 30 contents ^
REVIEW
Written by Art Schreckengost Remastersys

R
emastersys is one of the code. All desktop styles are invited the final compressed file, not the multimedia files off the hard drive
mysterious programs to the party too. That’s easy size of your occupied hard drive. to an external drive. This might
Ubuntu users may know enough. explain why Ubuntu variations
of but rarely try, and this Open Disk Usage Analyzer come with few, if any, such files.
is unfortunate since it’s a program Unless you have a top end OS (DUA) on the main menu, and
with a lot to offer. package like openArtist, chances review the numbers. Figure one is In short, keep your hard drive
are you’ll have to install total hard drive space, and the space to no more than 8GB, since
The official website, remastersys. Go to the website second is OS occupied space. For anything above that is pushing the
http://geekconnections.org/remast mentioned above, and follow the example, you may have a 250GB limits (my personal best is 12GB
ersys/, is the only place to get valid instructions (you’ll have to add a hard drive with only 4GB occupied. but that was really on the limit).
information, and I advise all to go software source to Synaptic).
there. Tony Brijeski is the Remastersys takes the second And how big is 8GB? The
developer, and claims his program Before you happily click on the figure and compresses it to a much average Ubuntu installation takes
is “A unique Backup-to-Live-Media new menu entry, do some smaller file, usually down to 33- up about 4GB, so you’ve got plenty
Tool for Debian and Ubuntu” (from preliminary work. Please do not 50% of original size. This is where of wiggle room for programs, files,
the website). ignore this information! the math gets a little fuzzy. etc. ArtistX with 2,500 included
packages and programs is still
Be wary of other websites that Use Ubuntu Tweak or Computer Some files are already under 4GB compressed, even
offer instructions and downloads Janitor to clean your system of compressed and can’t be squeezed though it balloons to nearly 12GB
that are usually outdated. Stick garbage files, unneeded cache further. MP3 files are about as once installed (and they used
with the developer in this case as items, and discontinued kernels. small as they’re going to get, so remastersys to create the
menus and choices have changed My last cleanup operation cleaned you’ll have to remove them or pay download file on their website).
over time. out over 1GB. the consequences.
Housecleaning still isn’t done
Do not confuse this with Now it’s time to brush up on How so? If you have 8GB on the quite yet. Shut down internet and
APTonCD, another program that is your elementary percentages. hard drive, but 3GB of that are Bluetooth connections, if any. Stop
designed to backup applications, music files, only the 5GB balance playing music files, and plug in
not the OS with applications. Remastersys can create a final will be reduced. That could put you your laptop if it’s on battery
Remastersys backs up everything. file of no more than 4GB (this is a over the 4GB compressed file limit. power. Disconnect external hard or
limit of the genisoimage protocol thumb drives, and remove that SD
What is required? Ubuntu, or a in Ubuntu), but this is misleading Take it from a person who has card you forgot about. Get rid of
variant using the base Ubuntu because that’s the limitation of made this mistake. Move the CD or DVD in the drive, if any.
full circle magazine #48 31 contents ^
REVIEW: REMASTERSYS
from previous Remastersys
Finally, disable any • attempts. Read below.
screensavers that may pop up
after a period of disuse. • Info – All about the program - as
if you didn’t already know.
Why all this work before you
even open the program? DUA is a • Quit – Self explanatory.
great program, but often
overlooks anything past the hard I purposely left out Distcdfs
drive. External drives and cards are and Distiso, two entries that make
easy enough to forget, and your little sense given Dist offered
compressed math figure could be above (if you must know, one
incorrect as a result. creates a CD file system, and the
other creates an .iso image, but
In addition, remastersys is Dist alone does most of this
going to take over your computer without having to fool with these).
for the better part of a half hour, Previous versions did not have
so plan on some idle time. these two headings, so don’t worry
Anything that can interrupt the background. Simple enough, and if they’re not there on your version.
project, such as a screensaver clicking okay will take you to the Backup – Clones everything, warts
popping up, can cause termination first menu. and all (including those files I At this point, users can make a
(although it rarely does). advised to get rid of earlier – now mistake by clicking on Backup or
Do not click on anything in the you know why). Dist! Clicking either starts the
Now you can open remastersys. main menu until you read below! process immediately without
• Dist – Allows you to make a copy modification or intervention.
You should get this standard The main menu is for distribution to friends by Keep reading before taking any
warning: straightforward but does have stripping personal info and action!
It is necessary to close all other entries that merit closer related data. Essentially, it backs
windows and unmount any network definition. You will see Backup, up your programs, but not your Default is Backup but you can
shares while running Remastersys Dist, Modify, Clean, Info, and Quit, data. use the tab keys, cursor, or your
Backup. Please do so now and then along with a couple of other mouse, to jump to any other
click OK when you are ready to headings, but included • Modify – Allows users to modify category. Clicking okay activates
continue. explanations may seem cryptic - so settings and exclude files. More on the heading you have highlighted.
here’s a common sense, plain this below.
Essentially, make sure you have English, listing: Clean is strictly for previous
nothing running in the • Clean – Cleans out temp files remastersys users, and allows for
full circle magazine #48 32 contents ^
REVIEW: REMASTERSYS
prior attempts to be removed so the Remastersys folder, but users you’ve got about 15 to 30 minutes
they don’t add to the new clone. can change this to Desktop for It’s Modify that often confuses to kill.
ease of finding it later. the most. Don’t be spooked into
The only problem with Clean is thinking you’ve just butchered the Monitor the pop up window that
that it specializes in temp files, and • Files to Exclude – Allows files to OS. The only modification is to the appears! Down at the bottom
might not touch an existing clone be removed from the mix, but read final product, not the active OS. you’ll see a notification of final
you created earlier. In these cases, below before going here. file size. If it’s more than 4GB,
you may have to visit the Once you’ve got this settled, click to close the window to stop
remastersys folder to manually • Go back to main menu – A.k.a. click on okay, go back to the main operations!
remove it (right click the file and quit. window, and click either Backup or
move it to trash). Dist to start the process. Backup is This is an unfortunate snafu in
Modify does have a flaw from a for personal use, while Dist is a remastersys. It blindly follows your
The next command, Modify, is user standpoint, and that’s in the copy stripped of personal data so command even if the final file is
the one that should be clicked Files to Exclude heading. The box you can give copies to friends or too large for completion. Of
first! that opens does not point to any post online. course, you do get a little nasty
file folders - or even offer to. Users pop-up box stating the final file
Of all the options, the one most are expected to cut and paste, or As a matter of preference, I was too large, but you don’t get it
useful is Modify, because it manually enter file-paths (leaving almost always opt for Dist. That until the bitter end!
branches out to a sub-menu a space in between for each entry). way, if a disc gets in the wrong
consisting of: Make a typo and you’ve got hands, my user-ID and password Back to square one, and this is
problems. aren’t compromised. where Clean comes into action.
• Username – Defaults to Click on it to see if any residual
“custom”, but clicking on this Hmmm, maybe moving files to Once you’re sure, click on okay, temp files are hanging around.
allows changes. a flash drive doesn’t sound so bad and sit back for a while. Depending Consider putting more files on
now, does it? upon the size to be compressed external drives or storage, and
• Title – Same as above, but look for other programs to dump.
usually self-titles as “Custom Live
CD” - even if it is DVD size. Once the pop up window shows
the final file will not exceed 4GB,
• Filename – Defaults to you’re home free.
custom.iso. Leave well enough
alone here since you’re after an If all goes well you should see:
.iso image. our custom .iso and custom.iso.md5
files are ready in
• Working Directory – Defaults to /home/remastersys/remastersys. It

full circle magazine #48 33 contents ^


REVIEW: REMASTERSYS
is recommended to test in a virtual jitters, it’s a good program. Some
machine or on a rewritable cd/dvd Those itching to test the final I always recommend live mode online information is downright
to ensure it works as desired. Click product - without burning a DVD before any installation - only incorrect if not hazardous - but
on OK to return to the main menu. or moving the physical file - can because no two computers are the this is not a fault of the program.
open Virtualbox and load the OS same. Drivers and codecs are Dinged a diamond for a rather
If the size was right you’ll have for review, but it may seem odd to bound to be missing, and this may Spartan website although I did find
the .iso file sitting in the have a copy of your current be the time you suddenly realize it amusing that the program is
Remastersys folder (or the running OS next to the original you should have removed those visually appealing compared to the
location you picked). You have two (still running, too). compromising pictures from that website.
realistic options: folder.
To boot to the image file on • Operations. Dropped a mark for
• Burn an .iso image CD or DVD. As CD/DVD or flash drive, reset your By the way, that compressed a command-line file-exclusion
stupid as it may sound, make sure BIOS to boot from the media used, file in the remastersys folder is not process that is twitchy, and a
you use an .iso burner. Burning a and you should see a menu at boot going away anytime soon. It’ll stay propensity to create non-existent
video or data disc isn’t going to giving you several options: there until you remove it, and files if the final file size is too large
work. failing to do so and using (it should halt the process, and
• Start Custom Live CD in remastersys again will result in warn users before starting).
• Virtualbox - if you plan to use the Graphical Mode – essentially that file possibly being included in
clone as a secondary, not main, OS Ubuntu live mode. your second attempt. Oops! • Overall rating. There just isn’t
on another computer; however, anything much else out there for
you still have to burn a disc, use a • Start Custom Live CD in Safe In other words, burn your discs, Ubuntu and variants in this area,
flash drive, or transmit across the Graphical Mode – mainly for and then delete the iso once but this program works just as well
network to transport the file. computers that won’t boot satisfied. as much more expensive Windows
otherwise. and OS X software. Just needs a
Another potential option is Anybody who has ever used little polish to be excellent.
UNetbootin and a flash drive, but • Install Custom Live CD – Windows-based cloning programs
that procedure has been hit or complete installation. can attest to the fact that
miss for me. Don’t know if it’s the remastersys is one of the easiest
file, or a bug in the program • Check the CD/DVD for defects – programs to use, and one of the
(either UNetbootin or if it’s defective, will you get this quickest once the initial tricks and
remastersys), but UNetbootin far? Maybe! roadblocks are conquered.
often can’t find the image file -
even when I park it on the desktop. • Memory Test As for a rating:
It did work occasionally, but I
eventually found it easier to just • Boot the First Hard Disk • Ease of use. Once past the initial
burn a DVD and be done with it.
full circle magazine #48 34 contents ^
LETTERS
Every month we like to publish some of the emails we receive. If you would like to
submit a letter for publication, compliment or complaint, please email it to:
letters@fullcirclemagazine.org. PLEASE NOTE: some letters may be edited for space.

I
Dell a No-Go? love FCM and promote it clipboard won't work. Up to issue
Join us on:

I
heavily through our public 39 I could and I was able to in issue
just checked the Dell site (per library and the open source 40 (some rights reserved) where
the Q&A in Issue #43) and events I do there as a the text is not in columns.
found out that Dell is no volunteer. Something happened with issue 40.
longer offering any laptops or
desktops with Ubuntu Linux (at I just read FCM#47 and I have never liked Ubuntu as I
least not in the United States). happened upon the feedback on couldn't find how to set the
not being able to copy and paste. refresh of my CRT monitor and it we predominantly feature Ubuntu
Curious, I decided to try it on was real easy in Kubuntu. I started we are open to articles about all
For that, Dell is a no-go for me
FCM#47 and I could not! I'm using with 5.10 but only really got into *buntu derivatives. I also use
(as far as future laptops) unless
Mint 9 and tried to copy and paste using it full time since 7.04. I stuck Kubuntu and hope to write some
they decide to start offering
from Evince and from the dynamic with 8.04 on my desktop until Kubuntu articles shortly.
Ubuntu as an option.
version displayed via Firefox; no 10.04 came out but had tried 8.10
Patrick dice. I tried the two special and later on my laptop using KDE
editions and yes, I can in those. I 4.x and have been happy with it. Beta Not

T
then went back through through
progressively older issues and I know it's an Ubuntu magazine oday I installed the first
No Copy, No Paste found that I could not copy and but it would be helpful to explain of two betas, before the

J
paste back to #36. So, I decided to things about Kubuntu as well, as final release of Ubuntu
ust to let you know that I sometimes it is different between
try opening some issues using 11.04 that gets released
too have a problem with the two, especially system settings
Okular; same thing - still couldn't this month, and i must say it is in
copy and paste on both like networking.
do it. Thought you might find this no way ready for the casual user.
Windows XP and Ubuntu
interesting. This version is one to keep the
10.10. Neville Friedrich newbies away from.
MarkB
I use an older version of Foxit Ronnie says: Quite a few readers Upon installing on a clean
Reader (2.3) on XP and the

I
emailed to say that they can't copy machine i was met with a loss of
standard software on Ubuntu, and paste from FCM. Having asked
just tried this with Kubuntu Metacity window decoration, even
which is a standard install. assistance on the Scribus forums I
10.04 and Ocular. I can copy to though it was present during the
clipboard and file as an image think (hope!) it's fixed for this, and live USB test run. After some
Grant future, issues. @Neville: Although
only. The copy as text to trouble shooting I was able to get

full circle magazine #48 35 contents ^


LETTERS
Unity 3D and Compiz working Linux On Mac server? As I want to learn how to please email me a brief outline of

I
together. However, I experienced create one using Ubuntu Server your article, and let's help Leo (and
app crashes and lock ups through 'd be interested to read about Edition. I hope someone can help. others) get a mail server up and
most of the run on the test people who use a Mac, and running.
machine. dual or triple boot Apple's OS Leo Marloe Dicang
with Linux. Could someone
I know its just the first beta but write about this? Ronnie says: Anyone out there
with a just a few weeks left for want to write an article, or several,
bug fixes and freezes I dont think I'm personally thinking of on creating a mail server? If so,
this year's first release of Ubuntu getting a Mac for the
is for the faint hearted more for stability, but want to
people who enjoy trouble do multiple booting
shooting. Yes, Unity is workable, to have the freedom
but I'm afraid I have to agree with of Linux's
Robin Catling it's not ready. customization, and
some software I have
I haven't experienced a version a propietary Linux
of Ubuntu, even in beta, that was license for.
this frustrating since the days of
6.x. Part of it is, of course, the new Ludo Beckers
interface which will take time to
learn. But, coupled with these
bugs, it makes for a rough ride
that I don't think new users, or
people accustomed to just a GUI, Mail Server

I
will like. My advice? Stay away
from it until 11.10, or they do a am glad you
service pack to 11.04. Its not going guys are
to be released hassle free and new- working so hard
user friendly. to spread info
for people like us
Dougn Redhammer who want to learn
Linux especially
Ubuntu. Will you be
running any articles
about creating a mail

full circle magazine #48 36 contents ^


UBUNTU WOMEN
Written by Elizabeth Krumbach

Technology. States, a member of Ubuntu where to start, what questions to


Women, and a member of Ubuntu ask, and where to ask them. I
EK: What inspired you to get Beginners Team. Also, I have co-led began by lurking in the Ubuntu
involved in the Ubuntu community? a session for Ubuntu Open Week Women IRC and Florida LoCo
Maverick. Recently, I was honored channels, then asked questions of
JL: I have used *nix for over 15 with being on the nomination list those who seemed most
years, and, even though I’m a for the Beginners Team Council. approachable. And from there, I
visual person, I really like the started to venture out based on
command-line interface for As a current master in the people and projects I learned of
compiling, finding documents, and Beginners Team, I hope to funnel via those channels. My advice is to
the like. I looked into Linux new developers into the Ubuntu ask if you’re unsure of what
distributions as a better project. Through that position, as something means or how to get
programming environment though well as future screencasts that I involved. Everyone can contribute -
I really enjoyed my Mac for design have sitting on my desktop, I want you don’t have to be a coder!
work. My partner was a huge fan to be able to help answer one of Though, if you want to learn how
Elizabeth Krumbach: Please tell of Ubuntu, so we went to a Linux the most frequent questions I see to program or contribute as a
us a little about yourself. Fest in Florida where I met more asked and have asked: “I’m an programmer, there are lots of
people from the Ubuntu [insert language here] ways to do that too! A new
Jessica Ledbetter: Hello community. I was hooked programmer. How do I contribute gateway for new developers is
everyone, I’m Jessica Ledbetter instantly. There are a lot of to Ubuntu?” In addition to these coming together at
(https://wiki.ubuntu.com/jledbette distributions out there, but I think roles, I’m also working on a short http://developer.ubuntu.com/, and
r). I’ve been a web developer for a Ubuntu has one of the most session in Peer2Peer University there’s also the Beginner’s Team
Department of Energy lab in amazing communities around. It’s (http://p2pu.org/) about how to that helps beginners get involved
Virginia for about 10 years, and I hard not to be involved. contribute code to an open-source https://wiki.ubuntu.com/Beginners
code primarily in Java and project. Team.
ColdFusion, plus freelance in PHP. I EK: What are your roles within the
was the first in my family to go to Ubuntu community and what plans EK: Have you hit any barriers with EK: Is there anything you feel the
college, and, so far, the only one do you have for the future? getting involved, and what can you project could do better with when
to finish. I worked while getting recommend to newcomers? it comes to new folks coming to
my Bachelor of Science in JL: Right now, I’m one of the the project?
Computer Science, and later a leaders of the Virginia Local JL: There’s so much information
Master’s degree in Information Community Team in the United that sometimes it’s hard to know JL: Sometimes it seems like there

full circle magazine #48 37 contents ^


UBUNTU WOMEN
is too much information but It’s a great platform to help people
sometimes there’s not enough. I learn from their peers. Going hand-
remember trying to find out how in-hand with obtainable education QUICK TIP - No internet with 10.x (IPv6)
to get involved in development, for all, I serve as the Public
I had Ubuntu 9.04 as my main system, and as I prefer to do a fresh install and
but running into lots of weird Relations chair on the Board of miss out the intermediate versions, I duly downloaded 10.04.1 LTS and burned it
vocabulary like “MOTU,” Trustees of my city’s library. Also, to a CD. The basic installation went very well, as had all my previous versions,
“packaging,” “blueprints,” and I’m a huge animal lover, vegetarian, but horror of horror, I found that I couldn't get onto the internet with web
“triage.” I come from a web and part of a leadership and addresses. FTP appeared to be working and I could 'ping' any address with
either the IP address or it's URL (so DNS was working), but run Firefox (FF) and
background, so a lot of the desktop speaking organization called request a site, no chance. I even upgraded FF, still no joy.
applications were not only in a new Toastmasters (toastmasters.org).
language but also a new way of I messed about for ages with Network Connections. Nothing worked. Eventually
developing. With that in mind, I I tried my Live CD of 9.04, and I immediately got access to the web.
think we can improve by Where do you start, it's so frustrating. I resorted to Ubuntu Forums and had a
remembering we’re a very diverse good search around. Nothing. It can't just be me surely. So I put up a new Post in
community when communicating, 'Absolute Beginners Talk' and waited. Quite a number of people read the post
creating documentation, and doing but I didn't get a single reply. So, I tried again in 'Networking & Wireless'. Bingo!
A response from wojox that resolved the problem which was with an IPv6
training. Some improvements are setting.
already in progress. For new folks,
we should give more overviews so Solution:
that people can find where to Within Firefox
1. Type about:config in the address bar, press Enter.
contribute, and be funnelled into 2. Find network.dns.disableIPv6 in the list.
those areas. We should define our 3. Right-click > Toggle to select True (i.e. disable IPv6)
technical terms, and we should 4. Restart Firefox and try again.
make it easy to ask for assistance if
This solution is now mentioned on the Firefox tutorial site:-
a new person ever feels http://firefox-tutorials.blogspot.com/2010/05/common-issues-solutions.html
uncomfortable. but you'd have to know that FF settings are the problem before you'd even
consider hunting for them, and if you had a non-working v10.x that's not much
EK: What other things are you help!
interested in outside of open- For me perseverance paid off, other less enthusiastic users may have given up.
source and Ubuntu?
I still don't understand why the setting for IPv6 has changed from True to False
JL: Most of my free time is happily in the newer versions of FF or why it causes my system to fail in this way. There
must be more to it as I still can't get a manual network connection to work, but
spent programming or designing. at least I have a working copy of v10.04 now.
Recently, I took a few courses via
the open-learning project Laidback
Peer2Peer University (p2pu.org).
full circle magazine #48 38 contents ^
UBUNTU GAMES
Written by Ed Hewitt
Volley Brawl
there seems to be a dearth of and becomes annoying quickly - Score: 5/10
News players at the moment. There are even though the sound effects in
different teams you can select to the game are not too bad. Volley Good:
• Uplink & Darwina now in USC play as, but they offer only Brawl ran very well and is certainly • Solid Game play
– UK Indie Developer, cosmetic differences. Apart from a good candidate for Netbook • Online multiplayer
Introversion, has released two those modes, there are no other gaming. Supporting quick load • Promise of future content
of its popular titles, Uplink and features of Volley Brawl to times, it is certainly a game you updates
Darwina, into the Ubuntu mention. It is severely lacking in can quickly start playing. Although
Software Centre. content, which does not help its Full Screen mode is not
replay value. Online/Local leader recommended on large displays, Bad:
boards, Challenge Mode, or even Volley Brawl seems to support low

V
• Very simple game
olley Brawl has been Achievements, could help Volley resolutions. • No real longevity
recently released Brawl in this area. • Lacks game modes
exclusively to Ubuntu by Volley Brawl is an easy game to • Sound is awful
publisher Ohso. It is a Volley Brawl is a very quick and starting playing, and you will be
simple Volley Ball game between easy game to pick up and starting mastering it in no time. Although
two players trying to hit the ball playing. The controls are simple, the game is priced at a low $2.99, it
over the net. To score a point, the and the gameplay has some nice still lacks replay value due to lack
ball must hit the floor on the fluidity. You will be scoring points of game modes and easy AI. Volley
opposing side. and winning games very quickly. Brawl does support many
The CPU AI does a decent job, but multiplayer options, even though
There are two modes to Volley still can be easy to beat. Varying the main selling point of this game
Brawl. Single Player allows you to difficulty levels would be nice to is the online multiplayer, which
play a quick match against the have, again to help the replay lacks any players at the moment.
computer, with either a score limit value. With the promise of future content
or time limit, each with unlimited updates, the game is likely to get
options. Multiplayer offers plenty The graphics and look of the better but at the moment Volley
of options including Local game are crisp and pleasant for Brawl is a fairly weak title. Volley
multiplayer - using either the same the style of the game, but nothing Brawl can be purchased exclusively Ed Hewitt, aka chewit (when playing
computer or other computers on ground-breaking. However, the from the Ubuntu Software Center games), is a keen PC gamer and
same cannot be said for the sound. for $2.99. sometimes enjoys console gaming. He
the LAN. There is decent support is also co-host of the Full Circle
for Online multiplayer, although The background music is awful,
Podcast!

full circle magazine #48 39 contents ^


Q&A
Compiled by Gord Campbell
If you have Ubuntu-related questions, email them to:
questions@fullcirclemagazine.org, and Gord will answer them in a future
issue. Please include as much information as you can about your problem.

Q
I use and maintain 6-8 the data you need. You'll probably repositories.

Q A
computers for myself, When trying to access save time in the long run.
family, friends, and resources on my home It's in the Universe
repository in 9.10 and

Q
businesses. They are a network, I get "Failed to
mixture of Windows XP and 7, retrieve share list from When I run an ID 10.10, but somehow it is
and Ubuntu’s Lucid and Maverick. server". Software game such as not in 10.04. However,

A
My personal desktop and laptop Quake 4, the sound is the source file is available. You
are dual-boot machines. There Many people have badly delayed. could file a bug, and it will

A
are straight-Ubuntu and straight- found solutions in this probably then appear.
Windows machines in the mix. I message thread: Use the ALSA wrapper https://help.ubuntu.com/communit
have at least a half-dozen loose http://ubuntuforums.or for OSS, following the y/ReportingBugs
hard drives that are used for g/showthread.php?t=1169149 instructions found in
this message:

Q
storage and transfer. My
question is how to format the http://ubuntuforums.org/showthre I am trying to share a

Q
hard drives for maximum Is there some way I can ad.php?t=1705760 USB external hard drive
compatibility. It is imperative make an image from my from my Ubuntu install
to my Windows systems

Q
that they operate across OSes machine? I want to use
and file system boundaries as it in Virtualbox. How can I copy a VCD? (Win 7 and 1 Win XP.) The drive is

A
much as possible. There is a mix formatted as NTFS. But I can't
of documents, pictures, and (Thanks to Rob_H in browse to it.

A
music files. The drives range the Ubuntuforums)

A
from 10GB to 1.5TB. Even if you can create Open

A
the image, you may Run Sounds & Accessories/Terminal
The consensus appears encounter problems with Video/Brasero, and and enter this command:
to be, use FAT32 for hardware drivers. VirtualBox select "Disc copy."
drives smaller than 255 emulates a small set of devices, gksudo gedit
/etc/samba/smb.conf
GB, including flash which are probably not the same

Q
drives, and use NTFS for larger as the actual hardware you've got Scroll down to this line:
drives. However, if there are in your system. I am using Ubuntu guest ok = yes
individual files larger than 2 GB, 10.04, and want to and insert this line after it:
use NTFS. My advice is to just do a fresh install Netgen, but it force user = (your ubuntu
install in VirtualBox and copy over does not appear in the user name)

full circle magazine #48 40 contents ^


Q&A

Q
Save the file, exit, and enter this I use Xubuntu 10.04.
command: When I run Settings >

Q
I wonder if it is good Appearance, most of
sudo service smbd restart practice to always the themes that are
download and install available in /usr/share/themes &

Q
the available software ~.themes are not seen.
I have an Hitachi 3 TB

A
from the update manager, or
HDD that I use in an icy does it slow down the computer? To change the window
dock external enclosure

A
decoration for XFCE,
so I can backup all of my I would go ahead and you need to go to XFCE
video files, etc. When I hook up install all of the updates setting manager (it is
the HDD to my computer it is that are available in the called Setting Manager, and it will
detected as an 802 GB HDD. Update Manager. These probably be in System > Settings

A
will contain bug fixes, and I don't under XFCE). From there, you can
Some external see how continually updating is select Window Manager, and then
enclosures have a 32-bit going to make your system slower. change the decoration style.
limit, which means they Ubuntu does not have a registry,
will not work properly which is the source of many

Q
with a hard drive larger than 2 TB. slowdowns in Windows. I just installed Ubuntu
The drive had 2.5 TB of space on my brand new
when installed as an internal hard system that I built. I put

Q
drive, partitioned and formatted I can't play a DVD. in my CD for my HD
with Gparted. 5770 video card, but I can't get it
to do anything.

Q A
How can I play WebGL

A
That disc contains
videos in Firefox 4 with Install the ubuntu- Windows software,
an old video card? restricted-extras and which is not useful for
libdvdread4, and run: Ubuntu. Instead, you

A
should run Administration >
After installing Firefox Additional Drivers.
4, read the first sudo
message here: /usr/share/doc/libdvdread4/in
stall-css.sh.
http://ubuntuforums.or
g/showthread.php?t=1713184&hig
hlight=libOSMesa.so
full circle magazine #48 41 contents ^
MY DESKTOP Your chance to show the world your desktop or PC. Email your screenshots and
photos to: misc@fullcirclemagazine.org and include a brief paragraph about
your desktop, your PC's specs and any other interesting tidbits about your setup.

This is my desktop on a Dell INSPIRON 1501 laptop. For the I'm using screenlets, which I learned about from FCM. The
design of my desktop. I used standard theme Ubuntu 10.10 background image for the panels I painted myself with GIMP.
(Ambiance), a set of widgets Screenlets, dock-panel Docky, To save space on the panel, I put the package of window-
and wall-paper Ubuntu SpotLite3. I very much like the picker-applet, which reflects the list of windows in a grid. I use
simplicity and logicality of my desktop. a menu of Mint Linux. The icon theme is Tango-Blue-Materia.

Антон Киселев PC configuration is:


4-core processor Intel (R) Core (TM) 2 Quad CPU
Q8200@2.33Ghz
4 GB RAM
Graphics card Nvidia GeForce gt 230 1.5 GB
Hard disk 360 GB
Ubuntu 10.04 LTS Lucid

Носов Артём

full circle magazine #48 42 contents ^


MY DESKTOP

I'm a student of the Kiev Theological Seminary. My I've been using Linux since 1999 and used various distributions
computer: Lenovo laptop G550 c, Pentium (R) Dual-Core such as Redhat (now Fedora), Mandrake (now Mandriva),
CPU T4400@2.20GHz, RAM 2 GB, HDD 320 GB. The Slackware, and OpenSUSE. I now use Ubuntu as my daily OS.
operating system is Ubuntu 10.04 Lucid. Two months before
this, the OS was Windows7. I switched to Ubuntu for several My Asus A42J laptop specifications:
reasons. I was searching for an inexpensive, or, better yet, Ubuntu 10.10 Maverick Meerkat
free, alternative to Windows. What surprises me is that, in CPU Intel Core I5-460 2.53
Ukraine, so few people use Linux. 2GB DDR3 RAM
NVIDIA Geforce 310 Cuda 1GB;,and
Victor Potocki 500GB HD.

I use a custom theme with clear look on cotrol, evil_mac as


window border, humanity for icons, and Think Linux as
wallpaper. I use Conky to monitor current processes, Compiz
for effects. I also use GNU/Linux in my office as a proxy server,
Samba server, local web server, and other applications. I send
greetings to all the people in the world from Indonesia.

Muhammad Fahtur Rosi

full circle magazine #48 43 contents ^


TOP 5
Written by Andrew Min
Project Management Tools
Planner KPlato
Homepage: http://live.gnome.org/Planner Homepage: http://www.koffice.org/kplato/

Planner is a powerful project manager written for Gnome users. You If you’re a KDE user, you might prefer KPlato. Its feature set is very
can create tasks and subtasks, create resources and assign them to similar to Planner’s - you can set project lengths, allocate resources,
various tasks (as well as include the cost of the resources), add and schedule and reschedule tasks. There’s also a handy progress
milestones, create priorities, and input the percentage of report that reports the earned value of a project. All this happens
completion. The views are also very handy - the default, a Gantt through a well-designed Gantt chart written in a beautiful Qt
chart, displays a macro-level picture of the entire project, including interface created to integrate well into the rest of KOffice.
the relationships between the various tasks and the resources
assigned to each task. Finally, you can import Microsoft Project To install KPlato, use the kplato package.
files, and export to both HTML and Planner.

To install Planner, use the planner package in the universe


repository.

full circle magazine #48 44 contents ^


TOP 5 - PROJECT MANAGEMENT TOOLS

OpenProj GanttProject
Homepage: http://openproj.org/ Homepage: http://www.ganttproject.biz/

One of the grandfathers of open source project management, this If you’re looking for a slightly simpler alternative, give GanttProject a
free clone of Microsoft Project boasts over one million downloads, try. It’s another project manager built around a Gantt interface. Like
and for good reason. First, it’s Java, a huge boon if your company the rest, it supports related tasks, progress, dates, milestones,
uses more than one operating system. It also supports all the priorities, and resources, but it’s all done through a more simple
features everyone else has (resources, Gantt view, relationships interface. Another key distinguishing feature is its compatibility - it
between tasks, timelines, and reports). Finally, it supports reading not only runs on all three major platforms, but it also provides a Java
both Microsoft Project and Planner files, as well as exporting to Web Start app, allowing users to run it from any computer with Java.
Project and PDF.
To install GanttProject, follow the instructions on the site’s download
To install OpenProj, use the .deb binary provided at the download page.
page.

full circle magazine #48 45 contents ^


TOP 5 - PROJECT MANAGEMENT TOOLS

Taskjuggler
Homepage: http://www.taskjuggler.org/

If you’re old school and prefer scripts to GUIs, give Taskjuggler a try.
It’s a powerful KDE-based application that turns scripts into usable
data. Since it’s not limited to what the customizable GUI offers,
Taskjuggler supports extremely advanced features, from vacation The Ubuntu UK podcast is presented by members of the
days for your resources to accounts to calculate returns. It can also United Kingdom’s Ubuntu Linux community.
generate a wide variety of reports, including HTML tables, iCalendar
files, and Gantt-style charts. We aim is to provide current, topical information about, and
for, Ubuntu Linux users the world over. We cover all aspects
of Ubuntu Linux and Free Software, and appeal to everyone
To install Taskjuggler, use the taskjuggler package in the universe from the newest user to the oldest coder, from the
repositories, or download it from the official homepage. command line to the latest GUI.

Because the show is produced by the Ubuntu UK


community, the podcast is covered by the Ubuntu Code of
Conduct and is therefore suitable for all ages.

http://podcast.ubuntu-uk.org/

Available in MP3/OGG format


in Miro or iTunes, or listen to it
directly on the site.

full circle magazine #48 46 contents ^


Full Circle Team
HOW TO CONTRIBUTE Editor - Ronnie Tucker
ronnie@fullcirclemagazine.org
Webmaster - Rob Kerfia
We are always looking for new articles to include in Full Circle. For article admin@fullcirclemagazine.org
guidelines, ideas, and for issue translation, please see our wiki: Comms Mgr - Robert Clipsham
http://wiki.ubuntu.com/UbuntuMagazine mrmonday@fullcirclemagazine.org
Please email your articles to: articles@fullcirclemagazine.org Podcast - Robin Catling
podcast@fullcirclemagazine.org

Editing & Proofreading


Mike Kennedy
If you would like to submit news, email it to: news@fullcirclemagazine.org
David Haas
Gord Campbell
Send your comments or Linux experiences to: letters@fullcirclemagazine.org
Robert Orsino
Hardware/software reviews should be sent to: reviews@fullcirclemagazine.org
Our thanks go out to Canonical, the
Questions for Q&A should go to: questions@fullcirclemagazine.org
many translation teams around the
world and to Thorsten Wilms for the
Desktop screens should be emailed to: misc@fullcirclemagazine.org
current Full Circle logo.
... or you can visit our forum via: www.fullcirclemagazine.org

Deadline for Issue #49:


Sunday 07th May 2011.

Release date for issue #49:


FULL CIRCLE NEEDS YOU! Friday 27th May 2011.
A magazine isn't a magazine without articles and Full Circle is no exception. We need
your Opinions, Desktops and Stories. We also need Reviews (games, apps &
hardware), How-To articles (on any K/X/Ubuntu subject) and any questions, or
suggestions, you may have.
Send them to: articles@fullcirclemagazine.org

full circle magazine #48 47 contents ^

You might also like