Archive

Archive for the ‘Ubuntu’ Category

Recording video calls in Ubuntu

July 23rd, 2010 Matthew Revell 2 comments

Lately, I’ve been interviewing Launchpad users to learn more about how they work with Launchpad and what they think of new features we’re proposing.

Until now, this has been mostly face to face, either at the Ubuntu Developer Summits or Canonical’s London office. Talking in person seems to be the best way of doing this: as the interviewer, I can see exactly which part of a proposed page the person is looking at when they pull a certain face, for example.

However, doing it this way greatly limits who I get to speak to. Not everybody who uses Launchpad attends UDS or is within easy travelling distance of central London during the work day.

So, I’ve been looking at ways of doing this remotely. There are some important constraints:

  • pretty much anyone should be able to take part
  • no special equipment should be needed
  • it should cost nothing, or very little, to conduct.

Recording Skype video calls in Ubuntu

As it seems to meet my requirements, I’m going to give Skype video calling a go. And I say “Skype”, rather than anything else, for reasons that I’ll now explain.

I’ve spent quite some time trying to find a straightforward way to record video calls in Ubuntu. I’ve come up with nothing, so here’s one way that seems to work:

  • capture the audio using Skype Call Recorder
  • capture video using GTK-RecordMyDesktop (apt-getable)
  • splice the two together in a video editor.

Test calls have worked. I’ll post again with a report on how it worked in practice.

Categories: Launchpad, Ubuntu Tags:

Ubuntu on a Neoware CA-5 thin client

May 5th, 2010 Matthew Revell 1 comment

One of the things I love about free software, and Linux-based operating systems in particular, is the opportunity to revive old hardware.

Over the past couple of weeks, I’ve been working to turn an old Neoware CA-5 (aka Capio One) thin client into an Ubuntu server.

I have succeeded, hooray. Here’s how.

Neoware thin clients

Neoware, now part of HP, produce thin client computers that generally run some form of embedded Windows or their own Red Hat-derived Neolinux.

For around £10, plus delivery, on Ebay you can pick up a fanless machine the size of a hardback book that sports an x86-compatible CPU, full colour graphics, on-board sound, two USB ports, a 10/100 Ethernet port and plenty of potential.

The Neoware CA-5 I have originally had 56 MB of RAM, 32 MB of flash disk space and a 200 MHz SiS processor.

List of bits

I could have just about stuck with the original specs and still run some form of Linux. However, I wanted to run Ubuntu because I know it well and I know I can install 10.04 LTS and have security updates for the next five years.

Here’s where the beauty of these little Neoware machines comes in: for just a few quid, I was able buy standard parts and upgrade it to a rather more useful spec.

This is what I bought:

  • 256 MB PC133 CL-3 SODIMM RAM module (i.e. older but not ancient laptop memory): £7.65 from Ebay
  • 4 GB Compact Flash card: £7.91 (I used Newsale20 discount code to get that price) from Zoombits
  • Compact Flash to 44 pin IDE adapter: £2.99 from Ebay
  • 44 pin female to female IDE cable: £4.93 from LinITX

All prices include postage.

That 44 pin IDE cable was the hardest to find. Just about everywhere I tried was either sold-out or charging nearer to a tenner.

The RAM

The Neoware CA-5 that I have has 64 MB of on-board RAM, eight of which are taken as video memory. Even Ubuntu’s text-based installed needs 128 MB to run and, for reasons I’ll explain later, the Xubuntu installer I needed requires 192 MB.

Thankfully, there’s a 144 pin SODIMM slot. Mine supports PC-133 CL-3 memory and, presumably, is backwards compatible with PC-100.

Empty SODIMM slot in a Neoware CA-5

Empty SODIMM slot in a Neoware CA-5

As always seems to be the case with RAM, the older the format the more you’ll have to pay per MB. Ebay was the only place I could find a 256 MB module for anything like a reasonable cost.

Inserting a 256 MB PC133-CL3 SODIMM into the Neoware CA-5

Inserting a 256 MB PC133-CL3 SODIMM into the Neoware CA-5

I’ve read that the maximum RAM the CPU can handle is 1 GB but I failed to make a note of where I saw that, so I can’t post a reference.

The hard drive

The 32 MB flash disk is a disk on module unit that plugs straight into a 44 pin IDE socket on the Neoware’s motherboard.

This means that you should be able to do away with the disk on module unit and plug in a standard 2.5 inch IDE laptop hard disk instead. However, there’s not much room in the case and certainly nowhere to secure a hard drive in place, without further tinkering. Also, moving parts mean noise and heat, neither of which I want to deal with.

