Posts Tagged ‘open source’
Google I/O was pretty exciting this year, with the announcement of the first Chromium OS-based netbooks (or ‘Chromebooks’ if you prefer), but the biggest announcement for me was the release of the Accessory Development Kit which allows you to develop USB peripherals for Android devices by way of a hardware component. Luckily for open source fans, this hardware component turned out to be Arduino, the open source hardware development platform. The board is based on the Arduino Mega 2560 and Circuits@Home USB Host Shield designs. Unfortunately, Google’s reference kit is around $400 USD and is sold out until the end of May anyway, while Arduino hardware usually goes for a lot cheaper. Luckily, those fine folks over at HackADay have worked out how to use standard Arduino hardware with the ADK. Nice :-)
I’ve been using gPodder as a podcast downloader for quite a while, which is great for a desktop system like Ubuntu, but less awesome (i.e. can’t be done) for cron-jobbing on my server. What I wanted was something I could use to store my podcast subscriptions and set it up as a cron job on my server and download all my podcasts to my server whenever there was a new episode out. I had a look around on the net for an RSS-based podcast downloader for the command line and couldn’t find one. I mean, not one.
Since I’ve been meaning to learn Python for quite a while, I thought this would be the ideal opportunity to learn a bit of Python and get a useful tool out of it that I could actually use. So, without further ado, I present to you PodGrab, my Python podcast downloader.
It is very simple to use although if you’re using Windows, you may need to download some extra modules – but since this isn’t a Windows site we’ll forget about that :)
Once you’ve downloaded it, you can add a new feed URL with: -
PodGrab.py -s http://some.feed.url.xml
This will store the feed as a subscription and download the latest episode. Sometimes (as I have wanted to do in the past), you simply want to download all episodes of a particular podcast without subscribing to it. You can do this with: -
PodGrab.py -d http://some.feed.url.xml
If you want to list your current subscriptions, you can use: -
which will list all your current subscriptions. You can delete a subscription with: -
PodGrab.py -un http://some.feed.url.xml
The program also has the ability to mail you if you add an e-mail address, list mail addresses and such. Type
for a full list of command line switches. To update your podcast subscriptions when using in conjunction with cron, you simply use: -
and the program will check each feed for a new episode. By default, all podcast downloads are stored in a subdirectory called “Podcasts” off wherever you run PodGrab for the first time, but this is easily changed in the code if you desire. The subscriptions are all stored in a file called “PodGrab.db” which is a small SQLite database. In a future version, I may add MySQL support.
Anyway, you can download PodGrab here. I hope it’s useful to somebody. If you find any major bugs or suggestions for improvements, my e-mail address is in the code. I hope you enjoy it :-)
Ubuntu 10.10 “Mavrick Meerkat” was released on Sunday (10/10, natch) and I’ve installed it on two laptops to take it for a spin. There were no problems installing it on a netbook or a regular laptop – all hardware was recognised correctly, including the integrated webcams. The most obvious difference is the new theme which has shades of orange and purple and the new font which makes the whole thing look lovely – more so that 10.04 which could probably be viewed as a transitional release, regardless of the Long Term Support designation. The interface definitely feels cleaner and more professional. To put it another way, this is a slight tweaking of Lucid (10.04). That’s no bad thing of course and you do get some marginal benefits such as better 3D and wireless driver support and the latest kernel.
Probably the biggest improvement is the Software Centre which now includes an iTunes-style “paid” apps section. It’s very poor at the moment as it has exactly one title to choose from – Fluendo DVD Player. However, I’m sure this will change with time. There are other minor tweaks such as improved battery life for laptops, faster boot time (apparently – I couldn’t see any difference) and Gnome 2.32.0. There’s also Shotwell photo manager instead of F-Spot (meh) and new versions of Evolution and Gwibber. Evolution certainly seems like a major improvement to the version shipped with 10.04, as it seems quite a bit faster.
The installer has been revamped, although frankly the improvements are mostly cosmetic. I do wish that the default partition layout would put the /home directory on a separate partition by default. It’s easy enough to set this up yourself if you are reasonably skilled with Linux, but new users won’t know how to set this up nor the need for things like swap partitions. For a distribution aimed at Linux newbies and desktop users, this is a glaring oversight.
The last major introduction for netbooks is the Unity interface which supposedly replaces the “Netbook Launcher”. While it looks quite pretty, I didn’t actually take to it and switched my netbook to use the desktop edition after about an hour. I couldn’t get the default install of Chrome to add itself to Unity, nor could I figure out how to add apps to it. It’s not very usable, not very fast and generally just isn’t a very good idea. While the old netbook launcher wouldn’t win any Apple-style design innovation awards, it was usable and customisable which Unity at the moment certainly is not. It’s at very early stages, so I guess we’ll see what Canonical does with it. I won’t be using it in the near future though.
There are still some things that I don’t like about Ubuntu in general, but this could be because I started out on Red Hat distributions. Things like not having the Services GUI tool, the incessant use of sudo to do root tasks as default and the fact that many things I consider to be needed as part of a pro-user are not installed by default like Apache, PHP and “chkconfig”. However, this is probably more a disparity between distribution philosophies that anything inherently “bad” about Ubuntu. The user interface is certainly streets ahead of Fedora in terms of looks – but that really depends on what you’re using it for, either desktop or server roles.
Overall 10.10 is a solid, albeit minor release – certainly nothing as earth-shattering as 10.04 was to 9.10. I definitely prefer it to 10.04 and you probably will too unless you definitely need long term support. The themes have been touched up and the whole thing feels professional and responsive. Top job and I’ll definitely be keeping this version on my netbook.
With the release of Fedora 14 just around the corner I thought it would be a good time to revisit my post about who exactly Fedora Linux is aimed at. In that post, I commented about the clear vision that Ubuntu Linux has for the desktop and how this vision is seemingly not present for Fedora. Ubuntu, with it’s marketing clout and stewardship from Canonical obviously have a very clear goal for Linux – to finally make Linux great for desktops. BUt nobody ever really thought to ask why. This “shine” extends to their website which is streets ahead of Fedora’s rather timid site. Marketing and a shiny website may not be everything, but it’s sure helped Ubuntu. Canonical may have it’s share of detractors in the open source community, but you can’t deny their skill in getting eyeballs to desktops. Everybody knows from the recent war of words about how much code Canonical allegedly contributes back to the open source community compared to Red Hat (which is an open source company through and through), but Canonical have had remarkable success getting Linux pushed through to the average computer user even if they cannot boast the same type of revenue that Red Hat commands in the enterprise. And make no mistake, the enterprise is where the money is. Red Hat has made a bucket of money with it’s certification programme and support contracts. And you can bet Canonical see that revenue stream. Canonical’s mission to make Linux great on the desktop is a fine and laudable goal – I mean, somebody had to step up and really try for it. But that’s only part of the reason, I think.
I quite like Ubuntu especially with version 10.04. I think the new GNOME desktop is great, I like the Software Center and Ubuntu One cloud services and all the little things like a separate netbook edition for my Samsung N120. I don’t even mind Canonical moving the window buttons to the left. I just don’t like Debian-based systems (such as Ubuntu) quite as much as Red Hat ones (like Fedora). But based on the amount of content out there on the net, I’m in a minority – at least for desktop users.
If Linux has any awareness with the general public, it’ll be Ubuntu that they know about. For them, Ubuntu is Linux. While general public perception isn’t strictly necessary for any Linux distribution to succeed, it gets you hearts and minds. Computer folk who want to try Linux and learn about Linux will try Ubuntu first simply because that’s what they’ve heard about. And as Microsoft know, if you get ‘em young and get ‘em early, this is the experience and skillset they’ll potentially take into the workplace. So you’ll no doubt see more Ubuntu systems appearing in organisations because that is the distro that people know and use at home and this could be dangerous in the long-term for a Red Hat-based distro and Red Hat themselves. These things tend to have a cascade effect. Red Hat like servers and enterprise stuff and that’s fine…but they could end up being blindsided by Ubuntu by continuing to disregard the desktop and the importance it has for what people end up learning. Red Hat’s CEO Jim Whitehurst doesn’t get the desktop and even said so.
“First of all, I don’t know how to make money on it. Very few people are running a desktop that’s mission-critical, so they do not want to pay the company for a desktop OS.”
“There is some money in the Linux desktop, but not much. We do have a desktop [version of Linux], but we typically sell it to big server customers who want some desktops. The concept of a desktop is kind of ridiculous in this day and age. I’d rather think about skating to where the puck is gong to be than where it is now”
What Jim misses here is that the Linux desktop is not about making money – at least not directly. It’s about exposing users to your distribution and your way of doing things rather than somebody else’s. Because that’s the knowledge they’ll pass around, that’s what they’ll recommend at work and that’s what people will end up using in the server room. Why is that so hard to grasp? Canonical get this just fine. Granted, Fedora doesn’t depend on Red Hat as it’s a community project – anybody can contribute to Fedora in the same way Red Hat does, but for all intents and purposes Fedora is what RedHat Enterprise Linux becomes and Red Hat sponsor Fedora and commit a lot of code and time to it for exactly that reason and seeingly only for that reason. This is a mistake. Perhaps the Fedora Project people see this even if their sponsors at Red Hat do not.
With the release of Fedora 14, Fedora is obviously trying to remedy this situation a little (with or without Red Hat) as the follow Fedora Project tweet stated: -
Want to do something great for #Fedora advocacy? Help our Marketing team create one-page notes for F14! http://2tu.us/2q74
With the kind of apathy from Red Hat displayed above to desktop Linux, it is any wonder that the Fedora Project is basically asking it’s users to market it for them? Ubuntu don’t have this problem with Canonical :-)
If you follow the link in the tweet, you’ll end up on a page that asks you to dispell “common Fedora myths” such as the perception that it’s merely a proving ground for new technologies.
MYTH – Fedora is unstable and unreliable, just a testbed for bleeding-edge software
FACT – This myth comes from misunderstanding two things:
Red Hat Enterprise Linux (RHEL) is derived from Fedora every few years.
Fedora has rapid releases, a short life-cycle, and a lot of new code.
The first item means that Red Hat uses Fedora as a platform to promote the development of new technology, some of which might end up in Red Hat Enterprise Linux, and be inherited by other derivative distributions. Red Hat contributes to Fedora efforts in the same way as any other contributor can. Fedora provides a platform in which any contributor, large or small, can integrate and offer technologies for a large audience of consumers. This does not mean that Fedora is untested, it simply means that Fedora is a rapidly progressing platform.
For the second item, this does mean that Fedora is often running in uncharted innovative territory, but not that it is using too-new code. The programs in Fedora are generally stable releases or well-tested pre-release versions. There are guidelines behind the inclusion of pre-release software, and thorough testing is always done prior to Fedora releases. Refer to QA for more information about our extensive quality testing practices, which, like all other Fedora teams, are open to community participation.
Each new Fedora release receives updates from the Fedora community for two subsequent releases, plus one month — on average, about thirteen months. We do everything we can to make sure that the final products released to the general public are stable and reliable. Fedora has proven that it can be a stable, reliable, and secure platform, as shown by its popularity and broad usage. Additionally, our well-managed packaging and review process adds an extra layer of safety not found in some other distributions.
You can count on Fedora.
Well, that’s fine – I personally have had no problems with stability in Fedora. I love it and use it every day. But nobody seems to have told Fedora’s project leader that…
Red Hat uses Fedora as a proving ground for new technologies for its RHEL (Red Hat Enterprise Linux). While not all of the features in Fedora end up in RHEL, it is a good way for people to test and use features before deploying them in a production environment or using them as part of RHEL, said Paul Frields, Red Hat’s Fedora Project Leader. A combination of Red Hat and third-party developers contribute code to Fedora, and Frields manages the integration of Fedora features into RHEL.
Now, stability and use in a production environment may be two different things but to most people if a piece of software is not suitable for a production environment, it is unstable. Mixed messages there! The other problem which Fedora has freely admitted above is the quick turnaround of releases. On average a new version of Fedora comes out every six months. Ubuntu throws a version out almost as quickly. The difference is that that every two years or so, Canonical release a version of Ubuntu which is an “LTS” release – a Long Term Support release. With an LTS version you get 3 years support on Ubuntu Desktop, and 5 years on Ubuntu Server. That’s pretty good as Canonical make no distinction between commercial and free releases. There is no such long term support for Fedora. If you need that, you’re supposed to download CentOS instead – the free version of RHEL which is binary compatible and just as stable. But CentOS, while great, is not a desktop operating system and never claimed to be. It’s packages don’t change very often to keep it in line with the older but proven RHEL packages. Fedora only offer support for thirteen months for each version and then you need to upgrade. While I’ve never had a problem doing this, it’s a deal-breaker for some…especially if they’re asking for help with Fedora on Linux forums. If you’re at End of Life for a particular version of Fedora and have a software or configuration problem, you’ll more than likely just get told to upgrade to the latest version. New users don’t want to hear that and nor should they have to.
As I’ve said before, I love Fedora and want to see it succeed. I think it’s file-system and account settings are far saner to navigate that Ubuntu’s, regardless of the GNOME shine that Ubuntu has added. I just wish somebody at Red Hat would wake up to the fact that, although the desktop may not be important to Red Hat’s bottom line right now, it will be and Fedora (as the second most popular Linux distro) is the path that most will tread if they are to use Red Hat Linux. Desktops gain you users and the Fedora community needs somebody like Canonical to show Red Hat the way. Canonical appear to be taking the long-term view that will eventually win them a foothold in the server room and they’re doing it on less money. Why can’t Red Hat do that in the other direction? They can surely afford it.
For this reason, I believe Red Hat needs to commit to Linux on the desktop far more than it has been doing and this includes lending marketing muscle to the Fedora Project and basically throwing money at them, even if it sees it as irrelevant to it’s core enterprise server business at the moment. The Fedora Project also has to either slow down Fedora releases or implement an LTS programme much like Canonical do. What can really be achieved for a whole new release version in six months? Does that really get users excited enough to try it? I don’t think so.
It wouldn’t take much of Red Hat’s banked earnings (compared to Canonical’s at least) to really push Fedora as a “gateway drug” to it’s own commercial Enterprise-level Linux distro. And I think they should do just that.
I’d just like Fedora to have the same kind of desktop polish and consideration for ordinary users that Ubuntu has because I think it’s a great system to use and I think Canonical have the right idea with their approach. It’s simply a shame that Red Hat don’t see it because whether they like it or not, I have a sneaking suspicion that their future may well end up depending on Fedora.
I recently discovered iTunes/iPod having disregarded it for years, primarily having inherited an iPod Classic from my gadget-freak of a father, who tragically died earlier this year. Now, although I’m unlikely to ever actually buy anything from iTunes (the client under Windows 7 is appallingly badly written anyway), preferring instead to import my own music into iTunes, I did discover podcasts in a big way – especially as they are free. This lead me into a world of joy for free podcasts like The Naked Scientists, Linux Outlaws and The Linux Action Show, not to mention putting a raft of audio books and other random MP3s on my iPod Classic. Aside from making me realise how excellent the majority of output from BBC Radio 4 is, it also meant that I started to search for other podcasts on Google.
This lead me to find “LUG Radio”, a charming Linux podcast from here in the UK. I actually downloaded season 5 and put it on the Classic before even thinking to find it on iTunes (which is fortunate, as it’s not there). I’d mostly been listening to Linux Outlaws before then, but really enjoyed LUG Radio and it’s four foul-mouthed presenters, including Stuart Langridge who sounds suspiciously like my cousin Joss. So imagine my horror after enjoying six or so episodes of LUG Radio to find out they stopped broadcasting in 2008! WTF? Now apparently this wasn’t to do with any kind of fall out or argument, they just stopped doing it. It’s a real shame as they had the kind of dynamic that really drew you in – not to mention being extremely funny and having that certain sense of cosy “Britishness” that you sometimes want. Come to think of it, I vaguely remember the show being mentioned on the Linux Outlaws as a podcast that had finally quit although I didn’t think anything of it at the time.
One of the presenters endorsed the Ubuntu UK Podcast as being similar to LUG Radio, and it is indeed a very good podcast, as is the Linux Outlaws…but it will never replace LUG Radio. Gone before I really knew ‘em. So any open source / Linux types who fancy some great educational and informative podcasts should at least download the last season of LUG Radio to realise what a loss it will be (and presumably was) for the UK open source scene.
UPDATE 24/09/2010: Apparently, there is a documentary about LUG Radio – “Don’t Listen Alone”, which can be downloaded here. If you’re interested in what else Jono Bacon and Stuart Langridge did after LUG Radio, they did Shot of Jaq – another open source podcast which (ironically for me) has also just ended. How does this keep happening to me?!
Do you fancy conducting real science with your Linux machine? How about helping to analyse data from SETI and help search for extraterrestrial intelligence? Help cure cancer or search for asteroids and pulsars? Then BOINC may be for you. If you want proof that actual discoveries can be made with BOINC, just a few days ago a new pulsar was discovered by three users of the Einstein@home project.
It stands for the Berkeley Open Infrastructure for Network Computing (BOINC) and is a non-commercial middleware system for volunteer and grid computing. It was originally developed to support the SETI@home project but has since been expanded to include all manner of scientific projects from hunting for cures for cancer to predicting climate change. It works by using your CPU when it’s not being used for much to download and analyse packets of raw data from a specified project and once the results have been computed, sent back. You gain “credit” for each packet of data you analyse and you can participate in many projects at once. The BOINC software works on Linux, Mac and Windows, although some projects only support certain platforms, however, Linux x86 seems to be very well supported by most projects.
BOINC typically runs as a screen-saver on desktop systems and it’s extremely easy to add projects to your system. Here, I’m only going to talk about setting up BOINC as a server command line process – primarily because I dislike screen-savers generally and secondly because I use my Linux machine as a server and rarely use the GNOME desktop on it. I have Ubuntu Netbook Edition on a Samsung N120 netbook (lovely device, by the way), but I don’t leave that idle long enough for a screen-saver and it’s not really switched on long enough to take advantage of BOINC to any great degree. My Fedora server however, is on 24/7 and is a prime candidate for useful BOINC research :-)
Okay, let’s get started. The latest version of BOINC is 6.10.56. It’s handy to use wget for this. If you don’t have it, install it with: -
sudo apt-get install wget
under Ubuntu/Debian and with: -
yum install wget
under Fedora/CentOS. Once you have this installed you need to decide which flavour of BOINC to get, as it comes in both 32-bit and 64-bit versions. For the 32-bit version, download it with: -
and for the 64-bit, download it with: -
It’s not that big – about 5MB. This file probably won’t have the execute permissions that you want, so make this file executable with something like: -
chmod u+x boinc_6.10.56_x86_64-pc-linux-gnu.sh
and then execute it. This will unpack this file into the current directory into a directory called BOINC. One thing it’s worth nothing here is that if you’re using the 64-bit version of BOINC, several projects won’t work with your version. If you are running 64-bit Linux and 64-bit BOINC then you might have a problem with projects that issue 32-bit applications rather than 64-bit applications. To allow 32-bit applications to run on 64-bit Linux you must install 32-bit versions of certain shared libraries. The names of the packages containing the 32-bit libraries is different for each distro. For Ubuntu use: -
sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3
and for Fedora/CentOS use: -
yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64
Right, once you’ve moved this BOINC directory somewhere suitable (I use /usr/local/boinc), you need to navigate to that directory and start the BOINC server process.
note that I put this process in background with the ‘&’. I actually prefer to use: -
./boinc >> /var/log/boinc.log &
as this will append the output of BOINC to /var/log/boinc.log for later review. Now you need to choose some projects to attach to BOINC. Let’s simply do an old favourite, SETI@home. Go to their website and register an account. If you then login and go to your profile you’ll see your account key, which will look something like ’0d4960fe0f9c0ee4a2e9923c97c0473f’. To attach this project to BOINC for processing you need only two things, the URL of the project, which is “http://setiathome.berkeley.edu/” and the account key. So, ensuring that the BOINC server process is running – confirm with
ps -elf | grep boinc
you can run: -
./boinccmd --project_attach http://setiathome.berkeley.edu/ 0d4960fe0f9c0ee4a2e9923c97c0473f
and that’s it. the “boinccmd” has many switches for attaching and unattaching projects, see here for details of the other things it does, but this is essentially the process. You check out the log now with
to see if BOINC has successfully downloaded a new work unit from SETI.
The next thing is to add a bunch more projects for things that interest you or projects you wish to help with. A comprehensive list is here.
Sharp-eyed techies might also notice the statistics_*.xml files in the BOINC directory. These XML files hold a history of completed tasks and credit for each project you’re working on. You could, if you liked, write some code to display your results in a web page somewhere on your own server…I did :-) PHP is good for this with it’s support libraries for mucking around with XML data but you can use whichever programming language is your thing.
Enjoy! It’s pretty good to be helping the world with Linux, after all :-)