Professional Documents
Culture Documents
Linux User & Developer - Issue 126, 2013 PDF
Linux User & Developer - Issue 126, 2013 PDF
www.linuxuser.co.uk
PYTHON
MASTERCLASS
Everything you need to start
writing programs today
Raspberry Pi
Jamboree 2013
Inside RasPis biggest ever event
ALSO INSIDE
Make your own Wiki
Rock, Paper, Scissors code listing
SSH tunnelling explained
Bitcraze interview CRAZYFLIE
QUADROTOR
Worlds first op
source copteren
The ultimate RSS reviewed
www.computeraid.org/donate
020 8361 5540
enquiries@computeraid.org
Or find us on...
An Education
Revolution
David Crookes heads to the Raspberry
Pi Jamboree 2013 to see how the Pi can
change the face of computing in schools
Manchester is wet. It often is, especially didnt get enough people through the doors. Now with the inner workings of a PC or Mac, he found
in the tail end of winter. Walking along the its Saturday and itll either be packed or people himself teaching children how to use software
citys infamous Deansgate on our way to will decide they dont want to spend their spare such as Word and Excel.
the Manchester Central exhibition hall, the time here. So he set about making the change himself.
inaugural Education Innovation Conference One man, however, is not worried in the And as that drizzle descends over Britains
& Exhibition (EICE) is already starting to feel slightest. Alan ODonoghue is a teacher. He second city, ODonoghue is inside the impressive
something of a drag and we havent even got steers children through ICT at Our Ladys High surroundings of Manchester Central, displaying
there yet. Were not alone either. It seems others School in Preston and around four years ago, so much enthusiasm that he could tell anyone
are rather downbeat too. I do hope we get a lot he began to believe the ICT curriculum was not listening that the sun was shining hotter than an
of people here today, says an exhibitor, when we delivering. Instead of focusing on the creative Australian summer and theyd be taken in by it.
finally shunt through the doors of what used to things people can do with a computer and Only in this case he is extolling the virtues of the
be a train station. Yesterday was terrible and we helping children to program and become familiar mighty Raspberry Pi.
6 www.linuxuser.co.uk
News
The latest in the Linux community
OPEN SOURCE
A learning curve
Full-time teacher Christine Swan, the director
of ICT and Enterprise at The Stourport-on-
Severn High School and Sixth Form Centre, is
at the sharp end of the changes happening to
the computing curriculum. She welcomes the
Raspberry Pi and the way in which it can not
only help to make the job of a teacher easier but
lessons more involving.
Computing is really happening, she says.
I love my job, I love going to work every day and
I never know what is going to happen. My kids
come up with crazy ideas about what they want
to happen. The Pi has opened so many doors for
students and so many new skills.
Despite that, there are worries about the
technology and the finance. But when a concern
is raised that the Pi is breakable at the hands of
ham-fisted pupils, leading to a need for budget-
pumping replacements, Carin Anderson, who
travelled from Sweden for the Jamboree in the
hope of inspiring her own countrys teachers
to use the device, responds: Raspberry Pi is
unusual because it does not destroy easy. I have
dropped it on the floor, doesnt break. I know a
Alan ODonoghue women who washed it, still worked. She dried
delivers a talk at the it, still worked. It it is not easy to destroy. The
Raspberry Pi Jamboree hardware always works.
We had a waiting list of 100 people ODonoghue and his assembled panel of
experts, academics and speakers spend the
day getting over the message that children
who wanted to come but couldnt can be inspired to engage with computers
and programming. The event also includes
In a jumper bearing the logo of a shop called any doubts that it would be popular, those were several workshops which share effective Jam-
CPC, which he says he lived next door to and dispelled days before the event got underway. making practice.
which sells Raspberry Pis and other electronic Emails had been sent out telling those who The day is also laden with puns about the Pi
goodies, ODonoghue is in more than a good had booked and changed their mind to hand the Raspberry Ripple area, situated in the main
mood. This is his moment, a culmination of their tickets back because the waiting list was exhibition hall, allows people to chill and spread
something he believes in wholeheartedly and growing stronger by the day. It is a shame the the word but the essential ingredient is to give
about which he is not afraid to spread the good exhibitor we met earlier, who thought the day teachers a taster and get them to sample their
word, even if he does so with all the manner of was going to be a disappointment, is not in own recipes, and it works incredibly well.
a teacher lecturing a group of pupils, only in this ODonoghues bright pink jumper. Life would Starting the proceedings is Professor Steve
case he is mainly talking to other teachers. have seemed far brighter then. Furber, the designer of the BBC Micro and
For the past few years, hes been on a mission. We had a waiting list of 100 people who an academic from Manchester University.
Having already organised hub meetings for wanted to come but couldnt, he tells us. From Prof Furber wrote the Royal Society report,
those who want to develop the teaching of that point of view, this has been a huge success. Shutdown or Restart, which examined the role
computing in their schools, he also stages The aim of this is the idea of getting people of computing in schools and its effectiveness.
events such as Hack to the Future. In more excited and enthused, which will allow them to It is into this role that the Pi is expected to fit
recent times, he has been holding Raspberry take away an idea and go, yeah, I can work on and Furber praises organisations for getting
Jams, which have grown into a global network that. The problem with events like this, though, involved. Google has put its money where its
of events for teachers, students, hobbyists and is there are too many ideas and people have to mouth is and it is funding 15,000 Raspberry Pis
developers. In the last six months of 2012, 1,287 sift through and think about what they can take for schools, which is quite dramatic, he tells the
people attended one of these. and use themselves; but if they only take one assembled audience.
But this is his boldest project yet. In a series of idea, that would be great.
side rooms at the EICE, he is putting on the first The Raspberry Pi Jamboree is aimed at
ever Raspberry Pi Jamboree and if there were teachers and those with an interest in education.
7 www.linuxuser.co.uk
OpenSource Your source of Linux news and views
Contact us
register and post your comments email us directly
www.linuxuser.co.uk/forum/ linuxuser@imagine-publishing.co.uk
Teacher abiliTy
its not a criticism of all
teachers but there is
not a sufficiently high proportion
of teachers with the right level
of knowledge, development
and training.
.........................................................
icT and comPuTing
What weve seen is the icT
curriculum decline rapidly.
We have a new computing
programme of study and it is still
subject to consultation. even the
change of name is subject to this.
.........................................................
Programming
The clear message is that we
felt we were becoming a
nation of consumers and were
teaching how to consume rather
than create. ive spent by entire
career creating technology and we n Taking part in a workshop:
need this emphasis instead. people of all ages enjoyed the Pi
8 www.linuxuser.co.uk
News
The latest in the Linux community
OPEN SOURCE
9 www.linuxuser.co.uk
OpenSource Your source of Linux news and views
Contact us
Register and post your comments Email us directly
www.linuxuser.co.uk/forum/ linuxuser@imagine-publishing.co.uk
detect if a switch is open or shut and they show her to go along. Im visually dyslexic and it has
how the motor speed can be varied. caused me problems, she says. I found out
Everyone has a different level when they about nine years ago and it explained a lot.
You can arrive at a Jam and you dont have go to a Jam, explains software developer Ben Within 30 minutes, she is on her way to
to introduce yourself as Im all of this and that, Nuttall. There are people who know a lot. There understanding the basics of programming using
says teacher Ben Smith. Its useful to enter as a are people who turn up and say, Im a blank Python, aided by expert tuition from developer
beginner. A beginner, however, Ben is not. In an canvas and I want to learn. Theres this osmosis Nick Tollervey. The Raspberry Pi is such a
afternoon session, he teams up with roboteer learning where just by being in the same room useful piece of kit and it has so many exciting
Jason Barnett and technician Simon Walters and everyone is enthusiastic, you pick up stuff applications, comments former music teacher
to host a 45-minute workshop in which they and dont think, oh I learned that today. Tollervey, who is joined in running the workshop
interface a Pi to a 5 breadboard setup with The workshops are incredibly useful for so by Chris Roffey, author of a series of Coding
some LEDs and a switch. Everyone is shown many people. Wendy Gibson, who volunteers Club books, and Vikki Dodd, a secondary school
how they can make a simple set of traffic lights for the British Dyslexic Association in Salford ICT teacher.
which cycle through the Green-Amber-Red-Red dearly wanted to try the Pi but she was too afraid Those who attend are able to go through
& Amber-Green sequence. The Raspberry Pi can until one of the Jamboree attendees persuaded Python Basics using Roffeys teachings. And
n Pete Lomas at
the first workshop,
helping people to set
up a Raspberry Pi
10 www.linuxuser.co.uk
News
The latest in the Linux community
OPEN SOURCE
To the shops
Although Manchester is a shopping mecca, and
the Trafford Centre is a mere tram and bus ride
away too, nothing could beat the bustle of the
pop-up Pi shop at the Jamboree.
Run by CPC, which sells all manner of
computing delights including the Pi itself and a
range of books and add-ons, it did a roaring trade
throughout the day.
David Deventer, head of marketing at CPC, is
certainly enthusiastic about the device. He tells
us: In this world of technology, its not enough for
students to only know how to switch on a PC; they
need to understand the science behind [it] if we
are to cement the UKs position at the forefront of
technological innovation. With fantastic products
like Raspberry Pi, were halfway there.
He says his firm feels it vital to support
teachers as much as students. As employers
There were many examples of what and as a UK business, we believe we have a
the Pi could do on display at the event responsibility to help equip educators with the
skills to teach students how to programme.
these are exciting times head off the looming skills shortage in ICT.
after grabbing a jelly baby from the UK awarding we need to share them. It is why we have an an Arduino microcontroller which showed two
body OCR (the jelly baby can be turned into a Pi education section on the forum [in] which well things: that this device can be programmed and
input device by using the accompanying kit and allow teachers to hang out and share ideas. that it can link up to other hardware to expand its
following the instructions), we speak to Clive He tells the audience that he believes capabilities even further.
Beale, who is looking after the stand, for his children should be having fun. Although he When I was 11 and I came from Ireland to
thoughts on the workshops. acknowledges the need to assess at Key Stage England I hadnt even touched a computer,
Beale works for the Raspberry Pi Foundation 4, he says there is no harm in being creative. I laments Alan. Worse, the teacher in 1983 didnt
as the director of educational development. A think we patronise the younger kids and not get know how to use them either. They knew how to
former teacher, he is keen to see the take-up them to do anything computational, he states. switch it on and they said heres a book but a
of Pis in schools and he understands that his And we were not even saying they need to learn book doesnt tell you what youre doing wrong.
former colleagues will need help getting to grips code were talking computational thinking. And yet here we have Amy here who wants to
with them. We need to encourage schools to Children could go out into the playground with study computing but the school doesnt feel
use the Pi in computing lessons, he tells us. some chalk and string and flash cards and get confident enough to do it at GCSE.
Theyre inexpensive, theyre wonderful learning in the way of thinking computationally. Its adults There are some children who want to move
tools and these are exciting times. Were moving who think children shouldnt think this way. forward but the teachers are holding them back
away from those computing lessons that ask The day ends with a series of talks that spread because we have this notion that the teacher
children to learn how to use a program and were into two rooms, as well as a hands-on session has to be the expert. I had an 11-year-old who
encouraging them to produce their own apps. that helps teachers understand how the Pi could learned PHP himself and he created a gaming
Beale is part of a discussion in the afternoon be used in a classroom. It is amazing, at this site for RPGs where people paid him 30 to 50 a
of the event, looking at the educational value of point, to see the diversity of those attending. month and he was making 11,000 a year. At [the
the Raspberry Pi. It is down to showing teachers There is a child as young as seven who is schools] parents evening, his parents said we
that this tool is a complement to the existing programming in Tollerveys workshop. dont really feel hes getting enough out of his ICT
setup. Its not scary and its quite unique, he But it is another young person 13-year-old lessons. Not kidding. We want to change this for
says. We need to share our knowledge. Theres Amy Mather who steals the show with a talk future generations.
nothing better [than] to give a teacher a pack about the version of Conways Game of Life she
with worksheets and lesson plans and fantastic has written in Python. She explains how she
things like that and if we create these things, connected her program to a matrix of LEDs via
11 www.linuxuser.co.uk
OpenSource Your source of Linux news and views
Contact us
Register and post your comments Email us directly
www.linuxuser.co.uk/forum/ linuxuser@imagine-publishing.co.uk
Parallella
founder and chief
executive of Adapteva
supercomputing
for all
Linux User catches first sight of new parallel
computing open source hardware
We interviewed Andreas Olofsson, founder and a credit card which typically consumes just Alternatively, the on-board Gigabit Ethernet
chief executive of chip makers Adapteva, on 5 watts of power. For certain applications, this ports can be used for more traditional clustering.
his plans for the Parallella mini-supercomputer would provide more raw performance than a Inspired by Raspberry Pi, Parallella is aiming
back in December last year (goo.gl/FJgVE). Since high-end server costing thousands of dollars and to provide a platform to help teach parallel
then, the first boards have started to emerge out consuming 400W, claims the Parallella team. programming. As such, ease of use is a core
of production and have been sighted in the wild at The Epiphany chip provides RISC floating-point objective of the project, but the team admits
open source hardware meets around the UK. cores, each with 32KB of local memory. These are that this has been described as a problem as
Parallella is an integrated parallel computing connected together by an on-chip mesh network hard as any that computer science has faced.
platform, using $99 boards, each loaded with a which allows each core to transparently access In contrast to the GPUs often used in
dual-core ARM A9 processor combined with a the memory of every other core. industrial supercomputing, Epiphany uses
Xilinx Zynq system-on-chip, which acts as the Parallella boards can also be paired together multiple instruction multiple data (MIMD)
gateway to either a 16- or 64-core Adapteva through expansion connectors that expose parallelism. This means that cores are able to
Epiphany floating-point accelerator. Processing signals direct from the Zynq FPGA, giving operate independently and the architecture
tasks can be separated out at the application up to 22Gbps of total I/O bandwidth. These is easier to program for a wider range of
level, with the Epiphany chip being used to connectors also expose North and south applications. The software stack and the
process complex mathematical tasks. links from the Epiphany chip. This gives the Epiphany API are also key to the projects aim of
The end result is a massive 90 Gigaflops or, user 2.8Gbps (64-core) or 3.2Gbps (16-core) simplicity (in parallel programming terms).
for the right workload, around 50GHz equivalent I/O bandwidth, which can be used to connect The Epiphany API is based on the GNU C
of processing power from a board the size of boards together in a line or ring configuration. compiler (GCC) and there is a fully open OpenCL
implementation which can be used to simplify
the creation of applications that run across
both the ARM and Epiphany cores. In addition
to C, there are projects to implement Erlang
and Python on the architecture. The only hard
requirement is that the language/method
chosen must be supported by free and open
source development tools, explains the team.
The Parallella project made good use of the
Kickstarter microfinancing site, having raised
$898,921 from 4,965 backers. Its interesting
to see how these early adopters plan to use the
platform. Education and learning are the most
popular potential uses. Others include media
centres, signal processing, video transcoding,
Image CC. www.parallella.org
12 www.linuxuser.co.uk
News
The latest in the Linux community
OPEN SOURCE
OPEN SOURCE
Linux calendar
Nokia patent claims block Android Magazine
16 May 2013
Googles open video format issue 25
www.littlegreenrobot.co.uk
Android Magazine, your best and
Microsofts mobile mate accuses Google of attempting only print source for everything
to force adoption of proprietary technology Android, is coming out today. Check
out whats in store over on page 62.
Nokia has raised a serious roadblock for VP8 codec into its WebM project, Google initially
Googles plans to release the V8 mobile found itself in dispute with MPEG LA, which AnDevCon
codec as a patent-free, open standard for claimed the codec infringed on many of the Westin Boston Waterfront,
Boston, MA
28 - 31 May 2013
web-based video. The flagging Finnish mobile H.264 patents.
company, now heavily tied to Microsoft, has Googles legal team declared that the USA
submitted a protest to the Internet Engineering company had reached a serious milestone www.andevcon.com
Task Force (IETF), the international body last month, when it entered into an undisclosed AnDevCon is the technical
responsible for administering many web settlement with MPEG LA, granting licence conference for software developers
building Android apps. Offering
standards. Nokia is claiming that VP8 violates 64 to techniques that may be essential to VP8
mobile app development training
of its patents, with a further 22 pending patent and earlier-generation VPx video compression and Android app development
applications touching on the standard. technologies under patents owned by 11 patent tutorials, AnDevCon is the biggest,
Since its purchase of On2 Technologies in holders. Importantly, the agreement also most info-packed,most practical
2010, Google has been trying to drive forward allowed Google to sub-license the agreement to Android conference in the world.
the VP8 codec as a patent-free alternative to the companies developing software using VP8 and
licensed H.264 codec currently used for most its next-generation codecs.
online video. This latest announcement from Nokia is
While the use of H.264 has no direct effect another serious setback for Google and VP8,
on the licensing of video content itself, any with Nokia openly refusing to consider any
organisation distributing software which licensing of the relevant patents to VP8 and
decodes and plays H.264 video is still required to Googles WebM project.
license the technology. Google and many other We are now witnessing one company
organisation believe that this acts as a serious attempting to force the adoption of its proprietary
technology, which offers no advantages over
International
barrier to the freedom of content on the web.
The H.264 codec is subject to an army of existing, widely deployed standards such as
PHP2013 Conference
different patents, which have been pooled by H.264 and infringes Nokias intellectual property, Maritim Proarte, Berlin
04-05 June 2013
the various owners and are now licensed by an claimed a Nokia spokesperson, justifying the Germany
organisation called MPEG LA. Having built the decision on the FOSS Patents blog. phpconference.com
The International PHP Conference
is a globally recognised event for
PHP developers, web workers, IT
managers and everyone interested
in web technology. Once again,
the conference will explore key
topics and core technologies for
developers and decision makers.
06 June 2013
13 www.linuxuser.co.uk
OpenSource Your source of Linux news and views
Contact us
Register and post your comments Email us directly
www.linuxuser.co.uk/forum/ linuxuser@imagine-publishing.co.uk
MOBILE
Firefox turbocharges
web app performance
with OdinMonkey
Module boosts JavaScript performance by 1,000%
Mozilla has just unleashed its latest weapon allows developers to write applications in C or
in the battle for freedom on the web. Even C++ and to compile the code into JavaScript
on the face of it, OdinMonkey, a new Firefox using Emscripten.
Developer previews of the Firefox phone
module that boosts JavaScript performance asm.js can be implemented massively faster
in the browser by 1,000%, sounds impressive, than anything existing JavaScript engines can platform open web technologies such as
with a fantastic potential for browser-based do, and its closing the gap to native more than HTML5, CSS and JavaScript across the fixed
gaming and web-based applications. However, ever, explained David Herman. and mobile internet. It puts open apps within
the potential impact of OdinMonkey, particularly On phones, the performance of browser- striking distance of native app performance.
within the mobile space, is immense. based apps has always lagged well behind that And for the many developers writing native apps
OdinMonkey is a subset of JavaScript, which of native apps that run directly in iOS or Android. in C and C++, it also provides a relatively simply
can be compiled to run as fast as executables, Standard JavaScript typically runs 10-20 times way to release a browser-based version and
overcoming many of the performance slower than native code in most browsers. reach a broader market.
drawbacks of standard, just-in-time (JIT) Running in Firefox, OdinMonkey closes this gap The OdinMonkey module is due to be
compiled JavaScript. Initially developed under to 50 per cent of native code performance. implemented in the desktop release of Firefox
the name asm.js by Mozillas David Herman, This performance kick delivers a massive scheduled for 22 June, with a mobile version to
Luke Wagner and Alon Zakai, OdinMonkey boost for Mozillas championing of cross- follow soon after.
14 www.linuxuser.co.uk
News
The latest in the Linux community
OPEN SOURCE
NETWORKING
Jon Masters
Jon Masters summarises the latest goings-on in the Linux
kernel community as the 3.9 kernel is prepared for release.
Ongoing development brings with it security headaches,
and kernel testing is improved by the Trinity Fuzzer
Jon Masters is a test cases dont typically cover well, however,
Linux kernel hacker who are malicious or illegal sequences of system
has been working on calls (operations). This is where fuzzers like
Linux for some 18 years,
since he first attended Trinity come into play.
university at the age of 13. Trinity was written by Dave Jones and has been
Jon lives in Cambridge, under active development for several years. It is
Massachusetts, and works
for a large enterprise Linux
a system call fuzzer, meaning it will call random
vendor. He publishes kernel system calls (the standard interface by
a daily Linux kernel which applications communicate with the kernel)
mailing list summary at
according to a few simple rules. For example,
kernelpodcast.org
those system calls expecting to receive a file
descriptor will be given one (at random, pointing
Linus released the latest RC5 (release to almost anywhere), and those expecting to be
candidate) 3.9 series kernel, noting that things given a length (for example, the number of bytes
seem to be calming down a bit, and everyone to read or write into a file) will be passed a range of
seems largely on track for a 3.9 release in a interesting values intended to trigger off by one
few weeks. This was in contrast to the earlier bugs and the like wherein the kernel behaviour
RC2 kernel that included a note, Al (Viro) is violates the intentions of the developers. Trinity
back, and is hopefully now busy virtually riding is multithreaded and typically is left to run for
to the rescue on a white horse. The latter many hours at a time. It frequently produces
being a reference to several gnarly virtual file exciting bug reports on the kernel mailing list
system (VFS) bugs. One such bug (a deadlock (often, but not always, from Dave himself) and has
condition) was recently detected by Dave measurably improved the quality of the kernel
Joness Trinity Fuzzer. code overall.
One of the more exciting things Trinity picked
Trinity up on this month was a VFS deadlock caused
The Linux kernel is a very mature codebase with by several dentries (directory entries) sharing
many millions of hours worth of developer time the same directory inode under /proc/$PID/
invested. There are several popular kernel test net/stat. Every process within a single network
suites, including the LTP (Linux Test Project), namespace will see the exact same entry for
as well as the proprietary tests run by various stat, right down to the inode number (visible
commercial Linux interests. Most test suites are with ls -lid), which is a directory hardlink.
written with the premise that they will test real- This directory hardlink under the /proc file
world scenarios, and so they are formed from system violates long-standing UNIX (and Linux)
small test cases that are run in sequence. Each policy that directory hardlinks are forbidden
test case (or unit test) will perform some sample (because they can result in cyclic directory
workload and compare expected to actual tree structures). For those situations wherein
results as a measure of success. What these directory links are required, soft or symbolic
16 www.linuxuser.co.uk
Opinion
The kernel column Jon Masters
OPEN SOURCE
17 www.linuxuser.co.uk
OpenSource Your source of Linux news and views
Liberating
Libre
System builders and laptop
manufacturers? Theres a service
you could really do your customers,
argues Simon...
invest once more in a new computer, this time on OpenOffice, LibreOffice or one of the many
around I took a different approach. I avoided the alternatives being offered as any kind of default
usual, homogenous, big-name system builders option. And yet here it was.
and instead I opted for one from a small firm with Of course, its generally the small firms willing
a burgeoning reputation. Said firm promised me to task a risk that start changes in the way people
that theyd do their utmost to deliver a compelling do things. The risk in this instance isnt offering
machine, and so far, so good. users a useful, free-of-charge and fully featured
What was interesting, though, was that going office suite rather the possibility of annoying
through the now apparently compulsory online Microsoft, which continues to use persuasive,
configuration tool, I arrived at the part when you and no doubt financial tactics to persuade large
selected an office suite. Now, friends who have firms to recommend Windows in its many
bought laptops over the past year or two reliably flavours. Certainly in days of old, when Microsoft
inform me that the current Microsoftware that invested heavily in partner promotional work, itd
tends to be bundled onto the Windows desktop be a brave firm that didnt offer the full gamut of
Simon Brew is a technology by default is a 60-day trial version of Microsoft Microsoftware. Itd be like taking a Coca-Cola
writer and editor,
working across the Office 2010. This, naturally enough, becomes the fridge for your shop and stocking it full of some
Linux, Windows and default application for working with the usual quality home brew that tastes a lot nicer.
Mac OS X platforms array of office-based documents, and by the time But can common sense prevail here? Like
Theres a sizeable part of me that likes to the 60 days is up, you presumably get the option or lump the app market, but at least in certain
build computers. Ive been doing it for well over to buy it. For lots of money. quarters its getting across the idea that the price
a decade now and up until recently, the last This retailer in question, though, offered the of software is not always a financial one. In the
off-the-shelf machine Id actually bought was 60-day trial as part and parcel of its configuration case of LibreOffice, heres a really useful piece
back in 1999. Even then, by the time the thing tool, but it also offered me a full installation of of software that does the job many want, for a
finally retired, gasping for breath, it bore little LibreOffice as part of the package. I was a bit full 100 per cent discount over its competition.
resemblance to the machine that Id shelled out taken aback, truth be told. Weve had Dell dallying Theres no 60-day restriction, just a commitment
too much money for beforehand. with Linux installations on its machines in the to providing a good honest tool.
The price differential between buying a past, usually when it wants to annoy Microsoft. It needs system builders, and particularly
computer and building one has been narrowing Yet its been such an obvious and common-sense laptop manufacturers, to pick up the mantle
for years, however, and so when it came time to thing to do for so long, that Id long since given up here Id argue, and to begin a movement that
will at least offer the option of every new
The price differential between computer coming with an open source office
suite. Microsoft might not be keen, but end
users, surely, wont mind saving a lot of money
18 www.linuxuser.co.uk
WINDOWS OR LINUX
HOSTING
At 1&1 we provide advanced solutions for even the most demanding web projects.
Choose from our flexible Windows and Linux hosting packages for the
latest in technology and programming.
1&1 offers NEW: Microsoft ASP.NET 4.0/4.5,
the latest programming technology for developers,
helping to create modern, professional websites
with 1&1 Windows Web Hosting.
Linux professionals benefit from NEW: PHP 5.4
and PHPDev, plus unlimited access to
1&1 Click & Build Applications and more
with 1&1 Linux Web Hosting.
6FREE! 6FREE!
support from our web hosting experts.
MONTHS MONTHS
GET A .co.uk
Then 6.99 per month* Then 6.99 per month*
FOR JUST 0.99!*
20 www.linuxuser.co.uk
OW
R RY
N
DEUR
OR H
SUBSCRIPTION VOUCHER
YES I would like to subscribe to Linux User & Developer
YOUR DETAILS
Title First name
Surname
Address
Postcode Country
Telephone number
Mobile number
Email address
Please complete your email address to receive news and special offers from us
Name and full postal address of your Bank or Building Society Originators Identification Number
FANTASTIC
To: The Manager Bank/Building Society
5 0 1 8 8 4
Address
Reference Number
SUBSCRIBER
Postcode Instructions to your Bank or Building Society
Please pay Imagine Publishing Limited Direct Debits from the account detailed in this
instruction subject to the safeguards assured by the Direct Debit guarantee. I understand
Name(s) of account holder(s) that this instruction may remain with Imagine Publishing Limited and, if so, details will be
passed on electronically to my Bank/Building Society
Signature(s)
OFFER
Branch sort code
Date
Banks and Building Societies may not accept Direct Debit instructions for some types of account A6 instruction form
Python
Masterclass
Always wanted to have a go at
programming? No more excuses, because
Python is the perfect way to get started!
Python is a great programming language for both ambitious like the app in a recent article where we used
beginners and experts. It is designed with code Pythons Bluetooth and Input libraries to capture the
readability in mind, making it an excellent choice input from a USB keyboard and relay the input events
for beginners who are still getting used to various an Android phone.
programming concepts. The language is popular and For this tutorial were going to be using Python 2.x
has plenty of libraries available, allowing programmers since that is the version most likely to be installed on your
to get a lot done with relatively little code. Linux distribution.
You can make all kinds of applications in Python:
you could use the Pygame framework to write simple AUTHOR Liam Fraser is the creator of the
RaspberryPi Tutorials YouTube series and
2D games, you could use the GTK libraries to create a
volunteers as a Linux server administrator
windowed application, or you could try something more for the Raspberry Pi Foundation
24 www.linuxuser.co.uk
Learn Python
Start programming today
FEATURE
25 www.linuxuser.co.uk
Feature PYTHON MASTERCLASS
TIP
Hello World Variables and data types
Lets get stuck in, and what better way than with the A variable is a name in source code that is associated with
If you were using a
graphical editor such programmers best friend, the Hello World application! an area in memory that you can use to store data, which is
as gedit, then you Start by opening a terminal. Its current working directory then called upon throughout the code. This data can be one
would only have to do will be your home directory. Its probably a good idea of many types, including:
the last step of making to make a directory for the files well be creating in this
the file executable. tutorial, rather than having them loose in your home
You should only have Integer Stores whole numbers
directory. You can create a directory called Python using
to mark the file as Float Stores decimal numbers
executable once. You the command mkdir Python. Youll then want to change into
can freely edit the file that directory using the command cd Python. Boolean Can have a value of True or False
once its executable. The next step is to create an empty file using the
String Stores a collection of characters. Hello
command touch followed by the filename. Our expert used World is a string
the command touch hello_world.py. The final and most
important part of setting up the file is making it executable.
This allows us to run code inside the hello_world.py file. We As well as these main data types, there are sequence types
do this with the command chmod +x hello_world.py. Now (technically, a string is a sequence type but is so commonly
that we have our file set up, we can go ahead and open it used weve classed it as a main data type):
up in nano, or any text editor of your choice. Gedit is a great
editor with syntax highlighting support that should be List Contains a collection of data in a specific order
available on any distribution. Youll be able to install it using
your package manager if you dont have it already. Tuple Contains a collection immutable data in a
specific order
[liam@liam-laptop ~]$ mkdir Python
[liam@liam-laptop ~]$ cd Python/ A tuple would be used for something like a co-ordinate,
[liam@liam-laptop Python]$ touch hello_world.py containing an x and y value stored as a single variable,
[liam@liam-laptop Python]$ chmod +x hello_ whereas a list is typically used to store larger collections.
world.py The data stored in a tuple is immutable because you cant
[liam@liam-laptop Python]$ nano hello_world.py change values of individual elements in a tuple. However,
you can do so in a list.
Our Hello World program is very simple, it only needs It will also be useful to know about Pythons dictionary
two lines. The first line begins with a shebang (the symbol type. A dictionary is a mapped data type. It stores data
#! also known as a hashbang) followed by the path to the in key-value pairs. This means that you access values
Python interpreter. The program loader uses this line to stored in the dictionary using that values corresponding
work out what the rest of the lines need to be interpreted key, which is different to how you would do it with a list. In
with. If youre running this in an IDE like IDLE, you dont a list, you would access an element of the list using that
necessarily need to do this. elements index (a number representing the elements
The code that is actually read by the Python interpreter position in the list).
is only a single line. Were passing the value Hello World to Lets work on a little program we can use to
the print function by placing it in brackets immediately after demonstrate how to use variables and different data
weve called the print function. Hello World is enclosed types. Its worth noting at this point that you dont always
in quotation marks to indicate that it is a literal value and have to specify data types in Python it will generally
should not be interpreted as source code. As expected, the work out the correct data type for you. Feel free to create
TIP print function in Python prints any value that gets passed to this file in any editor you like. Everything will work just
Python has plenty
it to the console. fine as long as you remember to make the file executable.
of great online
documentation. You can save the changes youve made to the file in nano Were going to call ours variables.py you can find it on the
Usually the best using the key combination Ctrl+O, followed by Enter. Use disc that comes with this issue, along with all the other
way to find things Ctrl+X to exit nano. scripts were creating in this feature.
is to simply Google
them and the first #!/usr/bin/env python2
result will be the
print(Hello World) Interpreted vs compiled languages
official Python
documentation. For An interpreted language such as Python is one where
example, there is a You can run the Hello World program by prefixing its the source code is converted to machine code and then
very detailed page filename with ./ in this case youd type ./hello_world.py. executed each time the program runs. This is different
on Pythons built-in from a compiled language such as C, where the source
types here: [liam@liam-laptop Python]$ ./hello_world.py code is only converted to machine code once the
docs.python.org/2/ resulting machine code is then executed each time the
Hello World
library/stdtypes.html program runs.
26 www.linuxuser.co.uk
Learn Python
Start programming today
FEATURE
#!/usr/bin/env python2
The following line creates # We create a variable by writing the name of the variable we want followed
an integer variable called # by an equals sign, which is followed by the value we want to store in the
hello_int with the
# value of 21. Notice how # variable. For example, the following line creates a variable called
it doesnt need to go in # hello_str, containing the string Hello World.
quotation marks
hello_str = Hello World
hello_bool = True
We create a tuple in the
following way
hello_tuple = (21, 32)
And a list in this way
hello_list = [Hello,, this, is, a, list]
# This list now contains 5 strings. Notice that there are no spaces
# between these strings so if you were to join them up so make a sentence
# youd have to add a space between each element.
You could also create
the same list in the hello_list = list()
following way hello_list.append(Hello,)
hello_list.append(this)
hello_list.append(is)
hello_list.append(a)
hello_list.append(list)
# The first line creates an empty list and the following lines use the append
# function of the list type to add elements to the list. This way of using a
# list isnt really very useful when working with strings you know of in
We might as well create a # advance, but it can be useful when working with dynamic data such as user
dictionary while were at it.
Notice how weve aligned # input. This list will overwrite the first list without any warning as we
the colons below to make # are using the same variable name as the previous list.
the code tidy
27 www.linuxuser.co.uk
Feature PYTHON MASTERCLASS
print(str(hello_tuple[0]))
# We cant change the value of those elements like we just did with the list
# Notice the use of the str function above to explicitly convert the integer
Remember that tuples are # value inside the tuple to a string before printing it.
immutable, although we
can access the elements of print(hello_dict[first_name] + + hello_dict[last_name] + has +
them like so
hello_dict[eye_colour] + eyes.)
Lets create a sentence using
the data in our hello_dict print({0} {1} has {2} eyes..format(hello_dict[first_name],
hello_dict[last_name],
A tidier way of doing this hello_dict[eye_colour]))
would be to use Pythons
string formatter
int_condition = 5
list. However, the while loop is directly accessing elements
if int_condition < 6: in the list, so you could change the list there should you
sys.exit(int_condition must be >= 6) want to. Well talk more about variable scope later. The
else: output from the above program is as follows:
print(int_condition was >= 6 - continuing)
The path the code takes will depend on the value of the [liam@liam-laptop Python]$ ./construct.py
integer int_condition. The code in the if block will only How many integers? acd
More about a executed if the condition is true. The import statement is You must enter an integer
Python list used to load the Python system library; the latter provides
A Python list is similar the exit function, allowing you to exit the program, printing [liam@liam-laptop Python]$ ./construct.py
to an array in other an error message. Notice that indentation (in this case four How many integers? 3
languages. A list
spaces per indent) is used to indicate which statement a Please enter integer 1: t
(or tuple) in Python
can contain data of block of code belongs to. You must enter an integer
multiple types, which If statements are probably the most commonly used Please enter integer 1: 5
is not usually the case control structures. Other control structures include: Please enter integer 2: 2
with arrays in other For statements, which allow you to iterate over items in Please enter integer 3: 6
languages. For this collections, or to repeat a piece of code a certain number Using a for loop
reason, we recommend
of times; 5
that you only store
data of the same type While statements, a loop that continues while the 2
in a list. This should condition is true. 6
almost always be the Were going to write a program that accepts user input Using a while loop
case anyway due to from the user to demonstrate how control structures work. 5
the nature of the way Were calling it construct.py. 2
data in a list would
The for loop is using a local copy of the current value, 6
be processed.
which means any changes inside the loop wont change the
28 www.linuxuser.co.uk
Learn Python
Start programming today
FEATURE
#!/usr/bin/env python2
# Were going to write a program that will ask the user to input an arbitrary
# number of integers, store them in a collection, and then demonstrate how the
The number of integers # collection would be used with various control structures.
we want in the list
import sys # Used for the sys.exit function
count = 0
except:
print(You must enter an integer)
if isint == True:
By now, the user has given # Add the integer to the collection
up or we have a list filled
with integers. We can loop
ints.append(new_int)
through these in a couple # Increment the count by 1
of ways. The first is with a count += 1
for loop
29 www.linuxuser.co.uk
Feature PYTHON MASTERCLASS
#!/usr/bin/env python2
def modify_string_return(original):
original += that has been modified.
# However, we can return our local copy to the caller. The function
# ends as soon as the return statement is used, regardless of where it
We are now outside
of the scope of the # is in the function.
modify_string function, return original
as we have reduced the
level of indentation
30 www.linuxuser.co.uk
Learn Python
Start programming today
FEATURE
31 www.linuxuser.co.uk
Tutorial SSH tunnelling on insecure networks
Bypass over-restrictive
content filtering by
tunnelling your browsing
via your server, protecting
your unencrypted web
traffic from insecure
networks, too
SSH tunnelling on
insecure networks
Bypass overly restrictive firewalls and run safely over
insecure networks in easy steps
Advisor If youre still using SSH as just a telnet
replacement, you are missing out on borrowing
tunnels can always be created on the fly, as and
when you need them.
Richard Smedley is a sysadmin, its secure encryption to carry many other Perhaps you have never read the SSH man
working remotely to support
many services in distant, network services through insecure Wi-Fi, and page? No? Well, the options you should have
heterogeneous networks, overly restrictive firewalls, from wherever you been looking at are -L and -R, with a little
and has had enough of have a laptop or smartphone. attention to -N and -f.
blocked ports
For the bulk of this article, we shall be looking Skipping lots of theory, well take a practical
at local port forwarding the most common and approach and show you how to use SSH
Resources
the most useful type to give secure, VPN-like tunnelling in various common scenarios. Read
connections. Why not just use a virtual private on and find just what these magic switches to
SSH client with SSH daemon on the server network? VPNs arent always available to you, the ssh command can do for you, but beware
A server connected to the internet, preferably and some corporate VPNs demand particular the power to run rings around firewalls should
with a fixed IP address client software and configuration, but SSH be used carefully!
32 www.linuxuser.co.uk
SSH tunnelling on insecure networks
Create secure network connections on the fly with SSH
TUTORIAL
01 A different port
When you run a normal SSH session,
it simply opens an encrypted connection from
a spare port on your computer to port 22 on a
remote device. For security reasons many
scripts are knocking on port 22 with well-known
passwords you can specify another port.
02 Insecure access
However, inside this encrypted
connection you can carry other traffic hence
could also use the fully qualified domain name
(FQDN) of your local machine. You can do the
same for receiving mail via POP.
07 On the server
Before we go any further, best get a
couple of things straight on our server. SSH
SSH tunnelling. This means that however in (without the tunnel this time), gain root
insecure your connection (eg cafe Wi-Fi), your privileges, and fire up your favourite editor to
traffic is as secure as the level of encryption used open /etc/ssh/sshd_config (or whatever your
by SSH (ie good enough). distro names the file).
03 Confidential mail
Tunnelling allows you to hide your
unencrypted email traffic inside the SSH
connection. The -L local-port:host:remote-port
08
creates the tunnel, allowing SMTP (port 25) traffic
09 Error check
Check you can log in on the new port
06
from another terminal before you close this
Two-lane tunnel
session! If there is a problem, check that you
While outward-bound SMTP is
restarted the SSH server, and typed the correct
occasionally blocked, if youre tunnelling for
04
port and username. If in doubt, return to default
Local config security, best do the incoming POP mail with
port setting.
Now just configure your email client the same command. As you can see, multiple
to connect to port 3909 of the local machine. local tunnels can be expressed in the same ssh
Localhost and 127.0.0.1 are synonymous, but you command, each with the -L switch.
33 www.linuxuser.co.uk
Tutorial SSH tunnelling on insecure networks
11 Keeping track
15
Configs for local and reverse tunnels Sock it to me!
can also be added at the client end too handy ssh -C -D 1080 -p 443 root@
for keeping track of multiple connections myserver.com
over multiple ports, as well as enabling easier -D is for dynamic port forwarding, creating
connections from shell scripts. RemoteForward a SOCKS proxy, over which many services
= reverse tunnel. can be carried at once. However, the client
applications (such as Firefox), need to be
capable of using SOCKS, and need to be
configured in the applications preferences.
1080 is the default port for SOCKS. Others may
be tried, but wont work with all software. Get
Dropbox?
SSH itself through SSH. For example, where
we need to set up a different sort of tunnel, a
the machine we need to reach is invisible to the
SOCKS proxy.
34 www.linuxuser.co.uk
SSH tunnelling on insecure networks
Create secure network connections on the fly with SSH
TUTORIAL
outside world:
ssh -l username -L
6655:hiddenmachine:22 gatewayserver
22 Remote apps
At its simplest, tunnelling
applications means never having to battle
X
20 GUI help
Some desktop software effectively
tunnels through SSH for you, such as your file
23 Transcontinental apps
Nevertheless, graphical apps can be run
from servers hosted in another country, as long
as you are prepared to put up with a little lag in
busier apps. You could even browse BBC iPlayer
on a UK-hosted box while travelling overseas.
24 Remote desktop
Beyond forwarding Z apps, well have
a bit more to say on VNC and remote desktops
next month, when we conclude our look at
19 Third-party access
From a third machine, connect to the
server. Then SSH to localhost and you are also
secure remote network apps and look at the
more permanent alternative to SSH tunnels
the virtual private network or VPN.
connected to the NATed machine. This means
from anywhere you can connect to a desktop
without an SSH server, if it can run a client.
35 www.linuxuser.co.uk
Tutorial Create multiple servers with OpenVZ
Create multiple
servers with OpenVZ
OpenVZ implements containers rather than the true
virtual machines of solutions such as Xen. This makes it an
extremely efficient platform for hosting multiple servers
In this tutorial were going to show you a way of OpenVZ offers an easy-to-use command-line
efficiently hosting multiple Linux servers on a interface, and deployment of guests is quick and
single machine by making use of the OpenVZ simple. You can interact with the guests via the
virtualisation technology. OpenVZ allows you native OpenVZ interface or through SSH. In fact,
Advisor
to host a complete, containerised Linux distro on you can make use of most of the approaches
a normal Linux box. This isnt quite the same as to system administration that you would with
Michael Reed is a technology a virtualiser such as VirtualBox or Xen because any other remotely hosted server machine. To
writer and hes been the guests all make use of the kernel of the host top it off, there are a number of fully featured
hacking away at Linux
for over 15 years. He system. This means that separation between the (commercial and free web) admin interfaces to
specialises in desktop host and the guests isnt as complete as would manage guests.
Linux solutions be the case with true virtual machines, but there OpenVZ makes use of so-called templates:
are considerable gains in efficiency due to shared stripped-down, pre-patched Linux distributions.
Resources resources. For example, it is not necessary to
allocate memory to a guest operating system
The OpenVZ website offers a wide selection of
ready-made templates to download and install.
CentOS: www.centos.org/ in advance, and all guests make use of the host In this tutorial, were going to use a CentOS 6
OpenVZ: openvz.org/Main_Page file system. template in order to build a LAMP server.
36 www.linuxuser.co.uk
Create multiple servers with OpenVZ
Host multiple Linux servers efficiently on one machine
TUTORIal
01 Install linux
OpenVZ requires the installation of
a patched kernel at the time of writing, Red
Move the modified openvz.repo file by typing mv
openvz.repo /etc/yum.repos.d/. Import
the appropriate GPG key with rpm --import
Hat-derived distros such as RHEL, Fedora and http://download.openvz.org/RPM-GPG-
CentOS have the best support. This tutorial Key-OpenVZ.
assumes that you have an up-to-date CentOS
installation to host your OpenVZ machines.
37 www.linuxuser.co.uk
Tutorial Create multiple servers with OpenVZ
08 Fetch template
OpenVZ uses templates, patched and
stripped-down versions of a distribution, which
--config basic. Typically, the ID number will
be derived from the IP address of the server, but
any 32-bit integer over 100 is allowed.
run within a container. See wiki.openvz.org/
Download/template/precreated for a full list.
The template name that will be referred to later is
the filename minus the .tar.gz ending. You dont
have to match distribution between the host and
guest, but you do have to match architectures.
Fetch a template from the site and then mv it to
12 Enter the guest
You can enter the guest machine
using the OpenVZ interface by typing vzctl
the /vz/template/cache/ directory. If you skip
enter [ID]. This will prompt you for your
this step, OpenVZ will fetch the file automatically,
root password. You can SSH into guests in the
later on, but it takes a while.
10
normal way with ssh [IP address]. And, of
Configure the VPS
course, you can set up SSH to use secure keys in
Give the guest a hostname with vzctl
the same way as you would with any other box.
set [ID] --hostname [hostname] --save.
13
Assign it an IP address with vzctl set [ID] Test the network
--ipadd [IP address] --save. You can set From the OpenVZ guest, have a go
the guest to automatically boot when the guest at pinging the outside world by typing ping
starts with vzctl set [ID] --onboot yes google.com. If this doesnt work, re-examine
--save. Assign a working name server to the your modifications to sysctl.conf and check the
machine with vzctl set [ID] --nameserver output of sysctl -p. Try pinging the host from
[IP address of name server] --save. the guest and vice versa, and double-check that
Assign 100 sockets to the guest with vzctl you can ping from the host to the outside world.
set [ID] --numothersock 100 --save. Try pinging an IP address directly to rule out
09 Create VPS
Now we create a VPS from the template.
The format of the command is: vzctl create
[ID number] --ostemplate [template
name] --config basic. For example, vzctl
Careful, there are no confirmations
create 123 --ostemplate centos-6-x86 on these commands
38 www.linuxuser.co.uk
Create multiple servers with OpenVZ
Host multiple Linux servers efficiently on one machine
TUTORIAL
17 Migrate a node
The OpenVZ migration facility is able
to move an entire guest between one host and
another. Both hosts must be running OpenVZ,
and SSH connections must be allowed between
the machines. Its even possible to migrate a
DNS problems. When troubleshooting, consider [ID] --diskspace [soft limit]:[hard running guest for minimal downtime, as OpenVZ
temporarily shutting down the firewall on the limit] to set a quota. While the soft limit can be will do a file comparison once the first stage of
host by typing /etc/init.d/iptables stop temporarily exceeded, the hard limit will cause a the file transfer is complete. When carrying out
(on the host) to see if thats causing the problem. disk full error within the guest if breached. Use live migrations, make every effort to synchronise
vzctl set [ID] --cpulimit 4 --save to the clock of the two machines. Use vzmigrate
limit a given guest to 4% of the total CPU time. [destination host] [ID] on the machine
containing the guest. Add the -r no flag to if
you want to prevent vzmigrate from deleting the
original container when it has finished.
14 Manage guests
To shut down a guest, use the following
command sequence: vzctl stop [ID]. To
delete a guest, including all configuration and
container files, use vzctl destroy [ID]. You
restart a guest with the vzctl restart [ID]
command. Careful, there are no confirmations
on these commands. 16 Set up a LAMP
Log into the guest. You can tell which
package groups are installed by typing yum
grouplist. As a minimum, make sure that
Apache is installed by typing yum install
httpd. Tell Apache to start on boot by typing
18 Add web management
Once you have the basics down, you
might consider adding web administration.
chkconfig --levels 235 httpd on. Edit OpenVZ Web Panel (https://code.google.
/etc/httpd/conf/httpd.conf and uncomment com/p/ovz-web-panel/) is a good starting
the line NameVirtualHost *:80. Start point, not least because its free and comes
Apache with service httpd restart. From with a completely automated installation script
the host, or another machine on your network, (available on the site).
15 Manage quotas
Use vzquota stat [ID] to view current
disk usage limits for a machine. Use vzctl set
open the web browser and surf to the IP address
of the guest that is running Apache. You should
be greeted with the Apache welcome page.
39 www.linuxuser.co.uk
Tutorial Make a personal wiki with DokuWiki
The main content of your These icons let you edit the These links allow you to log in, or
pages is rendered and current page, find links to register if you dont already have
displayed here in the main the current page and see the an account. You can also access
pane of the webpage history of the current page the admin areas of DokuWiki
Make a personal
wiki with DokuWiki
Need somewhere to store, organise
and share information? DokuWiki is a
Advisor powerful tool to handle the task
Joey Bernard As a true renaissance
man, he splits his time between
building furniture, helping The internet has become one of the that we need a multi-user editable CMS. Enter
researchers with scientific greatest tools for distributing information DokuWiki. DokuWiki provides an environment
computing problems and writing
to essentially the entire planet. If you have where you can create and share information. A
Android apps. When the kids let
him have some time, that is knowledge that you wish to share with others, template system allows you to customise the
you can create a basic website based on a set layout of the pages. A plug-in architecture is
of HTML files. The problem with this is that also available, enabling you to add to the core
Resources you can very quickly lose any coherence in the functionality of DokuWiki. In this tutorial, you will
DokuWiki: files. This means that you need some type of learn how to install and start to use DokuWiki to
www.dokuwiki.org content management system to handle all of create your own site. You will see how to start
DokuWiki plug-ins: this information. Part of sharing information is adding content, and how to install plug-ins to get
www.dokuwiki.org/plugins building on other peoples ideas. This means the CMS of your dreams.
40 www.linuxuser.co.uk
Make a personal wiki with DokuWiki
Organise and share your know-how using this powerful tool
TUTORIAL
08 Headings
Headings for sections on a page are
02 Dependencies
DokuWiki is relatively light in its
requirements. You do need a browser that
05 Open install.php
Once all the files are installed on your
web server, you should be able to pull up the
defined with = characters. You have 5 levels of
headings available to you. The smallest (level 5)
is defined by ==, whereas the largest (level 1) is
supports PHP, such as Apache, Nginx or lighttpd. main installation page, named install.php. If the
defined by ======.
You will also need to have version 5.1.2 or later file permissions arent correct, this page will kick
of PHP. If you want to do image resizing, you will up errors to let you know what needs to be fixed.
need to install either the PHP GD extension or the Once everything is good, you will be presented
Image Magick tools. with an initial page where you can set the details
of your new wiki.
09 Text formatting
All of the text formatting is handled by
pairs of special characters surrounding the text.
To get bolded text, use *. Italic text is achieved
03 Tarball download
If you want the latest and greatest
with /. You get underlined text with _. When you
have some code that shouldnt be formatted, you
version, the first step will be to download the
tarball from the DokuWiki website. The latest
stable version (at the time of writing) is Adora
06 Startup
Once the installation phase is done, you
should have a fully active wiki at your disposal.
can do so with single quotes. The one exception
is strike-through text you get this with the tags
<del> and </del>.
Belle, or dokuwiki-2012-10-13. You can also The initial page is set as doku.php, but because
choose the latest release candidate if you need this is a new installation this page hasnt been
some newer features. filled in yet.
41 www.linuxuser.co.uk
Tutorial Make a personal wiki with DokuWiki
10 Internal links
One of the great features of a wiki is the
ability to build links from one page to another.
Internal links are defined by [[ and ]] characters.
Within these are two elements. The first is
the actual link name, and the second is a title
that you can create which will be displayed to
the reader.
15 Admin options
Up until now, we have been looking at
DokuWiki from a users point of view. But as the
person who installed it, you also have to take
control of the administration tasks. When you log
in as the admin user and click on the Admin link
at the top of the page, you will be presented with
several items to configure your wiki to your exact
specifications. This includes user management,
access control, plug-ins and configuration
settings. At the top of the page, you will also be
11 New links
When you create a new link, it gets
displayed in red. This highlights that the page 13 Lists
You can create two types of lists: ordered
notified about any updates to your installation.
linked to hasnt been created yet. When you click and unordered. They are both started with two
the link, you are brought back to the edit page blank spaces, followed by either a dash (for
where you can create this new page. ordered lists) or an asterisk (for unordered lists).
14 External links
You can also add links to external
webpages. The format is the same as for internal
pages, but the first element is replaced with the
URL to the webpage. The second element is still a
16 Adding a user
When you bring up the User Manager
page, you are presented with a list of existing
text label that is displayed to your users. users on your system. At the bottom of the
12 Deleting a page
Deleting a page is not particularly intuitive.
There arent any tools or buttons available. You DokuWiki has a very robust API
which allows you to add any new
need to actually open the edit window and empty
out all of the content. When you then save this
42 www.linuxuser.co.uk
Make a personal wiki with DokuWiki
Organise and share your know-how using this powerful tool
TUTORIAL
list is a form where you can add a new user, can control how pages, and page elements, are pane. Here you can find links to the originating
setting things like the username, password and displayed when rendered. You also have control website, as well as author information. The list of
contact information. over how authentication is handled, and what components for the plug-in is also included here.
anti-spam measures are implemented.
17 Editing a user
Selecting a currently existing user will
pull up the details in an edit form. You can
change all of the values for this particular
user. When you are done, you can click on the
Save Changes button. You also have the option
of notifying the user of these changes.
20 Plug-in management
DokuWiki has a very good plug-in
22 Installing plug-ins
Plug-ins are installed by handing a URL
to DokuWiki. Your DokuWiki installation will then
architecture included. The list of installed download the plug-in code and unpack it in the
plug-ins is shown when you enter the Plugin plugin directory. You need to be sure that the web
Management section. Here you can activate or server user has write permission on this directory.
deactivate them with a checkbox click. You can
also delete any that are not part of the core.
18 Access control
Clicking on the link for ACL Management
will bring up the management screen. From
here, you can select individual pages and set
permissions for either individual users or groups.
You can also set generic rules that apply to all
pages, unless superseded by a more specific rule.
19 Configuration settings
The configuration page is where you
can customise your new wiki. In this section you
21 Plug-in information
Clicking on the info button will load
details of the selected plug-in into a new
23 Creating plug-ins
DokuWiki has a very robust API which
allows you to add any new functionality that
isnt already there. Always be sure to check the
list of plug-ins first. Plug-ins can be written to
extend DokuWikis basic syntax, add new action
modes, provide new renderer modes or add
web services.
24 Where to now?
You should be able to go ahead and
build your wiki and have it customised to meet
all of your needs. Go forth and share all of your
hard-won knowledge.
43 www.linuxuser.co.uk
Interview Bitcraze interviewing the Crazyflie team
Bitcraze
Interviewing the Crazyflie team
Meet the open source quadrocopter that
will teach the world how to fly, or play INTERVIEWER Rob Zwetsloot
models complex systems
and is a web developer
44 www.linuxuser.co.uk
Bitcraze interviewing the Crazyflie team
A chat with the team behind the Crazyflie open source quadrocopter
INTERVIEW
45 www.linuxuser.co.uk
Interview Bitcraze interviewing the Crazyflie team
using the Crazyflie in their main entrance, away and crash. It was Tobias that had the idea
Antonsson tells us. They have these blinds of sticking a drinking straw on top of the copter,
which are inaccessible by normal methods, so and that permitted us to fly it under our hands,
is great because its working on Linux, which the idea is you just fly close enough to dust the yet still keeping it attached somehow. We could
is our main development environment, and blinds or blow the dust off. This basic concept fly it in a controlled way, and then we could
weve also got it working on other operating works in areas where you cant really get to debug the software. In the same evening we
systems. So we were very quickly able to get a as a person, because its hazardous or even thought of this idea, we had it working. It took us
development environment that was working inaccessible like that. You can put sensors on it less than an hour to find the last software bug,
simultaneously in Linux and Windows. and fly a lot of them in there. preceded by a month of crashing.
Open source projects are all about the Before the team get to that point, though, There werent just problems with the software
community and how they can use or contribute theres still work to be done on the Crazyflie. in the beginning either. Getting the right motors
to them. As such, there have been plenty of Development for a few aspects is still ongoing, and propellers to fit their idea was tricky, and
ideas on how to make use of the Crazyflie but at the very least, it can fly. Taffanel describes construction of the device needed work.
already. Taffanel explains to us that some the process of even getting that far: I remember the first prototype we had we
people have had the idea of putting air sensors We learned the hard way that debugging was glued the motors with hot glue, so every time we
on it, and there are videos online of others important. At the beginning, when we had the crashed it we had to reglue the motors, recalls
attaching miniature cameras to it to aid in flying. motors and the propellers mounted to the PCB, Eliasson. Taffanel elaborates, They had a 10 per
More still are interested in the prospect of we had software bugs. As soon as we started cent chance to break the motors so we had
preprogramming flight plans into the Crazyflie to the copter, it was flying [into] the window or the to buy a lot of model planes.
use it as a drone. ceiling, crashing directly afterwards and almost We went to this hobby store and bought
We actually have some students from Texas breaking. So it was very hard to figure out the about ten planes and they were giving us a
that wanted to build a kind of dusting system problems with something that would just fly strange look, jokes Eliasson. The only way
Virtual reality
Shortly before our interview, the Bitcraze team had put together a virtual machine to make it easier for
users to get right into using, and working on, their own Crazyflie. Running on Xubuntu, the VM imports
Make development and control into VirtualBox, and all you then need to do is make sure the Crazyradio and the compatible controller
easy using the Bitcraze VM are added to the device. The control software not only allows you connect and fly the quadrocopter, but
it also enables you to plot data from flying, from both the Crazyflies sensors and the controller inputs.
Flight modes
You can choose between
preselected flight profiles
for different levels of
control over the Crazyflie
Fine-tuning
Get the Crazyflie
working to your exact
specifications with these Flight tracker The virtual machine is a
advanced flight controls Monitor and record quick way to get straight into
the inputs to and the working with the Crazyflie
actual flight pattern
of your Crazyflie
46 www.linuxuser.co.uk
Bitcraze interviewing the Crazyflie team
A chat with the team behind the Crazyflie open source quadrocopter
INTERVIEW
Price of freedom
Whats causing the Crazyflie
to cost as much as it does?
the team could source parts to begin with was Antonsson clarifies how it affected the power just run that and they will get all the program
through cheap model kits from a store in their usage: The electronic system uses about 70mA, environment and all the software that we work
home city. and when we hover, the motors use about 1.4 from. These are [the] kind of the things were
With the hardware and software sorted amps, so its negligible compared to the motors. trying [in order] to make the out-of-the-box
out, the team had a working and very small It also permitted us to be a bit lazy, says experience possible.
quadrocopter. If you look over the specs, Taffanel. We have everything in floating points, Thats not to say that the team at Bitcraze will
though, the MCU controlling the Crazyflie is and because of that we didnt have to think be satisfied with just making it work properly, as
comparatively quite powerful, with the team about fixed points. Taffanel explains:
claiming they only use 40 per cent of available Now that the Crazyflie is starting to become We have lots of ideas, its just its the time.
processing power while flying. Why did they commercially available, prioritisation has We all currently do this after work, we have
choose this, and does it have any bearing on the switched from adding cool features, as jobs during the day, so this is something for
seven minutes of flight time? described by Antonsson, to making sure its weekends and late nights.
When we first designed this, since it was kind ready to go. Eliasson finishes off on a more positive
of a competence development project, this was The focus is really to get it to work out of the note: Were hoping that it will eventually be
pretty much a state-of-the-art processor then, box, Eliasson tells us. Were really working something we can work on full-time of course,
so we wanted to use it, explains Eliasson. We towards making that happen. So we cannot and hopefully well get there. Its not impossible
didnt really design it to be that power efficient, focus on extra functionality and we dont any more.
but we can control the power pretty well now, so want people to be too frustrated when they
it can actually enter sleep modes. receive the copter and it doesnt work. For
The extra power in the MCU can be used by instance, last week, we did a virtual machine,
other people if necessary, Taffanel mentions. an Ubuntu virtual machine, so that people can
47 www.linuxuser.co.uk
BUILD A BETTER WEB
www.webdesignermag.co.uk
Available
from all good
newsagents and
supermarkets
ON SALE NOW
50 must-have web tools | Create responsive layouts | Interactive vector graphics
DESIGN INSPIRATION PRACTICAL TIPS BEHIND THE SCENES STEP-BY-STEP ADVICE INDUSTRY OPINION
facebook.com/webdesignermag twitter.com/webdesignermag
The only Linux magazine for open source developers
100% FOSS focused Features Tutorials Sample code
SYSTEM ADMINISTRATION
EXPERT GUIDE
Get the skills you need for a career in open source
LEARN TO MANAGE:
users
services
scheduled tasks
backups
monitoring
web-based admin
Sysadmin isnt
just useful for servers
in multimillion-pound
companies, but even Make Rock, Paper,
if youre using Linux Scissors in Python
Put your new Python skills to the test!
at home Page 56
INCUDES:
Code listings
Fully commented code
Step-by-step guide
49 www.linuxuser.co.uk
Feature System Administration Masterclass
System Administration
Masterclass
Unlock the full potential of Linux while learning how
to manage it effectively
Advisor Linux is the operating system that has more
network card drivers than video card drivers, if
companies, but even if youre using Linux at
home. They give you a very smart and efficient
Kunal Deo is a veteran open source developer. you catch our drift. Linux was made for network. way to control and optimise your system to your
Currently he is leading two open source
projects: WinOpen64 and KUN Wiki.
Granted, its not too shabby in other areas, but exact requirements.
He is also a KDE developer. He has it really excels in the networked environment. This article is designed to teach you about
contributed to many open source Today Linux powers most of the worlds servers, Linux system administration from a beginners
projects, including KDE-Solaris, Belenix
whether on the internet or an intranet. One of the point of view. Most of the tasks we will cover
and Openmoko
core competencies of Linux, which has made it can be easily carried out by readers who are
perfect for running servers and services, is its relatively new to getting their hands dirty, but
system administration features. These arent well also cover a good few advanced tips for
just useful for servers in multimillion-pound those who want to delve a little bit deeper.
The tools
In this section we'll look at doing things using some of the tools designed to help us in
system administration tasks.
KEY
Managing users Package Manager (RPM). As already evident
While installing Linux you are asked to create by the package format name, DEB is used on
50 www.linuxuser.co.uk
System Administration Masterclass
A guide to getting started with system administration
TUTORIAL
Managing services
In Linux, a service is a crucial application (or JobScheduler web interface
collection of applications) that runs in the
background. They handle everything from The default text editor can be set up using the
booting the system to serving webpages. You EDITOR environment variable:
Advanced Tip:
If you want to install and update software on
can use the command service (an init script) to $ export EDITOR=nano
multiple systems on a network, you can save
manage services. Crontab takes input in the following format: a lot of bandwidth and time by creating a local
To get the status of all the services installed on minute(0-59) hour(0-23) day(1-31) software repository.
the system: month(1-12) weekday(0-6) command On systems which use ZYpp/YUM, you can
# service --status-all An asterisk ( * ) is used as wild card. For example, create a local software repository using the
To start a service: using asterisk with month will cause the task to following steps:
Firstly, mirror your desired repo to a folder, eg
# service <service name> start run every month.
/var/www/ludsuserepo/rpms.
To stop a service: 03 Lets assume that you want to run /usr/bin/
# service <service name> stop myludapp every day at 12.30 AM. So we will need # sudo zypper install createrepo
To get the status of particular service: to create the following line in it: # createrepo /var/ludsuserepo/rpms
At this point, all the required metadata will be added
# service <service name> status 29 0 * * * /usr/bin/myludapp to the folder to make it a valid repository. To add this
Here, 29 is for the 30-minute mark and 0 for repository to the remote systems, you can use:
Running scheduled tasks 12 am because the minute, hour and weekday # zypper addrepo -t YUM http://<host>/
If you are doing a repetitive task on your system, it values start at 0. However, the day and month ludsuserepo/rpms local_repo
is better to automate. For example, you may want values start at 1 instead of 0.
to sync files between two systems at a regular
interval. Instead of doing it yourself manually, you Managing backups Easy to use: rsync is very easy to use, almost
can create a scheduled task that automatically Backup is very crucial to any system, whether like the cp command but with better features.
runs at the configured intervals. In Linux (and running in isolation or a networked environment.
most UNIX environments) this is achieved through You can use rsync to create backups for your To do a local backup:
cron. Cron is a time-based task scheduler. system. Rsync is a file synchronisation utility. It # rsync -azvv <foldertobackup>
To create a scheduled tasks using cron provides the following features which make it a <destinationfolder>
01 Run the following command to open the perfect tool for backups: To do a remote backup over SSH (this will
current users crontab file: Differential copy: This means it will only copy require OpenSSH server to be installed and
$ crontab -e the bits that have actually changed. started on the remote system):
If you want a task to be run using root privileges, On-the-fly compression: This type of # rsync --delete -azvv -e -ssh /source/
you should use the command: compression makes the backups fast and folder user@remotemachine:/destination/
$ sudo crontab -e consumes less bandwidth. folder
Security: You can user the Secure Shell
02 The crontab file will then open in the default protocol (SSH) to do the backups, which makes
text editor. the process of backing up very secure.
51 www.linuxuser.co.uk
Feature System Administration Masterclass
System monitoring
Monitoring is an important part of system
administration. It allows you to proactively
react to issues in real-time. Monitoring also
gives cues on how to improve the performance
of the system. The following are some of the
most important command-line tools used in
monitoring various components of the system
top: Top provides a real-time view of the running
system. It can be considered as one of the most
versatile system monitoring tools out there. It
Output from the top command
displays summary information, a list of threads
or processes, types of system memory, process $ uptime sar: collects and reports system activity
status, CPU usage etc. 12:18pm up 12:22, 4 users, load information;
uptime: Uptime displays the duration for which average: 0.00, 0.01, 0.05 These tools are very helpful in monitoring I/O
the system has been up. It also displays how sysstat performance tools: Most distributions across the whole system.
many users are currently logged on, along with do not include sysstat by default, but you can
the system load averages for the past 1, 5 and easily install it using your distributions package $ iostat
15 minutes. manager. Systat includes the following tools: avg-cpu:
iostat: reports CPU utilisation and disk I/O %user %nice %system %iowait %steal %idle
Advanced Tip: statistics; 0.85 0.05 2.51 6.14 0.00 90.44
Apart from monitoring the system, you may want mpstat: reports global and per-processor Device:
to monitor how individual applications are doing. statistics; tps kB_ kB_ kB_ kB_wrtn
Strace will help you do just that. pidstat: reports statistics for Linux tasks read/s wrtn/s read
sda 35.79 613.38 38.54 519671 32648
(processes); fd0 0.00 0.01 0.00 8 0
Advanced Tip: nfsiostat: reports I/O statistics for network
While traditionally distributions have been using file systems; pmap: pmap reports a memory map of
the Linux init daemon to manage services, it cifsiostat: reports I/O statistics for CIFS a process. It is very helpful in detecting
has been replaced with modern alternatives. file systems memory bottlenecks.
The most popular alternatives are systemd and $ pmap -d 3275
upstart. Systemd is the default on Fedora/Red
$ sudo mpstat
Hat, openSUSE, Arch Linux etc. Upstart is the
default on Ubuntu, ChromeOS etc. Both of these 12:47:37 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
tools provide almost the same kind of benefits, 12:47:37 PM all 0.82 0.05 2.29 5.81 0.00 0.10 0.00 0.00 90.92
like parallel service startup and on-demand
$ pidstat
service initialisation. Both systemd and upstart
are backward compatible with the init system, so 12:48:41 PM PID %usr %system %guest %CPU CPU Command
init commands will work just fine. 12:48:41 PM 1 0.01 0.17 0.00 0.18 0 init
Systemd uses the systmctl command to 12:48:41 PM 2 0.00 0.00 0.00 0.00 0 kthreadd
manage services, whereas upstart usage the $ pmap -d 3275
initctl command for that purpose. Address Kbytes Mode Offset Device Mapping
0000000000400000 900 r-x-- 0000000000000000 008:00001 bash
For example, to start a service: 00000000006e0000 4 r---- 00000000000e0000 008:00001 bash
# systemctl start foo.service 00000000025fc000 2076 rw--- 0000000000000000 000:00000 [ anon ]
# initctl start foo.service 00007f0e5f20b000 2044 ----- 000000000000c000 008:00001 libnss_files-2.15.so
mapped: 26960K writeable/private: 2356K shared: 28K
52 www.linuxuser.co.uk
System Administration Masterclass
A guide to getting started with system administration
TUTORIAL
53 www.linuxuser.co.uk
Feature System Administration Masterclass
Web tools:
Positive:
Easy to use.
Can be accessed remotely.
Negative:
Hard to set up.
Security hole when not configured properly.
Detailed process information
54 www.linuxuser.co.uk
System Administration Masterclass
A guide to getting started with system administration
TUTORIAL
the Virtual Hosts. If you want to change Global Webmin. Installing Webmin modules is very easy. Conclusion
Configuration, you can click on the Global Go to Webmin on the navigation bar, then click There are some pretty fat books written about
Configuration tab. Click on a Virtual Host to Webmin Configuration>Webmin Modules. Here Linux system administration. This article was not
modify it. Here you can configure options related you can install both standard Webmin modules an attempt to create an all-in-one guide, but a
to the virtual server, such as directory, MIME and third-party ones. A good thing is that both humble attempt to cover important things and
types, port, server name etc. options provide an automatic listing of modules. get you excited to explore more.
Creation of a new virtual server configuration Just click on and then on the module you want
is also very easy: you can click on the Create to install, and click Install.
Virtual Host tab to create a new Virtual
Server Configuration.
4. Special features
Apart from system configuration features,
Webmin also provides a few utilities which are
excellent for new system administrators
File Manager: Webmin comes with a built-in
fully featured file manager. It is excellent for
admins who want to make changes to the file
system on the server. File Manager also comes
with a handy editor which is excellent for making
changes to configuration files. File Manager
can be accessed via Others>File Manager. Note
that File Manager requires a Java plug-in to be
enabled on the browser side.
Built-in terminal: Most system admins would
really appreciate having shell access to the
server. But it is not always available everywhere.
Webmin includes a nice little utility called
Text Login which provides shell access to the
server. It can be run on any browser and does
not depend on Java. To access the shell, click
Others>Text Login. Keep in mind that some
systems do not allow root login from a remote
shell. In this case you will need to use a regular
user for login and then use su for performing
administrative tasks.
Webmin modules: As mentioned earlier, Webmin
has a thriving community of module makers.
You can use these modules to add features to Webmin modules
55 www.linuxuser.co.uk
Tutorial Python for beginners: Rock, Paper, Scissors
Use deduction to
determine one of
three outcomes
Append to integer
variables to keep track
of scores and more
56 www.linuxuser.co.uk
Python for beginners: Rock, Paper, Scissors
Learn how to program in Python by creating a simple game
TUTORIAL
57 www.linuxuser.co.uk
Tutorial Python for beginners: Rock, Paper, Scissors
The breakdown
01 As Liam explained in his feature,
we need to start with the path to
the Python interpreter. This allows us to run
02 Were importing two extra modules on
top of the standard Python code so
we can use some extra functions throughout
03 Were setting each move to a specific
number so that once a selection is
made by the player during the game, it will be
the program inside a terminal or otherwise the code. Well use the random module to equated to that specific variable. This makes
outside of a Python-specific IDE like IDLE. determine what move the computer will throw, the code slightly easier later on, as we wont
Note that were also using Python 2 for this and the time module to pause the running of need to parse any text for this particular
particular script, which we need to specify in the code at key points. The time module can function. If you so wish, you can add additional
the code to make sure it calls upon the correct also be used to utilise dates and times, either moves, and this will start here.
version from the system. to display them or otherwise.
01
02
03
04
05
06
58 www.linuxuser.co.uk
Python for beginners: Rock, Paper, Scissors
Learn how to program in Python by creating a simple game
TUTORIAL
07 Here we define the actual beginning of the code, with the function
weve called start. Its quite simple, printing our greeting to the
player and then starting a while loop that will allow us to keep playing the
08 Weve kept the game function fairly simple so we can break down
each step a bit more easily in the code. This is called upon from the
start function, and first of all determines the player move by calling upon
game as many times as we wish. The pass statement allows the while loop the move function below. Once thats sorted, it sets the computer move. It
to stop once weve finished, and could be used to perform a number of other uses the random modules randint function to get an integer between one
tasks if so wished. If we do stop playing the game, the score function is then and three (1, 3). It then passes the player and computer move, stored as
called upon well go over what that does when we get to it. integers, onto the result function which we use to find the outcome.
07
08
09
10
59 www.linuxuser.co.uk
Tutorial Python for beginners: Rock, Paper, Scissors
code by the number of seconds in the brackets. look up what the text version of the move is called
Weve put a one-second pause between counts, from the names we set earlier on, and then to
11
then half a second after that to show the results. insert that where {0} is.
The result function only takes the variables
12 13
player and computer for this task, which is
To print out what the computer threw, Here were simply calling the scores we
why we set that in result(player, computer). Were
were using string.format(). The {0} in the set earlier. Using the global function
starting off by having a countdown to the result.
printed text is where were inserting the move, allows for the variable to be changed and used
The printed numbers are self-explanatory, but
which we have previously defined as numbers. outside of the variable, especially after weve
weve also thrown in sleep from the time module
Using names[computer], were telling the code to appended a number to one of their scores.
we imported. Sleep pauses the execution of the
11
12
13
14
15
16
60 www.linuxuser.co.uk
Python for beginners: Rock, Paper, Scissors
Learn how to program in Python by creating a simple game
TUTORIAL
17
18
19
20
21
ELIF
IF also has the ELIF (else if) operator, which can
be used in place of the second IF statement
we employed. Its usually used to keep code
clean, but performs the same function.
61 www.linuxuser.co.uk
UNLOCK THE POWER OF ANDROID
w w w.li t t l e gre enr o b ot .c o.uk
Available
from all good
newsagents and
supermarkets
ON SALE NOW
> Galaxy S4 rst look > HTC One review > 35 Android secrets revealed
HARDWARE REVIEWS ANDROID HACKING TIPS & TRICKS APP REVIEWS HELP & ADVICE
facebook.com/littlegreenrobot twitter.com/lgrobot
Review index
Essential kit, software and resources for the open source scene
REVIEWS
Hardware
64 Bitcraze Crazyflie
The worlds smallest quadrocopter or
open source development platform?
66 MiraBox
Another ARM-based Raspberry Pi
contender enters the field
85 FLIRC
USB IR remote control dongle
This tiny quadrocopter is built entirely How we review
on open source software and will shortly Our experts thoroughly test
76 Rasplex (beta)
Plex gets a home theatre port
for the Raspberry Pi
78 Kali Linux
Penetration testing refined
80 Webconverger 18
The open source web kiosk
82 FreeNAS
Storage for open source!
84 OX Text
A new web-based processor
63 www.linuxuser.co.uk
Review Crazyflie 6-DOF
QUADROCOPTER
Crazyflie 6-DOF
99
One of the smallest quadrocopters in the world is also fully
open source. Is it a toy, a development platform, or both?
After our interview with the folks at Bitcraze controller is properly connected, and this can all be tracked.
Pros Cons on page 44, we received one of the elusive It doesnt just include how youre manipulating the controller
Durable and The short battery
surprisingly stable; life means you Crazyflies in the post one of the few either once connected, it will know the actual parameters as
completely open cant test it for
source and easy to long, and the prototype models the team had been using used by the quadrocopter.
modify to your own software still has for development. Armed with the Crazyflie, Like any vehicle, youre not going to be expertly whizzing the
requirements some kinks in it
a Crazyradio transmitter/receiver and a PS3 Crazyflie around a room the moment you pick up the controller.
controller, we set about getting ready to fly. However, having said that, once you build up the confidence to
Before we could do that, however, we had to get our system actually get it into the air, the Crazyflie is incredibly smooth
set up to use the quadrocopter. Currently, the preferred method and stable. The team suggest starting off with the Crazyflie
to fly the Crazyflie is a Xubuntu virtual machine that Bitcraze on the floor, and everyone that had a go with the quadrocopter
has set up to contain all the necessary development and would initially have it scooting around the carpet for the first
control files. Its fairly straightforward: everything is explained minute before launching it into a chest-height hover with
on the website and through read-me files on the VMs desktop. surprising ease. Its much more responsive and easy to fly than
The Linux kernel has drivers for the PS3 controller already some of the popular, smartphone-controlled quadrocopters
integrated, so its a matter of telling VirtualBox to pass these like the AR Drone and its ilk, and the software definitely helps
USB devices through. with that. There are different flight settings, with some limiting
Once youre in to the control app, youre given some the controls to make it more usable, while others give you full
telemetry from the controller, and can then connect to your access to the parameters to create your own limits. Indoors,
Crazyflie. Having the basic telemetry for pitch, yaw, roll and we never discovered the need to allow for thrust to go over
thrust displayed to start with helps you make sure that your 80 per cent of maximum; however, this limitation did cause
some minor control issues.
Currently, the limit creates a dead zone on the thrust axis
over what the max thrust is. On a PS3 controller, the left stick
is used for thrust and yaw by default, and this means that the
full motion of the stick is not used. With something like the
Crazyflie that does require some precision, it would benefit
from having finer control in that regard. Its also a little tricky
to yaw while keeping thrust at a steady level. However, as
it requires a full axis, it cannot be set to something like the
analogue triggers.
All the code is written in Python, so its easy to make your
own modifications to the control program if you want. Theres
64 www.linuxuser.co.uk
Crazyflie 6-DOF
RC quadrocopter
REVIEW
Technical specs
Weight 19g
Size 90mm
Battery life
185g (excluding power supply)
Maximum range 80m
MCU STM32F103CB @ 72MHz
(128KB flash, 20KB RAM)
Sensors Gyro with 3-axis accelerometer
Hubsan X4
31.99
The same size, if not a touch
smaller than the Crazyflie,
plenty of control over the connection as well, with the ability the X4 professes to not be a
to switch channels and data rate available to battle interfering We dont usually recommend toy like other quadrocopters
or helicopters its size.
radio and wireless signals, or to allow for more data to be products on potential. However, the Crazyflie is being It works similarly to the
received from added hardware. improved all the time with firmware and software Crazyflie and uses an RC
control pad, although again
The short battery is both a blessing and a curse. While its updates. Its amazingly fun to use and very easy there is no development
very durable its still not indestructible, so short interludes to develop, largely thanks to it being open source. route to take with it.
www.hubsan.com
are a good way to avoid breaking it. It also has just enough Whatever youd want to use it for, its definitely worth it.
charge at a time that when it does run out, youre not finished Rob Zwetsloot
using it yet. While we dont usually review products for their More
entertainment value in Linux User, this is definitely a fun piece information
of kit that rewards time spent using it. www.bitcraze.se
65 www.linuxuser.co.uk
Review MiraBox
MINI PC
MiraBox
149
A multi-purpose port on
the side of the MiraBox
provides connectivity for a
GPIO/JTAG breakout box
66 www.linuxuser.co.uk
MiraBox
Low-cost single-board PC
Review
Technical specs
Processor Marvell Armada 370 SoC (PJ4Bv7 ARMv7L)
1.2GHz single-core
Gizmo explorer
Graphics None 157 ($199)
Memory 1GB DDR3 Currently available
Storage 1GB NAND flash, 2x microSD expansion slots exclusively on import from
(1x internal) the US, the Gizmo offers a
powerful dual-core 64-bit
expansion Mini-PCI Express slot, 2x USB 3.0 AMD G-series processor
Network 2x Gigabit Ethernet, 802.11b/g/n Wi-Fi, and plenty of on-board
Bluetooth 3.0 GPIO capabilities, as well
download and then its true potential will be unlocked. For now, as PCI Express and SATA
Dimensions 133.2 x 93.9m x 20.4mm (excluding connectivity. The bundled
power supply) though, its certainly a drawback to bear in mind. JTAG debugger is also a
weight 185g (excluding power supply) For those who dont mind rolling their own operating system, welcome surprise, but is
limited to 20 hours of use
the MiraBoxs hardware should definitely hold appeal and after which a licence must
Raspberry Pi running the hard-float version of Raspbian if the included connectivity options arent enough, the case be purchased.
www.gizmosphere.org
despite the MiraBox boasting a more modern processor hides a mini-PCI Express slot for adding in extra hardware.
running at almost twice the clock speed. For developers, an optional breakout box provides access
Compatibility can also be an issue with the MiraBox: to the Armada 370s general-purpose input-output (GPIO)
while most common Debian packages are available within capabilities along with JTAG debugging support, but comes
its repositories, some software simply wont install correctly. at a cost: the breakout box alone costs 45, although when
Connecting two USB 3.0 SuperSpeed hard drives to the bought with a MiraBox this drops to 40.
MiraBox and attempting to set up a Btrfs RAID1 array brought Raspberry Pi Model B
30
the device to a shuddering halt, thanks to a lack of kernel Its somewhat outdated
modules despite the btrfs-tools packages being available Excellent hardware let down ARMv6 processor aside,
the Raspberry Pi remains a
and installed. only by somewhat troublesome software. If youre great choice for embedded
The software is definitely the MiraBoxs weakest link, which willing to spend the time compiling your own operating development on a budget
and comes complete with
is a shame as there is evidence that Globalscale has thought system, or dont need the very latest Linux kernel, GPIO capabilities that
hard about making the device as accessible as possible: a its still well worth investigating and youre unlikely require an add-on dongle on
the MiraBox. Network and
selection of scripts provide easy ways to enable the off-by- to find another single-board computer this compact USB performance, however,
default Bluetooth radio, for example, or to toggle the integral that packs as much potential for high-performance is poor.
www.raspberrypi.org
Wi-Fi radio between client and access point modes. networking tasks.
If a community rallies around the MiraBox, as it did with the Gareth Halfacree
original SheevaPlug, many of these concerns could go away: More
all it will take is for someone to prepare a system image with a information
hard-float version of Debian for the device and provide it as a www.newit.co.uk
67 www.linuxuser.co.uk
Review RSS feed reader group test
GROUP TEST
68 www.linuxuser.co.uk
RSS feed reader group test
Four of the best RSS feed readers go head to head
REVIEW
9
top of that, you can also create specific folders You can easily import your feeds from Google Easily accessible from
that have search filters in place, allowing you to Reader as well, as long as you export them from all major repositories,
better prioritise reading news items if they have the browser reader first. The XML file from the and well maintained
important keywords in them. Takeout package will load up all the feeds into
Not unlike the other news feed readers in Liferea, including any folder structure. It doesnt
this test, Liferea has a built-in browser which sync to your Google Account, though, so you will Ease of use
8
you can use if you dont want to be switching have to compare the feeds between the two so Plenty of context-sensitive
between windows all the time. Its not the best that you can start where you left off. menus and the interface is
browser, though, with some of the sites we Liferea is a nice little reader, with plenty of straightforward, although
tested it on not being rendered quite properly. customisation options, but it would be nicer if key bindings are not great
You will also need to do a bit of tweaking if the browser was better, as you cant always read
youre using Chrome or Chromium, as Liferea the full article from the feed, and its a massive
Built-in browser
5
doesnt always recognise it as the default pain to switch between windows.
The browser lets Liferea
down, with other feed
readers doing much better
8
Overall
Its a bit simple, but there
are plenty of options and
features to make sure you
can read your news the way
you want to
More information
lzone.de/liferea/
Importing feeds from Google Reader is simple enough
69 www.linuxuser.co.uk
Review RSS feed reader group test
10
to search through whatever your selection no online synchronisation, so youll have to Installation & support
is, whether its all unread or just one of the manually match up the feeds. Akregator isnt Comes with KDE, and
many folders. really feature rich and although it does have a otherwise easy to get
The built-in browser is based on Konqueror tray icon option and some basic notifications,
and is therefore pretty good. As the interface there isnt much customisation available for the
8
is organised into different tabs, you can easily way the interface works. You can change the Ease of use
switch between the browser tab to the feeds. Of colour scheme, though. Some great key-bindings
course, you can also open them in an external Akregator is a little lacking compared to the and mouse shortcuts help
browser, and Akregator smartly has it so that others in this test, then, and while its perfectly make it great to use
the middle mouse button opens up the link serviceable as a feed reader, theres a lot more
externally by default. You can change the mouse customisation and personalisation that can be
Built-in browser
7
shortcuts, though, although you cant change done in the other feed readers.
A decent version of Konqueror
is used in here, although it
doesnt always work
7
Overall
Akregator is better as part
of a suite of apps, as it
doesnt stand up against
the other readers here
More information
userbase.kde.org/Akregator
Previews are formatted fairly well in the window
70 www.linuxuser.co.uk
RSS feed reader group test
Four of the best RSS feed readers go head to head
REVIEW
RSS Owl
Its not just the Google Reader support that toggle it so that read items disappear from your
made it popular, either it is one of the most current feed, and thats only the beginning of
feature-rich feed readers you can use, and is the customisation options. You can completely
Of all the RSS readers that have greatly optimised for those needing a new feed rearrange the layout, the notifications can be
changed or come about since reader, or even just getting into aggregating their customised to show only X amount of items
Google Reader launched, RSS feeds in the first place. On initial setup, you are from specific feeds, the behaviour of the window
Owl has probably had some of the biggest welcomed by a wizard that gives you the option when its minimised or closed can be changed,
improvements over other client-side readers. to import your feeds, whether its through an and much more. It even has a decent browser,
Most notably, it has a synchronisation function OPML/XML file or through Reader import; have seemingly WebKit based, though you can easily
that allows you to not only grab your feeds from a selection of feeds created for you; or use a launch into an external browser if you wish.
Google Reader to view on your computer, but keyword to have RSS Owl auto-create a themed The only issue we came across is that
it will also sync back so that your read count is feed selection. The latter is quite good, taking RSS Owl is not in every repo. However, with
always the same. Depending on the number of a fair number of popular feeds for a variety of a bit of time, you can get the necessary
feeds you have, this can be a huge timesaver. terms using Google. Java environment running to get it working.
Of course, this function will soon cease to exist; The interface is also great to use, with tabs Otherwise, this is a fantastic feed reader, and
however, you can take full advantage of it before allowing you to have specific feeds, folders one that may have its own syncing solution
it does to make the transition a little smoother. and filters open all the time. You can even sometime in the future.
SCORES
6
Installation & support
Easy enough to get set up
once you know how, but
its not straightforward
Ease of use
10
RSS Owl makes perfect sense
to use and can be easily
personalised if you want it to
do something slightly different
Built-in browser
9
Initial installation woes
aside, its a great feed
reader to use. As it syncs
for the moment, youll also
be able to wean yourself off
Google Reader
More information
www.rssowl.org
The tabbed browsing allows for quick and easy reading
71 www.linuxuser.co.uk
Review RSS feed reader group test
8
simple application Installation & support
Blam is easy enough
to come by in the
major repositories
7
ease of use
Its simplicity generally
makes it easy to use, but a
large number of feeds can
make it unruly
Built-in browser
There is no built-in browser,
forcing you to constantly
switch windows 0
Features & capabilities
Less than the most basic
features we would want or
expect from a reader 3
5
At first glance, Blam is incredibly basic. The previews look fine; however, not every website overall
website is just a development blog, although gives you the full news through the feed entry. A bare-bones feed reader
thats not exactly a measure of quality in open Blam is far too simple to act as a replacement that isnt light enough to use
source. Theres no real logo. However, function for Google Reader, heavily reducing down on the over even Liferea, and is not
is much more important than fashion. In the functionality weve come to expect from an RSS good for people who follow
case of Blam, though, it does foreshadow much reader. Its fine for the odd feed, sure, but then a lot of feeds
deeper problems with the software. Reader was for the more power users among More information
First and foremost, however, it works. You the community. This is definitely not the Google blam.cmartin.tk
can add a feed and read the entries in it, which Reader replacement that were looking for.
is always a good start. Theres a fairly logical
structure to the interface in the vein of what
weve seen in the other readers, with the feeds
displayed in a column on the left, and a split
window of items and the previews for the items.
Its after this point that it starts to fall apart.
After importing our Google Reader XML,
which worked just fine, it dumped each and
every feed onto the column. You cannot create
folders in Blam, which left the interface
cluttered and unorganised, a nightmare if youre
tracking multiple feeds at once. There are also
no filtered searches or specific folders for
that purpose, and you cant filter your feeds in
general. Customisation is very lacklustre as well.
It has a tray icon, but there are no notifications
to go with it.
Theres also no browser, meaning youll have
to switch windows a lot if youre going through
a big chunk of news. At the very least, the n Preview pages look fine, but there is no built-in browser
72 www.linuxuser.co.uk
RSS feed reader group test
Four of the best RSS feed readers go head to head
REVIEW
AND THE
WINNER IS GROUP TEST
RSS Owl WINNER
RSS readers have definitely come along in
the last few years, in part to fight against the
browser-based competition, and also to take
advantage of the advancements in desktop
environments and CPU power. RSS Owl has
managed to make the very most of all of this by
not only creating a great interface and reading
experience, but also by originally working
in harmony with Google Reader to increase
the usability and have your feeds synced
across platforms.
With Reader dying, though, that sync
capability will initially disappear however, the
development team on their blog have mentioned
that they have some kind of alternative in the
works, so it will be interesting to see what they
come up with. Unfortunately, it still wont sync
with an Android device like Reader did; however,
thats not to say it never will. As RSS Owl is built
upon Java technology, it may not be too much
of a stretch to see it ported to the mobile OS in
the near future.
Rob Zwetsloot The feature-packed, highly usable RSS Owl is the clear winner
73 www.linuxuser.co.uk
Review Pardus 2013
n Pardus comes in a GNOME 3.4 flavour that uses GNOME Classic by default
distRo
Pardus 2013
A Turkish distro thats been on hiatus for a couple of years, is this latest
version a long-awaited sequel or a disappointing reboot?
Pros Cons After almost two years without any updates, setting up your partitions, it goes straight into basic user setup
Sticks to GNOME Need to change Pardus has finally got itself a new version. and then file installation. This takes a fairly standard 15-20
3.4 and uses from Turkish
Fallback mode, to English at Regularly appearing in our top ten distro lists, minutes and then restarts you back into the distro.
and comes with some parts of the Pardus has gained an international following After logging in, it dumps you into GNOME 3.4 Fallback/
all the essential process, that can
office programs be challenging outside of the Turkish offices it was originally Classic mode. This is the point that you need to switch
designed for. Lauded for its clean design and to another language if you dont want to use it in Turkish;
great selection of software, weve been curious to see how a however, its a little jarring. Pardus 2013 is really just Debian
new Pardus would look after two years of major changes in the with GNOME 3.4 and Pardus branding it has none of the stuff
Linux and FOSS landscape. that made Pardus a great distro to begin with. Even the decent
There are two versions of Pardus available, GNOME and selection of default apps that it comes with doesnt set it apart
KDE. Both are currently only in Turkish at the time of writing; from other, more popular distros.
however, with a bit of applied thinking, you can switch things Its also not so useful if youre wanting to use it in another
to English or any other language you desire. It is a Linux language although LibreOffice will open in English once
distribution after all. The installer is mostly in English anyway you switch the system to it, Firefox will need to be completely
and after selecting the hard drive you wish to use, and/or reinstalled to get it working. While of course this kind of
74 www.linuxuser.co.uk
Pardus 2013
Debian-based distro from Turkey
Review
n Firefox is in Turkish by default n Surprisingly, Pardus gives full access to the Ubuntu Software Centre
75 www.linuxuser.co.uk
Review RasPlex Beta
DISTRO
RasPlex Beta
The aim of RasPlex is to quickly and easily turn your Raspberry Pi into a
media receiver, but is the beta version good enough to replace XBMC?
Plex Media Server is a great way to serve your an SD card. The installer will download the latest version of the
Pros Cons home media from one centralised location and image, or any other version you choose, and then apply it to the
A quick way to get Interface is slow now, thanks to myPlex, you can also watch card automatically. Its a bit easier than using dd, and its no
media streaming to start with, and
to any TV if you not every video some of your collection over the internet. slower either.
already have a channel app One of the benefits of Plex is that, once you As promised, RasPlex basically works out of the box. Theres
Plex server set up works properly
have the server set up, any clients on the same a noticeable bootup time compared to pure OpenELEC or
network should be mostly ready the moment RaspBMC; however, it sounds like that will get better in future
you turn them on. The concept of porting the client software versions. Otherwise, your Plex server on the network will
to Raspberry Pi is very attractive, as we already know that instantly send over the necessary details on your movies, TV
XBMC works pretty well on the system. Allowing you to quickly shows, music and channel apps so you can get straight down
distribute low-powered receivers around a house, RasPlex to watching. Unfortunately, the interface is a bit slow and
could well be a look into the future of home theatre setups. hitches every now and then on first use. This can persist for
RasPlex is currently based on OpenELEC for Raspberry Pi hours, days or weeks depending on the size of your library and
and comes with its own custom installer to put the image onto how often you use RasPlex.
76 www.linuxuser.co.uk
RasPlex Beta
Media-streaming Raspberry Pi distro
REVIEW
Some of the channel apps dont work properly right now Youll need a Plex server to get the most out of RasPlex
The queue feature is also buggy at the moment The installer is easy to use
77 www.linuxuser.co.uk
Review Kali Linux 1
Kali Linux 1
image for ARM, Kali has a couple of (unofficial) ARM images
with Xfce, for instance for the Raspberry Pi and the Samsung
Chromebook, two interesting choices for penetration testing.
Under the hood, the distribution comes with Linux 3.7, including
some patched Wi-Fi drivers to allow injection attacks. You can
BackTrack has been a well-known distro use Kali as a live system, but you can also install it on your hard
disk using Debians installer.
for penetration testers and security As a part of the restructuring process, the Kali developers
decided to rebuild their distribution upon Debian testing
professionals. Now its reborn as Kali (Wheezy) instead of Ubuntu, and they even did the work
to conform to Debian policies and standards. As a nice
if you want to test your computers or networks security consequence, the developers removed the idiosyncratic
Pros like a pro, you need a specialised Linux distribution for /pentest directory structure, where you had to guess whether
Kali is a more professional, penetration testers. During the past few years, BackTrack a tool was in the /pentest/web or in the /pentest/database
user-friendly and future-
proof reincarnation of Linux has been a popular choice, but it had become a bit bloated directory. All tools in Kali are placed in the normal directories for
BackTrack, adjusted to and its development architecture wasnt too flexible. Thats why binaries, which are in the $PATH environment variable, so you
enterprise environments
its creators, the security company Offensive Security, decided dont have to guess any more.
to start from a clean slate. The result is Kali Linux 1, which you The set of tools has also been completely re-evaluated.
Cons could describe as BackTrack Linux 6, but reborn. Of course, well-known tools such as Wireshark, Nmap,
Its still difficult to get an
overview of the included While BackTrack came in GNOME and KDE versions, Kali Aircrack-ng, John the Ripper, Metasploit Framework and
tools, and some of them
are included in seemingly
has chosen GNOME for its official images. It offers the 3.4 Maltego are still available. A newly added tool is iKAT, to audit
arbitrary categories release, but with a custom GNOME Shell that implements the security of web kiosks; but at the same time, 50 less useful
a GNOME 2-like menu. And while BackTrack 5 offered one tools have been dropped. You still have around 300 security
78 www.linuxuser.co.uk
Kali Linux 1
Penetration-testing distro
REVIEW
79 www.linuxuser.co.uk
Review Webconverger 18
n Initial setup of
Webconverger is
not necessary for
the free version
distRo
Webconverger 18
Linux for web kiosks and cafes, is this solely browser-driven distro a
good fit for internet-based appliances?
While a rarer sight these days due to the a minimum of 1GB, though, so it wont really be able to run
Pros Cons
A lightweight, Not much proliferation of smartphones, dedicated web- on systems much older than ten years old. The ISO can be
fast and secure customisation only stations are still used in various ways. From installed to the hard drive if desired, and that launches
way to browse allowed with basic
the internet, and version, and all lost gym membership sign-up stations, lobbies and straight into the distro without need for the boot menu. This
usable by everyone after installing waiting rooms, to even internet cafes, there are can be advantageous for places with a lot of kiosks that just
a number of places where web kiosks are found. need to be turned on; otherwise, you can also load the ISO to a
Webconverger is a Debian-based distro that is designed to be small USB stick to reduce power consumption.
the software solution for these web kiosks, providing a secure, Unfortunately, installing to the hard drive removes any
browser-only environment that can be used by anyone. chance of customisation for free. Its only through the boot
Webconverger comes on a small ISO less than 400MB in menu, and editing the boot command, that you can do any
size and contains two 32-bit versions of the distro: i386 and serious or useful customisation to the distro. This includes
i686 with PAE. This obviously allows it to be loaded on older wireless settings or even simple things like changing the
machines, which, considering the kind of computers youd keyboard layout. In the actual distro, you can change what
normally find at web kiosks, is a smart move. It does require the homepage URL is, or set a time limit for each use, but for
80 www.linuxuser.co.uk
Webconverger 18
Browser-based distro for web kiosks
Review
n The included version of Iceweasel, based on Firefox, can play Flash videos n Your only chance of customisation occurs during boot time
n A lot of
functionality
is removed for
security reasons
81 www.linuxuser.co.uk
Review FreeNAS 8.3.1
FreeNAS 8.3.1
The latest release focuses on enterprise-level features for the ZFS file
system and full disk encryption, but leaves home users out in the cold
When the core developer of FreeNAS Lets first take a look under the hood. The latest release,
Pros Cons abandoned its project a few years ago, many FreeNAS 8.3.1, is based on FreeBSD 8.3. This means that
FreeNAS is a Plug-ins are not
well-documented easy to install fans of this open source operating system for it has version 28 of the ZFS file system. One interesting
NAS operating and the operating
system with system is not user- network-attached storage (NAS) feared the enterprise-level feature that FreeNAS gets thanks to this is
powerful features, friendly enough worst. Luckily, the company iXsystems stepped deduplication: when enabled, ZFS stores duplicate blocks
including full-disk to cater for home
encryption users in and announced it would take on FreeNAS only once. For instance, this is interesting if you have many
development and give it the long-awaited rewrite virtual machine images based on the same template.
it needed. FreeNAS 8, which was released almost three years However, using deduplication requires a lot of RAM. Another
ago, was based on FreeBSD 8 and the focus shifted to the interesting feature of ZFSv28 is triple-parity RAID (which
powerful file system ZFS. This made FreeNAS a future-proof ZFS calls RAIDZ3); this provides protection from up to three
NAS operating system, but the downside was that the new disk failures.
release lost some interesting functionality for home users, such This release is also the first one with support for full disk
as iTunes/DAAP, BitTorrent and UPnP. The developers promised encryption when using ZFS. This is not the same encryption
to re-implement this functionality as plug-ins, which has now technology as in the latest ZFSv30 from Oracles Solaris, but
happened. So is FreeNAS again suitable for home users? is based on FreeBSDs GELI system. To create an encrypted
82 www.linuxuser.co.uk
FreeNAS 8.3.1
FreeBSD-based NAS distro
Review
83 www.linuxuser.co.uk
Review OX Docs Beta OX Text
SOfTwARe Pros
OX Docs Beta
A clean and simple
interface, and a very
smooth user experience.
The final version will also
be non-destructive
OX Text
Cons
Still needs some work,
and it lacks of a lot
functionality. The full
App Suite still isnt
available either
One of the big features of OX Docs that the team are keen to
promote is its non-destructive conversions. Whereas using word processor
a .doc or .xls file in LibreOffice might break the equations or without slowing down typing on the actual screen. It also
formatting, OX Docs changes only what needs to be changed, supports some universal shortcuts like undo and redo, as well
such as text, while keeping all other formatting and such intact. as formatting ones like Ctrl+B for bold and Ctrl+I for italic.
Thats the concept, at least: its not been implemented yet. It Were interested to see how OX Docs grows and develops
seems that this is an extremely early version of what they plan over the coming year the full App Suite could go some way
to do in the long run. It does work quite well for what it is, letting to replacing a lot of Google Docs functions if youre looking for
you know that its saving the changes made by every keystroke, an alternative.
84 www.linuxuser.co.uk
FLIRC
IR remote dongle
RevIeW
usb dongle
FlIRC 19.99
FLIRC claims you can control any computer with an
IR remote. Can this tiny dongle do what it claims?
Pros For those with a media centre, IR
Quick to set-up, and remotes are a great and low-tech
very customisable,
way to have wireless control without
IR remote sends out
meaning you can use
any IR remote with any worrying about connecting a phone or
PC with a USB port
other smart device over Wi-Fi. FLIRC
Cons
is a newer dongle to allow for this and
promises to not only be a bit easier to
a specific signal for
Still needs some work,
and it lacks of a lot
functionality. The full
set up than previous devices, but also
to work with any and all IR remotes.
any given button
Doc suite still isnt
available either
The way it does this is by letting you more specific such as an XBMC or Boxee remote. It really
set up what each action relates to on does work, as well, even with obscure remotes for long
any given remote. As every IR remote forgotten devices.
sends out a specific signal for any given button, the FLIRC Setting it up is a little limited on Linux, with only an
software just relates that specific signal to either up, down, Ubuntu repository or DEBs from the website available
enter, back etc. This allows it to work without finding and/ for the software. At the very least, you dont need
or inputting codes for different or obscure remotes. While the software once its set up, as it stores the necessary
theres a basic mode you can assign remote presses to, there configuration on the FLIRC itself, meaning you can then plug
are also more advanced layouts you can set up. Some of it into something like the Raspberry Pi and use it with your
these are generic, like a standard keyboard, and others are desired remote.
Its a simple product, but its done extremely well. The pure
fact that you can set it up to your own specifications alone
makes it useful for anyone with a media centre, and it can of
course be used on a normal computer for anything youd be
able to use IR for.
Wed also like to mention that a portion of every sale
goes towards cancer research, and the project was started Also
specifically for this reason. To find out more about that, visit:
flirc.tv/fundraising.
consider
Technical specs
www.lindy.co.uk
Connection USB
Communication type Infrared
More
Maximum range 80m
information
dimensions 40 x 20 x 10mm thepihut.com
85 www.linuxuser.co.uk
Subscribe Subscribe today & start saving
Non-USA readers see page 22
*Terms and conditions: This is a US subscription offer, please dont forget to quote USA when ordering. You will actually be charged 80 sterling for an annual subscription. This is equivalent
86 www.linuxuser.co.uk to $122 at the time of writing, although the exchange rate may vary. Five free issues refers to the newsstand price of $15.99 for 13 issues being $207.87, compared with $122 for a subscription.
Your subscription will start from the next available issue. This offer expires 31 Aug 2013.
Book Reviews
Latest Linux books revealed
REVIEWS
COMING SOON
The best Linux books heading to a
Learn You Some Erlang for Great Good!
bookshelf near you Robust concurrency the functional way
Starting at Erlangs interactive shell, one is quickly
Systematic Program Design: introduced to Erlangs peculiar syntax. Some of the things that
From Clarity to Efficiency make it different from most languages you will have used before
Author: Yanhong include immutable variables, = being about pattern matching
Annie Liu not assignment; something that is expanded upon with early
Publisher: Cambridge coverage of generator expressions showing Erlangs power here.
University Press Creating functions is next, simply, in modules, then (exploring
ISBN: 978-1107610798 pattern matching again) building more complex functions and
Price: 24.99 becoming immersed in Erlangs syntax and dynamic typing.
A systematic program After working on data structures, the reader meets The
design method can Hitchhikers Guide to Concurrency, the reason most people wish
help developers ensure the correctness to investigate Erlang.
and performance of programs while After learning to work with concurrency manually, the
minimising the development cost. This open telecom platform (OTP) is introduced to take care of the
book describes a method that starts with heavy lifting, and finite state machines to represent players
a clear specification of a computation and Author: Fred Hbert in a system. Hbert builds on this, embracing many aspects
derives an efficient implementation by step- Publisher: No Starch of the language on the way. The heritage from a well-tested
wise program analysis and transformations. ISBN: 978-1593274351 web tutorial is seen in the clear path on which the author
Price: 34.99 takes the reader.
Mastering openFrameworks:
Creative Coding Demystified Blender Master Class Lean UX
Author: Chris Yanc Take the leap to Agile and Lean in
Publisher: Packt 3D - new worlds are design thinking
ISBN: 978-1849518048
waiting to be created! Authors: Jeff Gothelf,
Price: 49.98
Author: Ben Simonds Josh Seiden
This is a great way Publisher: No Starch Publisher: OReilly
to learn to develop ISBN: 978-1593274771 ISBN: 978-1449311650
stunning and interactive Price: 34.99 Price: 18.99
applications, all using
openFrameworks. The book presents key Mobile has not seen Lean Startup is a big tent, says Eric Ries,
development techniques and practical the death of immersive without too much irony, in his introduction to
examples to gain inspiration for your future 3D environments, as this work on applying Lean to design. Authors
projects. It helps you kick-start creative screens have got bigger Jeff Gothelf and Josh Seiden present Lean UX
coding, thereby enabling you to develop to pull you into pixel-rich graphics. (user experience) as the natural evolution of
visually impactful and fully interactive Creating models and environments in 3D product design in an Agile world, setting out several
openFrameworks applications. can be done entirely with free software, using principles built on three foundations: design
the powerful Blender for 3D design and thinking; Agile; and Lean Startup.
Realm of Racket animation, and the trusty GIMP for 2D image The Lean UX approach is deeply collaborative,
Authors: Matthias editing. Handily, Simonds book shows you how building cross-functional, problem-focused
Felleisen, Conrad Barski, to do both. teams in continual engagement: conversation
David Van Horn From preparation, through modelling is your most powerful tool. Having introduced
Publisher: No Starch blocking in, then detailed topology to the more the why and what, the book deals with
ISBN: 978-1593274917 advanced finishing topics, Simonds walks you the how, the chapters on process being its
Price: 30.99 along the path to confidently mastering Blender. largest section, covering Agile and Lean ideas
Racket, a descendant Its a complicated piece of software, but the familiar in many startups, but applied to the
of the language family author makes it straightforward with his step-by- design process.
that includes Lisp step approach. Having inspired you with ideas for bringing Lean
and Scheme, was designed for novice Three sample projects (muscular bat creature, UX to your design process, the authors get practical
programming students and boasts futuristic robotic spider and ancient temple ruins) and deal with the great challenge of actually
succinct syntax and a gradual learning with the .blend files on the accompanying DVD, incorporating the processes and principles in your
curve. The book incorporates cartoons along with extra brushes and textures let you current company. Short, and to the point, this could
and wacky examples while teaching the learn by following along, until you gain the skills to be the spur to fixing your organisations disconnect
fundamentals of the Racket language. create your own works from scratch. between otherwise excellent silos.
87 www.linuxuser.co.uk
Contact us...
Web: www.linuxuser.co.uk
Email: linuxuser@imagine-publishing.co.uk
Contact us @linuxusermag
Questions Become a fan on
Linux User & Developer
& answers
Your questions
answered
ASK THE EXPERTS
This month your questions
were answered by
Send us your questions and well do our best to answer them!
88 www.linuxuser.co.uk
Questions & answers
All your technical problems solved
Q/A
Ive got it set up on an Ubuntu 12.04 system, with the sink being the location you want to
with the databases populated and such.
However, when a client connects and plays
send music to.
Alternatively, you could look into Subsonic, Wine is not
a song, nothing happens. It does look like its
playing the track, though just no sound is
an open source streaming server that already
does what youre trying to get MPD to do. running
coming through. I have never wanted to run Wine, but after
I made sure to install PulseAudio; however,
that didnt fix my issue. Is there something Im Light up weeks of stubbornly struggling with the
gEDA Suite, I finally decided to give Wine
missing here? Im having some troubles with the Nvidia drivers and LTspice a try. There is just far too little
on my system. I recently updated to version support for gEDA, and so much more readily
Alex Yeung 304.84 and while at first there were no problems, available support for LTspice.
after X started all TTYs go black. They then Im using Debian, and installed it
Ah, Alex, the problem we see right stay black after exit from X and there are no using apt, but when I attempt to run
away is that MBD is designed for error messages in /var/log/messages or even LTspice, it warns me that I should running
you to play back music on the Xorg.0.log. The TTYs respond to commands, but wine-bin:i386 Im on a 64-bit system,
server. Its controlled exclusively by theres no character echo. though. According to the Wine FAQ: Wine
the clients. In its basic state, its Nvidia technical support seem to be at a loss for 64-bit actually runs in 32-bit mode,
good for location-wide audio playback; however, as to what the problem is. Any ideas about this? except for the experimental 64-bit version.
you need to do some tweaking to get it to play to At this point I removed wine64-bin, then
the client. Harry Townsend followed the warning messages steps to
As long as Pulse is set up correctly, you can finish it. At some point, apt-get shows me
add or change the audio_output part of the This is unfortunately a bug found a long list of dependencies it wants to load
mpd config file: in the 304.84 drivers released by and that it will also need to remove libc-bin.
Nvidia. However, there is a newer That cant be right. What am I doing wrong?
audio_output { version of the drivers that has
type pulse been released which fixes this Keith Porter
name My MPD PulseAudio issue. You could either try to roll back the drivers
Output to ones you know to work, or update to the much What you need to do is upgrade
#server localhost # newer ones and go from there. dpkg, and add support for 386
optional Nvidia drivers are always quite tricky, architecture. You can do this
#sink alsa_output # unfortunately, so you could also try having a look with a couple of commands:
optional at Nouveau if that will help. Hope one of these
} solutions works out for you. dpkg --add-architecture i386
Followed by:
dpkg --print-foreign-architectures
89 www.linuxuser.co.uk
Contact us @linuxusermag
Questions Become a fan on
Linux User & Developer
& answers
If I use that to create a new Screen session
in the background, this is when the stuff
subcommand fails. And it fails without any error
message, with an exit status of 0. Yet the data is
not stuffed into the input.
If I start a Screen session by letting it have
control of the terminal, and type in manually,
then it works. But I dont want to have to be
present, or do all the intended typing manually.
There must be something different about
starting Screen in the background? Or
something broken with stuff? Its such a shame
as this seems so promising!
James Dransfield
Power to the Vim already exist) and clone the Powerline GitHub
repository to it.
Make sure you take note, though: in the case
where you launch a detached Screen session,
Ive been looking for a way to make Vim work with Pathogen is an easier way to install plug-ins, it takes a non-zero time for the session to be
Powerline or vim-powerline but had no success. and may fix the problem altogether. able to receive commands via stuff. What
Is there a particular way to get this working? you could try is launching the detached
I almost did it installing vim-powerline;
however, the Powerline only appears when I Stuff and session, sleeping for a few seconds, then begin
inputting the stuff commands. This is because
open a help file within Vim or other file. Also,
when I close it, and Vim gets one single opened
file, Powerline disappears.
nonsense
The screen command has a subcommand called
sometimes the first few stuff commands
cannot execute properly.
set laststatus=2
set encoding=utf-8
set t_Co=256
set fillchars+=stl:\ ,stlnc:\
90 www.linuxuser.co.uk
Questions & answers
All your technical problems solved
Q/A
to it using something like: Im using a headless CentOS 6.4 system that The solution to this is fairly simple,
I use for backup purposes. I SSH in each day to and just requires you to add the
$ ftp [server name or IP] check the status of the system, and recently I option -t to your command. This
have been playing around with ssh -X. causes SSH to use a terminal
followed by Enter. Itll ask you for a username when running the command:
and password to log in, then you can start To run Firefox I need to type:
using it. For example, if you want to change $ ssh -X -t abc@10.1.1.99 /usr/bin/
directories on the FTP server, cd [location], ssh -X abc@10.1.1.99 /usr/bin/firefox system-config-network
then type in put [file] to move it. -no-remote
This should make it work properly. It is possible
this is only used for error reporting, but it might
be because logging in as root from a remote
system isnt working properly, requiring a
terminal or something like that. This is one of
the weird problems with sticking commands
and such into bashrc. Sometimes they expect
a terminal to be attached, like in this case, but
others like your Firefox or PuTTY are fine.
n Sometimes, graphical FTP clients arent enough n PuTTy lets you connect via SSH much faster
91 www.linuxuser.co.uk
Our Dedicated Server listings No Annual Contract
is brought to you in association or Tie-ins
with PoundHost, the UKs 24/7 UK Support
Choice of Dedicated
Hosting listings
leading provider of unmanaged
Dedicated Servers. or Cloud Servers
from 23 per month
NETWORK BACKUP
PERMANENT KVM
1GBPS INTERNET
PRIVATE SUBNET
HARDWARE RAID
CONTRACT TERM
Whether youre a hosting firm or
a happy customer who wants a
CONNECTION
CPU CORES /
DISK SPACE
favourite provider listed, drop us
MINIMUM
COST PER
PACKAGE
STORAGE
NUMBER
SPEED
linuxuser@imagine-publishing.co.uk
Bronze Managed
catalyst2 (www.catalyst2.com) 0800 107 79 79 199 1 month 1x 2.4GHz vCPU 50GB 99.90%
Dedicated Server
Silver Managed
catalyst2 (www.catalyst2.com) 0800 107 79 79 299 1 month 1x 2.4GHz vCPU 80GB 99.90%
Dedicated Server
Gold Managed
catalyst2 (www.catalyst2.com) 0800 107 79 79 399 1 month 2x 2.4GHz vCPU 150GB 99.90%
Dedicated Server
Dell PowerEdge R200
123-Reg (www.123-reg.co.uk) 0871 230 9525 69.99 12 months 4x 2.13GHz 2x 160GB 10Mbit 99.99% O
(Ubuntu Linux)
Dell PowerEdge R200
123-Reg (www.123-reg.co.uk) 0871 230 9525 79.99 12 months 4x 2.13GHz 2x 160GB 10Mbit 99.99% O
(Windows Web Edition)
- full
Daily (www.daily.co.uk) Linux VPS Pro 0845 466 2100 29.99 1 month 2.27 Intel Quad Core 60GB 100Mbps * **
backup
- full
Daily (www.daily.co.uk) Linux VPS Max 0845 466 2100 59.99 1 month 2.27 Intel Quad Core 100GB 100Mbps * **
backup
12 Dual/Quad 160GB
FlexServer2 01628 777730 From 29 10Mbps 99.90% 10 GB
months Core to 2TB
100
BudgetBox III 01628 777730 36 1 month Intel Xeon 3065 1 x 250GB 99.90% 10 GB
Mbps
Gbit
Cloud Server 01628 777730 52 1 month 2 vCPU (4GB) 40GB shared / n/a 99.90% O
node
Gbit
PoundHost Cloud Server 01628 777730 98 1 month 4 vCPU (8GB) 40GB shared / n/a 99.90% O
www.poundhost.com node
Up to
Webfusion (www.webfusion.co.uk) Dell PowerEdge R210 0845 130 1602 79.99 12 months 2x 3.06GHz 250GB 99.99% Free O
100Mbit
Up to
Webfusion (www.webfusion.co.uk) Dell PowerEdge R210 0845 130 1602 119.99 12 months 4x 2.66GHz 2x 250GB 99.99% Free O
100Mbit
Up to
Webfusion (www.webfusion.co.uk) Dell PowerEdge R210 0845 130 1602 149.99 12 months 4x 2.66GHz 2x 500GB 99.99% Free O
100Mbit
Up to
Webfusion (www.webfusion.co.uk) Dell PowerEdge R410 0845 130 1602 229.99 12 months 4x 2x 2.13GHz 2x 1TB 99.99% Free O
100Mbit
Up to
Webfusion (www.webfusion.co.uk) Dell PowerEdge R410 0845 130 1602 329.99 12 months 6x 2x 2.66GHz 2x 600GB 99.99% Free O
100Mbit
* Excluding planned maintenance, regularly hits 99.9% uptime on the VPS platform **Hardware and network are monitored 24/7; however, support hours are the following: Monday to Friday 8.00 am to 7.30 pm, Weekends (inc. Bank Holidays) 10.00 am to 3:00 pm
O = Option
92 www.linuxuser.co.uk
GET YOUR LISTING The UKs leading
provider of unmanaged
HIGHLIGHTED! Dedicated Servers
CONTACT RHIAN
rhian.carter@imagine-publishing.co.uk
+44(0)1202586421 Hosting listings
LISTINGS
PHONE SUPPORT
SHOPPING CART
EMAIL SUPPORT
SERVICE LEVEL
COST PER YEAR
WEB CONTROL
VIRUS FILTER
AGREEMENT
BANDWIDTH
WEB SPACE
ACCOUNTS
DATABASE
FIREWALL
MONTHLY
SUPPORT
PACKAGE
NUMBER
PHONE
PANEL
POP3
NAME AND URL
Minimus 353 59 918 3072 45 10GB 200GB Unlimited
eHosting (www.ehosting.com) Expert 0844 999 4100 95.88 5GB Unlimited 250
eHosting (www.ehosting.com) Virtual 0844 999 4100 227.88 50GB Unlimited Unlimited
Equiphase (www.equiphase.net) Platinum 0121 314 4865 114 1,200MB 40GB 200
Eurofasthost.com (www.eurofasthost.com) Premium 02380 249 823 250 10GB 25GB 100
Giacom (www.giacom.com) Business Pro 0800 542 7500 199 100MB 2GB 100
Heart Internet (www.heartinternet.co.uk) Starter Professional 0845 644 7750 29.80 2.5GB 10GB 1,000
Heart Internet (www.heartinternet.co.uk) Home Professional 0845 644 7750 89.99 10GB 50GB 10,000
Heart Internet (www.heartinternet.co.uk) Business Professional 0845 644 7750 129.99 Unlimited Unlimited Unlimited
Heart Internet (www.heartinternet.co.uk) Reseller Professional 0845 644 7750 299.99 Unlimited Unlimited Unlimited
O = Option
93 www.linuxuser.co.uk
Your view Your source of Linux news and views
Contact us
Register and post your comments Email us directly
www.linuxuser.co.uk/forum/ linuxuser@imagine-publishing.co.uk
YOUR VIEW
Linux User
Letters
Your opinions about
the magazine, Linux
and open source
Friends and
MATEs Linux Mint has been one of the biggest supporters of MATE
I have really positively and entirely enjoyed relearn a lot of stuff as Mint progressed into the even if the community or an individual dislikes
working with MATE since Linux Mint 13. It is truly future. For that I am truly thankful, and I want a new feature or a direction that a project is
a great development in the history of GNOME, to send this thanks to the developers who make taking, you can simply fork it and make it your
perhaps the greatest development because this possible. own. MATE is one of the many successes of
it has kept the power of GNOME 2 alive and Len Lerner this, and every major update is showing just
growing. I know I speak for many users when I how mature its become. The recent update
say: with MATE my serious Linux usage was able MATE is one of those projects that reminds is out now and should be making its way to all
to continue uninterrupted and without having to you why open source software is so fantastic major distros that support it.
THREAD BARE
Kolaborate
and Listen
Our article on the collaborative software Kolab got a divisive
response when we posted it on our website, with some people
expressing their dislike, and others suggesting improvements.
Join in the conversation at: bit.ly/ZDcLQq
Steve said:
Never mind that Kolab is still bad. Its slow, its buggy, its domain-
specific, development crawls none of these things had to be true. Roundcube, with its rich UI, becomes the default
Several free and non-free alternatives are much more powerful and not web interface in the latest version of Kolab
anywhere near as archaic.
The analogy I would use for request 1 is the Unified Installer
W. Anderson said: application for the Plone/Zope Content Management System (CMS)
As a fan and former user of Kolab for many years, I was delighted with all for almost any UNIX/Linux system that makes it exceptionally less
the new features, functionality and improvements in new Kolab 3. troublesome and confusing for computer systems administrators
The two areas for which I and many hundreds, possibly thousands of who are not necessarily web developers to install and configure
potential Kolab adopters wish to see cover: a professional (small business or even basic enterprise class) web
1. A less convoluted and more synchronised single install and (basic) presence in very reasonable time frame.
configuration process for Kolab on more popular Linux distributions. Even at this precise time, two purchases of Kolab 3 software services
2. Full support for, via ports implementation of Kolab 3 on FreeBSD and would have been possible if Kolab 3 was readily available for FreeBSD
other popular business-oriented BSD operating systems. 8.x and Gentoo 10x Hardened Server.
94 www.linuxuser.co.uk
Your view
MATE, Kolab, Linux kernel, Ubuntu support
LETTERS
LibreOffice
Senior Art Editor Andy Downes
Editor in Chief Nick Jones
Head of Publishing Aaron Asadi
Head of Design Ross Andrews
Contributors
Phil King, Simon Brew, Jon Masters, Liam Fraser, Richard Hillesley,
Rory MacDonald, Joey Bernard, Michael Reed, Kunal Deo, Richard
Smedley & Gareth Halfacree
ALSO INSIDE:
Imagine Publishing Ltd. Nothing in this magazine may be reproduced
in whole or part without the written permission of the publisher.
Write an instant
All copyrights are recognised and used specifically for the purpose
>> The story of X of criticism and review. Although the magazine has endeavoured
to ensure all information is correct at time of print, prices and
messaging app >> Remote networking availability may change. This magazine is fully independent and
not affiliated in any way with the companies mentioned herein.
Learn how to chat across >> Manage your network Imagine Publishing Ltd 2013
your network >> 20+ pages of reviews ISSN 2041-3270
98 www.linuxuser.co.uk
Keep your Pi safe with a
SB Components case*
At SB Components we strive to offer our customers the best prices for the best products.
Our product team works tirelessly to source top quality affordable components from around the world.
Raspberry Pi is a trademark of the Raspberry Pi Foundation. Raspberry Pi not included. *Compatible with Raspberry Pi
SAVE UP TO 67% OF YOUR
$ COMPUTING COSTS