<?xml version="1.0" encoding="iso-8859-1"?>

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Zach's So-Called Life</title>
<subtitle type="html"><![CDATA[
Stuff and things, things and stuff.
]]></subtitle>
<id>http://darkstar.frop.org/~zwhite/blog/tech/index.atom</id>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog" />
<link rel="self" type="text/xml" href="http://darkstar.frop.org/~zwhite/blog/tech/index.atom" />

<author>
<name>Zach White</name>
<uri>http://darkstar.frop.org/~zwhite/blog/tech/index.atom</uri>
<email>blog@drpepper.org</email>
</author>
<rights>Copyright &copy; 2006-2008 Zach White</rights>
<generator uri="http://pyblosxom.sourceforge.net/" version="1.4.3 01/10/2008">
PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.3 01/10/2008
</generator>

<updated>2008-11-02T22:10:34Z</updated>
<!-- icon?  logo?  -->

<entry>
<title type="html">Have You Ripped Your Music Recently?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/11/02/20081102-rip-cds</id>
<updated>2008-11-02T22:10:34Z</updated>
<published>2008-11-02T22:10:34Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20081102-rip-cds" />
<content type="html">&lt;p&gt;
 This is part one of a (hopefully) multi-part series on organizing a typical
 geek&apos;s music collection. This part provides some background and discusses
 ripping a CD collection using modern tools.
&lt;/p&gt;

&lt;p&gt;
 A few months ago I picked up a NAS (A 
 &lt;a href=&quot;http://www.onbeat.dk/thecus/index.php/N5200PRO_Resources&quot;&gt;Thecus 
 N5200 Pro&lt;/a&gt;) and some drives for it. I now have a total of 2.8TB of fast,
 reliable storage.
&lt;/p&gt;

&lt;p&gt;
 Since then I have been collecting up my data and trying to organize it all
 into one place so I don&apos;t have to remember which of the 5 bare hard drives
 has what I&apos;m looking for on it.
&lt;/p&gt;

&lt;p&gt;
 Part of this process is getting my music in order. Over the years I&apos;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.
&lt;/p&gt;

&lt;p&gt;
 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&apos;ve gone through the pain of ripping these in the
 past, but I&apos;ve been inconsistent in terms of format and quality. By 
 reripping all of my CD&apos;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.
&lt;/p&gt;

&lt;p&gt;
 I&apos;m going to assume that you&apos;re using iTunes for this. I use iTunes because
 I&apos;m an Apple whore. ;) There are other programs that do (almost) everything 
 iTunes does, but I don&apos;t use them.
&lt;/p&gt;

&lt;h3&gt;Format and Bitrate&lt;/h3&gt;

&lt;p&gt;
 The first thing you have to decide on is which format you&apos;re going to rip in
 and what your bitrate will be. If you&apos;re using iTunes, you basically get to
 choose from MP3, AAC and Apple Lossless. If you want the best possible quality
 and don&apos;t mind using up 300mb per 45 minutes of music, choose Apple Lossless 
 and move on to the next section.
&lt;/p&gt;

&lt;p&gt;
 Finding that 300mb per album number hard to swallow? So was I. Let&apos;s look at
 the choice most people will make: AAC or MP3?
&lt;/p&gt;

&lt;p&gt;
 Everyone knows what MP3s are. They&apos;re the standard format in the industry.
 Everything can play them, including the iPod. The abilities and limitations
 of the format are well known.
&lt;/p&gt;

&lt;p&gt;
 A lot of people are confused about AAC files, and think they&apos;re tied to Apple
 somehow. Additionally, they&apos;re often unclear about why you would want to use
 AAC and why iTunes defaults to this format.
&lt;/p&gt;

&lt;p&gt;
 AAC stands for &lt;a href=&quot;http://en.wikipedia.org/wiki/Advanced_Audio_Coding&quot;&gt;
 Advanced Audio Coding&lt;/a&gt; and it was designed to be the successor to MP3.
 It&apos;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. ;)
&lt;/p&gt;

&lt;p&gt;
 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&apos;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.)
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 In both cases we&apos;ll be setting custom settings, so open up iTunes Preferences
 &amp;mdash;&amp;gt; General &amp;mdash;&amp;gt; Import Settings. Choose your Encoder (AAC
 or MP3) and then select the &quot;Custom...&quot; option from Setting.
&lt;/p&gt;

