This is part one of a (hopefully) multi-part series on organizing a typical geek's music collection. This part provides some background and discusses ripping a CD collection using modern tools.
A few months ago I picked up a NAS (A Thecus N5200 Pro) and some drives for it. I now have a total of 2.8TB of fast, reliable storage.
Since then I have been collecting up my data and trying to organize it all into one place so I don't have to remember which of the 5 bare hard drives has what I'm looking for on it.
Part of this process is getting my music in order. Over the years I've built different collections of music from a variety of sources. I now have 3 or 4 collections of music with a ton of overlap of varying qualities. In all I have some 50gb of music laying around with maybe 20gb of that being unique.
The first part of wrangling some order out of this mess is to start with a collection of high quality (in terms of audio quality) files ripped from CD. Like most geeks I've gone through the pain of ripping these in the past, but I've been inconsistent in terms of format and quality. By reripping all of my CD's I not only take advantage of the higher quality of newer music formats (like AAC) but I can use encoders that are better than what I originally used.
I'm going to assume that you're using iTunes for this. I use iTunes because I'm an Apple whore. ;) There are other programs that do (almost) everything iTunes does, but I don't use them.
The first thing you have to decide on is which format you're going to rip in and what your bitrate will be. If you're using iTunes, you basically get to choose from MP3, AAC and Apple Lossless. If you want the best possible quality and don't mind using up 300mb per 45 minutes of music, choose Apple Lossless and move on to the next section.
Finding that 300mb per album number hard to swallow? So was I. Let's look at the choice most people will make: AAC or MP3?
Everyone knows what MP3s are. They're the standard format in the industry. Everything can play them, including the iPod. The abilities and limitations of the format are well known.
A lot of people are confused about AAC files, and think they're tied to Apple somehow. Additionally, they're often unclear about why you would want to use AAC and why iTunes defaults to this format.
AAC stands for Advanced Audio Coding and it was designed to be the successor to MP3. It's part of the MPEG2 and MPEG4 standards and is actually used by heavily by both Apple and Sony (I just lost the last two anti-apple fan boys still reading this. ;)
The bottom line is that for the same audio quality AAC files will be smaller than MP3 files. On top of that AAC files have more features and ultimately it's the format everyone will move to. I highly recommend using AAC for all your new music rips, even if it means you have to transcode some of your collection to MP3 for certain devices (covered in a possible future article.)
This leaves the question of bitrate. For bitrate you have two basic choices, and it comes down to how much of an audiophile you think you are.
In both cases we'll be setting custom settings, so open up iTunes Preferences —> General —> Import Settings. Choose your Encoder (AAC or MP3) and then select the "Custom..." option from Setting.
First, the audiophile settings. For this we want to ensure that we use the highest possible bitrate at all times and the best sampling rate. First, ensure that "Use Variable Bit Rate Encoding (VBR)" is unchecked. Set "Sample Rate" to "48.000 kHz" and "Stereo Bit Rate" to the highest setting, which is currently 320 kbps.
This will still result in larger files than most people want, for very little (if any) perceptible gain in quality. Most people will want to use VBR to reduce the size of their file.
The idea behind VBR is that you don't always need the full bitrate for every part of the music. The higher bitrates allow you to capture more of the high pitched part of the music. This is especially important for hearing the flutes and piccolos in a symphonic piece or the cymbals and high hats in jazz. However, when these instruments aren't playing that higher bitrate increases size for no quality gain. You can often produce the exact same waveform with a lower bitrate.
When you check the VBR box, you'll notice that you can't select as many bitrates as you could before. This is because instead of specifying an absolute bitrate, you specify a target average. When you specify that you want 192k VBR files, you're saying that you want it range from approximately 128k - 256k.
For most people 192k AAC is fine. If you're using MP3 you want to step up to 256k to make up for MP3's deficiencies. I have a lot of symphonic music in my collection so I choose to use 256k AAC VBR.
I also leave Sample Rate at Auto, because CD's have a 44.1k sample rate so the higher rate doesn't gain much except a little bit of insurance against misreads.
While you're here, be sure that "Use Error Correction" is checked. It may be faster to import without, but you'll pay for it with glitches in your music.
Now that we have our format and quality settings worked out we move on to workflow. Unfortunately the CDDB database suffers from a quality problem. It saves a lot of time, but often you have to correct the genre and sometimes the artist. The other problem is that sometimes tracks are meant to be listened to back-to-back, which doesn't work well if you ever use the random/shuffle feature.
This means that we need to set iTunes to "Show CD" on insert, rather than automatically importing. Most of the time we need only set the Genre, but this is still a very important step, even if you don't think you'll use it (trust me, you will.)
Another thing you might have to do is join tracks. For example, Pink Floyd's Dark Side of the Moon has "Brain Damage" and "Eclipse," which flow into each other and are almost always played back-to-back. By joining them you'll end up with a single file containing both songs, and no gap.
To join tracks select two adjacent tracks and go to Advanced —> Join CD Tracks.
My CD's had been scattered around all over the place. Some were in cases, some were in CD folders, and some were stacked on spindles. Additionally, a lot of them weren't very clean. The first thing I did was to collect them all into one place. I had a 100 disc spool I could easily empty, so that became my "Done" spool.
Tip: When stacking CD's on a spool, alternate which side is up so you always have label against label, and data against data. This will help prevent scratching.
The first task was to sort through all the CD's. Any CDR's got put straight onto the Done spool. Since most of my burned CD's were burned from MP3s I don't want to accidentally put low-quality music into what is supposed to be a high-quality archive. A couple 3" CD's provide an easy to find gap in the spool should I need them later.
After that I had a stack of CD's ready to import. I looked at each disc first, and if it was dirty and/or scratched I took some windex and a clean microfiber cloth to it. Make sure you use a microfiber cloth because paper products are too rough.
For really bad cases I had to hold the disc under the hot water tap (as hot as you can stand, but not as hot as it will go.) Rinse for a few seconds, scrub using your microfiber cloth with circular motions, repeat until clean.
For discs that are scratched and can't be fixed through cleaning you can use a glass or plastic polish to clean them. See instructables or ehow for instructions.
If you are ripping symphony pieces you have a little extra work for each CD. Most of these discs are inconsistently tagged in CDDB. I find that on most discs I have to set the genre (I like tagging mine with the period it was written) and the Artist (Conductor / Symphony if known, Composer otherwise) and I usually have to remove the redundant portion from the titles of joined tracks.
I like to join the different movements of each piece into one track. This allows me to use shuffle for variety without compromising the listening experience. However, iTunes simply concatenates the names of each track, so I often have to fix the names. I find it's easiest to do this before importing, by removing the redundant portion of the name from all but the first joined track.
I've created screenshots showing a CD before and after fixing the tags and joining movements. This part is purely a matter of personal taste, but the better you do at consistently tagging your music now the easier it will be later when you're trying to figure out what to listen to.
posted at: 2008 Nov 02 22:10 UTC | category: tech | (story link)
If you use Safari to read my blog you may notice that the page renders more quickly. This is because I've turned on the proper Content-Type. Now Safari, OmniWeb and Firefox browsers get a speed boost.
If you have any rendering errors you probably need to upgrade Safari.
posted at: 2008 Oct 12 13:42 UTC | category: tech | (story link)
If you can read this, welcome to my new server.
I've been setting a new Ubuntu 8.04 LTS based server, and I'm retiring the old Slackware server I've been using for the last year or so. Slackware is ok, but I just don't have the time to do upgrades. The occasonal "apt-get upgrade" when I need to deal with a security problem (like this week's openssl fiasco, thanks debian) is much prefered to either compiling from source or having to track down and fetch an updated package.
One of the things that I had to do myself was build epic5 packages. There are packages for epic4, but since I work on amnesiac I need to be able to use epic5. Since other people irc from this machine I like to provide a copy of the script in /usr/share/epic5/script. Given all that, it made sense to build a package for amnesiac as well.
I've automated the whole process, so updates to each should be easy. If you're the kind of person who likes to IRC, and you like to use a debian based distribution, and you like things that update automatically, you can benefit from my work. Just add the following lines to your /etc/apt/sources.list:
# epic5 and amnesiac packages deb http://darkstar.frop.org/debian/ irc epic5 amnesiac tsx deb-src http://darkstar.frop.org/debian/ irc epic5 amnesiac tsx
You will also need to add my gpg key to your keyring. You can do so with this command:
curl http://darkstar.frop.org/debian/zwhite.gpg | sudo apt-key add -
Finish everything up by running "sudo apt-get update" and you should be all set. The two new packages available are "epic5" and "amnesiac".
posted at: 2008 May 19 19:42 UTC | category: tech | (story link)
once upon a midnight 'berry as I awoke from dreams so airy the screen announced like a sorrowful brute quoth the kernel, unable to mount root bleary eyed I thumbed the wheel that would hold back my sire's steel as I pondered profanity stronger than, "Shoot" quoth the kernel, unable to mount root my fingers dance, ciphers entered I'm in like flynn and down like bender meanwhile this server just won't boot quoth the kernel, unable to mount root I have a look see, and what do I find? a botched migration, well yes I do mind you have to check your hardware first you ignorant kook quoth the kernel, unable to mount root Put it all back, is all I reply, before slamming my leash down onto my thigh no problem was fixed, but now it's all moot quoth the kernel, unable to mount root
posted at: 2008 Apr 04 10:36 UTC | category: tech | (story link)
Apple is known for cultivating a cloud of smug. The users are arrogant and have an inferiority complex. In addition, Apple has been been playing up MacOS X's security in ways that some people find irritating.
David Maynor, for example, was willing to tarnish his reputation and be a laughing stock in order to, as he put it, poke a lit cigarette into the eye of Mac users. Granted, he was quoted saying that while he was supposed to be off the record, but it demonstrates just how much Apple gets under some people's skin.
Given that, you would think that by now someone would have written a self-propagating virus that targets Mac users, but it just hasn't happened.
It's not like it'd be difficult. I can think of 3 or 4 security issues that exist in MacOS today that would allow me to escalate from a normal account to root. Most of them involve exploiting the keychain, which by default is left unlocked while the user is logged in. Others involve getting the user's password from certain locations in memory that are accessible to all programs through various device and swap files.
All of the problems I just mentioned can be fixed by end users, but the point is that by default these are vulnerable points in the system that can easily be used by an attacker.
Getting the virus payload into the system is easy enough, too. Mac users are just as susceptible to dancing babies and love as PC users.
There are millions of Macs out there. More Macs than FreeBSD servers, but FreeBSD servers have been worm targets. Granted, they tend to be on faster connections, but given the low number (in the low hundreds of thousands, at most) of FreeBSD machines on the Internet why have they been targeted by malware when Macs (numbering in the millions) have not?
I'm not sure I have an answer to this. I know the answer is not "Because windows is the biggest target so all the kiddies look there." What better way for an obscure black hat to get his nick out there than to have written the first MacOS X virus that actually spreads? In one fell swoop you earn fame and reputation. You get to embarrass a giant corporation and show that they're not as invulnerable as they claim in their ads.
That seems like a much bigger prize to me than being just another anonymous entry in some antivirus vendor's database.
posted at: 2007 Oct 09 14:52 UTC | category: tech | (story link)
So for those who don't know, I've been using Ubuntu the last week or so. I've been keeping notes and I may write about it later, but I had to rant about this now.
It is late in the year 2007. The last time I used a unix-like desktop was in 2003, and I had the same problem then: A useless right alt key.
Why is the right alt key useless? Because for some reason it's been assigned the function "Super" instead of "Meta". Why was it assigned Super? What is Super? Why hasn't anyone fixed this minor detail that has existed for the 10 years linux has been a plausible threat to MS?
Super is just another modifier key, like shift or control. Old sun keyboards all have dedicated super keys. Back in the 80s it was used quite a bit, I've been told. These keyboards also had a single alt, a single control, and another modifier key called compose.
Meanwhile, in the real world, IBM came along and make two alt keys standard for the vast majority of computer users. They also put in two control keys and (one of their few bad moves on the keyboard) put capslock next to A, where control had historically been. This has since become the standard keyboard for everyone, even sun and apple.
So why is it that on a standard linux installation, no matter which distro you choose, the right hand alt key has been assigned Super? Emacs.
You see, Emacs is this software that does everything. It handles your email, it will monitor logs, you can play games in it, talk to a virtual psychiatrist, and even edit text files. If you need to perform a command in emacs there is probably a command for the exact situation you're in, assuming you can find it.
Learning emacs requires a harness and a rope, plus good ice shoes and a pickaxe. You will need this equipment to scale the steep and slippery learning curve. It is the only software still used that uses super. It will also use compose, snoz and snorglebutt modifier keys if you happen to have them assigned to your keyboard.
Emacs users are a small but vocal minority in the open source world (much like the religious right.) They command an unusually large amount of mindshare in the open source world (much like the religious right.) The rest of us could really do without emacs users, but they contribute a lot of code back to the community, so we put up with them (s/code/money, and again, much like the religious right.)

<colbert> EMACS USERS! I'm putting you, "On Notice!"</colbert>
Before a distribution like Ubuntu will be popular with the masses (and it's so very close) this default will have to be changed. It is unreasonable to suggest that the majority of users change their configuration or be stuck with a useless key so that the minority of emacs users don't have to change anything. You can do it now or do it later, but sooner or later it will have to be done.
If it's not, someone like my grandmother will never use Ubuntu (at 75 she, on her own, went out and bought a computer, learned what she needed to about it, and called me up and asked me to bring her Firefox and Thunderbird because it was taking too long to download over her dialup.)
posted at: 2007 Sep 24 15:13 UTC | category: tech | (story link)
So I bought a Treo 755p to replace my 2 year old Treo 650. The phone is fine, it's basically my 650 with EVDO, no antenna and miniSD instead of SD.
I never had any sort of protection on my 650, and it held up great. However, it got pretty badly scratched up. I decided I'd see what sort of protector I could get for my 755. After looking at cases and researching for a few days I bought a set of plastic skins from BodyGuardz.
I put the skin on this morning. It hasn't cured for the full 24 hours yet, so this is a review of the installation process only, plus first impressions.
On a technical, "Can I do this" level, the installation was a breeze. Just spray on the solution and apply the piece in the right spot. Lift or slide until it's in position. I found that the skin didn't slide across the rubberized paint of the 755p very well, but peeling and resticking was fine.
However, on a "How hard was the install" level, it's meticulous. You have to clean the treo, then spray your hands, peel the next piece, spray it, then start applying and sticking it. I found I was spending 5-10 minutes per piece to get it on. The squeegee was useless for the body protector, again because of the rubberized paint. Pressing hard with fingers worked perfectly to stick the cover and work out bubbles.
The fit is not perfect, but it's close enough. There are a couple places where it stuck over the edge slightly, but a razor blade was able to cut those bits off (it was right where the battery cover meets the phone, so I had to trim it.)
The screenguard works as expected, although even with the solution getting bubbles out wasn't easy. This is a place where the squeegee helped. If anyone from Bodyguardz is reading this, please keep those in here, they are very useful for this step. :) My screenguard is slightly smaller than the screen, but once placed you don't notice it unless you look for it.
So first impressions? Seems great. By now the solution has dried and I can see how it'll look. I think it'll do a great job, provided it actually stays on the phone.
All is not rosy, however. The most scratched up part of my 650 is the part of the case that frames the screen. The Bodyguardz don't protect most of this area. Also, there are some corners that look like perfect candidates for catching and becoming a removal point, possibly when I don't want it to be removed. I'll keep an eye on those.
So should you buy your own? Well, I like it so far, and would tenatively say yes. At $25 it's cheaper than most cases, and it keeps my treo sleek enough to stay in my pocket.
I'll post another review in a few weeks, when I've had a chance to really put it through the paces.
| Company | BodyGuardz |
| Product | BodyGuardz for PalmOne Treo 750 / 755 |
| Price | $24.95 |
| Other Info | They have skins for almost any phone, plus sheets you can cut to shape yourself. |
posted at: 2007 Aug 16 21:36 UTC | category: tech | (story link)
There's a debate starting on Dave Farber's Interesting People list. They're starting to discus why it is there aren't more CS students, but I think that's focusing on the wrong aspect of the debate. The better question is why CS programs suck so much.
I sent this post to Mr. Farber, in the hopes he would post it to his list. This is a question I have wondered about for many years.
There's one question I have for everyone on this list: Why do we need more CS students? A bit of background for everyone before I jump into my question: I'm currently 28 and have been working professionally in one tech job or another for 10 years now. I've been interested in and learning about technology since I was in grade school. Somehow my personal track kept me away from programming and steered me towards a sysadmin career, but my experience has put me into contact with many different programmers and technical people. Today, in addition to my system administration work, I also write web applications in php and python that are used in a number of different organizations in the energy sector. I have not attended college. I graduated from high school in 1998 and saw the writing on the wall. I moved immediately to Northern California and started working in the tech industry on the basis of my technical skill. Had I gone to college I would have graduated just in time to hold a degree that might get me a McJob (2002, just after the bubble burst.) In my past I've worked for ISPs, local tech houses, software companies and non-technical companies. There are a number of roles for which companies indicate they want someone with an EE/CS or equivilent. No matter what their actual dutites I've seen 4 basic archetypes: The Genius; The genius was the smartest guy at the company. He knew how everything worked and was the guy that management went to when they had something new to do. The Programmer; The programmer was just that, the average, everyday computer programmer. The Admin; The senior system administrator, who made the decisions on what their technical infrastructure looked like. The Tech; The tech was generally a semi-skilled worker doing grunt work, such as help desk, QA or system maintenance. Let's take a look at The Genius first. The Genius is the guy that's been programming since he was 8. He started on a C64 or an Apple II with basic and moved on from there. In high school he was reading Diijkstra and Knuth. From there he either went on to the working world or he went on to study EE and/or CS, often on a full scholarship. These guys have universally put me to shame. I have tried to debate them in my weaker moments and have always lost. I've talked to many of them about their college experience and except for one guy all of them said it was a waste of time. Of those that didn't attend college they have universally said that they've never regretted not going. The Programmer is by far the most common player. This is also the player that is most likely to benefit from a CS degree. The problem? They didn't learn anything useful. I have had to educate programmers in basic skills they should have picked up in CS 101. For example, not long after I joined a well-known dot-com there was a vulnerability discovered in OpenSSL. Naturally I upgraded it to avoid the exploit. A couple weeks later our head programmer (who held a CS degree from Caltech) came to talk to me about it. Apparently because I had installed both the shared and static versions of OpenSSL it was now being compiled against the shared version. I spent an hour explaining the difference between shared libraries and static libraries. He still wasn't convinced it didn't matter. So I spent 30 minutes explaining to him (in step by step detail) how to change '-lopenssl' to '/usr/local/lib/openssl.a' and how it was no different than not having the shared library in the first place. The kicker? A couple hours later he came back with my boss and they asked me to remove the shared library because they thought it was causing problems. I did so and it didn't fix their problem. A month later I put the shared library back and never heard another complaint. For those of you unfamiliar with Unix the problem I just described is a basic one. A programmer who doesn't know the difference between a shared library and a static library is similar to a car designer who can't tell you the difference between a carborator and fuel injection, and has to ask the mechanic to explain the differences. The Admins and The Techs are really in the same boat when it comes to a CS degree. There's no reason for having them go through a CS program. If these jobs need any training after highschool it's best handled either on-the-job or in some sort of vocational school. (Those have their problems too, however. I will not hire an ITT grad, for example, as I've never seen any worth their salt.) This brings us around to my question; Why do we need more CS students? Or, more correctly (if a bit harsh); Why are CS degrees so worthless? The smartest guys, those who should be involved in getting their doctorate, see it as a waste of time because they learned it all in high school. There's nothing a CS degree will teach them they don't already know. The guys that would actually benefit from a CS degree aren't learning anything either. Why? They're not being taught. Current CS degrees focus so much on algorithms and math that they see the basics as unimportant. They're teaching students to jump and do cartwheels but they don't teach them how to walk. There are a couple interview questions I ask every candidate that anyone with a CS degree should be able to answer in under a minute. Most (~60%) of the candidates I've seen can't answer these questions. The questions: Please write a program that prints out the numbers 1 through 10 in the language of your choice. Please demonstrate a snippet of code in the language of your choice that will swap the value of two variables. I'm not looking for specific answers here. I'm looking for whether they can answer these very basic questions in under 5 minutes. I've asked a number of candidates these questions. Those who did not have a degree answered them every time, typically in under a minute. It's only the people who have a CS degree that have ever failed these questions. Some of those guys had more than 5 years working experience, too! To be fair, most of the guys that failed these questions were trying to get their first job. It still leaves me wondering: How did these guys gradutate with a CS degree in the first place?
posted at: 2007 May 29 18:13 UTC | category: tech | (story link)
Hot on the heels of the initial Flavourswap 1.0 release is the highly anticipated release of Flavourswap 1.1!
Changes in this release include support for arbitrary browsers. No more browser specific code!
Because I wanted to keep this lightweight I'm not using any external libraries. It's pure python and shouldn't add much overhead. However, you're limited to simple string matches. You can match anything that the find method of a string will match.
If you're the sort of person who runs pybloxom and want to customize your site with a unique look based on the person's webbrowser, download it today and give it a spin.
Also, this release means that OmniWeb users now get to enjoy the same rendering speed boost that gecko users enjoy. Unfortunatly Safari as shipped still doesn't recognize © and so only OmniWeb gets the boost.
posted at: 2007 Apr 19 17:17 UTC | category: tech | (story link)
A just ran across this article over at Mac OS X Tips. I knew about some of those but some I didn't know about.
posted at: 2007 Mar 21 17:25 UTC | category: tech | (story link)
Page 1 of 4 -->
Copyright © 2006-2008 Zach White