Sunteți pe pagina 1din 41

full circle

ISSUE #34 - February 2010

NEW GIMP HOW-TO!


DIGITALLY RETOUCH
BEFORE A PHOTOGRAPH
full circle magazine #34
AFTER
contents ^
My Opinion - 9.10 p.23
full circle Ubuntu Women p.32

Program In Python - Pt8 p.08 Ubuntu Games p.34

My Story p.20 MOTU Interview p.28


Read how one man managed to
convert his family to Ubuntu, and
how Powerpets.com felt upon
Retouch Photos p.16 making the switch to Ubuntu. Command & Conquer p.05

The Perfect Server - Pt4 p.18 Review - Asus UL30-A p.26 Letters p.30 Top 5 - Research Tools p.38

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 #34 contents ^


EDITORIAL
This magazine was created using :

Welcome to another issue of Full Circle magazine.

T
his month we have a new GIMP How-To on digitally retouching photographs.
Many people think GIMP isn't quite up to the power of Photoshop, but this
tutorial proves that GIMP can easily equal Photoshop. Hopefully, we'll have
another GIMP How-To next issue. Speaking of GIMP, we're still getting letters
from Ubuntu users who are wondering what, if anything, will replace GIMP in future
editions of Ubuntu since surely it needs an image editor of some sort, and I have to
agree. Since it can be a bit overwhelming for the beginner, maybe it's time to have a
cut-down GIMP with just the basic features?

Also in this issue, Lucas (our writer) has written a review of Ubuntu is a complete operating
his new Asus UL30-A laptop, and in Ubuntu Games, Ed reviews from system that is perfect for
laptops, desktops and servers.
. Download the demo and give it a try, but do consider buying the full version Whether at home, school or
and support those who are creating native Linux games, £20 ($33 / €26) is a bargain work, Ubuntu contains all the
for a full game. applications you'll ever need
including word processor, email
application and web browser.
This month sees the return of the ! Hosted by Robin Catling, Ed Ubuntu is and always will be free
Hewitt and Dave Wilkins. Many thanks to them for taking up the challenge. Page four of charge. You do not pay any
has the details and download links. You can contact them via: licensing fees. You can
podcast@fullcirclemagazine.org download, use and share Ubuntu
with your friends, family, school
or business, for absolutely
Enjoy the issue, and keep in touch! nothing.

Once installed, your system is


ready to use with a full set of
productivity, internet, drawing
Editor, Full Circle magazine and graphics applications, and
ronnie@fullcirclemagazine.org games.

use the new


'contents' link to jump
to the contents page
full circle magazine #34 from any other page!
contents ^
NEWS
Laptop for computer Ubuntu 10.04 LTS Full Circle Podcast -
novices Linux kernel 2.6.33 Alpha 3 Released Episode 01
People
released The Ubuntu developers have
That’s right
confused and announced the availability of
Linus Torvalds has folks, the Full
frustrated by the third alpha release of
released version 2.6.33 of Circle Podcast is
computers Ubuntu 10.04 LTS, code
the Linux kernel just two back and better
can now turn named "Lucid Lynx". The latest
and a half months after than ever! The
to a laptop development milestone is the
the release of Linux podcast is in
called Alex third of three planned alpha
2.6.32. both MP3 and OGG formats.
built just for releases, which will be
Runtime is 37 minutes.
them. followed by two beta releases
Like it's predecessors, the and a release candidate.
new kernel in the Linux Topics include, the reshuffle
Based on Linux, the laptop
main development line at Canonical, the online
comes with simplified e-mail, Ubuntu 10.04 LTS Alpha 3 is
has thousands of Canonical music store,
web browsing, image editing based on the 2.6.32 Linux
improvements, such as Google Buzz, Good Old
and office software. kernel and features a number
an open source driver for Games and the Acer Aspire
of changes over the previous
GeForce graphics Revo.
Those who sign up for Alex pay 9.10 release, including the
hardware, support for the latest GNOME desktop
£39.95 a month for telephone
kernel-based mode environment. Additionally, the
support, software updates and
setting (KMS), the DRBD •
broadband access. developers note that the open
(Distributed Replicated •
source Nouveau video driver is
Block Device) replication •
Its creators hope the laptop and now used as the default for
solution and support for NVIDIA graphics hardware,
its simple suite of software
the Trim ATA command, The podcast and show notes
proves to be a popular improving resolution
as well as several new are at:
alternative to the Windows and detection, and built-in social
and updated drivers. http://url.fullcirclemagazine.org/
Mac operating systems. networking integration now
88a985
includes support for Twitter,
: h-online.com identi.ca and Facebook.
: BBC News

: h-online.com
full circle magazine #34 contents ^
COMMAND & CONQUER