According to Wikipedia, Compact Flash cards can act just like an IDE drive, meaning that if you can plug a CF card into the IDE socket, it’ll be recognised as a hard drive.

4 GB Compact Flash card inserted into IDE adapter

4 GB Compact Flash card inserted into IDE adapter

Compact Flash to IDE adapters seem to be pretty common; you slot the CF card into the adapter and end up with a cheap solid state IDE drive.

Compact Flash card as IDE drive in Neoware CA-5

Compact Flash card as IDE drive in Neoware CA-5

The 44 pin IDE cable

I was surpised by how rare 44 pin female to female IDE cables are. However, most laptop drives I’ve seen slot straight into a female socket in the laptop, so perhaps there isn’t much call for them.

There is one thing to look out for: some IDE sockets and plugs are missing one pin, effectively making them 43 pin. This is the key pin and, when it’s missing, helps you to plug in the cable the right way round.

44 pin IDE cable with key pin hole blocked on female adapter

44 pin IDE cable with key pin hole blocked on female adapter

Neither the CA-5′s IDE plug nor the Compact Flash-IDE adapter have a missing key pin: i.e. they both have male adapters with all 44 pins. However, my IDE cable has the key pin slot blocked off.

In my case, I was able to use a sharpened metal tool to break the plastic cover and create a pin-hole in both female adapters. As the key pin is dead, I didn’t need to do anything else.

A tip for plugging in the cable: it should have a red stripe down one side. That stripe lines up with pin 1. If the pins aren’t numbered, as it wasn’t on my CF-IDE adapter, you’re in for a bit of trial and error: plug it in one way, go into the BIOS and see if the drive is recognised.

Installation

Getting all the right bits was the easy part. Installation was frustrating.

I started off by downloading the Ubuntu 10.04 LTS server CD and using it to create a USB start-up disk.

The BIOS gives you a whole load of boot options, including PXE (i.e. boot over the network). USB-HDD worked fine for me.

The server install CD doesn’t work

The installation goes pretty well up until it looks for a kernel. It seems the installer doesn’t recognise the SiS chip in the Neoware CA-5 and you end up with an error along the lines of:

No installable kernel was found in the defined APT sources

I’d seen this before when doing a fresh install on my Viglen MPC-L, which also uses a low-power x86 compatible CPU.

On the Viglen, I fixed the problem by following instructions I’d found on various websites that help you install the kernel manually during the installation.

The first time I tried this on the Neoware, the install seemed to complete okay and I rebooted. A text version of the Ubuntu 10.04 LTS loading screen came up and stayed there. As it’s a slow machine, I went to make a cup of tea. The loading screen was still there when I came back.

Several reboots later, I gave up and went for a re-install.

That time, the first reboot after installation complained that the hard drive hadn’t been unmounted properly and the boot got stuck when loading the Plymouth graphical boot loader. A few retries and it was still getting stuck in the same place.

I need to go file a bug about the SiS chip not being recognised by the installer. I’m still not sure what caused the install to fail here, though, seeing as the same technique worked on the Viglen.

The Xubuntu live CD is the answer

Knowing that a Xubuntu live CD ran without a problem on the Viglen, despite the server installer requiring the manual kernel installation, I decided to download Xubuntu and give that a go.

A few minutes later I had a slow but working Xubuntu desktop. I clicked the install icon and waited. Each step of the installer took a minute or two to appear but, hey, it’s a 200 MHz chip designed to run thin clients.

Slow or not, it worked. After answering the various questions, it began installing Xubuntu.

Roughly six hours later it was still going but, importantly, not once did it complain or fail. I went to bed.

In the morning, Xubuntu was installed and running beautifully, if slowly.

Stripping away Xubuntu to leave Ubuntu Server

I don’t want a Xubuntu machine, though. I want a silent, low energy, Ubuntu Server to hook up to my weather station.

A trip to Psychocats gave me the apt-get line I needed to strip out all the Xubuntu gubbins:

