Desktop Linux: Redux

August 13th, 2008

Back in January I described my failed efforts to get Fedora working. That was only one of many previous ultimately failed attempts to switch from Windows. However, the release of KDE 4 was compelling enough to get me to try again. KDE is one of the two major desktop environments for Linux. Both the KDE and Gnome projects have been trying for years to develop a desktop environment better than Windows or Mac, and in my opinion, KDE 4 is the first thing that actually seems to have a chance.

The Linux distribution I chose this time was openSUSE, since they jumped on the KDE 4 bandwagon before most of the others. They also had a newer version of the kernel, which I hoped meant it was more likely to work with my hardware. Right away I was impressed with the installer. Everything was attractive, the console screens were better hidden than in the past, and then the problems started.

My intention with this post isn't to chronicle each problem I encountered (though there were many), but rather to talk about the end result. After several reinstalls, editing my boot loader files, recompiling the kernel, package repository failures, much time spent at the console, many web forums visited, and hours upon hours of time, last night I was able to play a video file and an mp3 from my media drive. This may sound like a pitifully basic thing, but my media drive is a Windows-formatted RAID 5 array of sata disks running on an Intel onboard software RAID controller. MP3 is a codec that isn't supported natively in free Linux distributions because it's licensed. Version 4.1 of KDE is not the one that comes with openSUSE 11, and I didn't want to download and install one just to upgrade it.

Now, there is still a lot to do. I have to get the media drive to mount at boot and file sharing isn't completely set up. I installed Wine, but I haven't tried to get my games working yet. I have to test some other media files to make sure all of my codecs are there, and I need to install some more web plug-ins. My mouse buttons aren't configured the way I like them. I'm sure other things will crop up as well.

Knowing what I've learned through this process, I actually could have gotten all of this working without ever touching a console. The package manager has some limitations, but I can actually get almost all of my software from it, all of installed automatically without any configuration on my part, including the video driver and third party applications. All of the configuration that I needed to do could be done through gui-driven applets. The KDE 4.1 environment has a couple of glitches, but is gorgeous and very usable.

I don't know yet if I'll stay on Linux. A lot of that depends on whether I can get my games to work with Wine. Windows really hasn't given me any problems in a while, so the driver here wasn't getting off of Windows, but trying KDE 4. Say what you will about Windows, but I've gotten it the way I like it. If I can't get the same level of usability from KDE I won't stick with it. Right now it's got a long way to go, but it took a long time for me to get Windows to this point, so I'll extend it some leeway.

Video Game Head Tracking

January 23rd, 2008

I don't know what to say other than this is the goddamn future. Tycho on Penny Arcade linked to the following video:

If you play video games, particularly first person games, you'll immediately understand what I'm talking about. The best part is that it will be really cheap to add this functionality to any system. Step 1: add IR LEDs to the headset everyone is already wearing. Step 2: make an IR sensor akin to the one in Wiimote and then build it into a webcam (ideally one with a servo, but you could also pull it off with a wide angle lens and software), because you don't have to be a genius to start realizing some of the other functionality this can deliver.

Now, to the guy's point, supporting multiple people on a single screen is currently impossible, but you could still do a split screen on a tv if the sensor were able to track multiple people (say by using different wavelengths of IR). I can see that being a development down the road. Moving past games and telepresence video conferencing, you could use this to make text more readable when off to the side or to do better 3D prototyping. I'm really hoping this gets picked up by someone. It's got too much potential to be just someone's research project.

Desktop Linux: A Long Way to Go

January 13th, 2008

I have installed Linux more times than I can recall. I've tried many versions of many distros and always eventually given up and gone back to Windows. Each time, though, I start thinking that there's something better out there. A done-right variant that combines the freedom to decide how my desktop should look and work with a well thought out design. Little things that irk me to this day about Windows, like windows stealing focus or usb drive letters conflicting with a network drive or reboot prompts for updates to the media player or any number of other constant irritations.

So a few months back I tried Ubuntu because I had heard good things. I put it in a VM and it worked quite well, but one of the things I wanted to try out was the 3D effects and 3D Windows games, which don't work in a VM. So I tried booting the Live CD and got an endless stream of errors and then a shell. Not so polished. I tracked the issue down to my drive controller, but there wasn't an easy way to fix it. A few months went by and I upgraded the computer. I tried installing on the new computer and got nearly the same result. Oh well.