&lt;p&gt;
 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 &quot;Use Variable Bit Rate Encoding (VBR)&quot; is unchecked. Set &quot;Sample 
 Rate&quot; to &quot;48.000 kHz&quot; and &quot;Stereo Bit Rate&quot; to the highest setting, which is
 currently 320 kbps.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 The idea behind VBR is that you don&apos;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&apos;t playing that higher bitrate
 increases size for no quality gain. You can often produce the exact same 
 waveform with a lower bitrate.
&lt;/p&gt;

&lt;p&gt;
 When you check the VBR box, you&apos;ll notice that you can&apos;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&apos;re saying that you want it range from approximately
 128k - 256k.
&lt;/p&gt;

&lt;p&gt;
 For most people 192k AAC is fine. If you&apos;re using MP3 you want to step up
 to 256k to make up for MP3&apos;s deficiencies. I have a lot of symphonic music
 in my collection so I choose to use 256k AAC VBR.
&lt;/p&gt;

&lt;p&gt;
 I also leave Sample Rate at Auto, because CD&apos;s have a 44.1k sample rate so
 the higher rate doesn&apos;t gain much except a little bit of insurance against
 misreads.
&lt;/p&gt;

&lt;p&gt;
 While you&apos;re here, be sure that &quot;Use Error Correction&quot; is checked. It may be
 faster to import without, but you&apos;ll pay for it with glitches in your music.
&lt;/p&gt;

&lt;h3&gt;Ripping Workflow&lt;/h3&gt;

&lt;p&gt;
 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&apos;t work well if you ever
 use the random/shuffle feature.
&lt;/p&gt;

&lt;p&gt;
 This means that we need to set iTunes to &quot;Show CD&quot; 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&apos;t think you&apos;ll use
 it (trust me, you will.) 
&lt;/p&gt;

&lt;p&gt;
 Another thing you might have to do is join tracks. For example, Pink Floyd&apos;s
 Dark Side of the Moon has &quot;Brain Damage&quot; and &quot;Eclipse,&quot; which flow into each
 other and are almost always played back-to-back. By joining them you&apos;ll end
 up with a single file containing both songs, and no gap. 
&lt;/p&gt;

&lt;p&gt;
 To join tracks select two adjacent tracks and go to Advanced &amp;mdash;&amp;gt; Join 
 CD Tracks.
&lt;/p&gt;

&lt;h3&gt;How To Deal With The Physical Media&lt;/h3&gt;

&lt;p&gt;
 My CD&apos;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&apos;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 &quot;Done&quot; spool. 
&lt;/p&gt;

&lt;p&gt;
 Tip: When stacking CD&apos;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.
&lt;/p&gt;

&lt;p&gt;
 The first task was to sort through all the CD&apos;s. Any CDR&apos;s got put straight
 onto the Done spool. Since most of my burned CD&apos;s were burned from MP3s I
 don&apos;t want to accidentally put low-quality music into what is supposed to
 be a high-quality archive. A couple 3&quot; CD&apos;s provide an easy to find gap in
 the spool should I need them later.
&lt;/p&gt;

&lt;p&gt;
 After that I had a stack of CD&apos;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.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 For discs that are scratched and can&apos;t be fixed through cleaning you can
 use a glass or plastic polish to clean them. See instructables or ehow
 for instructions.
&lt;/p&gt;

&lt;h3&gt;Notes For Symphonic Music&lt;/h3&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 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&apos;s easiest to do this before
 importing, by removing the redundant portion of the name from all but the
 first joined track.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve created screenshots showing a CD &lt;a href=&quot;/~zwhite/pics/CD_Before.png&quot;&gt;
 before&lt;/a&gt; and &lt;a href=&quot;/~zwhite/pics/CD_After.png&quot;&gt;after&lt;/a&gt; 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&apos;re trying to figure out what to listen to.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Safari XHTML: Enabled</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/10/12/20081012-safari-xhtml</id>
<updated>2008-10-12T13:42:34Z</updated>
<published>2008-10-12T13:42:34Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20081012-safari-xhtml" />
<content type="html">&lt;p&gt;
 If you use Safari to read my blog you may notice that the page renders more
 quickly. This is because I&apos;ve turned on the proper &lt;a 
 href=&quot;http://www.dev-archive.net/articles/xhtml.html#content-negotiation&quot;&gt;
 Content-Type&lt;/a&gt;. Now Safari, OmniWeb and Firefox browsers get a speed boost.
&lt;/p&gt;

&lt;p&gt;
 If you have any rendering errors you probably need to upgrade Safari.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Debian/Ubuntu Packages for Epic5 and Amenesiac</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/05/19/20080519-debian-packages-for-epic5-and-amn</id>