sudo apt-get remove a2ps abiword abiword-common abiword-plugin-grammar abiword-plugin-mathview app-install-data-commercial aumix aumix-common catfish exaile exo-utils fortune-mod fortunes-min gigolo gimp gimp-data gnumeric gnumeric-common gnumeric-doc gtk2-engines-xfce libabiword-2.8 libaiksaurus-1.2-0c2a libaiksaurus-1.2-data libaiksaurusgtk-1.2-0c2a libbabl-0.0-0 libexo-0.3-0 libexo-common libgdome2-0 libgdome2-cpp-smart0c2a libgegl-0.0-0 libgimp2.0 libgoffice-0.8-8 libgoffice-0.8-8-common libgtkmathview0c2a libjpeg-progs liblink-grammar4 libmng1 libotr2 libots0 libpsiconv6 librecode0 libscim8c2a libsdl1.2debian-alsa libsexy2 libt1-5 libtagc0 libthunar-vfs-1-2 libwv-1.2-3 libxcb-keysyms1 libxfce4menu-0.1-0 libxfce4util-bin libxfce4util-common libxfce4util4 libxfcegui4-4 libxfconf-0-2 libxmlrpc-core-c3 link-grammar-dictionaries-en mousepad murrine-themes orage oss-compat pidgin pidgin-data pidgin-libnotify pidgin-otr psutils python-cddb python-mmkeys python-mutagen python-sexy ristretto scim scim-bridge-agent scim-bridge-client-gtk scim-gtk2-immodule scim-modules-socket scim-modules-table scim-tables-additional tango-icon-theme tango-icon-theme-common tcl thunar thunar-archive-plugin thunar-data thunar-media-tags-plugin thunar-thumbnailers thunar-volman thunderbird ttf-lyx usb-creator vim-runtime wdiff xchat xchat-common xfce-keyboard-shortcuts xfce4-appfinder xfce4-clipman xfce4-clipman-plugin xfce4-cpugraph-plugin xfce4-dict xfce4-fsguard-plugin xfce4-mailwatch-plugin xfce4-mixer xfce4-mount-plugin xfce4-netload-plugin xfce4-notes xfce4-notes-plugin xfce4-panel xfce4-places-plugin xfce4-power-manager xfce4-power-manager-data xfce4-quicklauncher-plugin xfce4-screenshooter xfce4-session xfce4-settings xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-terminal xfce4-utils xfce4-verve-plugin xfce4-volumed xfce4-weather-plugin xfce4-xkb-plugin xfconf xfdesktop4 xfdesktop4-data xfprint4 xfswitch-plugin xfwm4 xfwm4-themes xscreensaver xubuntu-artwork xubuntu-default-settings xubuntu-desktop xubuntu-docs xubuntu-gdm-theme xubuntu-icon-theme xubuntu-plymouth-theme xubuntu-wallpapers

Note: I didn’t keep the && sudo apt-get install ubuntu-desktop that Psychocats provide on their Pure Gnome page as, obviously, I don’t want any kind of desktop.

And that’s it

After installing openssh-server, I plugged the machine into my router and it’s now running as a silent, headless, server.

Once I’ve got my weather station set up, it’ll be running wview.

Categories: Ubuntu Tags:

Starting out with Desktop Couch

November 30th, 2009 Matthew Revell No comments

I’ve been playing with Python and Desktop Couch over the past few days, primarily as a learning exercise.

Why Desktop Couch? Well, there are a couple of reasons:

  1. I’m writing a command-line podcast catcher and one of the main things that annoys me about other podcast catchers is that I end up downloading the same stuff if I move from one machine to another. CouchDB’s replication can solve that.
  2. It seems more useful to learn to use Desktop Couch than to create my own file format to save my podcast catcher’s data.

What is Desktop Couch?

My understanding is that Desktop Couch is a project to make Apache’s CouchDB attractive to the developers of desktop applications, thereby giving those applications a common way of storing and replicating data.

Aq, one the people behind Desktop Couch, often gives the example of using a Couch database to store your web browser’s bookmarks. That way, if all your web browsers also speak to that database, you can share the bookmarks between them and, perhaps more interestingly, you can replicate your database to your other machines or the cloud and have your bookmarks on other computers, mobile devices, wherever.

Unlike SQL-based databases, CouchDB is not a relational database but a document-oriented database. A very simple relational database might have two tables:

  • Table 1: first_name, last_name, favourite_colour
  • Table 2: colour_name, rgb_hex_value, pantone_number

In table 1, favourite_colour would actually be a link to one of the entries in table 2.

In CouchDB, and other document-oriented databases such as Lotus Notes, you’d instead have a single document for each person that included all the info. So, no links elsewhere, just the info right there and then.

I’m no database expert but this is much simpler and, if you can get away with it, simple seems to be a good thing. I’ll leave it to other people to talk about why Desktop Couch, CouchDB and use of document-oriented databases are good ideas.

So, Desktop Couch provides a Python library that gives you access to Couch.