Not to be dissauded, I downloaded Fedora, and sure enough it installed just fine! Well, except for the video driver. I was stuck at 800x600. I download the video driver (the fact it is even available shows that progress with Linux is being made) and go to install it, but it craps out because I'm out of disk space, due to the small partition I used. No worries, I'll just uninstall some stuff, right? Well, the Add/Remove throws an error, and when I run it a second time it uninstalls most of the OS including the Add/Remove Programs applet -despite me not selecting any of that- and I'm left without so much as a terminal to try and fix the problem.

This might have been the end of it if I hadn't been forced to reinstall after deleting the Linux partition only to realize I could no longer boot to Windows because the boot loader had been on the Linux partition. So, with it reinstalled and enough hard drive space, I tried to install the video driver once again. This time it extracted and told me it wouldn't install while X was running. So I tried to find another way to install it, and then when I got X to stop by selecting an Nvidia video driver from the built in list, it wouldn't let me log in at the console because it kept giving me X errors. Eventually I rebooted into Windows, fairly sure that it was once again mostly unusable.

The point in relating this is mostly to underscore my ongoing disappointment with the state of Linux. Even now, years after the "easy to use" distros started coming out and the quality of the environment improved to the point where the fonts don't look shitty and the applications got nice, it's still showing me a text logon while X loads until the gui one is displayed, still has dumb usability flaws and little to no safeguard against a user trashing the system within ten minutes of logging in. I understand that the point is to give the user control over the system, but installing a video driver should be point and click, not a command line, and it shouldn't require you to shut down your whole desktop environment. If these options are in Fedora, and I missed them, then the problem is complexity. The display drivers screen gave me no way to point it at a different driver that I could see. The instructions on Nvidia's site said to run it from a command line.

I'm not giving up yet, since I still hold out hope that the thing can work once I overcome the sizeable barriers at the gate, but it isn't a very welcoming system, and it's really no wonder adoption is so low.

Routing Router Routes

March 7th, 2007

I figured out at some point that the Netgear 802.11g wireless access point /router/switch I bought a couple years ago was the reason I couldn't VPN into work any more. Apparently it took me two years to figure that out, which may show how often I use VPN. However, having made that determination and exhausted all Internet remedies of port forward, nonexistent IPSEC options, and already having the latest firmware, I decided I needed a new one.

So after some Internet research we went to Best Buy, where I was presented with an array of options, though I quickly narrowed it down to two routers. Both had a four port gigabit switch, both supported the draft 'N' standard, both had MIMO (multiple radios), and both would meet my needs for the next couple years or so. However, the Linksys was $50 more and looked like it had fallen off the set of Lost in Space. The Netgear, despite my misgivings of the current model and its VPN woes, had no external antennas and was very attractive (and as I said, was $50 less). So I bought the Netgear.

After getting it home and discovering that one of its new features was taking roughly 20 seconds to save just about any change you made, it began to periodically (every ten minutes or so) briefly disconnect the computer. You know there's something wrong when the wireless is more reliable than the wired. After an evening of this and a couple of dropped Internet connections, I decided that even though VPN worked now and that was really amazing, the new router needed to be returned.

Thinking the odyssey nearly over, I stopped back at Best Buy to exchange it, only to find that they didn't have any left. Still not wanting to spend the $50 extra on the Linksys I opted to get a refund, leaving me right back where I started. The next day we went to Circuit City, which didn't even sell the Netgear, followed by CompUSA which was closing and had a 30% off sale. That sounded great, though none of the many visible price tags revealed until we were at the register that even after the 30% discount it was still actually more than Best Buy's regular price. So we went to a different Best Buy, found it, bought it, got it home, spent another age waiting for 20 second setting saves, and I type this to you now via a much more stable, VPN-ready, very attractive router.

The Endless Upgrade Cycle

March 2nd, 2007

I need to figure out what to do about my server. Every day when I go into the office at home, I hear the most awful noises coming from the closet. The noises are the sounds of a dying fan, and while that in-and-of itself is a simple thing to fix, the server in general is a problem that I've been meaning to resolve.