<updated>2008-05-19T19:42:35Z</updated>
<published>2008-05-19T19:42:35Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20080519-debian-packages-for-epic5-and-amn" />
<content type="html">&lt;p&gt;
 If you can read this, welcome to my new server.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve been setting a new Ubuntu 8.04 LTS based server, and I&apos;m retiring the 
 old Slackware server I&apos;ve been using for the last year or so. Slackware is
 ok, but I just don&apos;t have the time to do upgrades. The occasonal &quot;apt-get
 upgrade&quot; when I need to deal with a security problem (like this week&apos;s
 openssl fiasco, thanks debian) is much prefered to either compiling from
 source or having to track down and fetch an updated package.
&lt;/p&gt;

&lt;p&gt;
 One of the things that I had to do myself was build epic5 packages. There
 are packages for epic4, but since I work on &lt;a 
 href=&quot;http://amnesiac.ircii.org&quot;&gt;amnesiac&lt;/a&gt; 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.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ve automated the whole process, so updates to each should be easy. If
 you&apos;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:
&lt;/p&gt;

&lt;p&gt;
 &lt;pre&gt;
  # 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
 &lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
 You will also need to add my gpg key to your keyring. You can do so with
 this command:
&lt;/p&gt;

&lt;p&gt;
 &lt;pre&gt;
  curl http://darkstar.frop.org/debian/zwhite.gpg | sudo apt-key add -
 &lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;
 Finish everything up by running &quot;sudo apt-get update&quot; and you should be all
 set. The two new packages available are &quot;epic5&quot; and &quot;amnesiac&quot;.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">An Ode To On Call</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2008/04/04/20080404-an-ode-to-on-call</id>
<updated>2008-04-04T10:36:40Z</updated>
<published>2008-04-04T10:36:40Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20080404-an-ode-to-on-call" />
<content type="html">&lt;p&gt;
 &lt;pre&gt;
once upon a midnight &apos;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&apos;s steel
as I pondered profanity stronger than, &quot;Shoot&quot;
quoth the kernel, unable to mount root

my fingers dance, ciphers entered
I&apos;m in like flynn and down like bender
meanwhile this server just won&apos;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&apos;s all moot
quoth the kernel, unable to mount root
 &lt;/pre&gt;
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">To paraphrase Fermi: where are all the viruses?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/10/09/20071009-mac-viruses</id>
<updated>2007-10-09T14:52:45Z</updated>
<published>2007-10-09T14:52:45Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20071009-mac-viruses" />
<content type="html">&lt;p&gt;
 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&apos;s security in ways that some people find irritating.
&lt;/p&gt;

&lt;p&gt;
 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&apos;s skin.
&lt;/p&gt;

&lt;p&gt;
 Given that, you would think that by now someone would have written a 
 self-propagating virus that targets Mac users, but it just hasn&apos;t happened.
&lt;/p&gt;

&lt;p&gt;
 It&apos;s not like it&apos;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&apos;s password from certain locations in memory that are 
 accessible to all programs through various device and swap files.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 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. 
&lt;/p&gt;

&lt;p&gt;
 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?
&lt;/p&gt;

&lt;p&gt;
 I&apos;m not sure I have an answer to this. I know the answer is not &quot;Because
 windows is the biggest target so all the kiddies look there.&quot; 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&apos;re not as invulnerable as they claim in their ads.
&lt;/p&gt;

&lt;p&gt;
 That seems like a much bigger prize to me than being just another anonymous 
 entry in some antivirus vendor&apos;s database.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Emacs Users Need To Stop Holding Back Unix</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/09/24/20070924-fuck-emacs</id>
<updated>2007-09-24T15:13:57Z</updated>
<published>2007-09-24T15:13:57Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070924-fuck-emacs" />
<content type="html">&lt;p&gt;
 So for those who don&apos;t know, I&apos;ve been using Ubuntu the last week or so.
 I&apos;ve been keeping notes and I may write about it later, but I had to rant
 about this now.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 Why is the right alt key useless? Because for some reason it&apos;s been
 assigned the function &quot;Super&quot; instead of &quot;Meta&quot;. Why was it assigned
 Super? What is Super? Why hasn&apos;t anyone fixed this minor detail that
 has existed for the 10 years linux has been a plausible threat to MS?
&lt;/p&gt;