What I’m doing with Desktop Couch

I’m going to write here about my experience of writing a simple app that uses Desktop Couch. There’s not a great deal on the web, right now, about Desktop Couch so I’m hoping this will help me to work out what I’m doing and maybe provide a reference for others.

One thing to note, I’m pretty much learning Python at the same time and I’m not a developer, so I may write things that seem crazy or naive. Well, if I do, be kind :)

Categories: Desktop Couch, Ubuntu Tags:

Ubuntu and basketball

March 18th, 2009 Matthew Revell 2 comments

Flicking through the TV channels this morning I spotted a surprising message at the bottom of the screen:

Free Boston Celtics Ubuntu t-shirt

Turns out that their coach has been using the word “ubuntu” as an inspirational chant for his players and, following the team’s success, their fans have taken up the word too.

Not being a basketball follower, it looks like I’m a touch late to this. CNet has more.

Categories: Ubuntu Tags:

Remote desktop on Xubuntu with the Viglen MPC-L

December 30th, 2008 Matthew Revell Comments off

I’ve been struggling to get a Remote Desktop connection from my Ubuntu laptop to Xubuntu running on my Viglen MPC-L.

foxmajik provides a simple solution on the Ubuntu Forums: ditch vino in favour of x11vnc. Works a treat :)

Categories: Ubuntu Tags:

How we write Launchpad announcements

October 30th, 2008 Matthew Revell 1 comment

Each month, we in the Launchpad team make a new release.

Over the past couple of years, we’ve learnt some of what works — and what doesn’t — when announcing our releases. I thought I’d share some of that here.

Style and content

Keep it:

  • Relevant: announce only what is of interest to the majority of your readers and what they can use “out of the box”. Direct your most ardent readers to the relevant milestone page in your bug tracker’ for the full details. Consider direct communication with those groups who are affected by a specific change. Ignore things that help you, the developer, rather than the reader.
  • Personal: “The user” is not an abstract: they’re the person reading your text. Speak directly to them and show them how each change affects them. Use examples.
  • Easily understood: don’t assume too much of your reader. Give them enough background to understand the problem you’re describing and your solution.
  • Well ordered: start with the exciting, most relevant, stuff. Assume your reader has a limited attention span because, y’know, they do.
  • Enticing: your readers are lazy and promiscuous. Suck them in by trailing the highlights in your headline.
    • Bad: ACME releases a RoadRunnerStop v1.2
    • Better: RoadRunnerStop 1.2: now easier to catch your lunch
    • Better: Catch more road runners with ACME RoadRunnerStop 1.2
  • Benefit-led: tell your reader how you’ve fixed their life.
    • Good: Save time uploading branches to Launchpad
    • Not so good: Launchpad now supports Bazaar stacked branches
    • Bad: Launchpad will no longer OOPS when you attempt to alter a conjoined slave bug-task
  • Plain-speaking: your readers aren’t stupid but you should err towards commonly used words and shorter sentences with fewer clauses.

Format

Launchpad release announcements have four parts, in order of importance:

  • headline/subject line
  • introduction
  • detail of each change
  • supplemental information: where to find more detail, other announcements, etc.

Examples

Take a look at the Launchpad releases page for some examples of our past release announcements.

Categories: Launchpad, Ubuntu Tags:

Launchpad logo competition!

January 10th, 2008 Matthew Revell 1 comment

I love a good logo. The best find the simplest way to communicate a brand’s values.

Ubuntu logoTake a look at our very own Ubuntu logo, for a great example.

It’s recognisable whether it’s tiny or huge, black and white or in colour. With just three curves and three circles, it conveys Ubuntu’s commitment to community, humanity and cooperation.

Launchpad logoNow, we – the Launchpad team – have been wondering if there might be a better logo for Launchpad. Whether it’s another interpretation of the rocket ship or something entirely different, we’re holding a competition to see what ideas other people have.

Ubuntu messenger bagSo, here are the details:

Closing date: 31 March 2008
Rules and all that: https://help.launchpad.net/logo
Prize: one of the snazzy new Ubuntu messenger bags.

You can submit as many entries as you like, although the competition isn’t open to Canonical staff or vendors. The Launchpad team will choose the winner by majority vote. If you want to see our current rocket logo in situ, take a look at the Launchpad project page.

Any questions? Find me (mrevell) in #launchpad on Freenode, leave a comment or send us a mail to feedback AT launchpad.net.

Categories: Launchpad, Ubuntu Tags:

