2007
05.31

A friend of mine and I started a discussion about MP3 support in Windows versus Linux. I haven’t used Windows since I was forced out of my last employment position, so I have been a bit hazy on the minute details of Windows, but the last I recall, there was no solid support for MP3 in Windows at the time.

Well, my friend claimed that Microsoft added support a while back, and he was right. Some time ago, Microsoft started shipping support for the codec after it paid $16 million to the Frauenhofer Institute in what they believed was a license to redistribute. Alcatel-Lucent (then Bell Labs) co-developed the technology with Frauenhofer, and now they are claiming that Microsoft owes them $1.5 billion in back-licensing. The case is bouncing around the patent court system and might possibly leave many companies looking for a free alternative to the MP3 format.

I also heard complaints that it was in fact Linux (CentOS) that lacked support for the said format; I thought it was the other way around. Well, I was partly right. While Microsoft battles out the patent lawsuit with Lucent, the support for MP3 varies in the different Linux distributions. You find that some distributions, such as Gentoo, Ubuntu, Slackware, and Debian, offer support out of the box either through the libmad library or the Fluendo binary GStreamer plugin. Other distributions, such as Red Hat Enterprise Linux (only through non-public officially licensed means) and OpenSUSE offer no support at all.

Worst case scenario, if this sits in the courts long enough, some of the patents will start expiring soon. In the mean time, non-commercial usage of the codec does not require as per the Thompson website. If a Linux distribution chooses not to distribute a codec, it’s because they intend on making an annual profit of more than $100,000. It’s safe to say that most distributions do not have this problem, but Red Hat does so you’ll have to switch to a non-RHEL based distribution (Fedora included).

This is all very shady ground, so while it is still possible to support MP3 in some (if not most) Linux distributions, who knows what legal ground the format currently stands on (Microsoft certainly doesn’t know). Some would argue that MAD might lose it’s ability to distribute under the GPL license if tested in court!

In the end, switch to a non-commercial distribution or use the Fluendo GStreamer binary plugin.

2007
05.27

About a year and a half ago, I purchased a cheap $15 multi-flash card reader from Newegg. I have had this stupid device plugged into my motherboard and wasting power ever since. I was never successful in plugging in my flash cards and having them detected.

Until now.

I posted about upgrading my machine recently, which included a kernel update to 2.6.21-gentoo. I figured it was high time to get this device working, so I spent a few hours and figured out my problem. I have a Neodio Technologies 7-in-1 reader as detected by lsusb:

citadel s1n # lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 0aec:3260 Neodio Technologies Corp. 7-in-1 Card Reader
Bus 001 Device 002: ID 03f0:8804 Hewlett-Packard
Bus 001 Device 004: ID 0bda:8187 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 0000:0000

The problem I was having was the device nodes were never being created, with the exception of /dev/sda. Well I learned that USB flash card readers do not automatically report when a card has been inserted. The solution to this is to make sure that your kernel has the following option set:

CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_SCAN_ASYNC=y

The async scan option is a nice feature that can significantly improve your bootup time if you have several UMS devices or SCSI devices connected. This will make sure that all LUNs are scanned as the other devices may not be detected. In my case, the /dev/sda was actually just the CF card reader slot.

After rebooting, I found each card slot was detected and now associated to individual devices:

usb-storage: device scan complete
scsi 8:0:0:0: Direct-Access GENERIC USB Storage-SMC I19B PQ: 0 ANSI: 0 CCS
scsi 8:0:0:1: Direct-Access GENERIC USB Storage-CFC I19B PQ: 0 ANSI: 0 CCS
scsi 8:0:0:2: Direct-Access GENERIC USB Storage-SDC I19B PQ: 0 ANSI: 0 CCS
scsi 8:0:0:3: Direct-Access GENERIC USB Storage-MSC I19B PQ: 0 ANSI: 0 CCS
sd 8:0:0:0: Attached scsi removable disk sda
sd 8:0:0:0: Attached scsi generic sg0 type 0
sd 8:0:0:1: Attached scsi removable disk sdb
sd 8:0:0:1: Attached scsi generic sg1 type 0
sd 8:0:0:2: Attached scsi removable disk sdc
sd 8:0:0:2: Attached scsi generic sg2 type 0
sd 8:0:0:3: Attached scsi removable disk sdd
sd 8:0:0:3: Attached scsi generic sg3 type 0

When I logged into Gnome, I found this lovely gnome-vfs icon indicating the flash drive from my camera that I plugged in. The mount options show up as follows:

/dev/sdc1 on /media/disk type vfat (rw,nosuid,nodev,shortname=winnt,uid=1000)

