Mike Schaeffer's Blog

Articles with tag: tech
November 18, 2006

It's been about two months since I've installed Ubuntu Linux on my Dell Inspiron 6000 laptop. The initial impression was highly positive, but two months later the reality is starting to wear a little thin. After switching to Ubuntu Linux my laptop is slower, less media-savvy, uglier, and less compatible than it was before. The thing that is sad about this is that as much as Linux has improved, it feels like it is lagging behind Windows more than it did ten years ago (the last time I used Linux full-time).

In a way, this relative lag is not too suprising; It is caused by the convergance of two sets of industry trends over the last ten years. Ten years ago, the commonplace Windows was Windows 95, based on the old 16-bit Windows 3.x kernel; In 2006 the commonplace Windows is Windows XP, based on the much more robust Windows NT kernel. Ten years ago, 3D graphics, video playback, and the Internet were only beginning to emerge in the mainstream; In 2006, these applications define the mainstream. Linux's kernel might still be better than Windows, but it's less better now than it was ten years ago, eroding its relative advantage. At the same time Linux's advantage in kernel technology has been eroded, computers are increasingly used for things that essentially require access to propriatary content and technolgy. The Microsoft windows license fee pays for things like high quality fonts, licences for MP3 and DVD CODEC's, and sophisiticated 3D hardware support. It is either difficult or impossible to replace these things in an open source model, so, to the extent they are becoming more important, Linux increasingly suffers in contrast to its closed course, license-for-fee competition.

One example of how this might directly impact people is MP3 playback. MP3 playback is built into Windows: the Windows licence fee enables Microsoft to pay the Fraunhofer institute's license fee for the MP3 patent. in contrast, MP3 playback is deliberately excluded from Ubuntu Linux because it's patented and, despite the fact that Fluendo has paid for a patent licence and written a GStreamer CODEC, the CODEC is not open source and doesn't match Ubuntu's licensing model. Thus, while it is possible to add MP3 support to Ubuntu Linux, it takes the extra step of downloading and installing a CODEC. The same is true for DVD and MPEG video, not to mention that it will be true for Blu-Ray and HD-DVD (assuming the protection mechanisms on those two are ever broken, which has its own ironies).

What is key to realize about this situation is that it is as intrinsic to the open source model as it is to the closed source model. Open source software precludes payment of license fees, closed source requires it; Open source software precludes enforcement of trade secrets, closed source enables it. Neither of these models is necessarily 'wrong', but as our computational lives become more dependant on technology that requires license fees or technolgy protected by trade secrecy, open source will comparatively suffer more and more. No amount of prosletyzing on the benefits of Open source software will change either this fact or the moral right of those who invest their blood, sweat, and tears into propriatary technology to demand payment for their efforts. The best that advocates of openness can do is to act as revolutionaries by living the cause, advocating its values, and hoping that enough people follow their lead to build a critical mass.

However, like other 'revolutions', the Linux/Open source software cause isn't necessarily an easy cause to live. As I've been finding out once more, the switch to Linux is a sometimes painful struggle through mediocre software, bad asthetics, poor integration, and steep learning curves. The question I'm struggling with right now is is it even worth it? The older I get and the more external responsibilities I have, computers seem more and more like a tool for life and less and less like a way of life. The 5-10 hours a week I spent maintaining and integrating my Linux machines back in college is a much higher price to pay now than it was then. No matter how much I might like for my son to live in a world of free, open information and powerful free software, it would be very difficult to justify taking enough time away from him and my wife to make a useful contribution to the fight to make it happen. This is particulaly true if fighting the open source fight somehow comprimises my actual paying job, which is definately possible. I work for a Windows shop, and my management could give a rat's ass about the theoretical benefits of open source if it compromises my ability to serve our clients. One flubbed presentation due to a flaky Linux installation could do just that, and it would be very hard to use the benefits of Linux to explain it away to the folks to whom I sell my time. Maybe the upshot of this is that Linux is, like other revolutions, a young person's battle. However, unlike other revolutions, Linux requires direct participation to reap the benefits; If you aren't using open software, you're still at the mercy of closed software vendors. If this is really the case, and Linux really is for the 'young', then when will it ever become relevant to the broader audience of Windows and Mac OS X users? I just don't know. I will keep up the struggle for a while longer, January 2007 seems like a good time to reassess.

September 15, 2006

