Archive by Author

The Anvil Podcast: Radio Tray

Radio Tray is a radio in your system tray. It’s a Linux app for listening to Internet radio stations.

I recently spoke with Carlos Ribeiro about the project, and my conversation with him is below.

If the embedded audio player below doesn’t work for you, you can download the audio in mp3 or ogg format.

You can subscribe to this, and future podcasts, in iTunes or elsewhere, at, and it’s also listed in the iTunes store.


Rich: I’m speaking with Carlos Ribeiro, and he is a member of the RadioTray project. Could you please tell us what the project does, what features it has, what platforms it’s available for?

Carlos: RadioTray is a Linux application. For now it’s only available on Linux. It’s main goal – its only goal – is to listen to Internet radio. The user interface is quite simple – just a small icon on the system tray or application area. By clicking on it you get a list of preconfigured radio stations. Select one, and start listening. That’s basically the only feature of RadioTray. It’s just a simple way to listen to radio stations.


Rich: How many Internet radio stations are there, would you estimate?

Carlos: I’m not sure how many we have in this version. We had very few in the first version. We keep adding more from version to version. I’d say about 20 or 30. But you can add more very easily with a configuration dialog.

Rich: I like applications that are simple – that have one clearly defined purpose. But it doesn’t give us very much to talk about, does it? <laughs>

Carlos: I created Radio Tray with exactly that Unix way in my mind. I love how command-line applications work, and Radio Tray was created because of that. One of the first features I created on Radio Tray was scriptability, so that you could interact with Radio Tray from other applications. There aren’t many applications that can interact right now with Radio Tray, but the feature is there. It’s more like how command-line applications work. You can use it, and integrate with other applications and create something bigger.


Rich: What do you have in mind for upcoming versions.

Carlo: The latest version – 0.7.1 – came with a plugin framework. What we want to do right now is create more plugins. There’s lots of ideas, from us and from our users requesting more features. We want to add those as plugins, because that’s leaves the main application small and simple, and we can add features by plugins. So there are lots of ideas. Lots of users are requesting a way to record streams from a radio station. There are ideas for integrating bookmark lists with some database. Being able to access more radio stations. So there are lots of ideas.

Rich: Have any of these ideas been developed yet?

Carlos: No, the framework just came out just now. There’s two or three plugins there. But these that I was talking about don’t yet exist. We still are working on them.

Rich: If I wanted to get involved in your project, what kind of things might there be that I could do?

Carlos: Most important right now is creating plugins, or offering small ideas for plugins. We see lots of good suggestions from several users, but I’ve always felt that having plugins would be a easier way for them to interact with their ideas. Some of them are small requests, small features, and they could be easily added with plugins.

If anyone wants to add features to Radio Tray, send in an email to me, and we can work it out as a plugin.

I still need to do the developer docs on how to create plugins, and after that it will be much easier.

Rich: What programming language is the application written in, and the plugins themselves also?

Carlos: Everything is in Python. That’s how Radio Tray was created. I created it mainly because I wanted to learn Python. This is the project that appeared after that.

Rich: Thanks for talking with me.

Carlos: Thanks.

Vote for the April POTM

The vote for the April Project of the Month has started. Vote at TwtPoll.

By the way, if you’re curious about what happened with last month’s vote, and why some of the same names are on this month’s ballot, I’ve discussed that a little in a blog post.

On the ballot are, in no particular order:

  • jEdit

    jEdit is a programmer’s text editor written in Java. It uses the Swing toolkit for the GUI and can be configured as a rather powerful IDE through the use of its plugin architecture.

  • Fink

    Fink is an attempt to bring the full world of Unix Open Source software to Darwin and Mac OS X. Packages are downloaded and built automatically and installed into a tree managed by dpkg, all with full dependency tracking.

  • FreeNAS

    FreeNAS is an Open Source Storage Platform and supports sharing across Windows, Apple, and UNIX-like systems. It includes ZFS (high storage capacities and integrates file systems and volume management into a single piece of software)

  • Battle for Wesnoth

    The Battle for Wesnoth is a turn-based strategy game with a fantasy theme.

  • Sweet Home 3D

    Sweet Home 3D is an interior design Java application for quickly choosing and placing furniture on a house 2D plan drawn by the end-user, with a 3D preview.

  • Elastix

    Elastix is an appliance software that integrates the best tools available for Asterisk-based PBXs into a easy-to-use interface. It also adds its own set of utilities to make it the best software package available for open source telephony.

  • FlightGear Mac OS X

    FlightGear Mac OS X is a Mac version of FlightGear, a multi-platform open-source flight simulator that provides very realistic flight experience on your computer. By installing a package you can fly around the world in the comfort of your own home.

  • winPenPack: Portable Software Collection

    winPenPack is a project that aims at collecting the most frequently used and most popular open source applications made portable, so that they can be executed without installation from any USB Flash Drive or Hard Disk. The winPenPack suites offer a wide range of portable applications like office tools, internet tools, multimedia tools, development tools, security applications and other frequently used utilities. Everything you need, completely free, open source and portable!

The vote for the March POTM, post-mortem

The SourceForge March Project of the Month is Scribus, a document layout tool.

Those of you who were following the vote for the March POTM may find that a little surprising, given that other projects had more votes. So I thought it would be worthwhile taking a moment to explain what happened.

