:::: MENU ::::

Install Android Emulator in Fedora 17

Android emulator allows you to test apps and websites from an Android user’s perspective, without the need for a physical Android device. The Emulator does not work “out of the box” in Fedora however, and only a version for 32-bit machines is provided. Additional packages are required, and the GUI must be started from the command line. These steps are designed for 64-bit machines, but they should also work on 32-bit ones as well.
android emulator screenshot

  1. Install the additional packages which the emulator depends upon:
    yum install libstdc++.i686 glibc.i686 ncurses-libs.i686 libstdc libstdc++.i686 libzip.i686 libX11.i686 libXrandr.i686 SDL.i686
  2. Download the Linux edition of the emulator from Google: http://developer.android.com/sdk/index.html
  3. Extract the downloaded archive (open your Downloads folder right click on the file, “extract here”)
  4. Open a terminal, change directory to the folder you have just extracted:
    cd ~/Downloads/android-sdk-linux/
  5. Run the emulator:
  6. Once the repository has automatically updated itself, download the packages that have been automatically selected for you (click “install packages”)
  7. Open the Virtual Device manage window from the menu: “tools” > “Manage AVDs”
  8. Click “new” to create a new AVD, use default settings
  9. Highlight your new device and click “start”, then “launch”

The emulator should now boot up after a few seconds and allow you to use the device.

Install Webgen in Fedora 17 with Ruby 1.8.6 and RVM

Webgen does not work with new versions of Ruby. Using Webgen installed using ruby and rubygems from Fedora repos results in errors including “obsolete and deprecated Config”.

To get webgen to work, we will use RVM (Ruby Version Manager). This allows you install multiple versions of ruby side by side. RVM is not available in Fedora repositories, and must be manually installed.

  1. If you have already installed ruby from a repository, remove it:

    yum remove ruby ruby-libs rubygems

  2. As root, install RVM, and follow the on-screen instructions:

    curl -L https://get.rvm.io | bash -s stable --ruby
    Note: the leading backslash () is intentional and could be important

  3. Install Ruby 1.8.6:

    rvm install 1.8.6
    Note: you can see what versions are available to install using: rvm list known

  4. Switch to use Ruby 1.8.6 by default:

    rvm use 1.8.6
    Note: You can check that it worked using: ruby -v
    Note: If you want this to be permanent, for all shells, and not just the terminal you’re currently using, execute: rvm use 1.8.6 –default

  5. Install webgen:

    gem install webgen

  6. That’s it! Good luck.

Results: Free Software voice & video testing

Last weekend on Software Freedom Day the Manchester FSFE Fellowship group, assisted by additional participants in Britain and Germany, spent the afternoon testing Free Software alternatives to Skype.


The 25 sets of results were recorded, and can be browsed, sorted, and searched on the news article edition of this post.

Six audio tests successfully passed (24%), as did five video tests (20%). Mumble was the most successful client, passing 100% of tests (audio only, video is not yet supported). XMPP passed four out of 14 audio tests, whereas SIP passed only one out of ten (both video and audio). Of nine apps tested, only Mumble, Pidgin, Jitsi, and Google Talk’s web client achieved passes.

results table
Chat testing results table


The clients tested performed more poorly than expected, probably due to network problems. One of the difficulties in testing was that generally there was little or no information about why the test had failed.

SIP clients couldn’t connect successfully except when both testers used the same client, and had accounts on the same SIP server. This was surprising, especially considering that the accounts used for testing were is many cases paid for and commercially supported.

The only client and protocol which consistently did what it promised was Mumble, which had 100% test pass rate. Unlike all other clients, Mumble uses its own protocol, and also offers audio conferencing and text-to-speech by default. Mumble users are constrained to using the same server however, unlike SIP and XMPP users who should theoretically each be able to use a separate server of their choice.

It would have been useful to have a local SIP and XMPP server on the same network as the testers in order to better identify network related problems. This could have helped determine whether failures stemmed from the client, network, or server..

Examining STUN and ICE configurations was beyond the scope of our tests, but as these technologies seem critical to whether calls succeed or fail, they merit careful examination when choosing or configuring SIP and XMPP servers.

FSFE Fellows will be pleased to note that XMPP calls using FSFE’s own XMPP server were often successful: several volunteers could see and hear each other when both were using their @jabber.fsfe.org accounts.

A Skype alternative?

Skype uses a variety of notorious methods to punch through network obstacles like firewalls, and to ensure it can locate the intended call recipient wherever they may be. It also benefits from being a centralised system where, if necessary, all roads lead to Rome (or a Skype managed server, at least).

Contrastingly, Free Software systems play by conventional rules of network traffic, and try and connect callers using established procedures. They also have to communicate with a variety of different servers, which may operate in ways they don’t know or expect. In addition to this, some of the chat clients that we tested have only recently added support for more than text-based chatting (Gajim in Debian testing is too old for video, for example), and probably add a few problems of their own into the mix.

