Too Much Time on my Hands?

March 18, 2012 by  

Author’s Note: This piece was written in May, 2009.

As I approach month five of unemployment, I look more and more for simple and inexpensive projects to occupy the time I’m not spending looking for work. I was laid off in January from a job I held for almost 27 years. The first two months were taken up with almost daily classes and webinars held by the outstanding outplacement company, Right Management, who helped me build a competitive resume, and provided me with the tools I need for finding a new job in the 21st century with seminars on topics including how to best use LinkedIn (here’s my LinkedIn page), financial management, body language, interview skills, cover letters, and more. My former employer paid substantial bucks for two months of this program, and I remain in their alumniprogram, where I have access to all of their research and their online services.

Problem is, other than spending a few hours a day hunting the job boards, making phone calls, building my network, going to the gym, etc., there are still a number of hours each week that I would otherwise spend in front of the TV, growing moss on my north side.

I want to build a 4 terabyte RAID array media server so I can rip my DVDs and store them away, but there’s no money for that right now. I began scaling-down my wishes to something I could achieve with literally no money and thought, how about a streaming iTunes server? Seemed like an achievable goal.

I took inventory of my mounds of obsolete electronic junk that seems to occupy every square inch of space in my little townhouse (just ask my brother, Guy), and found nearly all the pieces.

I had an elderly Compaq 633 MHz Celeron processor PC with 512 MB of RAM (the most it can take). Then I remembered I had four unused 200 GB IDE hard drives lying around that I had purchased a few years ago for another project that fizzled, along with an even older 40 GB drive that I had intended to put into my old beige PowerMac G3 tower, but never got around to it. I bought that PC back in 2000 for my MCSE training classes as an open box sale item at Circuit City, and had it running quite adequately with Windows 2000 Server using the Services for Macintosh feature.

I knew I didn’t want to continue using Windows 2000 Server, so I had to decide on an operating system. The obvious choice was some brand of Linux. I had successfully installed Ubuntu Linux on my MacBook under VMWare Fusion. Seemed like an easy thing to just do it again. Aaaaaa. I tore the house apart and could not find that DVD for the life of me. Time for a road trip, I decided, and headed off to my nearest Barnes & Noble to search the magazine racks for one of the many Linux magazines that offer distributions on DVD. No Ubuntu that day. I could have gotten three or four others, but settled on OpenSUSE, which is published by Novell (remember them?). $15 lighter, I headed home.

Sidebar #1: I could have also gotten this (or any other Linux) distribution for free by downloading a multi-gigabyte file from the web, but I didn’t want to do so for a few reasons:

  1. Didn’t want to lose net access for the better part of a day while the distro downloaded, as it would saturate my crummy DSL connection.
  2. Because I’m running a webserver from home, due to the high level of net traffic while downloading, access to the webserver would be severely curtailed.
  3. I didn’t want to risk missing important emails from recruiters or potential employers.
  4. I simply didn’t want to wait (probably the REAL reason…).

I opened up the old Compaq, quickly replaced the drives, and buttoned things up. I popped the DVD in the drive and powered it up. Like the cereal commercial said, “nuttin, honey.” Then it hit me, the drive in that old Compaq was just a CD drive. I didn’t want to take another road trip, so I took an inexpensive LG external USB CD/DVD burner that was lying around, separated the IDE to USB piece that was screwed in onto the back of the drive, opened the Compaq back up, and swapped the old CD drive for the LG DVD burner.

Everything again buttoned up, I powered things up, opened the DVD drive tray, popped in the OpenSUSE DVD, and the rest was blessedly automatic. The computer booted up with the DVD, formatted and partitioned both hard drives, and installed everything with little or no intervention on my part. Neat! Just like a Mac!

With everything installed, and the computer rebooted with the DVD removed, all was going well. I then ran the software updater program, which, like Apple’s Software Update application, goes out to some server out there, compares what’s installed to what’s the latest, downloads, and automatically installs all the updates. With a reboot, it was ready for the next step.

Okay, I now had a Linux machine running on a glacially slow PC. What next? I needed to be able to connect my Mac with the new Linux box so I could copy my iTunes library to it. Enter netatalk. Netatalk is an AppleTalk and Apple file system emulator that makes your Linux box look like another Mac to the Macs on your network.