I was using a Pentium III desktop mid-tower for my server, running Windows XP, since that was all I really needed. The issue was that it didn't fit in the closet very well. So I used another computer I had that was in a SFF case, swapped some parts, and called it a day. This actually made the server slower, since the 1GHz PIII processor could only run at 750MHz on the motherboard I was using, and it only took two sticks of ram. However, I liked that it now fit under the shelf in the corner, so I let it be.

Now, using the system for BitTorrent downloading means it needs a bigger hard drive, the dying fan means I need to get some parts for it, and while I'm at it it'd be nice if it was a bit faster. At the same time, I don't want to spend a lot of money on it, and I don't want to lose the small size. Sarah's P4 1.7GHz computer is going to need an upgrade at some point, since newer games are dogging on it (the reason I upgraded from it last year). Her old computer was a PII, so she's doing better than she was, but a lot of games are on the edge of unplayable.

Now, it'd be nice if I could use her current computer as the new server, but the case is too big, and putting it in a new SFF case means a new motherboard, at which point I start wondering if I should just build a new box. At that point, I get back to my dreams of a 8-drive RAID array, and the price tag starts getting mighty steep. The last variable in all of this is the full rack server sitting dormant under the filing cabinet. I'd like to use it, but it is much too big for the closet and louder than the trains going by.

Neither Sarah nor I has the spare cash at the moment to do a major upgrade, so I'll probably just buy the stupid fan, ghost the hard drive over to a bigger one, and call it a day.

Data dreams and nightmares

October 30th, 2006

Storage. What a freaking pain. The combination of Bittorrent, fast Internet, and Xbox Media Center gives me an awesome, nearly on-demand digital media library that now rivals my DVD collection. Movies, television, anime, videos, photos, music, documents and more all organized in a single location with inherent reliability and redundancy, available to all systems on the network. That is the dream. The nightmare is that this ever expanding collection constantly outgrows its drives and I keep trying to find a solution that will stave off the dreaded 'out of space' message.

My current setup is the first true implementation of this goal. A RAID 5 array of three 250GB SATA disks. Total capacity: 430GB. Free space: 8GB. I'm going to add another 250GB disk which will translate into about 200GB more space, but that will only hold me at the current rate for about six months.

What I want is an 8 drive RAID 5 SATA NAS. With that I can build out gradually on a larger disk size, like 500GB. That will keep me for quite a while, much longer than the 4 drive maximum I have now. The problem is that the ones for sale are extremely expensive, and building my own isn't much cheaper. I'll keep looking for a way to build it on the cheap as I fill up what I've got, and if I find something, I'll share it.

Say what?

October 15th, 2006

Today's Thought comes to you courtesy of Dragon NaturallySpeaking 9. This entire post is being dictated by voice rather than being typed out by hand. This is one example of a technology that is finally getting to the point where it can be really useful. I've used speech recognition technologies in the past, everywhere from an earlier desktop version and the version of speech recognition that they installed on Macs back in the 90s, to the order-taking Pizza Hut robot. All of these in one way or another failed to live up to the promise that I believe this technology holds. I mean, let's consider the computer on Star Trek and its infinite ability to perceive what is a command and what is idle conversation, and compare that to restating that you want sausage on one half and pepperoni on the other over and over again until finally giving up. I don't know that we'll ever get to the level of the Star Trek computers since it was not real it was only a fictitious portrayal of accurate speech recognition. What I do know is that this technology is finally to the point where I think I may actually use it which is pretty incredible considering how far it's come in so short a time.

The best part of this is that I didn't have to spend a ton of time training it. I did spend a little while reciting some part of the Dogbert management book but other than that it pretty much just understood what I'm saying. I've had to make a couple of corrections as I write this or 'say this' more accurately, but ultimately I think we're looking at the future of human-computer interaction. I encourage anyone that has to type more than a few lines of text on computers on a regular basis to check out this software. If for no other reason purchasing this now will encourage its future development to the point where it will truly replace a lot of what we now use the keyboard for.

Warning: general geekery follows

July 11th, 2005

The ongoing litany of server configuration woes continues. I have Fedora Core 4 installed, which seems largely ok, except that I can't seem to get X Forwarding to work because I don't know what I'm doing. I also can't seem to use the keyboard or mouse much of the time, and despite getting some very basic configuration figured out, it still isn't "clicking" for me. I think I was actually farther along with FreeBSD, which is very, very sad. I must now either resist the urge to try something else and press on, or install Debian or CentOS or something.