Based on our test results, those looking for a Free Software Skype alternative should use either Mumble, or SIP with all callers on the same server and using the same client.

Moving Forward

We had hoped to publish a conclusive compatibility table of chat clients, providing a reference for people needing to know “what works with what”, and “what is easiest”. Instead, we have table of subjective results, and a list of questions:

  • How can we determine whether an XMPP server supports audio and video (‘Jingle‘)?
  • How can we gather more detailed information about why a call failed?
  • How can we determine whether a SIP or XMPP server supports STUN (and should therefore be less prone to network issues)?

If you have answers to these questions, please share them in the comments!

Install Rar in Fedora 17: make rar archive files

Plenty of resources explain how to install unrar support in Fedora, but what about when you need to create rar files, instead of merely extracting them?

Rar has licensing issues which is why it isn’t available in standard Fedora repositories. The package ‘Unrar’ is available in rpmfusion repositories, but to get rar compression support you can install one of these two non-Free packages:

rar-3.8.0-1.el6.rf.i686.rpm (32 bit)
rar-3.8.0-1.el6.rf.x86_64.rpm (64 bit)

Ultra-secure social networking promised by Secure Share

Secure Share is a very interesting project that aims to replace existing social networks with a far, far more secure platform upon which developers can build new distributes apps and services. Think of it a bit like a new version of Bit Torrent with an easy API for sending messages, relationships, streams, and status updates, and a prototype desktop client for bringing these together in a social networking interface.

The Secure Share team seem to be correct in their core beliefs that Federated networking is part of the privacy problem rather than the solution, and that the web browsers are incapable of delivering secure communication. They certainly appear to know what they’re talking about, and the amount of research and planning evident in the many articles on the website is impressive. The project lead, Carlo Von Lynx, has promising talents, with a background in security and scalability (compare this to the team that founded diaspora).

Code already exists, mainly for the back end libraries and daemons. There is a user interface component, but it hasn’t been worked on since April, and it’s intended to be a desktop social network app, which may be impractical for most users as it requires local installation.

All in all the project feels more like a research project than a software project at this stage. Presumably their recent requests for  funding is intended to ease the transition to usable software.

I’m very sceptical about the requirement for Secure Share users to install something on their local machine. In a time when Google is determined to turn all consumer computers into thin clients, and the web browser is becoming “the only app you need”, it seems unlikely that the future social networking app used by “all humanity” will run from a binary downloaded from secureshare.org.

Secure Share developers also don’t seem certain how it would be possible for their users to access their accounts on more than one machine. Being able to login from university, or on a friend’s laptop, seems like a critical requirement however. There’s some vague talk of using Secure Share on smartphones, but if this is to become a reality then surely it should a priority right from the start. Making smartphones a primary target platform seems like a no-brainer now that they outsell traditional personal computers.

It seems to me that Secure Share is a long term project with a lot of intellectual value, but comparatively little practical potential, unless it receives a lot of interest and funding. Diaspora had $200,000, and what they achieved was approximately 5% of what Secure Share have in mind. That said, Carlo is a heck of a lot more capable than the Diaspora developers, and he’s already written a significant chunk of the Secure Share back end. Secure Share is also a second-generation project, building upon successes of the Psyc project, showing that those involved know how to deliver production quality applications.

I have high hopes for Secure Share. If it becomes user-friendly and feature-rich enough, perhaps it could lure developers into taking it to new platforms, and users into jumping ship from Diaspora, and maybe even Facebook. I wish the team the best of luck.

Gtimelog: editing logs

Gtimelog is very simple. It provides no method of editing the log of how your time was spent.

Fortunately the program’s simplicity extends to its system files, which encourage easy manual editing, without the need for a separate interface for doing so. The file format of log files benefits from some explanation however.

In Gtimelog click File -> Edit timelog.txt to view the log for the current day. Each task has only one time associated with it, and that is the time that the task ended. The time that any given task started is taken from the end of the preceeding task.

2012-06-15 09:00: Start
2012-06-15 12:00: Eating mailing list spam
2012-06-15 13:00: **Lunch

In the above timelog.txt, the eating of spam commenced at 09.00, and ended at 12.00.

View web pages on a local web server from a virtual machine on Fedora 17

These instructions will allow you to view web pages that are served by your local web development server from within a virtual machine.

Example scenario: you run a local web server on Fedora for development, and you want to test your local site pages from within another operating system which is running in a virtual machine, e.g. to test compatibility with Internet Explorer 9. The below method saves you from having to upload your development files somewhere remote – you can keep all your development local and also try out your pages on all platforms.