Sidebar #2: The major Linux distributions support enormous libraries of preconfigured open source applications, maintained by an army of volunteers who truly define what the open source movement is all about. What this means for you is that much of the rather arcane stuff that makes up Linux is hidden from us, the great unwashed masses. When you run the software installer application, the operating system goes out to a server somewhere in the cloud (sorry, I just had to say that), and downloads a list of what software is available, with brief descriptions. You can then pick and choose from this list, push the Go button, and sit back while the operating system does the rest. The installer is smart enough to know that if there are dependencies (other device and software drivers that are not part of the program file), they will be downloaded and installed in a separate process. For the most part, if you stick to the list of preconfigured applications, this will all be done for you. For traditional Mac and PC users, this is even more critical, because in many cases, these open source applications are stored as source code, not as compiled binaries. Depending upon what options need to be added to the application, you may actually be downloading source code, and the installer scripts integrate the various pieces and then compile the source code into a finished executable application. With a few exceptions, this all happens in the background and is managed by the software installation program.

I used OpenSUSE’s software installer to locate, download, and install netatalk. That worked very well. It was still necessary to edit some configuration files to tell the operating system and netatalk which directories need to be published to your network (sorry–no GUI for that). Let’s just say that the documentation for this is pretty sparse. Remember, this is not a Mac. Some things can’t be automatically configured, and most Linux folks assume you know all about Linux and its many mysteries, and look upon duffers like us with great disdain. There may be additional configuration issues if you are using Leopard (MacOS X 10.5.x), because it requires passwords to be sent in encrypted form to Apple Filing Protocol servers (prior to Leopard, standard AppleShare installations sent passwords in the clear). I’m still using Tiger, so I don’t have this problem (yet), but figured it would be a good thing to have. Anyhow, I installed netatalk, edited the necessary files, went to the services menu to have netatalk automatically activate when the system is booted, and then I, well, rebooted. Once it was all booted up (it takes a few minutes–this is a 633 MHz Celeron processor after all!), I went to my Mac, went to the Finder, and selected Go>Connect to Server>Browse, and there was my Linux box! I logged in and created a folder for my music files.

Another digression… When it comes to instructions to configure many of these apps, do not depend upon the developers to provide much of anything. Just remember this: Google is your friend. By setting up reasonably clear search terms (like “ubuntu netatalk configure”), I found scads of web pages, user forums, and other net resources where members of the user community who had gone down this path before, shared their findings with clear, explicit instructions on how to perform almost any task you can think of. Again–Google is your friend.

Next, I went to my Mac, navigated to the Music folder, and dragged the contents of my iTunes Music folder to the Music folder on my Linux box, mounted on my Mac’s desktop. As my iTunes folder held about 100 GB of stuff (including a bunch of movies from YouTube and lots of podcasts), it took about 6 hours to move everything (the Compaq only had a 10/100 ethernet card, and with that slow processor, a 100 megabit connection probably saturates that connection–so a gigabit card would likely make no big difference in the time it would take to move all those files).

So, to recap, I now had a Compaq 633 MHz PC running OpenSUSE 11.1 Linux. I installed netatalk to optimize the connectivity between my Macs and the Linux box. I moved 100 GB of media files to that box. Next, I needed to install something that could be used to stream my music library to my network, so that I could either access it via a web page, or preferably, directly from any iTunes app connected to my home network.

I first downloaded and attempted to install the Firefly Media Server application (also known by the catchy name, md-daapd), an open source music streamer developed for the various products put out by Roku. That didn’t go so well. I got an error message that it couldn’t find a compatible compiler. I finally got some of this straightened out, but after fighting it for almost a week, I gave up and decided to try a new tack. Because I was having so many problems finding configuration files and installation help from the OpenSUSE community, but saw lots of great information from the Ubuntu community, I did the unthinkable. I got back in my car, went to another relatively nearby Barnes & Noble, and found a Linux magazine with the Ubuntu distribution software. When I got home, I literally started all over. I had the Ubuntu installer repartition and erase the drives (not a completely intuitive process), and after a lot of DVD drive whirring and lots of strange text scrolling by on the screen really quickly, I had a complete Ubuntu 8.1 installation. The very first two messages I got on the screen were: 1) Install updated files, and 2) upgrade Ubuntu to version 9.0.4. I skipped the first and went straight to the second. Another three hours and lots of files downloaded later, I had Ubuntu 9.0.4 installed and fully functional.

