Category Archives: Open Source

Small but powerful

My friend Aideen has been doing fun stuff with the TP-Link micro-routers.

These things are amazingly small – note the relative size of the USB socket – and very cheap.

She’s written it up in a nice blog post here.

 

 

After the $100 laptop, the $50 desktop?

It’s almost exactly 10 years since we started the Ndiyo project, with the aim of providing computing access to people for something “closer to the cost of a VGA lead than the cost of a computer”. Ndiyo has now formally closed, but it led to many other activities, including the founding of DisplayLink, and successful past projects in collaboration with the GSM Association, No-PC, and others.

Today, there’s some more good news.

Towards the end of Ndiyo’s life we started to experiment with a model we called ‘Hubster‘ – the name coming from using a USB hub as the core of a thin-client terminal, something made possible once DisplayLink’s evolution of the Ndiyo technology allowed monitors, as well as keyboards and mice, to be connected over USB. The idea is to share the power, cost, and the carbon footprint of a PC between two or more users at once, simply by plugging in enough USB peripherals to give the extra users access to it. This is important for everybody, but especially for the poorer parts of the world where the cost of owning one PC per person is prohibitive.

Well, over the last few years, Bernie Thompson at Plugable.com in Seattle has been beavering quietly away to make this more of a reality, by providing DisplayLink-based terminals at reasonable prices and by maintaining the Open Source software to drive them. There are two bits of good news coming from his recent efforts:

  • First, he’s been working with RedHat to get support for USB terminals built in to the standard distribution of Fedora 17. We’re getting very close now to the ideal situation where you can turn any Linux box into a multi-user box simply by plugging in enough components for a new user, and a new login prompt will appear when you do so. Imagine, say, a disaster-relief information centre where one person with a laptop connected to a satellite link can easily provide access for half a dozen members of the team just by plugging them in. And it’s all Open Source. Zero extra software cost per user.
  • Secondly, in an attempt to get the cost of these terminals down and support ongoing development of the Open Source components, he’s launched a Kickstarter project called ‘The $50 Computer‘.

Some may, quite sensibly, ask how this compares to the RaspberryPi, which is, after all, even cheaper, and is a standalone machine. Well, this one comes with a box!

No, seriously, they are both excellent projects – I have a RaspberryPi on order, too – but they fill different roles. RaspberryPi, in the early years at least, will be about teaching people the basics of how computing works.
Bernie and the Plugable team are creating a system where providing fully-featured applications to multiple users at very low cost is something that a non-technical user can do simply by plugging in USB devices.

In some situations, perhaps in an internet cafe, you may just want to give extra users access to a Chrome browser. But with this system you also have the option of providing them with OpenOffice, with Scrivener, with Blender, with Corel Aftershot Pro, with Sublime Text, with Skype, with… well you get the idea! And, of course, with access to however many giga- or terabytes of storage you care to put in the PC.

I think the Kickstarter plan is a great one – I wish it had been around when we started Ndiyo.

Please support it if you can… Even if you don’t need more affordable computing devices, for your kids, your school, your internet cafe, your office, there are millions who do. Billions, in fact.

Every $10 we can shave off the cost of access to IT makes it accessible to many thousands of new people globally… and now you have a chance to help.

Cashing in on Open Source

I’ve recently switched to using GnuCash to manage my accounts, and have been quite impressed with it. A friend recently asked about software for simple bookkeeping, and I wondered whether GnuCash might be appropriate, but I didn’t find an introduction that took someone unfamiliar with accounting software through the absolute basics. So here’s my attempt to do so.

It’s 26 minutes long.

Multiple GnuCash files on Mac OS X

This is one of these ‘just in case you’re Googling for it’ posts. Most readers can probably ignore!

I’ve been experimenting again with GnuCash, the Open Source accounting package that runs on the Mac, Windows, Linux and others. There’s rather a paucity of good accounting packages for Mac users, especially now that the good old MYOB (“Mind Your Own Business”) is no more, but last time I looked at GnuCash it was something that you’d have to be a pretty die-hard Open Source enthusiast to want to use.

Well, it’s come on a long way, and I’ve been merrily importing statements downloaded from my banks and setting it up for both personal and business use. If you’re familiar with double-entry bookkeeping it all works very nicely, and it stores all the data in Gzipped XML files, so I can be pretty confident that I could get it out and into another format if I ever needed too.

Only one hiccup so far – the standard build for the Mac (which no longer requires X11) assumes that you only want one set of accounts (ie. one file) open at one time, and it helpfully closes your current project when you open a new one. But it can be very handy to have your personal account and business account, or more than one business, open at the same time, especially if you’re shifting money between them.

Here’s how to do it:

Instead of running the GnuCash app and using File > Open, start it from the command line, e.g.:

open -a Gnucash -n --args MyBusiness.gnucash
open -a Gnucash -n --args Personal.gnucash

The ‘-n’ means ‘start a new instance even if the app is already running’. Note that some of the preferences etc are still per-user rather than per-file, but assuming you’re not doing anything too complex, this works fine.