I ran Linux for a few years back in college ('94-'97), lapsing back to Windows for professional reasons when I started working full time. After ten years of running Windows full time, I finally got sick of its crap (excuse my French), replaced the 40GB disk on my Dell Inspiron 6000 laptop with a brand new 120GB and installed Ubuntu 6.06. Two partitions: one swap and one ext3. No Windows partition, no dual boot. This happened a couple days ago, and the experience has been almost uniformly positive. To wit:

  • Suspend to memory and (more importantly) suspend to disk both worked properly the first time out of the box, no questions asked. The only 'issue' is that the fit and finish isn't quite as nice as on Windows. Windows has a nice progress bar for the suspend process and on Linux the display goes through a couple corrupt screens full of noise before getting to the desktop.
  • The widescreen 2MP display was recognized immediately. Installing the Ubuntu packages for flgrx got 3-D acceleration on my ATI Radeon X300 working with no trouble at all. All I need to do now is get a nice compositing window manager. Update: ATI's X300 driver deliberately doesn't with the Composite extension necessary to run a compositing window manager. Oh well.
  • WiFi almost worked out of the box, the exception being the Wifi activity light on the laptop's case. It never lights up, which made enabling the radio confusing but doesn't seem to have caused any other problems.
  • The base Ubuntu is pretty sparse, but it was trivial to install 2GB worth of development tools with Synapitics after the install. Synaptics works well enough that I question why bother with Fedora's 5CD install process. (Out of a historical sympathy for Redhat 6, I first tried installing Fedora Core 5 and had a hard time getting Windows XP to do a valid burn of CD 3. This is why I wound up with Ubuntu.)
  • Plugging in USB keys and drives worked out of the box the first time, even for read-only accsss of my NTFS formatted external 120GB disk.
  • A video recorded on my wife's Canon SD400 showed up with a thumbnail in Nautilus and played, with audio, with the default media player.
  • Audio worked out of the box, even the annoying startup sounds.
  • The qemu emulator and tne kqemu accelerator (hopefully, my Windows solution) both compiled and ran easily. Update: All I had to do do boot Windows XP was start qemu with an image created by saying dd if=/dev/sdb of=orig.img. Of course, Windows XP immediately started complaining about not being activated. We'll see if MS lets me reactivate it: I have a license to run XP on this machine, even if the expectation was that I'd run it on raw hardware rather than via emulation. Oh, and it's too soon to really tell about performance, but it looks usable for filling out timecards, etc.
  • I wasn't expecting it, but I've been able to open and work with several work-related Word for Windows documents using OpenOffice.

Of course there are problems, but overall this is amazing. The last time I ran Linux, it took weeks of downloading and compiling source code and extensive script customization to get things to work right. Setting up X11 to not blow up my then brand new $1,300 Sony GDM-17SE1 17 inch monitor gave me night sweats for days. Once it did work, there were half a dozen different widget sets on the screen at any time and your choices for word processing included Andrew ez, groff, and/or TeX. Linux has come a long way.

August 28, 2006

One of the 'downsides' of the way Blosxom is implemented is that is relies on a post file's modification date to assign a date to the post. This makes editing files a little tricky: editing files on a Unix box updates the modification date and therefore promotes the post to the top of the blog. I don't know if there's a better way to do this, but I've written a little script that edits a file, making sure to restore the previous modification date.

The implementation is pretty simple: it uses mktemp to create a temporary file and touch -r to copy the modification dates from the post file to the temporary file and back. Be sure to modify the #! line to point to your installation of bash, should you decide to use this script. A nice generalization of this script would have it prompt for a description of the update and add the text to the post.

#!/usr/local/bin/bash

if [ $# -ne 1 ]
then
  echo
  echo "This script expects a command line argument: the
  echo "name of the post to edit."
  exit 1
fi

DATE_MARKER=`mktemp /tmp/date_marker.XXXXXX` || exit 1

touch -r $1 ${DATE_MARKER}

${EDITOR} $1

touch -r ${DATE_MARKER} $1

rm ${DATE_MARKER}
July 24, 2006

I recently had the opportunity (need?) to do some business through the RentACoder website. If you're not familar with RentACoder, it is an online clearinghouse for contract programming and data entry. It has an interface for potential buyers to submit bids and coders to respond with offers to do the work. If an offer is good enough, it is accepted and payment funds are kept in escrow by RAC. While a bid is in progress RAC provides arbitration services and limited schedule tracking. Communications between the parties can be done through the website, in which case they are considered binding by RAC's arbitration process.

The work I had done through RAC was pretty simple and easy to specify: extract a specific table from each of 1,200 PDF files and translate it to CSV format. The difficulty is that these were scanned PDF files and not generated with embedded text data, which made it a very manual process. Image quality was low enough that OCR software was highly unreliable.

After dividing the work into 11 phases, I submitted a bid request and got around 20 bids within a couple days. The bids all ranged between 50-100% of my maximum amount and, with one exception, were entirely from coders in Pakistan, India, or Romania. The exception, a guy in Colorado, backed out as soon as he saw that the PDF files were scanned rather than textual. If you are an American paying for an American lifestyle, and are considering offering your services through RAC, you ought to consider with whom you're competing. You need to be very specialized or willing to work for low wage rates to be competitive. From the point of view of a buyer on RAC, the coder could be located on Mars and it wouldn't really matter all that much: this is true globalization at work.

Anyway, the rest of my RAC story is that there is no story. Over the course of about a month, I entered and completed RAC contracts for all 11 phases of work plus a re-entry phase for verification. Basically all of the contracts were on time, on budget, and of high quality. RAC did it's job and there were no problems. Admittedly, my bids were for limited, easily specified work, but I'd do it again in a heartbeat.

Older Articles...