Next, I found a really excellent and complete set of instructions to install netatalk on Ubuntu Linux, including the necessary security patches, and a separate installation of Avahi, that adds Bonjour-like capabilities to Linux, making it easy to find network resources without having to dial in IP addresses and such. The next step was something most of you have probably never done before (and fortunately, most of it was handled automatically). I had to actually build the patched application with the Linux compiler! This stuff is not for the faint-of-heart. Again, the online instructions were superb, so it was just a matter of following instructions and waiting until it was all done–in about 45 minutes. After the remaining configuration was performed with the terminal application and a text editor (so I could log in at the root level), I was able to easily spot the Linux box from my Mac, and connected to the appropriate spot. I again copied my iTunes music folder to the Linux machine and went to bed. The next morning, the files had transferred without a hitch, and it was again time to attempt to install and set up the iTunes server app, mt-daapd (just kind of rolls off the tongue, doesn’t it?). Even with all the net resources available, it defied my every attempt to get it to work reliably. I installed, reinstalled, installed older versions, installed alpha versions, and sometimes it might come up, and other times it wouldn’t. When it was working, I realized that making playlists for this thing would be a lesson in tediousness, the likes of which I haven’t experienced since I had to manually add format tags to every paragraph of a 750 page book a couple of years ago. I know tediousness when I see it.

I found an open source application, iTunes Export, that extracted the iTunes playlists in a more universal file format, .m3u, which mt-daapd (love that name!) can understand and utilize.

Okay, I now had an old Celeron PC running Ubuntu 9.0.4 with netatalk and Avahi very reliably. As of this writing, mt-daapd continues to defy me at every turn, and I’m just about to scrap the whole thing. In my travails, I did find a few alternate DAAP server programs, such as Tangerine, but it doesn’t work with playlists, and has its own stability issues. One final piece I will probably test is a music player app with some DAAP capabilities called Exaile. It seems to be getting some good comments online. I might spend another day or two seeking other alternatives, but not much more time than that. There are a number of iTunes-like applications out there that can provide DAAP services along with their local music playing features. For the most part, though, I’m done. I’ve wasted almost three weeks with this project, and yes, I can probably say I know a lot more about Linux now, but at the cost of my sanity. I’ll even save a few bucks on my electric bill by turning the Linux box off.

I think there are some lessons to be learned here:

  • It’s easy to build a Linux box with almost any old PC you might have lying about.
  • It’s easy to add Apple File Protocol and Bonjour services to the Linux box so you can use it as a file server, and with a few additional tweaks, even a TimeMachine box.
  • If your printer provides Bonjour services, installation and configuration on a Linux box is almost a hands-free affair. It might be the only thing that’s even somewhat Mac-like.
  • Do I really need an iTunes server?
  • Firefly Media Server, a.k.a. mt-daapd, is evil.
  • Sometimes, free is just too expensive.

If you have an old Mac lying around that you haven’t been able to find a decent use for and hate to just throw it away, consider making it a Linux box. Linux has a much lower RAM footprint, and runs a whole lot faster than you might think on older PPC platforms (604, G3, G4, G5, etc.). The two most popular distributions for Macs are Yellow Dog Linux and the PowerPC port of Debian. The downside is that these distributions are not updated as often as the X86 platform distros. You might not be able to find quite as much application software, or at least the newest versions. You may need to spend more time in the command line customizing, configuring, and compiling distributions. You’ll also be spending a lot of time in Google searching for postings by others who have experienced similar problems and have (hopefully) found solutions. Yes, this is geeky as all heck (this is a family website), but if you enjoy a challenge, boy, will you get it with this! I’ll probably do something with my beige G3/266 tower, and will report back to you when I do. Like that cartoon fish from TV commercial fame (or that nearly as famous San Diego disk jockey from the 70s) might have said, “stay tuna’ed.”