You could use Automator to create a handy one-click launcher in your dock for each account to do the same thing. Or, create an Automator application using the ‘Run Shell Script’ action, and specify the script as:

open -a Gnucash -n --args $*

Save the application, and any .ledger files dropped onto it will be opened in their own session.

Alright, Mr. DeMille, I’m ready for my close-up.

OpenCV is a wonderfully full-featured computer vision library. I’ve just written a very simple demo of the built-in face recogniser. It finds a face and scales it to a fixed size. If you watch my eyes in the viewfinder window, you’ll see they stay pretty much in the same place however I move around the room.

All sorts of things could be done to improve the frame-rate if needed, but this was just a quick test I put together over a couple of hours while learning about the library. Back in ancient history, when I did my PhD, this kind of thing would have taken weeks…

The title of this post, if you’re not familiar with it, is from the famous closing scene of Sunset Boulevard, which you can see here.

Of course, as soon as I thought of using this title, I realised that I could also grant Gloria Swanson’s greatest wish. So here’s my version…

It needs some smoothing, but still quite fun.

Speed up slow console in VirtualBox

This is one of those geeky posts that is here for the benefit of (a) my failing memory – so I can search for it later – and for (b) anyone who happens to Google for the right keywords.

At Camvine, most of our development is done on Linux, but many of us have Macs as our preferred desktop machines. So we regularly install Ubuntu Linux Server as a virtual machine using VirtualBox. We’re not interested in a graphical interface to the VM – the console is fine. Unfortunately, the default video driver that Ubuntu uses when running under VirtualBox is painfully slow, to the extent that we usually minimize the window and SSH into the machine.

Fortunately, the guys on this thread found a solution – thanks everyone!

On the VM, edit /etc/modprobe.d/blacklist-framebuffer.conf and add a line:

blacklist vga16fb

Reboot the VM and speedy scrolling should be yours again.

(Of course, you may still want to ssh in to get more convenient cut & paste, etc., but it’s nice to have a speedy console anyway, and you may not always have network access to the VM.)

Duplicate mail messages

In my various shufflings, copyings, archivings of email messages between my IMAP folders, I often end up with duplicates.

Sometimes, a copy or move goes badly wrong and I end up with hundreds of duplicates.

Many years ago I wrote a bit of Java code which would find and remove duplicates, but I’ve now converted it to a Python script and released it as Open Source, in case it’s useful to anyone else.

You can find IMAPdedup here.

Feedback and improvements welcome!

Good indentations

I saw and liked this Python / Google T-shirt at Opentech.
(If you don’t understand it, don’t worry – it’s a very geeky joke!)

VNC2DL

vnc2dl2Warning – for geeks only…

I’ve just posted an alpha version of VNC2DL on github.

This is a VNC viewer which uses the new Open Source library from DisplayLink to display a VNC session on a USB-connected display, rather than in a window.

Just in case it’s useful to anyone…

Mac Mini 9

My Mac Book Pro has a new baby brother. It’s a Dell Mini 9 on which, thanks to the instructions here, I was able to install Mac OS X.

I already had a properly-licensed copy of the OS, in so far as any operation like this could be properly-licensed. I ordered the Dell with 2G RAM, an improved webcam, a larger (16GB) SSD and a bluetooth module. Total cost: £277. Including VAT. And shipping. Oh, and a nice carrying case.

As soon as you pick the device up, you can tell from the construction that it’s not an Apple. But my first solid-state ‘Mac’ runs the OS really quite nicely. I had a vague idea that Apple software was only licensed to run on Apple-badged products, so I fixed that too:

However, there was one downside to the bargain special price I got from Dell. After ordering, I discovered that some varieties of this machine, such as those purchased from PCWorld or from Vodafone, have a 3G modem and a slot for a SIM. This doesn’t have it, and it would have been really quite nice. But then I might not have got some of the other upgrades, and since everything else, including a 3G connection via Bluetooth to my phone, seems to work fine, I’m really very happy.

Open Source as a strategy for the future

One of the most interesting discussions I’ve heard on the subject of Open Source for some time is the interview with Simon Phipps, the chief open source officer at Sun, on the FLOSS Weekly podcast.

Highly recommended for anyone with an interest in Open Source – this goes beyond the level of the usual debates.

Ahead of its time?

In 2001 at the AT&T Labs in Cambridge, we created a system we called the Broadband Phone:

Basically, it was a Linux-based VOIP phone with a VNC viewer and touch screen built in to it, and we built a GUI toolkit which rendered directly over the network in VNC. A standard Dell PC operated as the phone exchange (I wish we’d had Asterisk then!) and also provided the graphics for a variety of specially-written applications. It drove about 100 phones without any trouble, and we used this as our internal phone system in the lab for some time. The plan was to spin out a company based around the technology, but this was 2001, and you couldn’t get funding for new companies, whatever you did!

Anyway, at one point I created a cordless version based around a Compaq iPaq. I came across a publicity photo of it recently, and it took me a moment to realise why it looked so familiar:


Perhaps we were just too far ahead of the curve… 🙂

You can find my original pages about the Broadband Phone project here on the Internet Archive.

© Copyright Quentin Stafford-Fraser