2010-06-24

Installing software: Linux vs. Windows

I wanted to install the MySql Workbench on my Linux development box. My experience only reaffirmed my position that, despite the many advances made over the years, Linux still isn't quite ready for the masses. I list these steps and problems here, not as a list of what could happen, but as a list of things that actually happened to me at least once during this process.

Although MySql Workbench is the product in question here, this could really apply to any piece of software (and, as noted, did apply to more than one of the libraries I had to try to install in the process).

  • First, I went to the download page for MySql Workbench. They had several packages available, but none that corresponded to my particular version of Linux (CentOS 5.5, roughly equivalent to Red Hat Enterprise Linux 5.5). So, it seemed I was bound to compile from source.
  • I downloaded the source package, unzipped it, and ran ./configure. It proceeded to run a bunch of checks on my system, ultimately stopping when it could not find a certain library it considered critical. I checked the package repository (using whatever GUI front-end to "yum" that comes with CentOS), and found it. Although I did have the library installed, I didn't have the library-devel package installed, which I guess is required for compiling programs against it.
  • Development package installed, I ran ./configure again. And the check immediately after the previous library, it failed to find another critical library. Ok, go back to the software installer and… oh dear, it's not there. Search the internet, find a package for RHEL5, and install it.
  • Run ./configure again. Another library missing. Not in the package installer. Search the internet. No pre-compiled package this time; download the source code. Install library from source. (n.b.: This, and any other time I have to "install from source", means going through this whole series of steps/possibilities for that library. And yes, a library can have a dependency on yet another library [or series of libraries] that I have to go find and install, etc.)
  • Run ./configure. Wait, it says the library I just installed isn't installed. locate library; it's in /usr/local/lib instead of /usr/lib. Figure out how to configure pkg-config to include the other directory.
  • Run ./configure again. Another library problem — the version I have installed is too old. Newer version not in the package installer. Search the internet. No pre-compiled package. Download source. Install library from source. Run ./configure again. Still reporting library is too old. Attempt to remove old library from software manager; decide against it when software manager decides it wants to remove a host of other packages that depend on the existing one (as it is unaware of the newer version I just installed). Find the files that tell pkg-config what's installed, and remove the entries for the older version, so it won't see those before it sees the newer version. (n.b.: I discovered I could do this more easily by telling pkg-config to look in /usr/local/lib first, and /usr/lib second.)
  • Run ./configure again. Another missing library. Not in the package installer. Search the internet. No pre-compiled package. Download source. Attempt to compile library from source code, get an error. Search the internet. Find that someone has submitted a patch for that problem. Apply patch. Compile and install library.
  • Run ./configure again. Configuration completes. Attempt to compile. Get errors about missing symbols. Go online, find a reference to the problem and an invitation to join an irc chat room for support.
  • Install irc client and join chat room. Told that the version of Workbench is out of date, and given a link to the next version.
  • Go to link. Binary package is available — for RHEL6, not 5. Download the source. Run ./configure. Find another library that's too old. Download updated library, and updates of the libraries it depends on. Compile and install.
  • Run ./configure. pkg-config finds the updated version of the libraries, but the next check finds the old version, and demands that I uninstall the old version. Decide against it when I see that attempting to uninstall it from the package manager will uninstall over half of the packages on my system.
  • Decide to throw caution to the wind and download the RHEL6 binary package. Software installer complains that it depends on libraries I don't have and/or have old versions of, and it can't automatically find (including an updated version of some of the MySql database files themselves, which I could not accept, as I have to develop against a specific version of the database to provide accurate support); and it refuses to install.
  • Go to MySql download site. Download Windows version of Workbench to Windows workstation. Double-click installer. Enter connection credentials to database running on Linux. Connect successfully.

I like the idea of Linux; I really do. There are limitless possibilities with it. And I am reasonably confident that, if I ever did get this software installed, I wouldn't need to worry about it again. I have a Linux server at home that took me several days to set up, but once I got it running, I've rarely had to touch it. And on the occasions when I do decide to update it, it works pretty magically.

But when it takes two days of my time to attempt to install a utility — and ultimately failing — when I can do the same task (and succeed) on Windows in less than ten minutes (with most of that time spent downloading the file I want), sometimes I wonder if it'll ever make a viable replacement for an OS that, despite all its problems, most of the time "just works".

2010-06-15

A 400-Pound Doorstop

I woke up Sunday morning to my wife asking me for the password to my laptop, so she could put on a DVD for the toddler; and said toddler explaining in great detail how the TV doesn't turn on when you press the button. The TV had served pretty well for 9 years, but lately it had been showing signs of decay — the lower-left corner was perpetually out of focus, the image would very slightly and very occasionally "fuzz" for just a second), but it had finally given up the ghost.

On the one hand, I had hoped it would survive long enough for 3D technology to mature and become the "standard". On the other, if it's going to die, the week leading up to Father's Day, with the corresponding retail sales, isn't a bad time to do it.