&lt;p&gt;
 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&apos;ve been told. These keyboards also had a single alt,
 a single control, and another modifier key called compose.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 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&apos;re in,
 assuming you can find it.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;p&gt;
 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.)
&lt;/p&gt;

&lt;p&gt;
 &lt;img src=&quot;/~zwhite/pics/EmacsOnNotice.jpg&quot; /&gt;&lt;br /&gt;
 &amp;lt;colbert&amp;gt; EMACS USERS! I&apos;m putting you, &quot;On Notice!&quot;&amp;lt;/colbert&amp;gt;
&lt;/p&gt;

&lt;p&gt;
 Before a distribution like Ubuntu will be popular with the masses (and it&apos;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&apos;t have to change 
 anything. You can do it now or do it later, but sooner or later it will have 
 to be done.
&lt;/p&gt;

&lt;p&gt;
 If it&apos;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.)
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">Bodyguardz Protective Skins</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/08/16/20070816-bodyguardz-review-initial</id>
<updated>2007-08-16T21:36:14Z</updated>
<published>2007-08-16T21:36:14Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070816-bodyguardz-review-initial" />
<content type="html">&lt;p&gt;
 So I bought a Treo 755p to replace my 2 year old Treo 650. The phone is fine,
 it&apos;s basically my 650 with EVDO, no antenna and miniSD instead of SD.
&lt;/p&gt;

&lt;p&gt;
 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&apos;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 &lt;a href=&quot;http://www.bodyguardz.com/&quot;&gt;
 BodyGuardz&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
 I put the skin on this morning. It hasn&apos;t cured for the full 24 hours yet,
 so this is a review of the installation process only, plus first impressions.
&lt;/p&gt;

&lt;p&gt;
 On a technical, &quot;Can I do this&quot; level, the installation was a breeze. Just
 spray on the solution and apply the piece in the right spot. Lift or slide
 until it&apos;s in position. I found that the skin didn&apos;t slide across the 
 rubberized paint of the 755p very well, but peeling and resticking was fine.
&lt;/p&gt;

&lt;p&gt;
 However, on a &quot;How hard was the install&quot; level, it&apos;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.
&lt;/p&gt;

&lt;p&gt;
 The fit is not perfect, but it&apos;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.)
&lt;/p&gt;

&lt;p&gt;
 The screenguard works as expected, although even with the solution getting
 bubbles out wasn&apos;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&apos;t notice it unless you look for it.
&lt;/p&gt;

&lt;p&gt;
 So first impressions? Seems great. By now the solution has dried and I can
 see how it&apos;ll look. I think it&apos;ll do a great job, provided it actually stays
 on the phone.
&lt;/p&gt;

&lt;p&gt;
 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&apos;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&apos;t want it
 to be removed. I&apos;ll keep an eye on those.
&lt;/p&gt; 

&lt;p&gt;
 So should you buy your own? Well, I like it so far, and would tenatively
 say yes. At $25 it&apos;s cheaper than most cases, and it keeps my treo sleek
 enough to stay in my pocket.
&lt;/p&gt;

&lt;p&gt;
 I&apos;ll post another review in a few weeks, when I&apos;ve had a chance to really
 put it through the paces.
&lt;/p&gt;

&lt;table class=&quot;productTable&quot;&gt;
 &lt;tr&gt;
  &lt;td&gt;Company&lt;/td&gt;
  &lt;td&gt;&lt;a href=&quot;http://www.bodyguardz.com/&quot;&gt;BodyGuardz&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Product&lt;/td&gt;
  &lt;td&gt;&lt;a href=&quot;http://www.bodyguardz.com/BodyGuardz_for_PalmOne_Treo_750_p/nl-bt75-1106.htm&quot;&gt;BodyGuardz for PalmOne Treo 750 / 755&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Price&lt;/td&gt;
  &lt;td&gt;$24.95&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
  &lt;td&gt;Other Info&lt;/td&gt;
  &lt;td&gt;They have skins for almost any phone, plus sheets you can cut to shape yourself.&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
</content>
</entry>

<entry>
<title type="html">Why Are CS Degrees So Worthless?</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/05/29/20070529-cs-degrees</id>
<updated>2007-05-29T18:13:27Z</updated>
<published>2007-05-29T18:13:27Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070529-cs-degrees" />
<content type="html">&lt;p&gt;
 There&apos;s a debate starting on &lt;a href=&quot;http://www.cis.upenn.edu/~farber/&quot;&gt;Dave 
 Farber&apos;s&lt;/a&gt; &lt;a href=&quot;http://www.interesting-people.org/archives/interesting-people/200209/msg00042.html&quot;&gt;Interesting People&lt;/a&gt; list. They&apos;re starting to
 discus why it is there aren&apos;t more CS students, but I think that&apos;s focusing
 on the wrong aspect of the debate. The better question is why CS programs
 suck so much.