1. Install VirtualBox from https://www.virtualbox.org/. Download the .rpm and install it via GUI or commandline

Note: Using either Virtual Machine Manager, or VirtualBox from the rpmfusion repositories does not work.

2. Install and boot your desired OS in VirtualBox (I’ll assume that this is Windows)

3. Edit and save the hosts file of the guest OS to include entries for each of the local websites that you wish to access from the virtual machine. The site names should be identical to the ones in your Fedora /etc/hosts file: local.mysite example.devsite

Note: on Windows saving the hosts file takes effect immediately. On Windows the file is located at c:windowssystem32driversetchosts

Note: Windows 7 requires an additional step to edit the hosts file

4. Start Apache on your host machine, if it isn’t already running

5. On the virtual machine visit example.devsite in a web browser

UPDATE: If you encounter problems when starting your virtual machine relating to kernel modules, try the following:

yum install gcc kernel-devel kernel-headers kernel-PAE-devel

/etc/init.d/vboxdrv setup

Install GTimeLog time tracker on Fedora GNU/Linux

GTimeLog is a simple and effective time tracking application for GNU/Linux. It is the preferred tool of top FSFE staff. It is not currently available in official Fedora repositories however, so in order to use it you must manually install it using Python. Fortunately this is simple to do. These instructions were originally written for Fedora 16, but should also work on 17.

Download GTimeLog from the official website:


Extract the downloaded file from the command line:

tar -xzf gtimelog-0.7.1.tar.gz

Enter the newly extracted directory from the command line:

cd gtimelog-0.7.1

Install dependencies from the command line:

sudo yum install python2 pygtk2

Install GTimeLog from the command line:

sudo python setup.py install

GTimeLog should now be installed. You can run it by pressing Alt+F2 and typing gtimelog [enter] in Gnome and KDE.


By default GTimeLog is unable to generate reports of weekly and monthly statistics etc. due to a dependency on the command line mail client Mutt. Mutt isn’t for everybody, and most likely it won’t be installed on your system either. To access generated reports in Gedit text editor, edit the GTimeLog config file using nano:

nano ~/.gtimelog/gtimelogrc

and set “mailer” to Gedit:

mailer = gedit %s

Alternatively you can set the mailer to Kmail, if you’re using Kontact or Kmail, and wish to send your reports as emails (don’t forget to change [email address] and [name] to your own values):

mailer = kmail --subject "Weekly report for [name]" --msg %s [recipient email address]

UPDATE 14.03.13

Version 0.8.1 was released last month. You can upgrade by simply following the original installation instructions again with a fresh copy of 0.8.1. Fedora users who recently upgraded to Fedora 18 from an older version will need to perform this update to use GTimeLog again.

Set up a local web development server on Fedora 16 with Apache

The following procedure allows you to run your own webserver on Fedora 16, so that you can develop web scripts and applications and test them locally without an Internet connection. I assume that you’re using Gnome 3. Run the stated commands in a terminal – accessible via alt+F2, enter: gnome-terminal [press enter]

Login as root:


Install the Apache webserver:

yum install httpd

Configure Apache to handle requests to your local website:

nano /etc/httpd/conf/httpd.conf

Navigate to the end of that file using your arrow keys, or the page down button, and add the following text at the bottom. Replace the text in {} with whatever suits your setup

<VirtualHost *:80>

The actual text that you add might look like this:

<VirtualHost *:80>
DocumentRoot /var/www/mysite
ServerName local.mysite

Save and close the file:

ctrl+x [enter]

y [enter]

Configure your hosts file to route requests for your website to Apache:

nano /etc/hosts

Add to the end of this file the following text:   {ADDRESS TO ACCESS YOUR WEBSITE IN A BROWSER BY, E.G.: local.mysite}

The actual text that you add might look like this:    local.mysite

Save and close the file:

ctrl+x [enter]

y [enter]

Restart Apache:

service httpd restart

Your website should now be accessible in a website via whatever address you specified above, e.g. local.mysite (note not www.local.mysite).

(Optional) Configure file permissions:

If your website is still not accessible, you may have a file permissions issue. You can temporarily disable selinux to see if that is causing the problem. If that doesn’t help, you can use a permissions debugging tool to find problems with your UNIX file permissions.

Document Freedom Day posters have arrived

Two thousand A2 posters of Stephen Fry advertising Open Standards and Document Freedom Day have arrived!

DFD poster boxes

Posters ready to be sent out

I will send these posters on to people who can use them all over Europe. Only 1.5 weeks remain before the big day – please let me know right away if you can receive some posters! Contact samtuke () fsfe dot org .

Where to put them:

  • In your office or workplace
  • In your school or college
  • In your university campus or halls
  • In your local library
  • In your local community centre
  • Anywhere else that you can think of!
Stephen Fry DFD poster

Where will you put yours?