Yesterday, we went out to a certain big electronics store known for blue and yellow polo shirts and compared TVs. Because of where we were putting the TV, we had a fixed size limit. A 50" might have barely fit the space, with a fraction of an inch to spare, but we didn't really want to cut it that close — the kids would be bumping it into the walls with reckless abandon. LED screens did provide a sharper, higher-contrast picture than the plain LCDs, but the technology is still new enough that the price difference was pretty large. In the end, our eyes were drawn to the Samsung models, especially since the quality of the LCD model was quite comparable to the LED (and both models seemed to outshine other brands, both LED and LCD).

Long story short, we brought home the reasonably-on-sale TV and the not-on-sale mount, and paid for Best Buy to come and recycle the old TV. I had figured we would wait for them to remove the old behemoth before we installed the new one, but my wife was insistent on installing it immediately. (Excited for the new TV, or desperate to entertain the kids — you make the call.) We were less than gentle in rolling the old TV out of place (what are we going to do, break it?) and managed to get the new one set up with a minimum of finger-smashing incidents.

We hooked it up to the DVD player and the Xbox, and I spent a little bit of time viewing the videos from E3 and playing the game that happened to be in the disc drive before going to bed. I have to say, it was like getting a new pair of glasses. Everything is much brighter, sharper, clearer, easier to see. I used to complain about the Xbox dashboard and being unable to read the dark-grey-on-light-grey 6-point text (especially since it fell in the out-of-focus area on the old TV), but now, even though I still think it's a less-than-optimal color scheme, I have to say it's insanely easy to read when the letters actually have edges. The game, too, was exceptionally clear and sharp.

The only down side? (Well, besides the knowledge that 3D is coming, and it probably won't be too long that I'll find myself a generation behind again.) My wife wants a blu-ray player to go with it now.

2010-06-05

AT&T showing how data caps stifle services

AT&T is making news for announcing the end of its unlimited 3G wireless data plan. While those who are currently on such a plan can keep it, no one getting a new plan will have "unlimited" even as an option. The reason this is such big news, of course, is because Apple has an exclusive contract with AT&T to provide service for all iPhones and iPads.

I'm not going to debate the popularity of Apple's products, mainly because I don't understand it. I've owned a Tablet PC, and the iPad does less, by design. The iPhone doesn't do any more than a lot of other phones out there. Both devices are locked into Apple's closed and tightly-controlled environment and its single, exclusive service provider. Despite all that, the fact is, the devices are very popular and very hyped. And because of that, people take notice.

Because of the iPad's popularity, media companies are actively looking at streaming more data to these devices. Major media companies have apps for the devices, Netflix can stream movies to them, and more are coming.

And now, AT&T has essentially put a limit on these new services, saying you can only use 200MB or 2GB (depending on your plan) a month.

That number seems extremely low, but how much is it really? There's an article on Clicker.com, titled How Much Video Can You Actually Stream With AT&T’s New Data Plans? that calculates the numbers with real-world data.

Unfortunately, I can't tell if it's high or low. I don't have a data plan personally, as I find them too expensive to deal with and am usually close enough to a PC with a "real" internet connection throughout most of my day. There have been times, though, that I've wished I've had it, but for the most part, it's been a convenience I've been happy enough to live without. (As an aside, I have a Zune with me often, and it can use Wi-Fi when available. However, I have almost never found a convenient open Wi-Fi access point when I need one. So, I find the claims that these new limits won't affect anyone because "open Wi-Fi is everywhere" to be laughable at best, and downright insulting at worst.)

If I were in a position where I had more roaming downtime, such as when I worked downtown and took the bus or train in to work every morning, I could see making a lot of use of 3G services. However, because I drive myself to work, and I work on a computer all day, I think I might end up being one of the "unaffected" lot, finding that my actual usage was well below the cap.

Interestingly enough, though, the measurements only take into account active usage. Sometime soon, the next iPhone OS will be released, and it will allow for multitasking, so that services can be running in the background. What happens when people suddenly have the ability to stream music over 3G in the background while they're doing other things? Data usage will no longer be active, but it'll be racking up passively in the background. Will 200MB be enough then?

2010-06-01

May Bandwidth

In84.90 GB
Out6.38 GB
Total91.29 GB
Comcast's measurement75 GB (-16.29)

Another exciting post in my most consistent blog posting to date. I've noticed that, although SpeedTest.net seems to still report a fairly consistent rate, things in general don't seem quite as fast as they used to be. Netflix movies have a tendency to go "blocky" a little more frequently; YouTube videos don't always download faster than they play back; even Xbox Live updates, which used to download in a couple seconds, seem to take close to a minute to download now; and games don't always report my network status as "green". Not sure what the problem is, or if it's just my perception — from the accounts I've read, even though it took me a couple hours to download the Halo Reach beta from overloaded servers, I still got a better connection than most.

Not that I wouldn't welcome a little competition around here to help keep Comcast on their toes. O FiOS, where art thou?