We conducted the vote on TwtPoll. Polls there have a number of different settings, and it became very obvious, fairly early on, that I had selected the wrong ones, and the vote was being tampered with. With the help of the fine folks at TwtPoll we’ve done something of a post-mortem, but because I had set the vote up in a particular way, it wasn’t possible, after the fact, to go back and figure out which were the “good” and “bad” votes.

My wife suggested the obvious solution – throw out the projects that had fraudulent votes, and select the winner from the other projects. That’s what we did.

This is extremely frustrating to me on several levels. I tend to have, even after all these years, something of a wide-eyed optimism about people in the Open Source community. I tend to think that we believe the mantras about community before code, and altruism being more important than “winning.”

And I still think that’s probably true about most of us.

It’s a shame that a handful of people took it upon themselves to ruin this for everyone else. I’m very sorry to have to penalize those of you on those project who were playing by the rules.

However, as it turns out, the Scribus project is an amazingly cool project, and I’m glad they’ve won. The product is professionally executed, and I greatly enjoyed discussing it with Peter. (Listen to our interview in the SourceForge Podcast.)

After discussing the situation with the admins of the projects that were affected, I’m persuaded that they had nothing to do with it, but that it was over-zealous fans of the project. So, we’re going to give them another chance. for the April POTM, we will again be conducting the vote on TwtPoll, along with some additional safeguards to try to prevent this kind of thing happening again. The side effect, of course, is that it makes it that much less convenient for everyone who was already playing by the rules. C’est la vie.


One great way to both attract new users to your project is by providing it in their language. The added ease of reading documentation and user interface elements in one’s own language takes a lot of the stress out of learning a new piece of software, and can quickly distinguish your product over others in the same space, even those with similar or even better features.


But, if you aren’t multilingual, how do you go about it? Well, it also appears that providing a mechanism for translation attracts new developers and contributors to your community, because it’s something that’s easy for people to do if they speak another language than the one in which the project was written.

As a citizen of the United States, I’m aware that I’m a part of a tiny percentage of the world who is not multi lingual. I used to live in Kenya, and the old joke went something like:

What do you call someone who speaks two languages? Bilingual.
What do you call someone who speaks three languages? Trilingual.
What do you call someone who speaks one language? American.

But most of the rest of the world speaks at least two, and usually more, languages. So translating a few user interface components, or a page of the documentation, isn’t a huge investment in time or effort, so it’s an easy way for someone to get involved in a project.

There are several resources for projects wishing to have translations done. By using one of these services, you can reduce the effort required for someone to contribute translations, without having to learn about your particular documentation format, your revision control system, or even know much about your product.

The Pootle project is a SourceForge project is a web-based translation tool. The tool itself is available in numerous languages, and the project website offers extensive resources about making your project translation-ready. The earlier in your project’s life you read this stuff, the more work you’ll save for yourself later.


Launchpad has a free service that coordinates translation for projects, and is used by a large number of projects, so has an interface that potential translators may already be familiar with. It’s easy to register your project there, but you’ll need to do some initial work to make your project translation-ready. Having text in the code, rather than in resource files, makes translation more complicated. Likewise, your documentation should be in formats that are portable between operating systems, and not tied to a particular application that someone might not have.


DuoLingo looks like an interesting approach, but hasn’t yet launched, so I can’t really comment on how it works.

Get Localization was another service that was recommended to me, but which I haven’t used myself.

Featured projects, February 27, 2012

Once again this week we feature a wide range of projects – a game, an operating system, a security tool, and an educational tool, among others. Check out these projects that have shown a surge in activity in the last two weeks.

  • ReactOS

    ReactOS is an open source effort to develop a quality operating system that is compatible with applications and drivers written for the Microsoft Windows NT family of operating systems (NT4, 2000, XP, 2003).

  • LOIC

    Low Orbit Ion Cannon.

    The project just keeps and maintenances (bug fixing) the code written by the original author – Praetox, but is not associated or related with it.

  • Maxima — GPL CAS based on DOE-MACSYMA

    Maxima is a fairly complete computer algebra system written in lisp with an emphasis on symbolic computation. It is based on DOE-MACSYMA and licensed under the GPL. Its abilities include symbolic integration, 3D plotting, and an ODE solver.

  • Network Spoofer

    Network Spoofer lets you mess with the internet on other people’s computers from an Android phone.

  • PDFedit

    Free editor for PDF documents. Complete editing of PDF documents is possible with PDFedit. You can change raw pdf objects (for advanced users) or use many gui functions. Functionality can be easily extended using a scripting language (ECMAScript).

  • Biet-O-Matic (Bid-O-Matic)

    Yet another sniper tool 🙂 BOM ist a tool to watch and bid on auctions. Many features like mail control, autoconnect/disconnect, integrated ODBC- client, multi-language-support, time sync, item grouping etc.

  • Digital Paint: Paintball 2

    Paintball2 is a fast-paced first-person game with capture the flag, elimination, siege, and deathmatch (free-for-all) styles of gameplay. This project focuses on enhancing the Quake2-based engine it uses.

  • iTALC – OpenSource classroom management

    iTALC is a free classroom management software which enables teachers to view and control computers in their labs and interact with students. It supports Linux and Windows XP (Vista/7 soon) and it even can be used in mixed environments transparently.