Mike Schaeffer's Blog

Articles with tag: tech
March 23, 2007

Oracle and their website...

My current day job involves devloping software that uses Oracle as its back end. I've built a local development environment on my laptop using Oracle Express Edition, the freebie give-away version. To make a long story short, I forgot my local database password and had to uninstall, download, and re-install Oracle. To download Oracle, you have to be logged into their website and of course, I had forgotten that password too.

To save folks like me from themselves, Oracle has a password recovery service in their website. This service works like most other similar services: enter your e-mail address and it then resets your password and sends the new one to your e-mail account. What their service does not do is trim the leading and trailing spaces off of the entered e-mail address. It just tries to look up whatever you entered in the password database. If you happen to have a trailing space on your address, it will not recognize it and not do the password reset. Since the website uses a proportional font, and spaces are quite narrow, it's easy to miss the error and you will likely be left wondering why Oracle forgot your account. This seems perfectly in keeping with Oracle's seeming effort to keep their site as obtuse as possible in comparison with Microsoft's developer site. Seriously guys, you sell a platform: Its value is directly proportional to the number of developers coding for it and the amount of code written to it. Make it as easy as possible, and it will only help your bottom line. Microsoft understands this, why don't you?

Tags:tech
November 18, 2006

2 Months With the 'Revolution'.

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

The long^H^H^H^Hshort road to Linux...

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

Updating Posts

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}
Older Articles...