Launchpad bug feeds in WordPress

January 9th, 2008 Matthew Revell 3 comments

One of the goals we have for Launchpad is to offer different ways to get data in and out.

For example, in addition to the web interface we have an email interface for the Bug Tracker. For many people, the quickest way to file a bug is to fire off an email. Of course, it also provides a full range of options for editing and commenting on existing bugs.

Launchpad bugs feedIn Launchpad 1.1.12 we introduced bug feeds. Now, each bug, person, team, project and distribution in Launchpad has an associated Atom feed. I’ve used my bug feed on the home page of my website to give a flavour of what I’m working on. As I use WordPress, which has built-in support for MagpieRSS, this was supremely easy.

Upgrade to the latest WordPress

Before you begin, you should upgrade to the latest WordPress. Previously, I was running 2.2.2 and it had some trouble with the Atom feed.

Pulling in the feed

First off, you need to pull in MagpieRSS, which is distributed with WordPress.

I’ve created a sidebar specifically for the my site’s home page and I’ve got the following at the top of my home-sidebar.php template file:

<?
include_once(ABSPATH . WPINC . '/rss.php');
$myBugs = fetch_rss("http://feeds.launchpad.net/~matthew.revell/latest-bugs.atom");
$myBugsItems = array_slice($myBugs->items, 0, 4);
?>

The first line includes MagpieRSS and the next creates an array of the feed’s posts in $myBugs. I don’t have too much room in my side bar, so I use the last line to cut it down to the top four entries.

Displaying the feed

Actually displaying the feed is simple:

<ul>
<? foreach ($myBugsItems as $item ) {
	$title = $item[title];
	$url   = $item[link];
	echo "<li><a href=$url>$title</a></li>";
}

?>
</ul>

I’m looking to seeing how other people, in particular projects, use these new feeds.

Please post a comment or
contact me if you’re using Launchpad’s feeds or you have a suggestion for how we can improve them.

Update: two suggestions of easier ways to achieve the same effect. Dave Murphy suggested Wigitize.com (hat-tip Joey) and Jeremy Visser commented that WordPress has a widget to embed a feed into your page.

Something I forget to put in the original post was that I’ve also used straight MagpieRSS (i.e. without WordPress) to create an ugly but functional page at http://launchpad.understated.co.uk/. The code is pretty much exactly as shown in the WordPress example above.

Categories: Launchpad, Ubuntu Tags:

No wired network Linksys WRT54GS Ubuntu Gutsy

December 11th, 2007 Matthew Revell Comments off

The past few days I’ve tried using my ThinkPad R50e with a wired connection to my Linksys WRT54GS (version 6). I’m running Ubuntu 7.10 (Gutsy).

Each time I plugged the Ethernet cable into the Thinkpad, Network Manager took far longer than usual to connect to the network. Once connected, I had no access outside my own network – i.e. no internet access – and even connecting to some machines on my network was hit and miss.

The fix: a firmware upgrade. My router was running 1.50.6 of the firmware. Under 1.50.9, everything’s fine and dandy. Visit the WRT54GS downloads page.

Categories: Ubuntu Tags:

Virgin Mobile 3G modem with Ubuntu

November 23rd, 2007 Matthew Revell 6 comments

I have a Nokia 6233. It’s a 3G phone and is on Virgin Mobile UK. With the help of a USB<->Nokia cable (£3 from eBay), I’ve just used it to connect my Ubuntu laptop to the internet.

Following two threads on the Ubuntu Forums I managed to get connected with minimal fuss.

Here’s my /etc/wvdial.conf:

[Dialer nokia]
Init2 = ATZ
Init3 = ATE0V1&D2&C1S0=0+IFC=2,2
Init5 = AT+CGDCONT=1,"IP","goto.virginmobile.uk";
Modem Type = USB Modem
ISDN = 0
Phone = *99***1#
Modem = /dev/ttyACM0
Username = user
Dial Command = ATDT
Password = wap
Baud = 460800

After disabling networking via the Gnome network-manager applet, I opened a terminal and typed wvdial nokia. After some blurb, it reported my primary and secondary DNS servers and I was online.

I don’t recommend you use Virgin Mobile for data, though. At £5.12 per MB you’ll pretty soon be remortgaging. However, it has proven that I can get online with a phone as a modem using Ubuntu, so I’m now off to find a provider with a decent data tariff. 3 and T-Mobile look favourite so far, although everyone I speak to at 3 seems to have very little knowledge of using a phone as a modem.

Categories: Ubuntu Tags: