Archive - Aug 2006


August 26th

New script: Convert to FLAC

I've added one more script to my software page. This shell script will convert audio files compressed with a lossless audio codec such as Monkey's Audio or Shorten to the FLAC. The key feature here is that instead of simply transcoding the file to FLAC, it'll preserve and migrate any tag information as well.

Additional details can be found on the Convert to FLAC home page.

Please also note that this is essentially an extension of the apetoflac script I posted last week to handle more input formats. Since this script completely supercedes apetoflac, I've removed all references to it from the apeinfo page and simply link to Convert to FLAC instead.

New Application: Get Album Art

I've added a new application to my software page. Get Album Art is a PHP script that does exactly what you'd expect - it locates and downloads the CD cover image for any given album.

Details and download links can be found on the app's home page.

August 25th

Updated News Feed

I made some significant updates to the RSS news feed for Among the changes:

  • Feed is now fully RSS 2.0 compiant
  • Each item now includes time posted
  • Each item now includes its category
  • Greatly improved the XSL transformation (used to define how the feed is displayed in web browsers
  • HTML content is now rendered properly
  • XSL should now render correctly in Mozilla/Firefox, IE, Opera, and Safari

The updated feed can be viewed here.

New Orleans - The Road Back

There's an interesting post on the Metroblogging New Orleans site today titled "The Road Back." It discusses a few recent articles in The Times-Picayune (the daily newspaper for the Greater New Orleans area) concerning the current economy, and the various difficulties encoutnered on a daily basis by those that have already moved back home. It's a pretty enlightening read, especially the newspaper articles. For convenience, I've linked to the articles below.

Post-Katrina New Orleans proves pricey
Wounded N.O. economy remains in coma
Some who returned to New Orleans consider leaving (not the T-P, but still worth reading)

August 23rd

New Bookmarks

I've updated my Bookmarks page. This list primarily consists of a new Music category, listing my favorite artists, unofficial fan websites, digital audio information, and various other resources. Feel free to check it out if this sounds like something in which you're interested.

August 21st

Audio Resources

I spend a lot of time listening to and working with music, so I thought I'd post a list of some of the more useful audio-related sites and software I use. If you know of any good resources that I've left out, please add them in the comments section.

Exact Audio Copy is a fantastic CD ripping and burning program for Windows. I use it for it's abaility to create perfect duplicate backups using CUE sheets.

AutoFLAC is a "frontend" (for lack of a better term) for EAC that automates the process of ripping to and burning from FLAC files.

abcde is a command-line ripper for Linux. It's very quick and easy to use, and used to be my preferred ripper until I began using CUE sheets.

DVD Audio Extractor is a Windows program that rips audio from DVDs to standard audio formats such as FLAC or Ogg Vorbis. This would typically be used to rip live concert DVDs so you can enjoy the music on your computer or portable audio device. Two notes should be mentioned. 1) Despite its somewhat misleading name, this does not support DVD-Audio discs (although you can usually rip the DVD-Video compatability layer). 2) It forces the use of Dynamic Range Compression on DVDs that contain this information, which is a good option to have, but can unfortunately be very noticeable and intrusive when trying to make a good backup copy. I've asked that they make this an optional feature, but they don't seem interested.

Winamp is one of the oldest and best known media players. This is still my preferred audio player for Windows.

XMMS is the de facto media player for Linux systems. It is modelled heavily on the original Winamp, and despite showing its age these days it's still a very stable and capable audio player.

amaroK is the "new hotness" of media players for KDE. It supports various backends for actual media playback (such as xine-lib), which allows it to support a very wide breadth of formats and capabilities, and also provides a very capable playlist management system. These are the two features that won me over (finally, a decent Linux media player capable of playing multi-channel Vorbis and FLAC files!). However, amaroK tends to be extremely unstable on my system. Also, while the user interface sports all of the latest eye candy, the developers seem unmotivated to add commonly available features such as ReplayGain support or even proper TRACKNUMBER support when dealing with tag information. Development is still very active, however, so I'm hopeful these issues will be addressed in the future.

foobar2000 is another audio player for Windows. Audio enthusiests tend to promote it as the end-all, be-all of audio players, but I personally find the interface rather horrid. It does, however, support a very wide variety of formats and capabilities, and includes tagging and transcoding plugins that are second to none. I use it as an audio utility rather than an audio player.

FLAC is a free, open source lossless compression codec. Lossless compression means that it's a perfect copy of the original recording, as opposed to a lossy codec which actually discards audio data in order to acheive a better compression ratio. FLAC is a great format to use for archival purposes, but it's usually impractical for use with portable audio devices.

Ogg Vorbis is a free, open source lossy compression codec. While a lossless compression codec should be used for archiving, Ogg Vorbis can still produce very high quality tracks with a much greater compression ratio.

Audacity is a powerful, cross-platform, open source audio editing application. It can be used for anything ranging from recording audio to editing and mixing existing tracks to applying effect filters.

Help and Information:
The Hydrogenaudio Forums is a fantastic resource for audio enthusiests to share the latest news and assist each other.

The Hydrogenaudio Knowledgebase should also be mentioned. This wiki is probably the most comprehensive source of computer audio related information available.

The Wikipedia article List of albums containing a hidden track is exactly what you'd expect from the title - a list of CDs that contain hidden songs, and brief instructions on how to locate them. If you know of any hidden songs not listed there, please add them! You may also want to check out, which does essentially the same thing but provised and indexed and searchable interface.

The Internet Archive Live Music Archive contains a huge selection of live concert bootlegs available for download.

August 20th

Recovering deleted text files from an ext3 filesystem

As I mentioned a couple posts ago, I accidentally deleted a directory of very important files on my server, primarily scripts and programs that I've written for various purposes. The server is running Gentoo Linux, and I'm using an ext3 filesystem on the affected partition. For those of you not familiar with filesystems, explaining it is beyond the scope of this post, but you can find a decent write-up about it on Wikipedia.

ext3 is very similar to and backwards-compatible with ext2, which is the default filesystem for Linux. It's essentially ext2 with journaling capabilities (which basically helps prevent data corruption). Now, there are quite a few methods and programs available to recover files from an ext2 filesystem. So, given that ext3 is backwards-compatible with ext2, I thought I could use those same techniques to recover my data. Sadly, that was not the case.

It turns out that ext3 handles file deletions significantly differently than ext2. According to the official ext3 FAQ:

In order to ensure that ext3 can safely resume an unlink after a crash, it actually zeros out the block pointers in the inode, whereas ext2 just marks these blocks as unused in the block bitmaps and marks the inode as "deleted" and leaves the block pointers alone.
Your only hope is to "grep" for parts of your files that have been deleted and hope for the best.

Needless to say, this was quite disheartening. However, after some more searching I found this clever solution. I'm certainly familiar with the strings command, which outputs a list of printable strings of text from a binary file, but I probably wouldn't have considered using it against the actual hard disk device. The results were actually quite successful - I was able to fully recover and restore my most important programs, and I'm currently working through a testing and identifying a list of smaller miscellaneous scripts that I was also able to recover.

Of course, this wasn't a pleasant experience by any means, and I was extremely lucky that I only needed to recover source code. Had I deleted a directory full of pictures or documents or basically anything other than plain text files, I would've likely been completely out of luck. As soon as I completely finish my recovery process, I will implement a newer and much more thorough backup process. It's only a matter of time before a mistake like this happens again, and the next time it does I want to simply copy files over from my backup drive rather than going through this ordeal again.

I plan on writing up a more thorough guide to recovering text files should you ever find yourself in the same situation. Stay tuned.