Now that everything is merry in the hellkeep kingdom once more, I can move on to organizing my photos once more.

2007
05.25

Samba Woes

I’ve spent a majority of my break trying to get my system updated. Well, I’ve actually only been doing that for a week. I’ve spent the rest of that time trying to get my file server to share up the directory structure with POSIX extensions.

I’ve been using Samba for the last 2 years and have been pretty pleased with it. It allows me to mix my wife’s Windows XP laptop into the rest of the Linux network. It also works well enough with my Gentoo desktop machines that I’ve been able to accomplish most things. My meager 5 GB desktop harddrive is pushing it’s limit at about 4GB and has been doing so for some time. I have long dreamed about using my network storage for building software, as some applications (I’m looking at you OpenOffice) require 4+ GB just to compile.

What I basically needed was to be able to use regular POSIX extensions (permissions / ownership) on a network share. This is simply not possible with SMBFS as it’s owned by the user who mounted the share or the user specified in the mount options. You could also squash the user to a particular user on the server, but I didn’t really want to do that. You might also be able to use LDAP for authentication so that you can have the same login across multiple systems, but even with the exact same user on both machines, it still failed to allow the changing of permissions / ownership. According to the Samba manual, you should be able to enable POSIX extensions by enabling them on the lower level file system. Since I was using ReiserFS, I went ahead and added that to my kernel, and enabled the feature in Samba:

unix extensions = Yes

This still failed to provide the functionality I needed. I eventually gave up. After countless nights staying up way beyond my bedtime, I eventually decided to setup NFS on the same folder and just mount it as an NFS share when I need to. If you have problems getting your NFS server to mount in a reasonable time and correctly allow for the execution of configure scripts, mount it in the following manner:

mount -o nolock,user,exec,rw,lock host:/path/to/share /path/to/local

I then began the long arduous task of updating my system. Since I haven’t updated in about 5 months, I was expecting it to be annoying, but it was much worse. It took almost the entire week to rebuild everything. I ended up having to mask several packages:

=app-misc/lirc-0.8.2_pre2
=media-libs/libgphoto2-2.3.1-r4
=dev-scheme/guile-1.8.1-r3
media-sound/banshee

LIRC won’t even compile; I looked at the source and it looks like a simply copy-paste problem with a non-existent variable. I can’t remember the problems I had with libgphoto2 and guile, but they gave me enough grief to finally mask out. Banshee was a different animal. I currently do not have Banshee installed because I uninstalled it hoping to force a complete recompile. Now if only Gnome 2.18 would unmask.

I’ve been using Gentoo since the 1.0 pre-releases and this is one of the most difficult upgrade cycles I’ve had to go through in a long time. In fact, it’s almost as if the community problems that have been plaguing Gentoo have finally spilled over into the Portage maintenance. I am really shocked mostly with Banshee and LIRC not even compiling on my system; I would have thought someone in the AMD64 heard would have installed them to see that they don’t work and should be masked.

Now all I have to do is prepare for StarCraft 2.

2007
05.18

I’ve been keeping pace with the Linux community for several years now. I followed the SCO case as closely as possible (I even read several of the IBM/Novell dismissal requests). I’m sure that everyone has heard of Microsoft’s latest attempt to thwart the development of many open source projects.

An article was published in Forbes magazine where the legal counsel of Microsoft claimed that Linux and associated open source projects violate 235 patents owned by Microsoft. This is an extremely bold move to make for the Redmond software giant, especially considering their current success (or lack thereof) with Vista. They have been struggling against the 800-pound gorilla that is Linux for several years now. First, they ignored it, then they studied it, then they wrote it off as a more costly product. Recently, they even struck a deal with Novell that has been met with much disgust in the community. Now they’re trying to lay down a serious cloud of doubt on all things Linux.

Linux has grown from a graduate student’s project to a multi-billion dollar business. IBM, HP, Sony, NEC, the United States Government (and I’m sure other governments), Novell, RedHat, and many more large companies have decided to put much weight behind this phenomenon that is open source development. There are also thousands and thousands of average Joe’s sitting at home contributing to hundreds of Linux projects. Even I have given back to the community. Now Microsoft is trying to say that many of them have violated patents.

I’m not quite sure that Microsoft has realized that they have now stirred the hornet’s nest.

There are a few possible things that can happen from this. First, this could just be an empty threat to try and scare people away from buying Linux or related projects from large vendors (read: IBM, HP, Novell, RedHat). If they were to actually succeed at this, I’m sure these large vendors will respond harshly and draw Microsoft into the quicksand with them by taking them to court. This tactic is a risky one because if they actually succeed, they may still lose in the end.