It seems strange to me that no one has come up with a distribution of Linux intended to be a fully functional server out of the box. Things like OpenLDAP, ACLs, and Samba are never preconfigured to just work unless they are charging you $799 or better for it. Sure you can get Apache preinstalled and ready to go, but that's about the easiest thing to install anyway. That's one reason to try CentOS is it is essentially a free version of Red Hat Enterprise Server, so it may have some of these things ready to go. Of course, none of the various distro web sites have much information on how they are set up. The best you can hope for is the versions of included packages.

The Devil doth tempt me so

May 4th, 2005

Many times in the past, and probably many times in the future, I oscillate between wanting to use Windows and some other operating system, such as Linux or FreeBSD. Initially this involved my desktop, but to Microsoft's credit, I have not had any desire to change my desktop OS in some time.

The same is not the case with my server. It seems that every time I install some Unix variant it takes me only a short time to conclude that it is complicated and requires more time to learn than I care to invest, or something goes wrong that leads me to conclude that it sucks, and I go back to using Windows. However, as much as I know Windows, it never fails to begin pissing me off to the point that I wonder if there is something better out there.

Recently I set up my sever with Windows Server 2003. I had been running a simple Windows XP server, but decided I wanted to set up a directory so that I could share user accounts across systems, enable internal DNS resolution, and do some DHCP stuff that the router was somewhat limited for. This is in addition to my normal MySQL, Apache, and Communigate configuration. Things seemed to be going well until recently.

First, I can't join systems to my domain. This means I can't share accounts. Second, the directory isn't handling security the way I want and accounts can't log in without granting them more privileges than I'd like to. Next, Communigate administration is broken completely. I can't log in to the web console to add accounts. Dynamic DNS isn't working and I have to manually add systems to get them to resolve, which defeats the purpose. There's no good way to tie existing mail accounts to domain accounts, something I've wanted for a long time, since then users can manage their own passwords. It needs to be rebooted monthly to stay current with patches, it runs slowly, and finally, today it decided to prompt me to activate Windows in the next 6 days or face the consequences. It hasn't mentioned this until now.

So I'm left considering the alternatives. I've wanted to get this working for years, to overcome the learning curve and do something different. Now, with Windows having the gall to want activation, and giving me only six days to find a way to shut it up (incidentally, asking Microsoft for permission to run their OS on my server is not going to happen), on top of all the other issues, it's time to take another stab at conquering the FreeBSD Daemon. I'm going to go with Webmin administration instead of Gnome/KDE in the interest of reducing overhead. At the moment I've only got 256MB of RAM and I'm looking to squeeze what I can out of it.

Finally, the one complicating element is that I'm thinking about trying to use ACLs to control file permissions, since that's how it should be. Wish me luck. If I fail, I can always come crawling back to Windows (again).

Trials of the Net

January 24th, 2005

/begin rant

Why does every DSL provider around require your phone number to check availability? I understand that it is the easiest way to determine if service is available. However, as one of a large and growing number of people that does not have, need, or want home phone service, and furthermore wouldn't have a number anyway because I'm moving, it makes it really difficult to find out pricing, plans features, and availability. I have been to way too many web sites, spent way too much time on hold, and spoken to way too many people that are unclear on the concept of "don't have a phone number".

The crux of the problem is that I want to have an internet connection with a fast upload speed, and I want to find the best price since high upload speeds are rather pricy. Finding out what is available for what price is maddening. In the end I'll probably wind up paying too much for crappy Comcast service. They offer the same upload speed I had in Wisconsin as their "premium" service. Even when I called them, the IVR asked twice for my home phone number before even giving me the option to enter a zip code. After waiting on hold for more than fifteen minutes, I was finally connected to a nice woman who was all set to charge me $70 a month for mediocre service when my cell phone battery died because of all of the half hour long phone calls on hold!

/end rant

In the end, I discovered For a rather high fee they provide me with unbundled DSL at the speed I want, there was no hold time to talk to the associate, and the whole experience was remarkably pleasant. If I decide it is too high a price, they offer a cheaper plan as well.