A
fter Issue 33 was Byobu Also, Byobu
released last month, offers an ncurses-
Ubuntu member Chris “ based menu to
Johnston was kind create screen
enough to send me an email profiles. This can
pointing me to Byobu be accessed by
(https://edge.launchpad.net/byo hitting F9 (as
bu). I admit I haven't had quite seen on the task
as much time to play around bar, “Menu:
with it as I would like, but I <F9>”). I won't
have gotten a general idea of add a screen-shot
what it offers. Also, before I of the menu,
started this segment, I saw a since it's rather
lot of mentions of tmux on the straightforward
Arch Linux Forums, so I'll be .” and self-
covering that here as an (Taken from the Launchpad explanatory. multiple sessions, and each
alternative. I won't be going page.) window is an independent
into much detail on the tmux entity which may be freely
features, as Byobu is similar to What this means is that linked to multiple sessions,
Screen's key bindings and Byobu isn't a re-write of “tmux is a terminal moved between sessions, and
settings, and tmux is extremely Screen, but rather something multiplexer: it enables a otherwise manipulated. Each
well documented, and my that goes along with Screen, number of terminals (or session may be attached to
configuration file is commented adding a few features. The windows), each running a (display and accept keyboard
and should be clear enough. main features I noticed that are separate program, to be input from) multiple clients.
Requests for a more in-depth different from Screen, is that created, accessed, and tmux is intended to be a
article on either can be sent to by default, it comes with a controlled from a single screen. modern, BSD-licensed
me via email, since I'm not status bar that offers more tmux may be detached from a alternative to programs such
sure how much demand there information on the system than screen and continue running in as GNU screen.” (From the
will be for a thorough walk- Screen offers by default, as the background, then later homepage at
through of their functions. seen above right. reattached. tmux uses a client- http://tmux.sourceforge.net/)
server model. The server holds

full circle magazine #34 contents ^


COMMAND & CONQUER
What tmux offers—that is questions, and fulfil the
different from GNU Screen—are requests.
easier-to-understand
commands, vertical and
horizontal splitting, and sane
defaults (status bar, etc.);
moreover, it can be changed
dynamically from the
command-line, and it requires
less memory than GNU Screen.
It requires about 2.4 MB of
memory for the first session, :
but each new window requires https://edge.launchpad.net/byo
only 1 MB of memory. May not bu
seem like much, but on an Above right is a screen-shot Personally, I find tmux a bit and:
older box it can really make a of tmux running (as you can easier to use and understand, http://blog.dustinkirkland.com/s
difference. Also, by default, the probably tell, I actually use but GNU Screen is the more earch/label/Byobu
key bindings all start with ctrl tmux on my netbook, as widely-known program, which
+ b instead of ctrl + a —which opposed to Byobu running in a is why it was covered in-depth :
can be changed, and is Virtual Machine): and tmux wasn't. However, the http://www.openbsd.org/cgi-
changed in my configuration man page covers all the usual bin/man.cgi?query=tmux&sekti
file, which I'll post a link to at info, as well as keyboard on=1 (online man page)
the end of the article. Due to (~/.tmux.conf): shortcuts, configuration and:
the licensing, it is also included http://lswest.pastebin.com/fa64 options, etc. I highly http://tmux.sourceforge.net/
by default in BSD systems, for f955 recommend looking at the man (homepage).
those who are interested in page before posing questions
that kind of stuff. Also, a few : on how to do something, since
key bindings are different, but http://lswest.pastebin.com/f7d0 most of what you'll need to
the man page of tmux is cad21 know is in there (and pretty
extremely clear, and it offers a easy to find). Both of the
complete list of commands I figured that I should programs are in the Universe has learned all he knows
that can be accessed with the include a few other choices in repository in Ubuntu 9.10. As from repeatedly breaking his
following command: this series, since Linux is all always, any article suggestions system, then having no other
or questions can be sent to me option but to discover how to fix
about choice, and the freedom
tmux list-commands it. You can email Lucas at:
to use what you want. at lswest34@gmail and I will do lswest34@gmail.com.
my best to answer the
full circle magazine #34 contents ^
HOW-TO Program In Python - Part 8
runs in a terminal, so we need
#!/usr/bin/python
FCM#27-33 - Python Parts 1 - 7 to create a menu. We will also #------------------------------------------------------
create a class that will hold # Cookbook.py
our database routines. Let's # Created for Beginning Programming Using Python #8
start with a stub of our # and Full Circle Magazine
#------------------------------------------------------
program shown above right. import apsw
import string
Now we will layout our import webbrowser
menu. We do that so we can
class Cookbook:
stub our class. Our menu will
Dev Graphics Internet M/media System be a rather big loop that will def Menu():
display a list of options that cbk = Cookbook() # Initialize the class
the user can perform. We'll
Menu()
use a while loop. Change the
CD/DVD HDD USB Drive Laptop Wireless menu routine to look like the
code shown below right.
def Menu():

W
Next we stub the menu with cbk = Cookbook() # Initialize the class
e will continue an if|elif|else structure which loop = True
programming our is shown at the top of the next while loop == True:
recipe database print
page. '==================================================='
that we started in print ' RECIPE DATABASE'
Part 7. This will be a long one, Let's take a quick look at print
with a lot of code, so grab on our menu routine. We start off '==================================================='
with all your might and don't let print ' 1 - Show All Recipes'
by printing the prompts that print ' 2 - Search for a recipe'
go. But remember, keep your the user can perform. We set a print ' 3 - Show a Recipe'
hands and feet inside the car at variable (loop) to True, and print ' 4 - Delete a recipe'
all times. We have already then use the while function to print ' 5 - Add a recipe'
created our database. Now we print ' 6 - Print a recipe'
continue looping until loop = print ' 0 - Exit'
want to display the contents, False. We use the raw_input() print
add to it and delete from it. So command to wait for the user '==================================================='
how do we do that? We will to select an option, and then response = raw_input('Enter a selection -> ')
start with an application that
full circle magazine #34 contents ^
PROGRAM IN PYTHON - PART 8 /usr/bin/python -u
"/home/greg/python_examples/APSW/cookbook/cookbook_stub.py"
===================================================
RECIPE DATABASE
if response == '1': # Show all recipes ===================================================
pass 1 - Show All Recipes
elif response == '2': # Search for a recipe 2 - Search for a recipe
pass 3 - Show a Recipe
elif response == '3': # Show a single recipe 4 - Delete a recipe
pass 5 - Add a recipe
elif response == '4': # Delete Recipe 6 - Print a recipe
pass 0 - Exit
elif response == '5': # Add a recipe ===================================================
pass Enter a selection ->
elif response == '6': # Print a recipe
pass
elif response == '0': # Exit the program the EnterNew routines. The
print 'Goodbye' PrintSingleRecipe, items, we will want to print out
loop = False all of the recipes from the
else:
DeleteRecipe and PrintOut
print 'Unrecognized command. Try again.' routines all need to know what Recipe table – so the user can
recipe to deal with, so they will pick from that list. These will
type “0”, and then print need to have a parameter that be options 1, 3, 4 and 6. So,
our if routine to handle “Goodbye” and exit. At this we'll call “which”. Use the pass modify the menu routine for
whichever option the user point, we can now start stubs command to finish each stub. those options, replacing the
selected. Before we can run of our routines in the Cookbook Under the Cookbook class, pass command with
this for a test, we need to class. We will need a routine create the routine stubs: cbk.PrintAllRecipes(). Our
create a stub inside our class that will display all the response check routine will
for the __init__ routine: information out of the Recipes def PrintAllRecipes(self): now look like the code at the
data table, one that will allow pass top of the next page.
def __init__(self): def SearchForRecipe(self):
you to search for a recipe, one pass
pass
that will show the data for a def One more thing to do is to
single recipe from all three PrintSingleRecipe(self,which) set up the __init__ routine.
Now, save your program :
tables, one that will delete a Replace the stub with the
where you saved the database pass
recipe, one that will allow you def DeleteRecipe(self,which): following lines:
you created from the last time,
to add a recipe, and one that pass
and run it. You should see def __init__(self):
will print the recipe to the def EnterNew(self):
something like that shown pass global connection
default printer. The
above right. def PrintOut(self,which): global cursor
PrintAllRecipes routine doesn't pass self.totalcount = 0
need a parameter other than connection=apsw.Connection(
It should simply print the "cookbook.db3")
the (self) parameter, neither For a number of the menu
menu over and over, until you cursor=connection.cursor()
does the SearchforRecipe nor
full circle magazine #34 contents ^
PROGRAM IN PYTHON - PART 8
Recipes' as the item for each recipe.
cntr = 0 This will allow us to select the
if response == '1': # Show all recipes for x in
cbk.PrintAllRecipes() cursor.execute(sql): correct recipe later on. When
elif response == '2': # Search for a recipe cntr += 1 you run your program, you
pass print '%s %s %s %s'
elif response == '3': # Show a single recipe should see the menu, and
%(str(x[0]).rjust(5),x[1].lju when you select option 1, you'll
cbk.PrintAllRecipes() st(30),x[2].ljust(20),x[3].lj
elif response == '4': # Delete Recipe ust(30)) get what's shown at the top of
cbk.PrintAllRecipes() print '-------------' the next page.
elif response == '5': # Add a recipe self.totalcount = cntr
pass
elif response == '6': # Print a recipe That's what we wanted,
cbk.PrintAllRecipes() The cntr variable will count except if you are running the
elif response == '0': # Exit the program the number of recipes we app in Dr.Python or the like, the
print 'Goodbye' display to the user. Now our
loop = False program doesn't pause. Let's
else: routine is done. Shown below is add a pause until the user
print 'Unrecognized command. Try again.' the full code for the routine, presses a key so they can look
just in case you missed at the output for a second or
First we create two global something. two. While we are at it, let's
Next, we will want to do a print out the total number of
variables for our connection
“pretty print” to the screen for Notice that we are using the recipes from the variable we
and cursor. We can access
headers for our recipe list. We'll tuple that is returned from the set up a moment ago. Add to
them from anywhere within the
use the “%s” formatting cursor.execute routine from the bottom of option 1 of the
cookbook class. Next, we
command, and the left justify ASPW. We are printing the pkID menu:
create a variable self.totalcount
command, to space out our
which we use to count the
screen output. We want it to
number of recipes. We'll be def PrintAllRecipes(self):
look like this:
using this variable later on. print '%s %s %s %s'
Finally we create the Item Name Serves Source
%('Item'.ljust(5),'Name'.ljust(30),'Serves'.ljust(20),
connection and the cursor. 'Source'.ljust(30))
print '---------------------------------'
---------------------------
sql = 'SELECT * FROM Recipes'
The next step will be to flesh cntr = 0
out the PrintAllRecipes() Finally, we need to create for x in cursor.execute(sql):
routine in the Cookbook class. our SQL statement, query the cntr += 1
print '%s %s %s %s'
Since we have the global database, and display the
%(str(x[0]).rjust(5),x[1].ljust(30),x[2].ljust(20),x[3
variables for connection and results. Most of this was ].ljust(30))
cursor, we don't need to re- covered in the article last time. print '---------------------------------'
create them in each routine. self.totalcount = cntr
sql = 'SELECT * FROM
full circle magazine #34 contents ^
PROGRAM IN PYTHON - PART 8
from the tuple returned by
ASPW. In this case, we use x as
Enter a selection -> 1
Item Name Serves Source the gross variable, and then
-------------------------------------------------------------------------------------- each one with bracketed index
1 Spanish Rice 4 Greg into the tuple. Since the table
2 Pickled Pepper-Onion Relish 9 half pints Complete Guide to Home Canning layout is
--------------------------------------------------------------------------------------
=================================================== pkID/name/servings/source, we
RECIPE DATABASE can use x[0],x[1],x[2] and x[3]
=================================================== as the detail. Then, we want to
1 - Show All Recipes select everything from the
2 - Search for a recipe
3 - Show a Recipe ingredients table where the
4 - Delete a recipe recipeID (our key into the
5 - Add a recipe recipes data table) is equal to
6 - Print a recipe the pkID we just used. We loop
0 - Exit
=================================================== through the tuple returned,
Enter a selection -> printing each ingredient, and
then finally we get the
instructions from the
print 'Total Recipes - %s' user input, we'll use the the connection and cursor instructions table – just like we
%cbk.totalcount Try|Except structure. We will again, then create our SQL did for the ingredients table.
print the prompt to the user statement. In this case, we use Finally, we wait for the user to
print '---------------------- (Select a recipe → ), then, if
----------------------------- 'SELECT * FROM Recipes press a key so they can see the
-' they enter a correct response, WHERE pkID = %s” % recipe on the screen. The code
we'll call the str(which)' where which is the is shown on the next page.
res = raw_input('Press A Key PrintSingleRecipe() routine in value we want to find. Then we
-> ') our Cookbook class with the “pretty print” the output, again Now, we have two routines
pkID from our Recipe table. If
We'll skip option #2 (Search the entry is not a number, it
for a recipe) for a moment, and try:
will raise a ValueError res = int(raw_input('Select a Recipe -> '))
deal with #3 (Show a single exception, which we handle if res <= cbk.totalcount:
recipe). Let's deal with the with the except ValueError: cbk.PrintSingleRecipe(res)
menu portion first. We'll show catch shown right. elif res == cbk.totalcount + 1:
the list of recipes, as for option print 'Back To Menu...'
else:
1, and then ask the user to Next, we'll work on our print 'Unrecognized command. Returning to menu.'
select one. To make sure we PrintSingleRecipe routine in the except ValueError:
don't get errors due to a bad Cookbook class. We start with print 'Not a number...back to menu.'

full circle magazine #34 contents ^


PROGRAM IN PYTHON - PART 8
out of the six finished. So, let's Database Browser, our like
deal with the search routine, statement uses a wildcard def PrintSingleRecipe(self,which):
again starting with the menu. character of “%”. So, to look sql = 'SELECT * FROM Recipes WHERE pkID = %s' %
str(which)
Luckily this time, we just call for a recipe containing “rice” in print
the search routine in the class, the recipe name, our query '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
so replace the pass command would be: for x in cursor.execute(sql):
with: recipeid =x[0]
SELECT * FROM Recipes WHERE print "Title: " + x[1]
name like '%rice%' print "Serves: " + x[2]
cbk.SearchForRecipe() print "Source: " + x[3]
print
Now to flesh out our search However, since the “%” '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
code. In the Cookbook class, character is also a substitution sql = 'SELECT * FROM Ingredients WHERE RecipeID
character in our strings, we = %s' % recipeid
replace our stub for the print 'Ingredient List:'
SearchForRecipe with the code have to use %% in our text. To for x in cursor.execute(sql):
shown on the next page. make it worse, we are using print x[1]
the substitution character to print ''
insert the word the user is print 'Instructions:'
There's a lot going on there. sql = 'SELECT * FROM Instructions WHERE RecipeID
After we create our connection searching for. Therefore, we = %s' % recipeid
and cursor, we display our must make it '%%%s%%'. for x in cursor.execute(sql):
search menu. We are going to Sorry if this is as clear as mud. print x[1]
The third query is called a Join print
give the user three ways to '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
search, and a way to exit the statement. Let's look at it a bit resp = raw_input('Press A Key -> ')
routine. We can let the user closer:
search by a word in the recipe
sql = "SELECT ON the recipeID being equal to
name, a word in the recipe That could create confusion in
r.pkid,r.name,r.servings,r.so
source, or a word in the urce,i.ingredients FROM the pkID in the recipe table, our user's mind. Our menu uses
ingredient list. Because of this, Recipes r Left Join then searching for our
we can't just use the display ingredients i on (r.pkid = ingredient using the like searchin =
i.recipeid) WHERE statement, and, finally, raw_input('Enter Search Type
routine we just created, and i.ingredients like '%%%s%%' -> ')
will need to create custom GROUP BY r.pkid" %response grouping the result by the pkID
printout routines. The first two in the recipe table to keep if searchin != '4':
options use simple SELECT We are selecting everything duplicates from being shown. If
statements with an added from the recipe table, and the you remember, we have which says: if searchin (the
twist. We are using the “like” ingredients from the peppers twice in the second value the user entered) is NOT
qualifier. If we were using a ingredients table, joining or recipe (Onion and pepper equal to 4 then do the options,
query browser like SQLite relating the ingredient table relish), one green and one red. if it is 4, then don't do
full circle magazine #34 contents ^
def SearchForRecipe(self):
# print the search menu
print '-------------------------------'
print ' Search in'
print '-------------------------------'
print ' 1 - Recipe Name'
print ' 2 - Recipe Source'
print ' 3 - Ingredients'
print ' 4 - Exit'
searchin = raw_input('Enter Search Type -> ')
if searchin != '4':
if searchin == '1':
search = 'Recipe Name'
elif searchin == '2':
search = 'Recipe Source'
elif searchin == '3':
search = 'Ingredients'
parm = searchin
response = raw_input('Search for what in %s (blank to exit) -> ' % search)
if parm == '1': # Recipe Name
sql = "SELECT pkid,name,source,servings FROM Recipes WHERE name like '%%%s%%'" %response
elif parm == '2': # Recipe Source
sql = "SELECT pkid,name,source,servings FROM Recipes WHERE source like '%%%s%%'" %response
elif parm == '3': # Ingredients
sql = "SELECT r.pkid,r.name,r.servings,r.source,i.ingredients FROM Recipes r Left Join ingredients i
on (r.pkid = i.recipeid) WHERE i.ingredients like '%%%s%%' GROUP BY r.pkid" %response
try:
if parm == '3':
print '%s %s %s %s %s'
%('Item'.ljust(5),'Name'.ljust(30),'Serves'.ljust(20),'Source'.ljust(30),'Ingredient'.ljust(30))
print '--------------------------------------------------------------------------------------'
else:
print '%s %s %s %s' %('Item'.ljust(5),'Name'.ljust(30),'Serves'.ljust(20),'Source'.ljust(30))
print '--------------------------------------------------------------------------------------'
for x in cursor.execute(sql):
if parm == '3':
print '%s %s %s %s %s'
%(str(x[0]).rjust(5),x[1].ljust(30),x[2].ljust(20),x[3].ljust(30),x[4].ljust(30))
else:
print '%s %s %s %s' %(str(x[0]).rjust(5),x[1].ljust(30),x[3].ljust(20),x[2].ljust(30))
except:
print 'An Error Occured'
print '--------------------------------------------------------------------------------------'
inkey = raw_input('Press a key')

full circle magazine #34 contents ^


PROGRAM IN PYTHON - PART 8
anything, just fall through.
Notice that I used “!=” as Not
Equal To instead of “<>”. Enter a selection -> 2
Either will work under Python -------------------------------
2.x. However, in Python 3.x, it Search in
will give a syntax error. We'll -------------------------------
1 - Recipe Name
cover more Python 3.x 2 - Recipe Source
changes in a future article. For 3 - Ingredients
now, start using “!=” to make 4 - Exit
your life easier to move to Enter Search Type -> 1
Search for what in Recipe Name (blank to exit) -> rice
Python 3.x in the future. Item Name Serves Source
Finally, we “pretty print” again --------------------------------------------------------------------------------------
our output. Let's look at what 1 Spanish Rice 4 Greg
the user will see, shown right. --------------------------------------------------------------------------------------
Press a key

You can see how nicely the Easy enough. Now for the ingredient search...
program prints the output.
Now, the user can go back to Enter a selection -> 2
the menu and use option #3 to -------------------------------
Search in
print whichever recipe they -------------------------------
want to see. Next we will add 1 - Recipe Name
recipes to our database. Again, 2 - Recipe Source
we just have to add one line to 3 - Ingredients
4 - Exit
our menu routine, the call to Enter Search Type -> 3
the EnterNew routine: Search for what in Ingredients (blank to exit) -> onion
Item Name Serves Source Ingredient
cbk.EnterNew()
--------------------------------------------------------------------------------------
1 Spanish Rice 4 Greg 1 small
The code that needs to Onion chopped
replace the stub in the 2 Pickled Pepper-Onion Relish 9 half pints Complete Guide to Home Canning 6 cups
Cookbook class for EnterNew() finely chopped Onions
is at: --------------------------------------------------------------------------------------
Press a key
http://pastebin.com/f1d868e63.

We start by defining a list


named “ings” – which stands
full circle magazine #34 contents ^
PROGRAM IN PYTHON - PART 8
for ingredients. We then ask user which recipe to delete
cbk.PrintAllRecipes()
the user to enter the title, (back in the menu), and pass
print '0 - Return To Menu'
source, and servings. We then that pkID number into our try:
enter a loop, asking for each delete routine. Next, we ask res = int(raw_input('Select a Recipe to DELETE
ingredient, appending to the the user 'are they SURE' they or 0 to exit -> '))
if res != 0:
ing list. If the user enters 0, we want to delete the recipe. If the
cbk.DeleteRecipe(res)
exit the loop and continue on response is “Y” elif res == '0':
asking for the instructions. We (string.upper(resp) == 'Y'), print 'Back To Menu...'
then show the recipe contents then we create the sql delete else:
print 'Unrecognized command. Returning to
and ask the user to verify statements. Notice that this
menu.'
before saving the data. We use time we have to delete records except ValueError:
INSERT INTO statements, like from all three tables. We print 'Not a number...back to menu.'
we did last time, and return to certainly could just delete the
the menu. One thing we have record from the recipes table,
def DeleteRecipe(self,which):
to be careful of is the single but then we'd have orphan resp = raw_input('Are You SURE you want to
quote in our entries. USUALLY, records in the other two, and Delete this record? (Y/n) -> ')
this won't be a problem in the that wouldn't be good. When if string.upper(resp) == 'Y':
ingredient list or the we delete the record from the sql = "DELETE FROM Recipes WHERE pkID = %s"
% str(which)
instructions, but in our title or recipe table, we use the pkID cursor.execute(sql)
source fields, it could come up. field. In the other two tables, sql = "DELETE FROM Instructions WHERE
We need to add an escape we use the recipeID field. recipeID = %s" % str(which)
character to any single quotes. cursor.execute(sql)
sql = "DELETE FROM Ingredients WHERE
We do this with the Finally, we will deal with the recipeID = %s" % str(which)
string.replace routine, which is routine to print the recipes. cursor.execute(sql)
why we imported the string We'll be creating a VERY simple print "Recipe information DELETED"
library. In the menu routine, HTML file, opening the default resp = raw_input('Press A Key -> ')
else:
put the code shown above browser and allowing them to print "Delete Aborted - Returning to menu"
right under option #4. print from there. This is why we
are importing the webbrowser
Then, in the Cookbook class, library. In the menu routine for select the one that they wish to open([filename],'w') command
use the code shown below option #6, insert the code print. We call the PrintOut which creates the file. We then
right for the DeleteRecipe() shown at the top of the next routine in the Cookbook class. pull the information from the
routine. page. That code is shown at the top recipe table, and write it to the
right of the next page. file with the fi.write command.
Quickly, we'll go through the Again, we display a list of all We use the <H1></H1>
delete routine. We first ask the the recipes, and allow them to We start with the fi = header 1 tag for the title, the
full circle magazine #34 contents ^
PROGRAM IN PYTHON - PART 8
<H2> tag for servings and
source. We then use the
cbk.PrintAllRecipes()
<li></li> list tags for our print '0 - Return To Menu'
ingredient list, and then write try:
the instructions. Other than res = int(raw_input('Select a Recipe to DELETE or 0 to exit -> '))
that it's simple queries we've if res != 0:
cbk.PrintOut(res)
already learned. Finally, we elif res == '0':
close the file with the fi.close() print 'Back To Menu...'
command, and use else:
webbrowser.open([filename]) print 'Unrecognized command. Returning to menu.'
except ValueError:
with the file we just created. print 'Not a number...back to menu.'
The user can then print from
their web browser – if required.

This was our


biggest application to date. I've
posted the full source code
def PrintOut(self,which):
(and the sample database if fi = open('recipeprint.html','w')
you missed last month) on my sql = "SELECT * FROM Recipes WHERE pkID = %s" % which
website. If you don't want to for x in cursor.execute(sql):
type it all in or have any RecipeName = x[1]
RecipeSource = x[3]
problems, then hop over to my RecipeServings = x[2]
web site, fi.write("<H1>%s</H1>" % RecipeName)
www.thedesignatedgeek.com fi.write("<H2>Source: %s</H2>" % RecipeSource)
to get the code. fi.write("<H2>Servings: %s</H2>" % RecipeServings)
fi.write("<H3> Ingredient List: </H3>")
sql = 'SELECT * FROM Ingredients WHERE RecipeID = %s' % which
for x in cursor.execute(sql):
fi.write("<li>%s</li>" % x[1])
fi.write("<H3>Instructions:</H3>")
is owner of sql = 'SELECT * FROM Instructions WHERE RecipeID = %s' % which
,a for x in cursor.execute(sql):
consulting company in Aurora, fi.write(x[1])
Colorado, and has been fi.close()
programming since 1972. He webbrowser.open('recipeprint.html')
enjoys cooking, hiking, music, print "Done"
and spending time with his
family.

full circle magazine #34 contents ^


HOW-TO Digitally Retouch Photos in GIMP

T
his month, our subject Now, one by one, we will
N/A is digital retouching of apply our solutions. We'll begin
photographs. by removing the acne and
Nowadays, spots. The healing tool will be
unblemished or even perfect used for this. Choose
faces are the rule on magazine the healing tool (right)
covers and billboards. In this from the toolbox. Its
article I'll show you some shortcut key is H. perform the same process for
general cosmetic retouching all acne/spots.

Dev Graphics Internet M/media System


techniques. Healing Tool
Professional photographers Now we need to choose a
and artworkers digitally brush. Circle Fuzzy (shown
retouch in a few different ways. below, selected) is a suitable
CD/DVD HDD USB Drive Laptop Wireless Some use Gimp or similar option. You can change the size
tools, Others prefer filters. of the brush by increasing /
Here, we will use both together. decreasing the scale value.
We'll retouch in a practical way. All acne has been removed.
First, we'll see how to remove Now it's time to remove the
acne from photos. light from the flash - for this
process we can use the clone
Open the photo (my source tool or healing tool.
image is shown left) in Gimp The healing tool is for
and check it for defects. Clone Tool: Selectively
removing acne and spots. First,
copy from an image or
with + and - zoom into the
I've detected the following pattern, using a brush.
photo. Then mark the best
defects: color option - while pressing
In both tools, we maintain a
CTRL, then release the CTRL
1. Flash reflections on the face. low opacity value and we must
and click on the acne/spot.
2. Acne on the face. do this by using different
3. Lines and wrinkles regions and for several
You should see that the acne
4. Suboptimal colors. attempts - not all at once.
has disappeared. You should
full circle magazine #34 contents ^
DIGITALLY RETOUCH PHOTOS IN GIMP
one selection, so we'll Deselect the parts that we Press Shift + Ctrl + A or
choose the add to have mentioned. choose from the Select
selection icon shown menu.
right.
The last thing is
We choose the face as our correcting the colours. Click
first selection, then, after Colours > Colour Balance. The
clicking the add to selection How-To for more information on
While the Ctrl key is pressed, icon we hold down SHIFT and this will be our next tutorial.
click on the location which has draw a second selection
the ground color close to a around the hand.
shiny place. Click a different Don't forget to apply feather
place again and do the same after each selection. Select > This picture has a CC licence from
process. Let this process Feather and a value of 5 pixels. Brenda Annerl
http://www.flickr.com/photos/brendaan
continue until the light from
nerl/2729960358/sizes/m/
the flash is gone.

Then apply a filter. Click,


We choose the borders of Filters > Blur > Gaussian Blur.
the area that we would like to
work on. If you make any
mistake, you can use
backspace to undo the
previous action.
Now we'll select some parts
of the face. Choose the Free Now we should deselect
Select tool from the toolbox. some parts from our selection.
• Eyes
Free Select Tool: • Eyebrows
Select a hand-drawn • Nostril
region with free and • Accessories
polygonal segments
Choose the third Choose suitable values, and
We will need to do more than option from the click OK.
toolbox:
full circle magazine #34 contents ^
HOW-TO The Perfect Server - Part 4
squirrelmail-configure or:
FCM09 - 16 : Server Series 1 - 8 imap_server_type = courier
FCM28 - 29 : LAMP Server 1 - 2 We must tell SquirrelMail default_folder_prefix = http://192.168.0.100/webmail
FCM31 - 33 : The Perfect Server 1 - 3 that we are using Courier-IMAP/- INBOX.
trash_folder = Trash
POP3: sent_folder = Sent
draft_folder = Drafts
SquirrelMail Configuration : show_prefix_option = false
Read: config.php (1.4.0) default_sub_of_inbox = false
Main Menu show_contain_subfolders_optio
1. Organization Preferences n = false
2. Server Settings optional_delimiter = .
Dev Graphics Internet M/media System 3. Folder Defaults delete_folder = true
4. General Options
5. Themes Press any key to continue...
6. Address Books
7. Message of the Day (MOTD)
8. Plugins Next, you will see a list of
CD/DVD HDD USB Drive Laptop Wireless
9. Database options and their settings;
10. Languages press the key to
Install ISPConfig 3

T
continue.
o install the D. Set pre-defined settings
for specific IMAP servers
SquirrelMail webmail C Turn color on Back at the Main Menu, To install ISPConfig 3 from
client, run: S Save data enter: to save data, and you the latest released version, do
Q Quit will see: this (replacing ISPConfig-
3.0.1.6.tar.gz with the latest
aptitude install squirrelmail Command >>
Data saved in config.php version) :
Press enter to continue
Then, create the following Enter: cd /tmp
symlink... Back at the Main Menu,
Now, you will see a list of enter to quit. wget
ln -s IMAP server options entitled: http://downloads.sourceforge.
/usr/share/squirrelmail/ Afterwards you can access net/ispconfig/ISPConfig-
/var/www/webmail Please select your IMAP 3.0.1.6.tar.gz?use_mirror=
SquirrelMail under:
server:
http://server1.example.com/we tar xvfz ISPConfig-
... and configure SquirrelMail:
Enter the word: bmail 3.0.1.6.tar.gz

full circle magazine #34 contents ^


THE PERFECT SERVER - PART 4
cd
ispconfig3_install/install/

The next step is to run:

php -q install.php

This will start the ISPConfig


3 installer. Press for
each option - except when
asked for your MySQL root
password.

The installer automatically


configures all underlying
services, so no manual
configuration is needed.

Afterwards you can access


ISPConfig 3 under:

http://server1.example.com:80
80/

or:

http://192.168.0.100:8080/

Log in with the username


and the password
(you should change the
default password after your
first login):

The system is now ready to


be used.

full circle magazine #34 contents ^


MY STORY Linux User

M
y Linux story began only an exercise in pleasing my up my data in anticipation of teacher could kick their butts
with frustration. I inner geek. Years ago, I tried the next disaster, I always in online first-person shooters,
am a high-school Red Hat and found it seemed to lose a few files, or that he could lose himself in
teacher who relies promising, but I didn't have the including some that had to be a good RPG. I've played PC
on his computer for everything. time or patience to face the recreated at a cost of time I games since the days of
From typing tests to preparing learning curve. Over the next didn't have to spare. Wolfenstein 3D, so, unless
lessons to keeping track of few years, I tried out many Linux could scratch my gaming
grades, my home computer other distributions: Corel Linux, I knew Linux could provide itch, it wasn't going to keep me
kept my classroom cooking. Fedora, Mandrake, Xandros, stability and stave off many of happy.
But two years ago my desktop Debian, and Slack. While I was the dangers to which other
computer picked up a Trojan intrigued and impressed, none operating systems fell prey. I My second problem was my
that left the system inoperable. of them had convinced me to also knew, thanks to the many family. While I was geeky
Despite frequently updating make the switch from my bootable CD versions of Linux enough to tackle Linux, my
antivirus- and spyware- Redmond-centric OS. I'd tried over the past wife and kids were another
protection software, my several months, that matter. My two sons,
computer came to a crashing But, thanks to my latest Linux had reached like their dad,
halt three times in a year from Trojan-induced disaster, I knew a level of were avid
a nasty virus, leaving me the time had come. Linux, after usability that gamers who
unable to get my work done. all, was virtually immune to would more would need
Once I was supposed to give a viruses and spyware, two than meet my their gaming
test the next day, but without a problems that had cost me far needs. But I fix. My wife,
working computer to type my too much time and had two however,
exam that didn't happen. While productivity. Teachers don't problems to who is also
my students weren't exactly have enough time as it is. solve before I a teacher,
upset about this (the little Preparing for class, grading could switch saw the
buggers actually seemed assignments, attending my home computer as a
happy for some reason!), I was meetings and trainings – a computer to a necessary evil.
annoyed, to say the least. To teacher's plate is full enough Linux system. While she enjoyed
say the most, I'd had it. without having to wipe and email and online
reinstall your computer's First, I love computer Scrabble, the computer was
I had tried Linux before, but operating system twice a year. games. My students always more of an irritant for her than
those experiments had been And while I diligently backed found it amusing that their a labor-saving device. Routine

full circle magazine #34 contents ^


MY STORY - LINUX USER
tasks - like typing a document our Linux computer; in fact, a in Windows. Guild Wars proved World of Warcraft and my
in a word processor - often few months ago when her to be just as easy. Older Neverwinter Nights my kids
turned into an exercise in classroom computer crashed, games, however, such as my and I are happy. Thanks to
frustration. Clearly, if Linux was she came home from school to much-beloved Thief and Thief II Wine and Cedega, my sons and
going to work for my family, it tell me that when the games, were not responsive. I continue to frag, quest, and
had to be user-friendly and a computer tech came to fix the After more online reading, I save the world.
viable gaming platform. problem, she informed him decided to download and
that, if the school would just install Transgaming's Cedega That was two years ago. We
Ubuntu Linux was my best switch to Linux, this sort of software. While Cedega isn't now have two networked
hope. Of all the distributions I'd thing wouldn't happen! free, the five-dollar-a-month Ubuntu 9.04 computers, and I
tried over the years, none had fee brings updates and am typing this on my Dell
matched Ubuntu's elegance Gaming was my next features that have made it laptop running Ubuntu 8.10. In
and ease of use. I downloaded challenge. I had read possible for me to two years, none of my
Ubuntu 7.04 on a friend's about the Wine install the Thief computers has crashed or
computer, burned it to CD, project online, games, fallen victim to a virus or
took it home and booted it up. but I had Neverwinter spyware program. My sons and
The installation was never tried Nights II, I still game daily, and we are
straightforward. My wired it. I used Bioshock, becoming increasingly adept at
network connection was Synaptic LucasArts' tweaking Wine and Cedega to
detected and ready to use, again and Jedi run them well. My wife still
and, thanks to Synaptic, it was installed Academy, plays online Scrabble, and
easy to install the needed Wine, and finds her work on the computer
plugins for Firefox that would which to numerous less stressful than it was in our
ensure my wife's online my surprise other titles. pre-Ubuntu years. In August, I
Scrabble habit could be fed. In took only My sons and I am presenting a workshop for
hindsight, my worries about my moments. I also discovered teachers in my district of
wife's ability to handle the then took out a the joys of Linux Florida on the advantages of
switch to Ubuntu Linux were stack of game CDs, games like Nexuiz open-source software. Soon, I
proven wrong. Once she did a Google search for (pictured on previous may not be the only teacher
realized that OpenOffice.org Wine gaming how-tos, and set page) and Alien Arena writing you to sing the praises
could handle her teacher tasks to work. To my surprise, I found (pictured), which have proven of the penguin!
with aplomb, and that Firefox that many games worked just so entertaining that they have
and Thunderbird made online as they did in Windows. replaced Unreal Tournament. In
tasks fast and easy, she never Installing World of Warcraft, for short, while Ubuntu might not
looked back. She is now example, was as be capable of running every
completely comfortable with straightforward as it had been game new or old, between
full circle magazine #34 contents ^
MY STORY Powerpets.com

I
n 2002, we started
Powerpets.com, a
Canadian company based
on a small idea and big
dreams: to create an
entertaining virtual world with
many educational aspects to
support and spread awareness
of abused and abandoned
animals. restart it. Unfortunately, last in the mail. As soon as we had
year the flavor of Linux that we some free time we installed
Less than half a year into had chosen for the office was Ubuntu on an old (test) laptop.
the project, we were sold to another company who The installation was quick and
experiencing explosive growth pretty much abandoned the OS. without a hitch, despite the
and an equal number of outdated hardware.
problems - mainly e-mail based A great deal of research Subsequently, everyone in our
viruses. We just happened to then went into selecting a new office installed Ubuntu and was
be affected by the world’s next- Linux OS to carry us through using it in a matter of hours.
big-virus threat weeks before the next decade without Some changes were hard to
any large anti-virus companies headaches - or an overload of get used to, such as the
such as McAfee had a fix for it. IT expenses. Ubuntu quickly SAMBA shares, but the switch
More time was spent fixing our caught our attention. An to Ubuntu was an overall
Windows office computers than additional month passed success.
working on our business. before we requested an Ubuntu
CD, because we couldn't find Many thanks Ubuntu for
When we switched to Linux an option to purchase one and sending us the CD and for our
we were keenly aware that we felt uncomfortable ordering a great experience with your
would face quite a few hurdles, free CD. (With satellite operating system!
but it was nice to know that Internet, we were unable to
once the system was set up we download the ISO image.) A
wouldn't have to worry about few weeks later, our CD arrived
it. We wouldn't even need to
full circle magazine #34 contents ^
MY OPINION 9.10 Issues

A
fter reading Maciej boots faster than 8.10 I can't If I plug in one of my just works! That's when I ran
Miller's letter in the sense it. Of course, it is worlds pendrives, the desktop display into the uuid fiasco mentioned
November Full Circle, faster than XP or Vista. shows "4 GB Filesystem" below above - couldn't figure out why
I just had to add my its icon. Nautilus' Places- I had no /swap partition! So
two cents. For me, the change Grub >Computer displays roughly now, with a 1.5 GB /swap,
from Ubuntu 8.10 to 9.10 has the same information. But Ubuntu still can't suspend or
been a deep disappointment. Apparently Grub2 replaces a Nautilus' folder display title bar hibernate. Interestingly, a prior
After weeks of frustration, I'm program that has served well - shows "881A-9238". /ls/media version of Ubuntu, maybe 7.??,
pretty much unhappy with the simply for the sake of making a gives 881A-9238 for my PNY was able to hibernate - now
whole thing. After backing-up change. It is impossibly pendrive, BCC4-4D1A for my that's progress?
and removing most of the complex to configure. Grub2 Toshiba pendrive but CRUZER
hidden folders and files in my still thinks that my HP/Compaq for my SanDisk. I don't find Video
"home", I did a fresh system restore partition is that informative.
installation of Ubuntu 9.10, Windows 2K. But thinking that Now I admit to having an
Kosmic Kludge, to the same HP/Compaq's Windows XP Again, complexity replacing "old" video card featuring an
partitions I've been using for partition is Linux is completely relative simplicity for the sake nVidia Gforce2 MX400 chip. But
years. inexcusable! of change and "correctness". hey, I don't play video games -
it handles Stellarium's needs
Boot Disk by uuid Suspend and Hibernate just fine. I can't understand
why I have to use nVidia's
The log-in screen is, at a I'm supposed to know that On Windows XP, my box drivers and enable a bunch of
minimum, corny. The whole 409c796f-29c1-4336-8e7a- suspends and hibernates silly desktop effects just to get
scheme is flawed: first a mouse 1ed18db8706f is really hda5! It without problems, but Ubuntu a display that even works. If I
click to confirm the user, then really makes no sense, to me 9.10 can't handle these don't, the "system" insists on
change to the keyboard to anyway, that resizing hda5 operations. At first, I thought using a VESA driver and a
enter a password, and then generated a completely new the problem was that I had window manager that don't
change back to the mouse to uuid for the same chunk of disk increased RAM from 500MB to work - yes I've filed a bug. In
confirm log-in; but, if you use a real estate. Of course that 1GB leaving /swap at 900 MB. that respect, 8.10 was head
left-handed mouse, the system made the partition unavailable Finally, I worked up the nerve and shoulders above 9.10!
can't figure out what you're to Ubuntu. to resize the partition using
doing even though it knows Gparted Live. Wonderful 9.10 still happily paints
who the user is! If Ubuntu 9.10 application - simple, quick, it files/drives on top of other
full circle magazine #34 contents ^
MY OPINION - 9.10 ISSUES
files/drives in the initial Wine) that tries to install the
workplace display. Microsoft Core Fonts complains
that it times-out - trying after
Audio 10 minutes or so. A
workaround removes part of
The main reason I the install script having to do
"upgraded" to 9.10. I can play with time-outs.
music and hear the audio from
videos, but, frankly, I'm afraid Default applications
to reinstall Skype, or
Wine/EchoLink, or even see if Why anyone would choose
my microphone works. I just Evolution for the default mail
don't need any more hassle. and calendar application is
completely beyond me. Like
Internet most Swiss Army Knife
solutions, it fails to satisfy
Somehow, 9.10 has needs in almost every respect.
introduced a 7-10 second delay I tried - really tried - to use
Evolution for several months drives. If I open a folder with F-
when an application tries to Spot, I can view thumbnails entire time from now to release
access a URL - every URL. I use on 8.10. The only thing going
and photos, but there are no of 10.04 in resolving various
Thunderbird, Firefox, and for it is that it can back-up and
editing features. G-thumb issues such as these. I do
Seamonkey - they all manifest restore the mail folders. I won't
seems to be a more able and understand that it is way more
the same problem. I spend way even get into the mess that
intuitive application for the fun to do something new than
too much time watching Evolution made of my Palm!
purpose. it is to fix some niggling little
'waiting for ...' down on the issue - but it must be done. It
status bar. 8.10 didn't have this I've never been able to
I do like the new Ubuntu just works - yeah right! Hey
problem. The version of understand F-Spot - I can't get
Software Center, though Maciej you forgot to mention
eeebuntu on my EEEPC is it to do anything. If I want to
(pictured). openSuse as a viable
based on 9.04, and it doesn't organize or edit photos that
alternative.
have the problem. I can't even exist, I understand that they
have to be "imported". The To me it seems that
figure out what to file a bug Canonical has drifted off into
against for this issue. "import" function doesn't give
me a choice of folders to the 'sell the sizzle not the beef'
import from - just my Windows mindset. In my opinion, the
This bug causes "collateral developers should spend the
damage"! Any application (e.g. partition or mounted USB

full circle magazine #34 contents ^


ADVERTISEMENT

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

p e r y e a r for only
4 issues . 9 0 / U S $ 39. 95
EUR 2 9
£ 24. 90 /

full circle magazine #34 contents ^


REVIEW
Written by Lucas Westermann ASUS UL30-A Laptop

I
recently took the plunge occasional video, lots of typing, playing, I decided to also try
and bought a larger CULV surfing the Web, music, etc.). brightening/dimming the
(Consumer Ultra-Low So, I was aiming for at least 9 screen (and turning the
Voltage) laptop (13.3” as hours of battery life in Linux backlight off), and each of the
opposed to my 10” Samsung (I've learned to expect a little Fn keys responsible for those
N110 netbook). After having it less battery life). The version functions worked out of the
for a little under a month, I of Ubuntu I installed was 9.10 box, as well as the Fn keys for
can't really say I've tried out x86_64, and once I got it volume. I didn't test the
everything, but I have installed off the USB stick, I wireless on/off key (I never use
definitely checked the vitals in noticed that a) I had Bluetooth it), nor did I try the custom
Ubuntu and Arch Linux. I (the laptop was advertised as Asus-software keys (I doubt
figured that other people might without Bluetooth, so that was they'd do anything). Media
• Intel Core 2 Duo SU7300 ULV
processor @ 1.3GHz be interested in the laptop, so a nice surprise!), and b) it was playback keys (play/pause,
• 4GB of DDR3 RAM (DDR3 1066 here I am, writing this review. running at native 1366x768 stop, back/forward) are
2GB*2) For a quick summary, check resolution (with Compiz). So recognized by Ubuntu, but it
• 320GB hdd (5400R, SATA)
the conclusion of the article. far, so good. Connecting to my does require a media player
• 802.11b/g/n + Bluetooth
• Ethernet (Atheros AR8132 – WPA2-TKIP wireless network that uses them - I use MPD,
uses ath9k module) 10/100 My first impression was that went off without a hitch, and and a custom function bound
• Intel X4500MHD the laptop looked a lot nicer ethernet had no issues running to the keys for controlling
• 13.3” HD LED Monitor with
than any that I owned before it at its max (100mb/s) speed. playback. I also checked to see
integrated 0.3MP webcam
• German keyboard - it's silver brushed-metal on if the monitor model was
• 8 Cell 5600mAh battery top, which makes it look and Once I was connected to the correctly recognized - Ubuntu
• Model: UL30A-Q0229V feel a bit sturdier than my 'net and updated, I decided I'd hadn't done that for any of my
• Dimensions: 12.7" x 9.0" x 0.9-
netbook. install Ubuntu-restricted- computers before - and was
1.1" (323 mm x 229 mm x 22.9-
27.9 mm) extras, and check the Flash shocked to see that the model
• Weight: 3.7 lbs (1.7 kg) The OS it comes with is playback. Flash ran smoothly was listed there, and the
• Ports: 3 USB 2.0, 1 VGA, 1 Windows 7 Home Premium at 360, 480 and 720p You Tube default settings were chosen
HDMI, 1 RJ45 10/100 Ethernet via
64bit, which I left on it, to dual- playback (it did get a bit warm as recommended by the model
Atheros AR8132, 1 analog
headphone output, 1 analog boot. In Windows, the battery doing HD playback, but that's number. It may seem like a
microphone input offers me between 10 and 11 Flash's fault), and Flash sites small thing, but it was new to
hours of normal usage (read: seemed to run smoothly as me.
: 679.00€
well. While the video was
full circle magazine #34 contents ^
REVIEW - ASUS UL30-A LAPTOP
Suspend/resume was the I also tested the Bluetooth should be fine - you can rotate know how many people really
next on my list to try and, lo functionality with my phone (a it after the fact as well, so no use a laptop's integrated
and behold, both worked Motorola RAZR V8), and it issue there. microphone in the first place.
without a problem (I didn't try worked fine. The only thing I
hibernate, as I skipped setting found an issue with is the The only device I didn't test One last note - which was a
up a swap file/partition). I webcam: Cheese, Skype, (at least, the only device I concern for me at first - is that
figured that since aMSN, etc. all recognized and know I didn't test) is the Express Gate (Asus's 8 second
suspend/resume worked used the webcam fine, but the microphone. According to boot OS) still works after
without a problem, it was time resulting image was upside- alsamixer and the Gnome installing GRUB, so you can still
to try it on battery power, and down. I'm sure it's a module sound applet, it's recognized as have quick and easy access to
see what Gnome-Power- issue (doesn't happen in a valid input device, but I did Skype, the internet, etc.
Manager told me - so I Windows), and it may be fixed not try it in anything, because I
removed the A/C adapter, and sooner or later. It's not never use microphones. To sum up: Everything
gave Gnome-Power-Manager a too big a deal, Chances are good it works out of the box except the
moment to update, then however, can be made to webcam, which presents
checked the reading. With the because the work - if it images upside-down (I didn't
brightness as low as it went, laptop's doesn't work test the microphone). The 8-
Gnome-Power-Manager was webcam of out of the cell battery gives 10-10.5
telling me I had 10 hours of only 0.3 box. If estimated hours of usage
battery life left (sometimes megapixe anyone is (according to Gnome-Power-
going up to 10 hours and 30 ls makes thinking Manager). All in all, I'm
minutes). I realize it's not me of extremely happy with the
accurate, but even if it's off by doubt buying laptop. Since I bought it, I've
about an hour, that's more that this found less and less reason to
than enough time for a full day anyone laptop, turn my PC on, which is nice. I
of use for most people, so I left will buy and needs also haven't found anything I
it at that. I have tried it more the laptop to know if do regularly that has really put
extensively in Arch (since it's for heavy the a strain on it. HD video (HD
my Linux of choice), and it webcam usage. microphone Revision3 shows mainly) plays
does indeed give me about 10 If I remember works, I would be without a hitch, and it delivers
hours of battery life using correctly, Cheese willing to respond to a consistently smooth user
custom ACPI handler.sh offers the ability to an email query, and to make interface. If anyone is looking
settings, so I imagine it's rotate/flip the webcam input a short note in one of my for a thin, light-weight laptop, I
possible in Ubuntu as well. (similar to photobooth on Mac articles for anyone else highly recommend this one!
OS X), so taking pictures with it interested. However, I don't

full circle magazine #34 contents ^


MOTU INTERVIEW Roderick Greening
hours I spent playing around in use Kubuntu as their main OS, and updates to KDE4, as well
that environment. What I can and are quite satisfied. as other KDE Universe
tell you is that it was directly packages. I had really good
responsible for my current When did you get involved with sponsors, who were patient
career path, and my first full- the MOTU team and how? and helped me out a lot. In
time job in the computer One day, while using Kubuntu, particular, Scott Kitterman was
industry. I maintained a dual- my Knetworkmanager stopped exceptional. On many
boot system for many years at working. In order to get back occasions, he offered up little
Age: 37
work, just to run Linux for ‘real’ online, I needed to install the known (at least by me) tidbits
Location:
work, and Windows for Ubuntu nm-applet. I decided on how to streamline my
St. John’s,
everything else I ‘had’ to. then to see if there was packaging and testing. Without
Newfoundland,
something I could do to help him, I do not think I would have
Canada
How long have you been using troubleshoot it. I jumped onto applied for MOTU status.
IRC Nick:
Ubuntu? IRC and joined the #kubuntu-
rgreening
I started using Kubuntu in devel channel and started What helped you learn
2006, though I dabbled with it asking some questions. I was packaging, and how Ubuntu
How long have you used Linux,
a little bit earlier than that. amazed at how helpful teams work?
and what was your first distro?
Prior to that I was using Gentoo everyone was, especially It was a combination of reading
Well, it all started back in
as my main OS, and did so up Jonathan Riddell, Scott documentation, asking the
University, and that would have
to about mid 2007. My main Kitterman and Harald Sitter. right questions via IRC devel
been around ‘93. I was working
reason for looking into Kubuntu These three devs really got me channels, working with great
in one of the computer labs,
was I had a friend who was kick-started, and back into sponsors (see above), and
and a friend of mine (TC) said
quite dissatisfied with development mode. This was looking at other people's work.
he had this cool new OS that I
Windows. He was constantly during the tail-end of the Having such a large community
should try out. He indicated it
having to re-format and re- Intrepid development cycle. To is definitely a real benefit to
was very UNIX-like, and, since
install his OS to get rid of mal- quote Jonathan from his Ubuntu. It is quite easy to find
we were using UNIX servers for
ware, viruses, and other cruft. I Kubuntu 8.10 release the answer to your question,
most of our Computer classes,
eventually convinced him to announcement: “Then there’s usually within minutes of
it would be useful. The
test-drive Kubuntu along with rgreening who turned up one looking or asking.
distribution was Slackware, and
me. Since then, I have installed day, and fixes anything anyone
I believe it came on
Kubuntu for many friends and asks him to since”. Since then, What’s your favorite part of
approximately 15-20 floppy
family members, and they now I have packaged many releases working with the MOTU?
disks. I can’t tell you how many

full circle magazine #34 contents ^


MOTU INTERVIEW: RODERICK GREENING
It’s definitely the people. Not based distros. At any rate, I’m you have to install and and fantasy. I am a really big
only is everyone really sure I’ll be contacting ‘the configure each one separately. fan of Star Trek, Star Gate, and
knowledgeable, they are also Bacon Community’ in the near I’d like to bundle a set of these Forgotten Realms. My
very approachable. Never be future, once I get some spare apps (meta package), and help collection also includes a
afraid to ask a question. It’s cycles. the user configure some sane substantial number of technical
how I got to where I am today. choices. At this point it’s only books on programming and
What are you going to focus on an idea, but with UDS looming networking. Outside of that, I
Any advice for people wanting in Jaunty and Jaunty+1? ahead, who knows where it spend time with my wife, and
to help out MOTU? Well, right now I have been might lead. dog, Jewel, and hang with my
1. Don’t be concerned whether working on packaging KDE friends playing Mario Kart
you have the required skills. If 4.2.1, and will also assist in What do you do in your other (baby Luigi/quacker) and
you can install and use Ubuntu, KDE 4.2.2 packaging. Outside spare time? Settlers of Catan (“monopoly
you can help QA packages, of that, there are Spare time? Oh, you mean if I wheat”).
submit bug reports, and test improvements to KPackageKit I had a personal life outside
drive new releases. have implemented, and still Ubuntu? Well, I am an amateur My current desktop is running
2. Dive right in. The best way some additional things to photographer. I have a Canon Kubuntu with the Glassified
to learn is by joining a team come. For Jaunty+1 (Karmic), I Rebel XT, and a few lenses. I theme. The picture in the
you are interested in, and have a couple of packages I am am mostly interested in background was taken by me 2
helping them - whether it’s developing myself, which I scenic/landscape photography, years ago, while visiting my
testing, writing documentation, would like to see make it into but I also dabble in portrait parents. It’s a small inlet,
etc. Universe and/or Main. There shots. I also love to read. I called Deep Cove, and it’s in
3. Get a mentor to help guide are two applications which are have hundreds of books in my Musgravetown, Newfoundland,
you and sponsor your work. security related (ufw-kde and personal library, mostly Sci-Fi my family’s hometown.
4. Have fun. clamav-kde), as well as a new
card game written in PyQt.
Are you involved with any local Additionally, I have been
Linux/Ubuntu groups? thinking about some work in
There isn’t a LOCO here in the server-team, and would like
Newfoundland, though a to help them develop a
couple of us are starting to package that would help new
seriously consider starting one admins set up a server with
up. I know there is a Linux proper TCP wrappers, fire-
community here, and it’s been walling, logging, root-kit
around for a while now, though checking, and log analysis.
I believe they mostly use RPM- Currently, these tools exist, but

full circle magazine #34 contents ^


LETTERS letters@fullcirclemagazine.org
PLEASE NOTE: some letters may be edited for space reasons.

Graphic Questions Windows 7 LETTER OF THE MONTH

R O
egarding Ubuntu n my new Gateway
Regarding FCM#31, page 26, I
planning to give up SX2800 ($400) with can't avoid replying to this one, A good way to check your layout is
GIMP begs the Windows 7 Home since I know the answer! What to compare it to some Ubuntu
question: what will Premium the system must be done for burning a DVD install CDs (also named Alternate
they replace it with? Surely boots a good bit faster than which is recognizable in this way is CDs) - check the differences, and
to have a folder where all contents be sure about what to edit in the
they must replace it with Ubuntu 9.10 - that's with the of the DVD will be burnt. Inside this three files mentioned above. Of
something as Ubuntu can't be AVG free anti-virus program, folder, we create a 'pool' directory. course, check if all info inside these
without some sort of graphics the Windows firewall, etc. inside of it we have files is correct, to avoiding some
application. I agree that the Firefox 3.5.6 shows my all the .deb files we need. unwanted surprises. At this point,
we may have at './' :
GIMP is perhaps too fancy for homepage in about 2 seconds, In a terminal at this directory, we
most of us non-graphics Thunderbird 3 opens in about do: (assuming apt-ftparchive ./pool (folder with .deb files inside)
professionals, so perhaps we 3 seconds - yes loading current command is installed) ./Packages
need an open-source version content takes time but ./Packages.gz
apt-ftparchive packages ./Packages.bz2
of Photoshop Elements? nowhere as long as it does on pool/ > Packages ./.disk/info
Ubuntu 9.10. OO Writer and ./aptoncd.info
On another related tack, it Calc both open in less than 4 apt-ftparchive packages ./README.diskdefines
would be great if Ubuntu would sec. Oh, and may I mention pool/ | gzip > Packages.gz
Now is the time to burn the CD or
automatically offer to reduce that under Windows 7 the apt-ftparchive packages DVD - if burning the folder using
the size of photos when e- system will actually "sleep" pool/ | bzip2 > Brasero it may show errors, so you
mailing as Windows does. At and recover from it? Packages.bz2 may need to make an ISO, and
the moment, when you want to burn that to CD/DVD. After burning
It's important that all three of these the CD or DVD, it's time to check if
e-mail photos you have to The assertion that Windows files are created completely, since it behaves just like an installable
open each one in GIMP, reduce 7 won't run older apps is just these files have all the database one, just like an alternate or extra
the size and then attach it to plain wrong. I run FreeBASIC needed from apt-get (and Synaptic Ubuntu CD or DVD - and having
your message. This is a bit of a and FBIde, both relatively old as well) and later, we will need stuff there like all Ubuntu
more 3 files: repositories inside!
pain when sending multiple 32 bit aps. The same version
photos. of Ancestral Quest 12 runs on ./.disk/info
XP, Vista and 7 without issues - ./aptoncd.info
same for PAF5.2. I run CADKEY ./README.diskdefines
99 on 7 without problems - the

full circle magazine #34 contents ^


LETTERS
same program (CD) I ran on were impressed. Thank you printer working properly. My Spreading FCM
Windows 98 Second Edition. Ubuntu. next challenge is to set up a
The only program I've tried video capture USB device I Whenever an issue is
that just flat wouldn't run is the have. released, I spread the link to
old MS Professional Basic everyone I know via Facebook
compiler. Windows Convert I agree with all the folks that and Twitter using the handy
state that Linux gives the fun 'Share links' on your site. I
Sorry, I disagree with most I'm writing to you to share back to computing. encourage other readers out
of the assertions made in the my experience with Ubuntu. I there to do the same. Thanks
article. Personally I think that started using it at home, but for a great mag, can't wait for
Ubuntu 9.10 was a disaster. So because I share the desktop the next issue.
much of a disaster that I'm with the rest of the family, I
actually converting to Windows was forced to move back to
7 after 4 years of exclusive Windows XP. I really don't
Ubuntu use. What few Linux believe in dual-booting or
apps I have to use run on WUBI Virtualization as a permanent
as well as anything - solution, because I find them to
surprisingly well in fact! be a waste of hardware
resources.

Although I have a genuine


Ubuntu Win Windows license, the XP charm
began to wear off, faced with
My daughter phoned me up the evolution of its peers. I
one day and said her hard charged again with the Karmic
drive wasn't working. She said Koala, added some "nice to
she couldn't get her all have" desklets, the Cairo Dock,
important baby pictures off the and I was able to dazzle my
drive to save to a CD. I took wife into Linux.
over an Ubuntu 9.10 live CD
and ran it, mounted her As far as the bundled apps
Windows hard drive and we go, I added only the Chrome
were able to burn all her browser and Picasa desktop
pictures to CDs. Ubuntu to the tools. The hardest part with
rescue. She and her husband this migration was to get my

full circle magazine #34 contents ^


UBUNTU WOMEN Melissa Draper Interview
website. I learned HTML one peanuts. Essentially, the entire marketing team for a while,
weekend, and realized I class taught itself PHP instead writing for UWN, etc. I also did
preferred computers to trees. of ASP.net, and, following the a lot of coordinating to lay the
lead of the OS teacher, argued foundations for the LoCo
PS: How did you get involved that it was still valid under ecosystem we have now. Now,
with Ubuntu, and free software "dynamic websites." In the I do IRC management and
in general? end, I don't think I even got Membership Board for
around to buying the ASP Asia/Oceania.
MD: Whilst doing a web- software. Free software is
development diploma, a accessible like that, and PS: You've worked hard with
teacher, a BSD fanatic and php.net as a resource is Ubuntu Women, including
probably the most influential awesome. applying for Ubuntu Women
teacher I ever had, was in the leadership. What would you
habit of interpreting syllabi PS: Why Ubuntu? like to see from the project?
modules such as "install an
operating system" fairly openly. MD: When I decided I wanted MD: I'm hoping to have more
He taught his students how to to use Linux, I asked around. A visible initiatives to balance out
install Linux and BSD, as well friend had been using Ubuntu the current focus on
as Windows (amusing aside: he since Warty, so I installed commentary. Commenting on
: Please tell also taught my mother to do Hoary on an old computer. I've bad behavior is a critical part
us a little about yourself. the same!), and so began my tried other distros, and, despite of the aim, and I'd rather not
obsession with Linux. I played using Fedora or CentOS for have the attitudes against it
: I am around with live distributions work, I've been with Ubuntu continue. I'd like to see folks
Australian. I have lived my for a while, then installed ever since. within the team engaging more
entire life in NSW, but I was Ubuntu on an old computer. I with matters such as
born in Victoria. soon found I did not need XP PS: You've been around for enhancing the wiki pages and
any more. several years in the Ubuntu conference materials, and
Once upon a time, I wanted to community; what projects are contributing the attributes they
be an environmental scientist, Another teacher was supposed you involved with or have you want from the team - rather
but, during one of the projects to teach us ASP.net as per the been involved with in the past? than dragging down the stuff
for a related course, I ended up whole web-development thing, that others put time and effort
with the task of creating a but was unable to teach for MD: I was quite active on the into making happen.

full circle magazine #34 contents ^


UBUNTU WOMEN
complicated matter and I feel
PS: Are you involved in other like I'm left holding loose ends.
activities outside Ubuntu I'm still trying to figure how
relating to women in open and where I stand with things.
source or computing? At this point, I intend to

Full Circle
continue with Ubuntu Women
MD: I'm involved in LinuxChix, as it's an important part of the
and used to organize the local community, regardless of what
chapter's pre-LUG meet-ups.
I'm also my LUG's secretary. I
was also on the Linux Australia
Council (the group that
others think.

Ideally I'd like to see the Free


Software community in general
Podcast
oversees the organization of set the tone for how online
linux.conf.au every year, and communities can be run.
helps FOSS-based groups with The is back and better than
grants, etc.) for 2 years, but I PS; Do you have any other ever!
chose to not run for a third interests or activities you'd like
consecutive year as I felt I to tell us about? Topics this episode include:
needed to take a break from • the reshuffle at Canonical
that. I'm also running a Linux MD: Currently I'm rather • the online Canonical music store
retail and web shop in Sydney, infatuated with fountain pens • Google Buzz
Australia called Everything and good paper. I think the act • Good Old Games
Linux. of hand-writing actual paper and the Acer Aspire Revo.
letters is something we ought
PS: Where do you see yourself to try to keep relevant.
going from here with Ubuntu
and free software? What are
your goals - both personal and
for Ubuntu/free software in
general? The podcast and show notes are at:
http://url.fullcirclemagazine.org/88a985
MD: There's some odd politics
going on, and I've been pushed
away from a few things within
Ubuntu lately. It's a

full circle magazine #34 contents ^


UBUNTU GAMES
The game starts with you and deleting files, can be a bit
GAME NEWS getting to grips with 'your new clunky.
hacking operating system' -
with all the tools you need to Uplink is unique. It can be
– so far, in 2010, Wine has hack into computer systems, enjoyed by all, but some
undergone major changes, access your bank account, and people may see it as too
which include Shader Model access the store. To begin your repetitive and more like a day's
4 support, Improvements to career, you will be given a few work at the office rather than a
Direct3D, and tons of bug simple missions, which will game. I found it enjoyable to
fixes. require you to use the live out a 'geek's fantasy' as a
password cracker and break computer hacker in the comfort

I
into fairly simple computer always moving you forward. of the game.
ntroversion Software has systems - to steal data and However, after a few hours,
always provided excellent
support for Linux. About a
then email it to your clients. and plenty of missions
completed, it can become
Score: 7/10
Fairly soon, you will be
year ago, I reviewed one attempting more challenging repetitive. All the missions are
of their games, Defcon. Here is missions to change the data, very similar - the way you
• Becoming a hacker!
another of their games, Uplink. crack a bank, hack a rival into begin the job, and what is
• Unique game
jail, and crash the stock involved with each job, are
Uplink is very different from market. You will be needing a basically the same.
any game you have ever more powerful computer and a • Clunky interface
played. The game is all about more advanced system. The atmosphere of the
• Repetitive
you being a freelancer hacker. However, it's not as simple as game is excellent, with the
You will be assigned jobs to cracking the password and dark desktop screen giving you
infiltrate companies' computer performing your job - you also a sense of the hacker working
systems to steal or change need to watch your back. Each in a dark room, hidden away.
data. With the money you earn connection you make is traced, The game music is '90s retro
from the jobs, you will be able so make sure you connect to music, similar to the year the Ed Hewitt
to buy tools and software to plenty of different computers - game is set in. The interface of
perform more challenging jobs. the trace will take longer to the game is easy to manage,
The aim is to become the 'l33t' track you down. Uplink is very though connecting to different
(elite) hacker. good with progression - it is computer systems, and moving

full circle magazine #34 contents ^


Q&A questions@fullcirclemagazine.org
Please include as much information as you can about your problem.

Q
Whenever I login to ability to shut off, or limit your blocklists. And as for phone and you should be able
Linux, two new files access time for my kids, and sharing with Windows to control your computer.
(New Document.ott be able to better block their computers, Samba is the most
and New viewing content, as well as commonly used. This page
Spreadsheet.ots) are access my music files and should get you up and running:

Q
automatically created with no pictures from any computer in https://help.ubuntu.com/commu I have a problem: I
content inside them. If I delete the house, such as my media nity/SettingUpSamba got the Ubuntu 9.10
these files, and again login, PC running Windows 7 Home Install CD and I want
these files are again created Premium 64bit. Please help, or make an upgrade
automatically. Why did this give links to where I can find from my Wubi Ubuntu 9.04

Q
happen? such info. I want to control my desktop. How can I do it?

A A
laptop (Lenovo R61i,

A
Chances are you Your best bet for Ubuntu Karmic Koala) Unfortunately, the
have something in restricting access via Bluetooth using Ubunu Live CD
your startup list. Take time is IPtables, which cell phone (Motorola Q9H) and doesn't have the tools
a look for anything should let you restrict / or wifi using PDA (Palm needed to upgrade,
unusual in based on the IP address of the Tungsten C), for example for so you will need to either run
clients. It has quite a steep presentation (OpenOffice the online upgrade, or
. learning curve, but there is a Presentation) and multimedia download the alternate install
very comprehensive tutorial, (Rhythmbox / VLC). What CD, which does contain the
thanks to bodhizazen, which applications should I install on needed files to upgrade. This
should have all the info you my laptop and cell phone / page should have everything

Q
I am fairly new to the need: PDA? you need:

A
whole Server and http://bodhizazen.net/Tutorials/i http://www.ubuntu.com/getubu
Linux use, and could ptables/. For blocking the The anyremote ntu/upgrading
use your help. I wish viewing content I would project (ganyremote
to set up a box as a server with suggest OpenDNS and kanyremote in
dual NIC cards, after my DSL (http://www.opendns.com/), the Ubuntu software
Modem, and put my wireless/4 which will allow you to block centre) should do what you
port switch behind it to which based on category (phishing, need. Simply install it into
all my other computers pornographic, time-wasters), Ubuntu, then install the Java
connect. I would love the as well as add custom sites to remote into your Bluetooth
full circle magazine #34 contents ^
MY DESKTOP misc@fullcirclemagazine.org

Hello, I present my 70's desktop (wallpaper found on I am using the Moomex Metacity theme (from gnome-
devianART) with conky, Compiz Fusion, Emerald (fonts look.org) with Black-White 2 Gloss icons and _jack
"Hippy Participants") and Cairo-dock + display album art wallpaper (also from http://gnome-look.org). Also in the
3D installed on Ubuntu 9.04. mix is the Avant Window Navigator and Compiz.

My hardware configuration: All this runs on Jaunty Jackalope on a six-year-old Dell


• Packard Bell PC P4 2.93 GHz 4600 with a Pentium 4 (single core!), Radeon 7000, and
• Ati X300 graphics card 2.5GB RAM.
• 1GB of RAM and 1 HDD 200GB
Thanks to the community for making such an awesome
So now everything is working perfectly even without the (and the best on the planet) distro!
proprietary drivers for my card.

full circle magazine #34 contents ^


MY DESKTOP

I have a Dell Inspiron E1405 with dual-core 1.60GHZ I started using Linux with Ubuntu 8.04. I have tried other Linux
processors and 2GB of RAM. I'm running Ubuntu 9.10, Jaunty distributions, but Ubuntu is my absolute favorite. I use a
Jackelope. I use Compiz. I use screenlets on my right (a Gateway laptop computer M-6309 Intel Pentium Dual-core
clock, a picture frame, a pager, and the pidgin screenlet, all T2330 GHz processor, 2GB memory, 320 GB hard drive, and I
docked to a sidebar), and the Avant Window Navigator am using Ubuntu 8.10. The wallpaper is called Ubuntu 2.0 -
(AWN) as a dock. I use a custom theme built off of available from http://www.gnome-look.org/. I tried using the
Clearlooks, using the Mist icon set and Gilouche window Avant Window Manager dock, but I prefer to launch programs
borders. My terminals are transparent. The applications on from the Applications Menu on the top panel. I am also using a
my dock are Firefox internet browser, Thunderbird email desktop PC with Ubuntu 9.04. I love all the great applications
client, Drivel journal/blog client, Leafpad text editor, Pidgin available in Ubuntu. I never want to pay for software again.
instant messenger, Rythmbox music player, GIMP, and
Transmission bittorrent client, with a trash bin on the ends.

full circle magazine #34 contents ^


TOP 5 Reference Tools
Indywiki wikipedia2text
http://indywiki.sourceforge.net/ http://url.fullcirclemagazine.org/c9e5e4

If Wikipedia is all the reference you need, check out Indywiki.


It's a Qt interface to Wikipedia, with an emphasis on doing wikipedia2text is from the other end of the spectrum. Like
one thing well: graphic browsing. Open an article, and images Indywiki, it, too, searches Wikipedia, but it uses the most
from both the article and related articles pop up. Additionally, barebones method possible: the terminal. But don't be fooled -
links to other entries referenced by the article show up on the despite its command-line interface, wikipedia2text is certainly
right, while a nifty contents pane shows up on your left. The not devoid of features. It supports random pages, colorization,
only bug I picked up was that it really didn't like my big and summaries, as well as opening articles in external
screen resolution, it seems to have been built for smaller browsers. It also works well as a plugin; simply pipe in the
monitors. Setting aside this little quirk, though, Indywiki is a arguments from your main program, and wikipedia2text
great alternative to using the more text-based browser client. displays the appropriate article.

To install Indywiki, use the ` ` package in the To install wikipedia2text, use the ` ` package
`universe` repositories. in the `universe` repositories.

full circle magazine #34 contents ^


TOP 5 - REFERENCE TOOLS

wikipediafs StarDict
http://wikipediafs.sourceforge.net/ http://stardict.sourceforge.net/

One of the coolest projects I've found is wikipediafs. Basically,


this Python-based program allows you to access Wikipedia
articles as if they were text files through fuse mount points. If browsing dictionaries is your thing, check out StarDict. It's a
That means you can edit them through Gedit or GTK-based dictionary viewer that allows you to view a ton of
OpenOffice.org, copy them with Nautilus, or simply view them dictionaries, including English dictionaries like Oxford and
with cat. This allows for a lot more flexibility than just viewing Merriam-Webster, law dictionaries like Bouvier, and Bible
and editing with a browser, and has a lot of potential for dictionaries like Easton. It also packs in a lot of features,
developers. In short, it's like wikipedia2text on übersteroids. including advanced searching (fuzzy, wildcards, and so on),
word translation, and text-to-speech.
To install wikipediafs, use the ` ` package in the
`universe` repositories. Make sure you also check out the
manpage (man mount.wikipediafs) for installation To install StarDict, use the ` ` package from the
instructions. `universe` repositories. You can also get more dictionaries
from the main website.

full circle magazine #34 contents ^


TOP 5 - REFERENCE TOOLS

dict
https://sourceforge.net/projects/dict/

is presented by members of the


United Kingdom’s Ubuntu Linux community.

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
from the newest user to the oldest coder, from the
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/
Sometimes, simplicty trumps all. And that's where dict, a
terminal-based client, comes in. It's fully compatible with
StarDict (as a matter of fact, StarDict is based on dict), but
without a GUI. You don't get all the bells and whistles, but you
get a clean, powerful tool that supports a ton of services with
unmatched speed. Sometimes, there's no school like old
school.

To install dict, use the ` ` package in the `universe`


repositories. You can also apt-cache search dict for looking up
assorted dictionaries available for installation.

full circle magazine #34 contents ^


HOW TO CONTRIBUTE - Ronnie Tucker
ronnie@fullcirclemagazine.org
- 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: - Robert Clipsham
http://wiki.ubuntu.com/UbuntuMagazine mrmonday@fullcirclemagazine.org
Please email your articles to: articles@fullcirclemagazine.org - Robin Catling
podcast@fullcirclemagazine.org

Jim Barlow
If you would like to submit , email it to: news@fullcirclemagazine.org
David Haas
Gord Campbell
Send your or Linux experiences to: letters@fullcirclemagazine.org
Brian Jenkins
Mike Kennedy
Hardware/software should be sent to: reviews@fullcirclemagazine.org
And our thanks go out to
for Q&A should go to: questions@fullcirclemagazine.org
Canonical, the Ubuntu Marketing
Team and the many translation
screens should be emailed to: misc@fullcirclemagazine.org
teams around the world.
... or you can visit our via: www.fullcirclemagazine.org

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 #34 contents ^

S-ar putea să vă placă și