&lt;/p&gt;

&lt;p&gt;
 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.
&lt;/p&gt;

&lt;pre&gt;
There&apos;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&apos;m currently 28 and have been working professionally in one tech job 
or another for 10 years now. I&apos;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&apos;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&apos;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&apos;s take a look at The Genius first. The Genius is the guy that&apos;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&apos;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&apos;t attend college they have 
universally said that they&apos;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&apos;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&apos;t convinced
it didn&apos;t matter. So I spent 30 minutes explaining to him (in step by 
step detail) how to change &apos;-lopenssl&apos; to &apos;/usr/local/lib/openssl.a&apos; 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&apos;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&apos;t know the difference between a 
shared library and a static library is similar to a car designer who
can&apos;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&apos;s no reason for having them go through a CS program. 
If these jobs need any training after highschool it&apos;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&apos;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&apos;s nothing a CS degree will teach them they don&apos;t already
know. 

The guys that would actually benefit from a CS degree aren&apos;t learning 
anything either. Why? They&apos;re not being taught. Current CS degrees focus
so much on algorithms and math that they see the basics as unimportant. 
They&apos;re teaching students to jump and do cartwheels but they don&apos;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&apos;ve seen can&apos;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&apos;m not looking for specific answers here. I&apos;m looking for whether they 
can answer these very basic questions in under 5 minutes. 

I&apos;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&apos;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?
&lt;/pre&gt;
</content>
</entry>

<entry>
<title type="html">Flavourswap 1.1! Now with flavor!</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/04/19/20070419-flavourswap</id>
<updated>2007-04-19T17:17:40Z</updated>
<published>2007-04-19T17:17:40Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070419-flavourswap" />
<content type="html">&lt;p&gt;
 Hot on the heels of the &lt;a href=&quot;/~zwhite/blog/tech/20060624-flavourswap-plugin&quot;&gt;initial Flavourswap 1.0 release&lt;/a&gt; is the highly anticipated release of 
 &lt;a href=&quot;/~zwhite/pybloxsom-plugins/flavourswap-1.1.py&quot;&gt;Flavourswap 1.1!&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
 Changes in this release include support for arbitrary browsers. No more
 browser specific code!
&lt;/p&gt;

&lt;p&gt;
 Because I wanted to keep this lightweight I&apos;m not using any external 
 libraries. It&apos;s pure python and shouldn&apos;t add much overhead. However,
 you&apos;re limited to simple string matches. You can match anything that the
 &lt;a href=&quot;http://docs.python.org/lib/string-methods.html#l2h-241&quot;&gt;find&lt;/a&gt;
 method of a string will match.
&lt;/p&gt;

&lt;p&gt;
 If you&apos;re the sort of person who runs pybloxom and want to customize your
 site with a unique look based on the person&apos;s webbrowser, &lt;a
 href=&quot;/~zwhite/pybloxsom-plugins/flavourswap-1.1.py&quot;&gt;download it&lt;/a&gt; today
 and give it a spin.
&lt;/p&gt;

&lt;p&gt;
 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&apos;t recognize &amp;amp;copy; and &amp;amp;nbsp; so only
 OmniWeb gets the boost.
&lt;/p&gt;
</content>
</entry>

<entry>
<title type="html">OS X Tips Article That Actually Helped Me</title>
<category term="" />
<id>http://darkstar.frop.org/~zwhite/blog/2007/03/21/20070321-osxtips</id>
<updated>2007-03-21T17:25:27Z</updated>
<published>2007-03-21T17:25:27Z</published>
<link rel="alternate" type="text/html" href="http://darkstar.frop.org/~zwhite/blog/tech/20070321-osxtips" />
<content type="html">&lt;p&gt;
 A just ran across &lt;a href=&quot;http://www.macosxtips.co.uk/index_files/terminal-commands-for-hidden-mac-os-x-settings.html&quot;&gt;this&lt;/a&gt; article over at
 &lt;a href=&quot;http://www.macosxtips.co.uk/&quot;&gt;Mac OS X Tips&lt;/a&gt;. I knew about some
 of those but some I didn&apos;t know about. 
&lt;/p&gt;
</content>
</entry>
</feed>
