Interview with Linus Torvalds

Richard Morris recently took some time out to interview the great Linus Torvalds, the founder and creator of our favorite operating system, Linux. The interview is very well put together with both great questions and answers.

Here are two of my favorite Q & A’s with Linus:

RM: ‘Do you think software patents are a good idea?’

LT: ‘Heh – definitely not. They’re a disaster. The whole point (and the original idea) behind patents in the US legal sense was to encourage innovation. If you actually look at the state of patents in the US today, they do no such thing. Certainly not in software, and very arguably not in many other areas either.

Quite the reverse – patents are very much used to stop competition, which is undeniably the most powerful way to encourage innovation. Anybody who argues for patents is basically arguing against open markets and competition, but they never put it in those terms.

So the very original basis for the patents is certainly not being fulfilled today, which should already tell you something. And that’s probably true in pretty much any area.

But the reason patents are especially bad for software is that software isn’t some single invention where you can point to a single new idea. Not at all. All relevant software is a hugely complex set of very detailed rules, and there are millions of small and mostly trivial ideas rather than some single clever idea that can be patented. The worth of the software is not in any of those single small decisions, but in the whole. It’s also distressing to see that people patent ‘ideas’. It’s not even a working “thing”; it’s just a small way of doing things that you try to patent, just to have a weapon in an economic fight. Sad. Patents have lost all redeeming value, if they ever had any. ‘

RM: ‘What part of an Operating system do you think is the most difficult to write?’

LT: That’s actually an interesting question, just because my answer is that it’s never any particular part. Yes, all the details tend to be complicated too, but the real job is to make it all work together. Compared to that, any particular detail you might want to point at may be a technical challenge, but ultimately not anything that really puts people off. For example, one area that we had a really hard time with (and that still causes problems, even if it’s gotten much better) is power management and the whole suspend/resume that people do on laptops. And it was hard not so much because any particular detail was really intractable, but because it touches every single subsystem in the whole kernel (and many out in user land too!), and that was really what ended up making it so challenging.

Read the full interview here.

First alpha release of Amarok 2.0

Amarok has finally released a alpha version of Amarok 2.0!

Here is the official announcement:

The Amarok Team is proud to present the first official alpha release, codename Malina, of the upcoming Amarok 2 series. Features available in this release outline the feature set of Amarok 2.0 while making a starting point in the Amarok 2 journey.

Some of the highlights of the new alpha include:

New fascinating look: With the use of vector graphics, artwork looks crispier than ever, while color scheme independence guarantees it’ll look gorgeous no matter what.

Innovative user interface: Don’t miss several UI innovations like the Plasma powered Context View, new space efficient playlist, and amazing PopUp Dropper! The new Context View allows you to show all the context information you care about. We expect a lot of Plasmoids to be provided by the community in the first months after the release of Amarok 2. PopUp Dropper lets you do different things with your files by simply dragging them to the context view and dropping them on the appropriate area. Append songs to the playlist, copy songs to your local collection, transfer them to your mobile device and edit their tags are just some of the operations PopUp Dropper offers.

Almighty Internet service framework: Seamlessly integrate online music repositories and web services into your musical experience. With online sources like Magnatune, Last.fm, Jamendo, Ampache and MP3tunes you’ll be supplied with music 24/7.

Powerful scripting: The new scripting interface is fully based on Qt technology. The APIs are being redesigned, so script authors are asked to wait at least for the first beta release before porting their scripts.

Dynamic and new Biased playlists: Let Amarok choose the music for you. In this alpha you will see the foundations of the new Biased playlists which in the future will let you specify dynamic playlist for any occasion.

Mobile devices support: We are working hard to make sure you’ll easily and efficiently access music on your media devices within Amarok, and integrate it with your music collection.

Cross platform: This Alpha release lays the groundwork for a release on all major platforms. Future releases will feature Linux, Windows and MacOS versions.

Don’t wait any longer! Grab your copy of Amarok Alpha 1 and help us polish it into a best release so far! Any kind of help is highly appreciated: from patches and bugfixes, through testing and bugreports, to documentation writing, translating and promotion. Oh, and we like artists too! Check out our Jobs page, or drop by in #amarok on Freenode.

Please be aware that this is alpha stage software. Bugs and unfinished features are to be expected. All of the features mentioned above still need work.

The Amarok 2 FAQ addresses some of the questions you might have about Amarok 2.

Read more here..

Quickzi: How To Remove Older Kernels from Ubuntu

If you’ve had the same Ubuntu installation for a while and have just been upgrading to newer releases, you may have noticed that a lot of older kernel versions are piling up in your grub menu and on your system.

How to remove older kernels from Ubuntu

This can be done by using the Synaptic Package Manager, however I will show you how it is done on the command line.

First, find out what kernel you are currently running:

# uname -a

Linux foogazi 2.6.24-19-generic #1 SMP Wed Jun 18 14:43:41 UTC 2008 i686 GNU/Linux

From the output you can see that you are currently using the 2.6.24-19-generic kernel.

Next, let’s take a look at all of the kernel versions you have installed:

# dpkg -l | grep linux-headers-*


linux-headers-2.6.24-16                    2.6.24-16.30                                       Header files related to Linux kernel version
linux-headers-2.6.24-16-generic            2.6.24-16.30                                       Linux kernel headers for version 2.6.24 on x
linux-headers-2.6.24-19                    2.6.24-19.34                                       Header files related to Linux kernel version
linux-headers-2.6.24-19-generic            2.6.24-19.34                                       Linux kernel headers for version 2.6.24 on x
linux-headers-generic                      2.6.24.19.21                                       Generic Linux kernel headers

Now all you need to do is remove the old versions with apt-get.  Since we’ve noted with uname -a that we are currently running 2.6.24-19-generic we want to make sure we do not remove it.  All of the others can be removed.

# sudo apt-get remove linux-headers-2.6.24-16 linux-headers-2.6.24-16-generic

Now the older kernels are gone.  Repeat the apt-get remove step to remove any others you may have.  Remember to not remove your current kernel.

Important note: It is a good idea to keep at least one old kernel version around in case anything breaks in your current kernel and you are unable to boot into it.  An example would be that you boot into your current kernel but recieve a kernel panic.  With an old kernel still available you can reboot the computer and select the older kernel version from the Grub menu and still access your system to find out what is going on.