Another thing is that Microsoft might not be making idle threats. Since they area already extorting their customers, they might feel they have enough muscle to bully RedHat or NEC. They might have enough bravery to go after IBM. The important thing is, no matter who they go after, the community will lunge for the jugular. Just like when SCO tried to claim ownership of other people’s work, the Linux community will viciously attack back and will not relent. Linux zealots of all walks of life came out of the woodwork to support Linux when SCO tried their thug-like tactics. SCO was quickly made a fool (especially when Novell discovered they never actually sold Unix), and the same is likely to happen to Microsoft.

Even if Microsoft does hold patents that could possibly be infringing, they will start an avalanche they cannot control. Depending on how IBM responds, this could end up sparking a massive patent reform. IBM’s response is key to what happens here. To those who don’t remember, IBM basically invented the modern OS. They obtained patents on most all things related to the OS decades ago. Those patents have long since expired.

In part 2 of this, I’ll review some of the absurd patent claims Microsoft might be making.

2007
05.12

Down Time

The last week has been fantastic. I’ve been enjoying some time off before the summer break starts. Last Saturday, I cheated on my current love for a brief affair with God Of War 2. I bought it when it came out and was determined to beat it in less than a week. It took approximately 3 days and I beat it on Normal mode. I hope to start Titan mode tomorrow and be done with it by next weekend.

In the meantime, I have taken it upon myself to start reporting bugs in applications I tend to use. I’ve reported 6 on bugs.gnome.org so far. In fact, I actually submitted a patch for an Anjuta bug I had discovered on 64-bit systems only. You can see my name in the release notes even! I’d like to try and start working a few other bug fixes, but I had trouble setting up my system to build the svn sources without actually installing everything (depends) from source. I prefer keeping a clean Gentoo system and don’t really want to mangle it by installing things from source.

Anyways, I thought it was pretty neat that my name was in a Changelog.

2007
05.06

Twenty Five

Twenty five years ago from yesterday, I was born. It was a strange coincidence to be born on Cinco De Mayo, as it made for some rather fun birthday parties in central Texas as a kid. It’s a little bizarre to think that I’m a quarter of a century old now, exactly half of my parent’s age again.

Some of my birthdays in recent years have been kinda crappy. I’ve had finals on my birthday, been out of town and away from friends/loved-ones, and even had Mother’s Day on the same day (happens once every 7 years, as it will next year). I’ve some good ones and some bad ones. I’ve had to work on my birthday as well.

Not this year. I had my Artificial Intelligence Qualification Exam on the 3rd. The week leading up to yesterday, I spent being sick. I had developed a migraine on Wednesday, allergies, and a sore throat. I was starting to feel better by the end of the week though. Yesterday started off my running in the White Rock ‘n Roll 5 mile race in Dallas. I’ve had much better runs before, but I was battling a headache and restricted air flow due to the phlegm buildup. I had to stop every half-mile or so and cough up some really nasty mucus. In the end, I still managed to shave about 12 seconds off my 10K PR pace.

The after party to that race was pretty sweet. They had a ton of food like pizza, pigs-in-the-blanket, bananas, oranges, and breakfast burritos. They were even serving beer from a keg! I’ve argued before that the best post run drink can quite often be a beer, so I definitely grabbed myself one. 9:30 in the morning and I had already started drinking.

I took Sunshine to the gym to meet with her trainer while I went and cashed a few checks and hunted for a James Bond DVD boxset. It’s been on my wish list ever since I learned of their existence. Then we met up with some of my running buddies at Chuy’s in Downtown Dallas. Not everyone ran in that race, but Chuy’s has a way of bringing people out of hiding. I had several more drinks there, rendering myself incapable of driving.

By time we got home, I remembered why I don’t normally drink. It makes me sleepy. I always get very tired the more I drink. This time, I had passed out in the car on the way home (Sunshine was driving), and napped when we got back. That definitely did not help with ridding me of the headache.

We still had plans for the evening, so we headed out to Arlington. I bought some decent tickets to the Rangers vs. Blue Jays game earlier in the week. I haven’t been to a baseball game since I was a kid and I was just as excited. I ate a classic hot-dog, a pretzel, and had a blast. The stadium wasn’t too crowded, so we had enough room to move about, but there was still plenty of people in attendance. We even got to see Sammy Sosa strike out. I think we’re going to go catch a few more games this year, so it’s a good thing I can get discount tickets through my employer.

Anyways, all in all, I had a pretty spectacular birthday this year. It’s a shame that I wasn’t able to give Sunshine the equivalent for her birthday; I’ll have to plan ahead for next year.