<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc=" http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>briancarper.net (λ) (Category: Linux)</title><link>http://briancarper.net/category/3/linux</link><description>Some guy's blog about programming and Linux and cows.</description><item><title>Productivity Booster</title><link>http://briancarper.net/blog/572/productivity-booster</link><guid>http://briancarper.net/blog/572/productivity-booster</guid><pubDate>Fri, 08 Oct 2010 15:09:40 -0700</pubDate><description>&lt;p&gt;I came up with a great way to increase my productivity recently.  You need a locally-running Apache server for this to work most effectively.&lt;/p&gt;

&lt;p&gt;First you need to set up a redirect for 404 requests to localhost.  On my system I determined that &lt;code&gt;DocumentRoot&lt;/code&gt; is &lt;code&gt;/srv/http&lt;/code&gt;, so I set this up in &lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;brush: xml&quot;&gt;&amp;lt;Directory &quot;/srv/http&quot;&amp;gt;
    AllowOverride All
&amp;lt;/Directory&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Next I edited &lt;code&gt;/srv/http/.htaccess&lt;/code&gt; to redirect 404's to a main index page:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ErrorDocument 404 /index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then I created &lt;code&gt;/srv/http/index.html&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;brush: html&quot;&gt;&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;GET BACK TO WORK, YOU HOBO&amp;lt;/title&amp;gt;
        &amp;lt;style type=&quot;text/css&quot;&amp;gt;
            html {
                background: #f00;
            }
            h1 {
                color: #0f0;
                font-family: sans-serif;
                text-align: center;
                margin-top: 100px;
                font-size: 64pt;
            }
        &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;h1&amp;gt;GET BACK TO WORK, YOU HOBO&amp;lt;/h1&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Almost done; the final step is to edit &lt;code&gt;/etc/hosts&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;127.0.0.1 reddit.com www.reddit.com slashdot.org news.ycombinator.com
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;/random/get-back-to-work.png&quot;&gt;Now I see this.&lt;/a&gt;  Image hidden behind a link to spare the eyes of my readers.&lt;/p&gt;

&lt;p&gt;If this doesn't work, you could try making the background color flash quickly between red and green, or add a background MIDI and some animated GIFs.&lt;/p&gt;</description></item><item><title>Git info in your ZSH Prompt</title><link>http://briancarper.net/blog/570/git-info-in-your-zsh-prompt</link><guid>http://briancarper.net/blog/570/git-info-in-your-zsh-prompt</guid><pubDate>Fri, 10 Sep 2010 13:31:37 -0700</pubDate><description>&lt;p&gt;Recently I discovered &lt;a href=&quot;http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#SEC273&quot;&gt;vcs_info&lt;/a&gt; recently.  This nicely replaces the horrible hack I was using previously to show current Git status.  vcs_info works with VCSes besides Git, and it handles some of the magic and keeps your &lt;code&gt;.zshrc&lt;/code&gt; clean, so those are nice benefits.&lt;/p&gt;

&lt;p&gt;I used some Unicode to display colored circles.  Green if there are staged changes, yellow if there are unstaged changes, and red if there are new untracked-yet-unignored files.  Below is a picture.&lt;/p&gt;

&lt;p&gt;I like this because I'm constantly forgetting to &lt;code&gt;git add&lt;/code&gt; newly-created files.  Then I have to add them and amend my commit, and so on.  I like a prompt that reminds me that new files showed up that need to be added or ignored.&lt;/p&gt;

&lt;p&gt;Code:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;brush: bash&quot;&gt;autoload -Uz vcs_info

zstyle ':vcs_info:*' stagedstr '%F{28}●'
zstyle ':vcs_info:*' unstagedstr '%F{11}●'
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'
zstyle ':vcs_info:*' enable git svn
precmd () {
    if [[ -z $(git ls-files --other --exclude-standard 2&amp;gt; /dev/null) ]] {
        zstyle ':vcs_info:*' formats ' [%F{green}%b%c%u%F{blue}]'
    } else {
        zstyle ':vcs_info:*' formats ' [%F{green}%b%c%u%F{red}●%F{blue}]'
    }

    vcs_info
}

setopt prompt_subst
PROMPT='%F{blue}%n@%m %c${vcs_info_msg_0_}%F{blue} %(?/%F{blue}/%F{red})%% %{$reset_color%}'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Picture:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/zsh-git.png&quot; alt=&quot;ZSH and Git&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h1&gt;Limitations&lt;/h1&gt;

&lt;p&gt;As you can see in the screenshot, when you have a brand new Git repo (no commits yet), vcs_info fails to show you that there are files staged.  It works OK after you have at least one commit though.&lt;/p&gt;

&lt;p&gt;vcs_info doesn't (yet?) handle showing untracked files.  So I hacked a function to support it.&lt;/p&gt;

&lt;p&gt;Finding a good Unicode symbol that displays nicely in monospace font was annoying.  If I ever change fonts, I'll likely have to pick a new symbol.  It also doesn't display too well in a real tty.  Or over SSH when using Putty.  So I may have to scrap the stoplights and use plus-signs or something.  Sigh.&lt;/p&gt;</description></item><item><title>X automation with xte</title><link>http://briancarper.net/blog/563/x-automation-with-xte</link><guid>http://briancarper.net/blog/563/x-automation-with-xte</guid><pubDate>Fri, 06 Aug 2010 13:03:01 -0700</pubDate><description>&lt;p&gt;I learned today (via a &lt;a href=&quot;http://hanschen.org/2009/10/13/mouse-shortcuts-with-xbindkeys/&quot;&gt;great blog post&lt;/a&gt;) about &lt;code&gt;xte&lt;/code&gt;.  This program lets you simulate X Windows mouse and keyboard events from the commandline.  How much more awesome can you get?  &lt;/p&gt;

&lt;p&gt;Hans illustrates how to integrate &lt;code&gt;xbindkeys&lt;/code&gt; and &lt;code&gt;xte&lt;/code&gt; to make KDE4 effects activate.  I wanted the KDE4 &quot;Desktop Grid&quot; to appear when I press a mouse button (because my &lt;a href=&quot;http://briancarper.net/blog/558/review-logitech-performance-mx&quot;&gt;new mouse&lt;/a&gt; has a lot of buttons to spare), so this is exactly what I was looking for.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;xte&lt;/code&gt; is the kind of glue that makes Linux awesome.  KDE lets you set global keyboard shortcuts for lots of things.  &lt;code&gt;xbindkeys&lt;/code&gt; lets you assign shell commands to mouse buttons.  And &lt;code&gt;xte&lt;/code&gt; ties the two together.  Possibly none of the programmers on these three tools knew about the others, but they interact perfectly to let you do anything you want.&lt;/p&gt;

&lt;p&gt;You may be thinking, &quot;&lt;em&gt;If you want to work with KDE from the commandline, why not use DBUS?&lt;/em&gt;&quot;  That's what I tried to do first.  But I can't for the life of me figure it out.  There's &lt;a href=&quot;http://osdir.com/ml/kde-devel/2010-04/msg00195.html&quot;&gt;some indication&lt;/a&gt; that we might be able to do this somday, like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;qdbus org.kde.kglobalaccel /component/kwin org.kde.kglobalaccel.Component.invokeShortcut ShowDesktopGrid
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or maybe it's already in the latest version of KDE and I haven't upgraded yet.  Either way.&lt;/p&gt;

&lt;p&gt;By the way: could DBUS possibly have a more verbose or cryptic interface?  I was hunting through the available DBUS commands looking for something that would show the Desktop Grid, and I ended up having to scan through lists of crap like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;~ % qdbus org.kde.kwin /KWin                         
method Q_NOREPLY void org.kde.KWin.cascadeDesktop()
method void org.kde.KWin.circulateDesktopApplications()
method bool org.kde.KWin.compositingActive()
signal void org.kde.KWin.compositingToggled(bool active)
method int org.kde.KWin.currentDesktop()
method QList&amp;lt;int&amp;gt; org.kde.KWin.decorationSupportedColors()
method void org.kde.KWin.doNotManage(QString name)
method Q_NOREPLY void org.kde.KWin.killWindow()
method QStringList org.kde.KWin.listOfEffects()
method void org.kde.KWin.loadEffect(QString name)
method QStringList org.kde.KWin.loadedEffects()
method void org.kde.KWin.nextDesktop()
method void org.kde.KWin.previousDesktop()
method Q_NOREPLY void org.kde.KWin.reconfigure()
method void org.kde.KWin.reconfigureEffect(QString name)
method void org.kde.KWin.refresh()
signal void org.kde.KWin.reinitCompositing()
signal void org.kde.KWin.reloadConfig()
method bool org.kde.KWin.setCurrentDesktop(int desktop)
method void org.kde.KWin.showWindowMenuAt(qlonglong winId, int x, int y)
method Q_NOREPLY void org.kde.KWin.toggleCompositing()
method void org.kde.KWin.toggleEffect(QString name)
method Q_NOREPLY void org.kde.KWin.unclutterDesktop()
method void org.kde.KWin.unloadEffect(QString name)
method bool org.kde.KWin.waitForCompositingSetup()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is line noise to me.&lt;/p&gt;</description></item><item><title>Clementine: A triumph of Free Software</title><link>http://briancarper.net/blog/553/clementine-a-triumph-of-free-software</link><guid>http://briancarper.net/blog/553/clementine-a-triumph-of-free-software</guid><pubDate>Tue, 13 Jul 2010 11:48:51 -0700</pubDate><description>&lt;p&gt;Ages ago, in the long-forgotten days of 2008, there was Amarok 1.4.  And it was good.  Then KDE4 came along and Amarok was rewritten, reshaped, becoming something... different.  Something unsettling.  Something &lt;a href=&quot;http://briancarper.net/blog/463/songbird-vs-amarok-how-not-to-design-a-gui&quot;&gt;not&lt;/a&gt; &lt;a href=&quot;http://briancarper.net/blog/516/exaile-the-best-amarok-since-amarok-14&quot;&gt;altogether&lt;/a&gt; &lt;a href=&quot;http://briancarper.net/blog/494/amarok-22-disber-grogth-grocks&quot;&gt;pleasant&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Fear not.  Today we have &lt;a href=&quot;http://www.clementine-player.org/&quot;&gt;Clementine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/clementine-0.4.png&quot;&gt;&lt;img src=&quot;/random/thumbs/clementine-0.4.png&quot; alt=&quot;Clementine&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I consider Clementine a triumph of Free Software.  A great project fell off the rails, so someone else picked up the pieces, forked it and kept the spirit alive.&lt;/p&gt;

&lt;!--more Gushing praise follows--&gt;

&lt;h1&gt;Features present&lt;/h1&gt;

&lt;p&gt;Clementine embodies everything good about Amarok 1.4, in a shiny Qt4 package.  The layout is eminently pleasant to use.  It uses the classic &quot;spreadsheet&quot; playlist view that saw so much success in Amarok 1.4.  If you care about cramming as much information about your music as possible onto the screen, this is as good as it gets.  It's boring, and that's a good thing.  It gets the job done.&lt;/p&gt;

&lt;p&gt;Like Amaork, 1.4, in Clementine you can very quickly drill into your music collection, filter it, view recently added tracks, group songs by artist or album or year or genre or a combination of those things.  Clementine also handles all of the edge cases correctly: it lists albums with Various Artists exactly how I'd want (exactly like Amarok 1.4).  It correctly handles songs with non-Latin tag text.&lt;/p&gt;

&lt;p&gt;Clementine detects additions and changes to my music collection instantly, without the massive scan-lags on startup that plague some other music players.  Clementine doesn't bat an eye at my 7,000 song collection.  There's no MySQL integration, but I don't need it.  Clementine's SQLite backend supposedly handles 300k songs without much problem, which is good enough for me.&lt;/p&gt;

&lt;p&gt;Clementine has Last.FM integration.  It has three different styles of desktop notification.  It has visualizations.  It handles USB devices.  It understands reply gain.  It has cross-fading.  It has an equalizer.  It has a transcoder.  It has a cover manager.&lt;/p&gt;

&lt;p&gt;I'm tired of listing features.  Let's just say it has every &lt;em&gt;useful&lt;/em&gt; feature you'd ever want.  And if you don't need a feature, it stays out of your way.&lt;/p&gt;

&lt;p&gt;And for a program under such active development, it's rock solid.  I have yet to see a crash.  And speaking of active development, if you follow the activity in Clementine's SVN repo, you will find that this program is updated almost daily.  How the devs find the time, I don't know, but I'm grateful.  This program has gone from non-existent to awesome in record time.&lt;/p&gt;

&lt;p&gt;Clementine can use gstreamer, so it even works cross-platform.  I fired it up on Windows 7 the other day and I was amazed at how good it looked and felt.  It supposedly also works on OS X.&lt;/p&gt;

&lt;p&gt;Clementine doesn't cook your breakfast for you, but that might be in the works.&lt;/p&gt;

&lt;h1&gt;How to make a good UI&lt;/h1&gt;

&lt;p&gt;A perfect example of the polish of Clementine's UI: Tagging.  How do you tag a whole album worth of music at once?  You can select some songs and right click and go into a dialog, like most music players allow.  &lt;/p&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Edit a tag for a single song (inline) by clicking the field.  Let's say you edit &lt;em&gt;Artist&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Select multiple songs in your playlist.  (Click and drag, CTRL-click, Shift-click, CTRL-A, whatever.)&lt;/li&gt;
&lt;li&gt;Right click the &lt;em&gt;Artist&lt;/em&gt; tag in the song you edited, select &lt;em&gt;Set Artist to &quot;XXXXX&quot;&lt;/em&gt;, and now all the songs you selected will be updated.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;/random/clementine-0.4_2.png&quot; alt=&quot;Clementine&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is the kind of UI innovation that I like.  It's simple, it's useful, and it's predictable.  You can get things done without going through dialog windows, without a million clicks, without spending a minute scratching your head figuring things out.&lt;/p&gt;

&lt;p&gt;(Meanwhile Amarok 2 is busy getting rid of the Stop button and making the volume control circular.)&lt;/p&gt;

&lt;h1&gt;Features missing&lt;/h1&gt;

&lt;p&gt;Admittedly, Clementine is missing a couple of features I wouldn't mind having.  You can't skin or theme Clementine.  You can't rate songs.  You can't display song lyrics.  You can't &quot;queue&quot; songs.  But oh well.  I can live without these features because the rest of the program is so darned good.   For all I know, these features might pop up next week.  I wouldn't be surprised.&lt;/p&gt;

&lt;p&gt;The Clementine devs seem to be very friendly and responsive to feature requests and feedback, which is also great.&lt;/p&gt;

&lt;p&gt;Clementine is also missing a few features/bloat that I'm glad to see NOT ported from Amarok.  Wikipedia integration?  Good riddance.&lt;/p&gt;

&lt;h1&gt;I would pay money for this program.&lt;/h1&gt;

&lt;p&gt;In November 2009 I had &lt;a href=&quot;http://briancarper.net/blog/494/amarok-22-disber-grogth-grocks&quot;&gt;this to say&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;(Anyone out there reading this, if you port Amarok 1.4 to Qt4 intact, I will pay you. Seriously. I will pay you money.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The offer still stands.  I will pay money for Clementine.  I'm &lt;a href=&quot;http://groups.google.com/group/clementine-player/browse_frm/thread/e04fc078e80724f0/7b32edc7ece2f762&quot;&gt;still waiting&lt;/a&gt; for a Donate link so I can do so.  (Clementine devs, are you reading this?)&lt;/p&gt;

&lt;p&gt;Why do I care about this so much?  Because I have music playing whenever I'm using this computer, and when you add up work plus free time, I'm at this computer 8-10 hours per day.  Music keeps me sane during multi-hour debug sessions.  Music is an integral part of my life, and a music app is an integral part of playing music.&lt;/p&gt;

&lt;p&gt;It's very important to me that the programs and tools I use all day are comfortable.  Otherwise I become cranky.  If you were a carpenter, would you want to use a hammer with a wobbly handle all day?  I'm a programmer, and I want to use comfortable computer programs.&lt;/p&gt;

&lt;p&gt;Clementine is very comfortable.&lt;/p&gt;</description></item><item><title>Sorry for the downtime</title><link>http://briancarper.net/blog/550/sorry-for-the-downtime</link><guid>http://briancarper.net/blog/550/sorry-for-the-downtime</guid><pubDate>Thu, 08 Jul 2010 08:29:37 -0700</pubDate><description>&lt;p&gt;This isn't the kind of email I like to see when I wake up:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Our backend monitoring system has detected an error on the host where your Linode resides which could lead to a failure condition. In order to protect your Linode, we have scheduled an emergency migration to a different host which will commence shortly. Please note that there is currently no issue with your Linode - this is a proactive measure we are taking to avoid an issue in the future.  &lt;/p&gt;
  
  &lt;p&gt;We apologize for any inconvenience this may cause. Should you have any questions or concerns, please do not hesitate to reply to this ticket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The server rebooted and my sites didn't come back up, so there was some downtime.  Sorry about that.&lt;/p&gt;</description></item><item><title>Screenshot June 2010</title><link>http://briancarper.net/blog/screenshot-june-2010</link><guid>http://briancarper.net/blog/screenshot-june-2010</guid><pubDate>Tue, 08 Jun 2010 12:27:44 -0700</pubDate><description>&lt;p&gt;I haven't posted one of these in a while.  I've been in an 8-bit kind of mindset for a while:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/screenshots/2010/2010-06-08_2.png&quot;&gt;&lt;img src=&quot;/screenshots/2010/thumbs/2010-06-08_2.png&quot; alt=&quot;Screenshot&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I actually stare at for 8 hours every day:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/screenshots/2010/2010-06-08.png&quot;&gt;&lt;img src=&quot;/screenshots/2010/thumbs/2010-06-08.png&quot; alt=&quot;Screenshot&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;KDE4, Buuf icons, QtCurve, wallpaper is from somewhere on the internets.&lt;/p&gt;</description></item><item><title>Clementine: looking great</title><link>http://briancarper.net/blog/clementine-looking-great</link><guid>http://briancarper.net/blog/clementine-looking-great</guid><pubDate>Sat, 06 Mar 2010 14:59:59 -0800</pubDate><description>&lt;p&gt;Amarok is looking really good these days:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/clementine.png&quot;&gt;&lt;img src=&quot;/random/thumbs/clementine.png&quot; alt=&quot;Clementine&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hold on, that's not Amarok!  It's &lt;a href=&quot;http://code.google.com/p/clementine-player/&quot;&gt;Clementine&lt;/a&gt;, a Qt4 port of Amarok 1.4, aka &quot;my dreams finally come true&quot;, aka &quot;what Amarok 2 should've been&quot;.  It's functional right now, not quite as fully-featured as Amarok 1.4, but all the major bits are there, and it's being actively developed.&lt;/p&gt;

&lt;p&gt;Once again I am amazed at and eternally grateful for the number of choices of media players there are in Linux.  It seems like I write a new blog entry every other week saying how great some media player is.  The reality is that there really are tons of great options.  And this is yet another.  &lt;/p&gt;

&lt;p&gt;But Amarok 1.4 was special.  And I really hope Clementine succeeds.&lt;/p&gt;</description></item><item><title>Exaile: The best Amarok since Amarok 1.4</title><link>http://briancarper.net/blog/exaile-the-best-amarok-since-amarok-14</link><guid>http://briancarper.net/blog/exaile-the-best-amarok-since-amarok-14</guid><pubDate>Fri, 12 Feb 2010 18:29:10 -0800</pubDate><description>&lt;p&gt;Like a sad dumb dog who still hopefully visits the grave of his dear, departed master, every once in a while I try Amarok 2 again.  Unfortunately, there has been no improvement in usability since the last dozen times I checked.&lt;/p&gt;

&lt;p&gt;But have you seen &lt;a href=&quot;http://www.exaile.org/&quot;&gt;Exaile&lt;/a&gt; lately?  This is what the bleeding edge version looks like:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/exaile.png&quot;&gt;&lt;img src=&quot;/random/thumbs/exaile.png&quot; alt=&quot;Exaile&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's pretty nice.  It's about as close as you can get to a stable, fully-functional Amarok 1.4-ish player nowadays.&lt;/p&gt;

&lt;p&gt;Aside from looking good, Exaile is good at handling ID3 tags (a few Japanese tags that Amarok 2 displays as ????????, Exaile displays properly) and it's pretty fast to rescan my collection nowadays, which is nice.  It does fairly sane grouping of multi-artist albums under &quot;Various artists&quot;.  It supports moodbar and song lyrics and cover art fetching and such, if that's the kind of thing you enjoy.  It even splits the library display by the first letter of the artist names, just like Amarok 1.4 did, which is awesome.&lt;/p&gt;

&lt;p&gt;I did have some problems installing the dependencies (python bindings for webkit?) for some of the plugins, but oh well.  I figured it out.  &lt;/p&gt;

&lt;p&gt;Today I went so far as to install &lt;code&gt;gnome-settings-daemon&lt;/code&gt; and &lt;code&gt;gnome-control-center&lt;/code&gt; just so Exaile wouldn't look like crap.  I use KDE4, and I haven't touched Gnome or any Gnome libs in a few years, so this is saying something.&lt;/p&gt;

&lt;p&gt;Mark Kretschmann, an Amarok dev, recently wrote an article about &lt;a href=&quot;http://amarok.kde.org/blog/archives/1160-Micro-Options-Reloaded-The-Paradox-of-Choice.html&quot;&gt;the paradox of choice&lt;/a&gt;, in which he said (probably correctly) that being presented with too many options and too many choices end up paralyzing people and making them miserable.&lt;/p&gt;

&lt;p&gt;Sorry, but the irony was overwhelming...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/exaile-explained.png&quot;&gt;&lt;img src=&quot;/random/thumbs/exaile-explained.png&quot; alt=&quot;Exaile Explained&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok2-explained.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok2-explained.png&quot; alt=&quot;Amarok2 Explained&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I really do believe there's a good program buried somewhere in that mess of controls, desperately wanting to be free.&lt;/p&gt;</description></item><item><title>Virtualbox looking good</title><link>http://briancarper.net/blog/virtualbox-looking-good</link><guid>http://briancarper.net/blog/virtualbox-looking-good</guid><pubDate>Wed, 20 Jan 2010 12:08:49 -0800</pubDate><description>&lt;p&gt;I &lt;a href=&quot;/blog/vmware-whats-in-a-name&quot;&gt;blathered on a bit about VMWare&lt;/a&gt; a while back, and lots of people recommended &lt;a href=&quot;http://www.virtualbox.org/&quot;&gt;VirtualBox&lt;/a&gt;.  I'm trying VirtualBox 3.1.2 with Windows 7 host and Linux guest, and it works surprisingly well.  I've used it successfully to hack on a bunch of projects while I'm stuck on a Windows laptop (&lt;em&gt;shudder&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Installing was essentially self-explanatory.  I never read any docs, except when it came to installing those &quot;Guest Addition&quot; programs to allow better mouse-handling.  And I had to look up how to go about sharing folders between host and guest.  But the documentation was clear, I found a short description how to set up the share and then and a command to run to mount the host folder:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo mount -t vboxsf ShareName /mnt/mountpoint
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I'm using Gnome in my guest, because I haven't used it in a long time and I was curious what'd changed.  I'm amazed even Compiz works in the guest.  I recall a time in the very recent past when my computer couldn't even handle Compiz natively, let alone in a virtual machine.&lt;/p&gt;

&lt;p&gt;Perhaps the best part about VirtualBox compared to VMWare is that there is one product called &quot;VirtualBox&quot; and one download link that took me a matter of seconds to find.  Fancy the thought.&lt;/p&gt;</description></item><item><title>Exaile</title><link>http://briancarper.net/blog/exaile</link><guid>http://briancarper.net/blog/exaile</guid><pubDate>Sat, 28 Nov 2009 11:22:50 -0800</pubDate><description>&lt;p&gt;In my ongoing quest for a good audio player (after becoming an &lt;a href=&quot;http://briancarper.net/blog/linux-audio-player-comparison-nit-picking&quot;&gt;Amarok exile and refugee&lt;/a&gt;) I settled on aTunes.  &lt;a href=&quot;http://www.atunes.org/&quot;&gt;aTunes&lt;/a&gt; is really good except for two quibbles... &lt;/p&gt;

&lt;p&gt;One, it's a Java app (a Swing app as far as I can tell?) and the GUI is enormous and unresponsive and certain parts of it really behave strangely.  Like clicking in text fields to focus them sometimes requires multiple clicks.  It's just annoying enough to constantly throw me off.&lt;/p&gt;

&lt;p&gt;The second problem is that it crashes all the time.  Music keeps playing but the GUI disappears.  &lt;code&gt;pkill java&lt;/code&gt; has become necessary far too often lately.&lt;/p&gt;

&lt;p&gt;So now I'm trying &lt;a href=&quot;http://www.exaile.org/&quot;&gt;Exaile&lt;/a&gt;.  It's very Amarok 1.4-like.  I can overlook the fact that it's GTK because it's otherwise so nice.  Best part, when &lt;a href=&quot;http://www.exaile.org/forum/viewtopic.php?f=6&amp;amp;t=591&quot;&gt;asked&lt;/a&gt; if Exaile is going to go the way of Amarok 2, the dev has this to say:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Never ever ever ever ever ever.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm having a hard time coming up with any deficiencies in Exaile so far.  Everything in the GUI is laid out nicely.  No crashes yet.&lt;/p&gt;

&lt;p&gt;One of these days I'll find an acceptable app... Most of these apps are good, but I'm too picky.  I love how Linux lets me be picky.  There is a wealth of options, and everything is free.  I am spoiled.&lt;/p&gt;</description></item><item><title>VMware: What's in a name?</title><link>http://briancarper.net/blog/vmware-whats-in-a-name</link><guid>http://briancarper.net/blog/vmware-whats-in-a-name</guid><pubDate>Thu, 26 Nov 2009 22:05:01 -0800</pubDate><description>&lt;p&gt;&lt;a href=&quot;http://www.vmware.com/&quot;&gt;VMware&lt;/a&gt; never ceases to confuse me.  Not the program, which is a pretty good piece of software.  Just the name of everything.  Look at this &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_VMware_software&quot;&gt;list of VMware software&lt;/a&gt;; can you figure out what any of those things are via their names?  The VMware official site is no less confusing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/vmware.png&quot; alt=&quot;VMware&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hilariously, all of these things seem to be named different things than a year or two ago when last I tried to install VMware.  It seems this company, like many others, enjoys renaming everything at random, just to keep you on your toes.&lt;/p&gt;

&lt;!--more It gets worse--&gt;

&lt;p&gt;If you search for &lt;code&gt;vmware&lt;/code&gt; in Gentoo you get these results, among others:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;app-emulation/vmware-dsp
app-emulation/vmware-gsx-console
app-emulation/vmware-modules
app-emulation/vmware-player
app-emulation/vmware-server
app-emulation/vmware-server-console
app-emulation/vmware-view-open-client
app-emulation/vmware-vix
app-emulation/vmware-workstation
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The descriptions are wonderful:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Emulate a complete PC on your PC without the usual performance overhead of most emulators
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In some cases, multiple packages have the exact same copy/pasted description, which is awesome.  But maybe the Gentoo devs couldn't figure out what any of these things are either.&lt;/p&gt;

&lt;p&gt;After some trial-and-error I narrowed it down to &lt;code&gt;vmware-server&lt;/code&gt;, &lt;code&gt;vmware-player&lt;/code&gt; and &lt;code&gt;vmware-workstation&lt;/code&gt;.  I &lt;em&gt;think&lt;/em&gt; &lt;code&gt;vmware-workstation&lt;/code&gt; is the non-free one, so that narrowed it down to the other two.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;vmware-server&lt;/code&gt; required me to register at the VMware site and download something myself, after giving my name and shoe size and blood type to VMware and registering, then clicking a download link in an email.  Then &lt;code&gt;vmware-server&lt;/code&gt; installed via Portage OK.  But it comes with a horrible web-only interface and the OS runs in a browser plugin.  This crashed hard and often.  I'd like a standalone client please.&lt;/p&gt;

&lt;p&gt;There's &lt;code&gt;vmware-server-console&lt;/code&gt; in Gentoo which sounds like it should let you connect to &lt;code&gt;vmware-server&lt;/code&gt;, but ha ha, no, it doesn't.  At least not the versions I ended up with via Portage.  Then I read somewhere that you can't use VMware Server Console to connect to VMware Server 2.0, it only works with earlier versions.  I think?  I don't even know if this is true, all I know is &lt;code&gt;vmware-server-console&lt;/code&gt; froze or crashed no matter what I tried.&lt;/p&gt;

&lt;p&gt;I read on some random mailing list that you can use something called &quot;&lt;strong&gt;VMware Infrastructure Client&lt;/strong&gt;&quot; to connect to VMware Server, but I couldn't for the life of me determine what this is or where to get it.&lt;/p&gt;

&lt;p&gt;So I uninstalled &lt;code&gt;vmware-server&lt;/code&gt;, made sure to &lt;code&gt;rm -rf /etc/vmware /opt/vmware /var/lib/vmware&lt;/code&gt; first, and then installed &lt;code&gt;vmware-player&lt;/code&gt;.  This opened in a GTK2 GUI, which is what I wanted to begin with.  But I couldn't create a new image.  I could only open existing ones, which I could download from the official VMware site apparently.&lt;/p&gt;

&lt;p&gt;Mind-bogglingly, an image in VMware isn't called an &quot;image&quot;, it's called an &quot;&lt;strong&gt;Appliance&lt;/strong&gt;&quot;.  Clearly someone in the marketroid department at VMware ran out of names, saw a toaster on the shelf and went with it.  A washing machine is an appliance, not an OS image.  Did you know the &quot;&lt;strong&gt;Virtual Appliance Marketplace&lt;/strong&gt;&quot; has &quot;&lt;strong&gt;Expanded Capabilities from the Largest Library of Applications for the Cloud&lt;/strong&gt;&quot;?  Is there seriously someone in the world who can read this without needing to fight back a reflex to vomit?  (Images are also referred to as &quot;Solutions&quot;, to which I say only uggggggh.)&lt;/p&gt;

&lt;p&gt;Anyways, it seems that they only added the ability to create your own images in &lt;strong&gt;VMware Player&lt;/strong&gt; version 3.0; this feature was absent in previous versions.  And 3.0 is not available through Gentoo yet.&lt;/p&gt;

&lt;p&gt;So I uninstalled everything, &lt;code&gt;rm -rf&lt;/code&gt;ed any cruft I could find, and went and downloaded &lt;strong&gt;VMware Player 3.0&lt;/strong&gt; from the VMware site directly.  I had to register AGAIN, but then I got it.&lt;/p&gt;

&lt;p&gt;During the install, VMware Player 3.0 asks you for the location of your &lt;code&gt;runlevels&lt;/code&gt; directory.  It didn't accept &lt;code&gt;/etc/runlevels&lt;/code&gt; on my box; I guess Gentoo's is non-standard.  So I had to make a fake directory and go into it and &lt;code&gt;mkdir rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d init.d&lt;/code&gt; and let VMware pretend that was my runlevels directory.  All so the installer could spew an initscript into it, which doesn't even work.  Oh well.&lt;/p&gt;

&lt;p&gt;After trying to run &lt;code&gt;vmplayer&lt;/code&gt;, failing because the kernel modules weren't loaded properly by the broken initscript, &lt;code&gt;modprobe&lt;/code&gt;ing the modules myself and restarting a bunch of times, then running &lt;code&gt;vmware-networks --start&lt;/code&gt; manually, behold!  I had a running VMware Player 3.0 and I made my own image and everything was good.&lt;/p&gt;

&lt;p&gt;Are you confused yet?  It's all free, so I guess I shouldn't complain.  But I guess I just did complain anyways.  Names don't have to be this confusing.  So many companies do this, and why?&lt;/p&gt;

&lt;p&gt;How about &quot;light&quot; (or even &quot;lite&quot;), &quot;trial&quot;, &quot;full&quot;, &quot;free&quot;, &quot;paid&quot;, &quot;server&quot;, &quot;client&quot;?  Those are nice words.  We all know what those words mean.  &quot;&lt;strong&gt;VMware ESXi&lt;/strong&gt;&quot; might sound &lt;strong&gt;&lt;em&gt;EXTREME&lt;/em&gt;&lt;/strong&gt; or trendy or whatever, and maybe it really does &quot;&lt;strong&gt;Deliver Enterprise Performance to Your Applications&lt;/strong&gt;&quot;  (ugggggggggggh), but what the hell is it?  What is &lt;strong&gt;VMWare ThinApp&lt;/strong&gt;?  What does it do?  How am I supposed to buy what you're selling when you're speaking a foreign language to me?&lt;/p&gt;</description></item><item><title>Fluxbox, we meet again</title><link>http://briancarper.net/blog/fluxbox-we-meet-again</link><guid>http://briancarper.net/blog/fluxbox-we-meet-again</guid><pubDate>Sun, 15 Nov 2009 16:32:59 -0800</pubDate><description>&lt;p&gt;I'm sort of tired of KDE4 crashing left and right and Plasma barfing all over me all day.  So I decided to check out the current state of lightweight window managers.&lt;/p&gt;

&lt;p&gt;Lo and behold, Fluxbox is still going strong.  It was the first WM I used way back in 2000-something when I started using Linux full-time.  Last time I tried, there were always weird compatibility problems with system tray icons and pagers working properly when running a mix of KDE and Gnome and other apps, but those seem to have cleared up nicely; I have yet to hit any snags.  Here's a screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/screenshots/2009/2009-11-15.png&quot;&gt;&lt;img src=&quot;/screenshots/2009/thumbs/2009-11-15.png&quot; alt=&quot;Fluxbox&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This took very minimal effort to install and set up.  Maybe a couple hours total.  I'm using &lt;a href=&quot;http://useperl.ru/ipager/index.en.html&quot;&gt;ipager&lt;/a&gt; and &lt;a href=&quot;http://conky.sourceforge.net/&quot;&gt;conky&lt;/a&gt;.  The wallpaper comes from &lt;a href=&quot;http://kde-look.org/content/show.php?content=112688&quot;&gt;the UniQ KDE theme&lt;/a&gt;.  Vim and Emacs themes are &lt;a href=&quot;http://github.com/briancarper/dotfiles/&quot;&gt;my own&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Fluxbox style is mydefcon_4 from &lt;a href=&quot;http://www.tenr.de/styles/&quot;&gt;tenr.de&lt;/a&gt; which is probably the largest and most thorough set of themes created by one person that I've witnessed.   That fellow is motivated.&lt;/p&gt;

&lt;p&gt;For all the bells and whistles of KDE4, what features did I actually use regularly?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A menu of apps&lt;/li&gt;
&lt;li&gt;Taskbar + System tray + Clock&lt;/li&gt;
&lt;li&gt;KWin's good window management.&lt;/li&gt;
&lt;li&gt;Global keyboard shortcuts galore&lt;/li&gt;
&lt;li&gt;One widget: current CPU/RAM/Network usage&lt;/li&gt;
&lt;li&gt;Mouse/keyboard management, background-setting, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fluxbox gives me all but number 5, and Conky gives me that.  Number 6 you can do with &lt;code&gt;xset&lt;/code&gt; and &lt;code&gt;feh&lt;/code&gt; and such.&lt;/p&gt;

&lt;p&gt;And I like being motivated to use keyboard shortcuts for more things.  I'm already halfway there.  Maybe I can take the plunge eventually and try a tiling window manager.  Not sure I've reached that level of nerditude yet though.&lt;/p&gt;

&lt;p&gt;And now I can move and resize windows without my graphics card bursting into flames.  Maybe when I can afford a few more cores worth of CPU I'll try KDE4 again.  Honestly I think I have too much monitor real-estate for my ancient computer to handle smoothly in KDE4.&lt;/p&gt;

&lt;p&gt;Not to knock KDE4; it's awesome and I'll probably go back someday.  But everyone needs a break now and then.&lt;/p&gt;</description></item><item><title>Linux audio player comparison (nit-picking)</title><link>http://briancarper.net/blog/linux-audio-player-comparison-nit-picking</link><guid>http://briancarper.net/blog/linux-audio-player-comparison-nit-picking</guid><pubDate>Thu, 12 Nov 2009 22:18:48 -0800</pubDate><description>&lt;p&gt;Given my inability to use Amarok 1.4 and my lack of desire to use Amarok 2.0, I tried loads of music players and for now I've landed on &lt;a href=&quot;http://www.atunes.org/&quot;&gt;aTunes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It's not perfect.  It's far from perfect.  But it's the best of the bunch.  These are the features I MUST HAVE for a media player and which aTunes possesses.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Last.fm integration.  aTunes has probably the best integration I've seen in a player, without going over-the-top and stuffing a whole web browser into the app.&lt;/li&gt;
&lt;li&gt;System tray icon, right-clickable with song controls in the menu.&lt;/li&gt;
&lt;li&gt;Commandline interface.&lt;/li&gt;
&lt;li&gt;Able to display CJK fonts.  In Arch (or in Gentoo using the &lt;code&gt;icedtea6-bin&lt;/code&gt; VM) CJK fonts are displayed as empty boxes, but in Gentoo using Sun JVM, it works fine.&lt;/li&gt;
&lt;li&gt;Tag editing.  aTunes has a pretty nice tag editor for single songs or multiple at once.&lt;/li&gt;
&lt;li&gt;Amarok-like tree of albums/artists/genres/whatever I want.  I want a single expandable and collapsable tree-list, not 3 panes I have to click between.&lt;/li&gt;
&lt;li&gt;Equalizer.&lt;/li&gt;
&lt;li&gt;Skins are nice; aTunes has these.&lt;/li&gt;
&lt;li&gt;&quot;Collection&quot; support and folder-watching/auto-updating when I dump music into &lt;code&gt;~/music&lt;/code&gt;.  aTunes does this very well.  Scanned a few thousand files fairly quickly, and does updates very fast.&lt;/li&gt;
&lt;li&gt;Amarok-1.4-like spreadsheetish playlist layout.&lt;/li&gt;
&lt;li&gt;Lightweight build process.  No gstreamer.  aTunes provides Mplayer and Xine backends and has few to no other dependencies (besides Java).  The Mplayer backend didn't work out very well for me, but Xine works beautifully.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It also has some other nice bonuses, like the elegant way it uses the &lt;code&gt;Album Artist&lt;/code&gt; tag for albums with multiple artists, the interesting statistics and bar graphs it can produce from your song listening history, playlist tabs, and so on.&lt;/p&gt;

&lt;p&gt;Things I dislike about aTunes... well it's a Java app, so it takes a decade to start up.  It also has horrid fonts and the widgets are clunky.  But it's responsive once it's running, and I don't care how it looks as much as how sane the layout is.  Searching is also clunky.  But these aren't show-stoppers.&lt;/p&gt;

&lt;p&gt;Here's a list of other players I tried, and why I didn't use them.&lt;/p&gt;

&lt;!--more Read on...--&gt;

&lt;h2&gt;Amarok 1.4&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I'd use this if I could.  :(  It compiles and runs on my Gentoo box but too much stuff is broken due to bit-rot.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;a href=&quot;http://amarok.kde.org/&quot;&gt;Amarok 2&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://briancarper.net/blog/amarok-22-disber-grogth-grocks&quot;&gt;Covered in detail.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;a href=&quot;http://banshee-project.org/&quot;&gt;Banshee&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It wanted to pull in about a billion and a half Gnome dependencies.  This is not fun for a KDE user.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;a href=&quot;http://getsongbird.com/&quot;&gt;Songbird&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;So close.  This is probably second place behind aTunes.  It has a great plugin system, it's skinnable, the layout is extremely functional and compact and easy to use and customizable.  But...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No system tray icon in Linux!  This is a show-stopper.  There's &lt;a href=&quot;http://alltray.trausch.us/&quot;&gt;alltray&lt;/a&gt; but it doesn't let me right-click and have song controls.&lt;/li&gt;
&lt;li&gt;It has a clumsy commandline interface which makes setting global KDE keyboard shortcuts annoying.&lt;/li&gt;
&lt;li&gt;Bloat.  Do you really need a full-fledged web browser in your media player?&lt;/li&gt;
&lt;li&gt;XUL, ew.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;a href=&quot;http://squentin.free.fr/gmusicbrowser/gmusicbrowser.html&quot;&gt;gmusicbrowser&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This is very customizable (almost absurdly so) and looks promising.  However...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Still a bit beta-quality.&lt;/li&gt;
&lt;li&gt;Crashed on me a couple times in the short time I used it.&lt;/li&gt;
&lt;li&gt;Interface has a kitchen-sink feel to it.  Too many tabs and widgets all over the place.  I couldn't find a layout I liked.&lt;/li&gt;
&lt;li&gt;Looks pretty good, but no real compelling reason to use this.&lt;/li&gt;
&lt;li&gt;Written in Perl?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;a href=&quot;http://regomodo.github.com/amaroq/&quot;&gt;amaroq&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Alpha-quality PyQt4 clone of Amarok 1.4.  Looks promising.  I will keep an eye on this.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;MPD&lt;/h2&gt;

&lt;p&gt;Last time I tried MPD was years ago.  If aTunes doesn't work out, I'll try this next.  But aTunes has kept me going for a week now, and I have very few complaints.&lt;/p&gt;

&lt;p&gt;If they do a complete rewrite for aTunes 2.0 and destroy the interface, I'll jump off a bridge.&lt;/p&gt;</description></item><item><title>Amarok 2.2: DISBER GROGTH GROCKS</title><link>http://briancarper.net/blog/amarok-22-disber-grogth-grocks</link><guid>http://briancarper.net/blog/amarok-22-disber-grogth-grocks</guid><pubDate>Fri, 06 Nov 2009 01:14:49 -0800</pubDate><description>&lt;p&gt;Remember Amarok 1.4?  Remember how awesome it was?  Here's a screenshot just in case you don't remember.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok1-comparison.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok1-comparison.png&quot; alt=&quot;Amarok1.4&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Does it bring back fond memories of music and comfortable GUI interfaces?  It does for me.  Those were good times.  Keep that picture in mind.&lt;/p&gt;

&lt;p&gt;Let's play a game called &quot;Can we make Amarok 2.2 look like Amarok 1.4&quot;?  I've heard this as a response to complaints about Amarok 2's GUI: &lt;em&gt;You can make it look like Amarok 1.4 if you want&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So let's try.  Ready?  Here it is:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok2-comparison.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok2-comparison.png&quot; alt=&quot;Amarok2.2&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Does it look the same?  Not really.  Kind of close.  That's as good as I could do though.  There are no headers on the columns in the playlist, so you can't tell what half of those things mean.  You can't resize the fields (like you could in 1.4).  You can't sort them by a simple click of a header (like you could in 1.4); instead you have that strange breadcrumb thing up there.  You can't add new fields by right-clicking and picking them from a menu (as you could in 1.4).  Not as many songs fit in the playlist in 2.2, but it's pretty close.&lt;/p&gt;

&lt;p&gt;Now, here's the good part.  How do you get Amarok 2.2 to look this way?  By doing &lt;strong&gt;&lt;em&gt;THIS&lt;/em&gt;&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok2-comparison2.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok2-comparison2.png&quot; alt=&quot;Amarok2.2&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;AAHHHHHHH!&lt;/em&gt;&lt;/strong&gt;  Too bad Halloween is gone, because I could use that dialog to scare children.  The title of this blog post, &lt;strong&gt;&lt;em&gt;DISBER GROGTH GROCKS&lt;/em&gt;&lt;/strong&gt;, comes from the mangled and truncated labels in that horizontally-scrolling list of icons.  Doesn't it sound like the deranged grunting of a once-proud beast, now fallen into ruin, stumbling zombie-like through the world, a mere shambles of its former self?  I think so.&lt;/p&gt;

&lt;p&gt;Once in a blue moon, I'll witness the behavior of an application that's so off-the-wall, bat-honking insane that I'm reduced to maniacal laughter.  That's not an exaggeration; I literally gape at the computer screen and cackle like a madman, curling reflexively into a fetal position.  This was one of those times.&lt;/p&gt;

&lt;p&gt;It took me well over a half hour to drag and drop all of those controls into that window in the right order with dividers between them.  Thank God for 1920x1200 monitors or the dialog wouldn't even have fit on the screen.  (No, it's not resizable.)&lt;/p&gt;

&lt;p&gt;Why a half hour?  Because I also had to click every single one of those elements and set its width as a percentage using a slider in a sub-dialog.  By default every field is an equal width, so that a field with a single digit in it has a mile of whitespace on either side, while song titles are displayed as &quot;&lt;strong&gt;C...&lt;/strong&gt;&quot;.  And this dialog is the only way to fix it:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/amarok2-comparison3.png&quot; alt=&quot;Amarok2.2&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;How did I come up with 25% there?  Laborious trial-and-error. Amarok 2.2. takes what was a click-and-drag-to-resize operation in every other application ever written, and turns it into an algebra problem.  Twelve fields I had to tweak, one by one.  I was probably in and out of that dialog 3 or 4 dozen times.&lt;/p&gt;

&lt;p&gt;(I'll spare you what happens when you resize the window in Amarok 2.2.  Suffice it to say once you get it looking OK, never touch it again.)&lt;/p&gt;

&lt;p&gt;Now, I'm no expert on GUI design.  But I'm guessing there's a reason most applications don't do things this way.  Columns of data with headers at the top are nice.  They're kind of boring, but they're boring like a doorknob.  You turn it and the door opens.  There isn't much room (or need) for improvement.  I don't want to have to solve a logic puzzle to get out of the bathroom every morning, and I don't want to play a video game of line-up-the-widgets and guess-the-percentages just to get a playlist to display some fields of information.&lt;/p&gt;

&lt;p&gt;In Amarok 2.2 there's also no button for Repeat/Shuffle, and the Equalizer tells me it disabled itself because I don't have the right version of Phonon, and the collection list is very unresponsive (even expanding / collapsing an artist's albums lags), and there are no visualizations, and no themes, and the volume slider is hidden behind a button in the bottom-right there unlike Amarok 1.4's perfectly functional slider, and well you get the picture.  But hey, you can &lt;a href=&quot;http://www.youtube.com/watch?v=mJrpKNJ6seA&quot;&gt;browse Flickr&lt;/a&gt; in Amarok now.  Finally!&lt;/p&gt;

&lt;p&gt;Amarok 2.2 is what I'd now call &quot;just barely usable&quot;, which is actually an improvement from previous versions, but that's not saying much.  I've used it for over a month, only because 1.4 can no longer even scan a collection on my computer, Last.fm is broken, and I got a notice today that Gentoo is deprecating KDE3 entirely.  Amarok 1.4 is the new XMMS; Qt3 is the new GTK1.  Some people will cling to them, somehow barely keeping them running on their systems, until bitrot and neglect force them to fade away into history, whether there's a good replacement around or not.&lt;/p&gt;

&lt;p&gt;I was a huge cheerleader for Amarok 1.4; it was a flagship KDE / Linux GUI app.  Now I don't know what to say.  Final grade, Amarok 2.2: &lt;strong&gt;D+&lt;/strong&gt;.  It avoided an F because I can get sound to come out of it, and it didn't erase my hard drive.&lt;/p&gt;

&lt;p&gt;(Anyone out there reading this, if you port Amarok 1.4 to Qt4 intact, I will pay you.  Seriously.  I will pay you money.)&lt;/p&gt;</description></item><item><title>KMail is slow</title><link>http://briancarper.net/blog/kmail-is-slow</link><guid>http://briancarper.net/blog/kmail-is-slow</guid><pubDate>Sun, 18 Oct 2009 13:38:48 -0700</pubDate><description>&lt;p&gt;KMail is a pretty good app, except that it's slow as glacier.  If I select a few thousand spam emails in KMail (4.3.2) sitting on my IMAP server, and I try to delete them, KMail laboriously iterates through them deleting them one at a time and updating the GUI after every deletion.  I'd say it averages about 4 or 5 emails deleted per second.  Yes, for a few thousand emails this adds up to 10-15 minutes of waiting.&lt;/p&gt;

&lt;p&gt;I got tired of waiting, so I decided to try out Mutt for the first time.  In Mutt apparently you can delete a folder full of emails by pressing &lt;code&gt;D&lt;/code&gt; and then specifying &lt;code&gt;~s .*&lt;/code&gt; as the search pattern.  Mutt deleted 8,000 spam emails for me instantaneously.&lt;/p&gt;

&lt;p&gt;This is what I get when I ignore the collective wisdom of the Linux group-mind.  I've long heard that Mutt is good but I never bothered trying it, because Thunderbird and KMail and friends were &quot;good enough&quot;.   &lt;/p&gt;

&lt;p&gt;Complacency, my old nemesis.  You have beaten me again.  But I am now going to give Mutt a good try.  Next on the list is zsh.&lt;/p&gt;</description></item><item><title>Spam spam spam spam spammity spam</title><link>http://briancarper.net/blog/spam-spam-spam-spam-spammity-spam</link><guid>http://briancarper.net/blog/spam-spam-spam-spam-spammity-spam</guid><pubDate>Sat, 17 Oct 2009 11:59:05 -0700</pubDate><description>&lt;p&gt;I woke up this morning to about 50 spam emails and some notifications from my host that my CPU usage was about 200% over the past four hours.  Turns out &lt;code&gt;spamd&lt;/code&gt; was going mental.  Not sure what caused it but it seems to be working again after I restarted it.&lt;/p&gt;

&lt;p&gt;One of the worst things about running your own mail server is spam.  I don't much about how to do it properly.  I have SpamAssassin running, I tweaked the settings and trained it well, and it works OK.  Of 8,000 spams in the past week or two, I think only two made it through to my inbox.  But I keep thinking there must be a better way.&lt;/p&gt;

&lt;p&gt;For a while I tried &lt;a href=&quot;http://en.wikipedia.org/wiki/Greylisting&quot;&gt;greylisting&lt;/a&gt;.  Greylisting means you pseudo-bounce every email you get, and force the mail server to resend it.  Once it's resent, that server is added to a whitelist.  The idea is that spam servers won't bother resending and genuine mail servers will.&lt;/p&gt;

&lt;p&gt;I ran this way via &lt;a href=&quot;http://postgrey.schweikert.ch/&quot;&gt;Postgrey&lt;/a&gt; for a couple months.  The good thing is that it works pretty much as advertised.  I went from hundreds of spam emails per day, to fewer than a dozen.  SpamAssassin caught all of those dozen and I never saw them.  It was nice.&lt;/p&gt;

&lt;p&gt;The problem with this, however, is twofold.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;All mail from people you've never heard from before is delayed 5-10 minutes.  This is very annoying in certain circumstances, e.g. registering for an account at a new message board or buying something from an online store you never used before.  I'd rather like to see the receipt or user registration right away.  So to get around this I had to go add them to a whitelist on the server every time, which was ridiculous.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Not all genuine mail servers bother resending after the temporary bounce, so you lose mail.  You need only look in &lt;code&gt;/etc/postgrey/whitelist_clients&lt;/code&gt; and see the enormous list of mail servers that Postgrey knows NOT to greylist, to be scared into never using Postgrey again.  This includes yahoo.com, ebay.com, a bunch of airlines, and so on.  The list goes back to 2005 and obviously is an incomplete list, since it only includes servers that people reported having problems with.  I had to add gmail.com to it myself to avoid losing mail from my wife (domains that use large pools of mail servers will always be greylisted, it seems).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Losing mail is the reason I stopped using Postgrey.  So I'm back to SpamAssassin alone and dealing with an occasional spam or two, while my spam inbox balloons.&lt;/p&gt;</description></item><item><title>Ker-crash</title><link>http://briancarper.net/blog/ker-crash</link><guid>http://briancarper.net/blog/ker-crash</guid><pubDate>Sat, 26 Sep 2009 18:56:52 -0700</pubDate><description>&lt;p&gt;I can pretty consistently crash my X server nowadays just by opening too many programs.  I think I need a new computer.&lt;/p&gt;

&lt;p&gt;Or maybe my idea of &quot;too many programs&quot; has been warped by how well Linux multi-tasks.  Let's see.  I'm seeding 20 torrents in KTorrent, I have Amarok playing, Konversation has a few IRC channels open, Kopete is doing some Jabber for me, Akregator is fetching feeds every 10 minutes, Gimp has a dozen PNGs open, Emacs is visiting around 20 files (and running SLIME + Clojure obviously), Squirrel SQL is running so I can peek at mysql, I have maybe 5 or 6 Konsole windows open, and I have four browsers running (Firefox, Chromium, Opera, Konq) for testing my websites while I develop (multiple tabs in each obviously).  And so on.&lt;/p&gt;

&lt;p&gt;In Windows not only would the single, sucky taskbar be full to overflowing, but all of my programs would be slowed to a crawl.  In Linux I somehow get away with this level of activity for days at a time, but eventually I do something wrong and something crashes.  Just now, it was opening one Konsole window too many.  I think it's KDE4 instability, or else my ancient video card can't handle the screen resolution I'm running.  But I get crashes in Gentoo and Arch both so I don't know.&lt;/p&gt;

&lt;p&gt;Buying a computer is such a pain.  I never know what to get.  I don't keep up with hardware news.  Every time I turn around there are twelve new processor families.  I know whatever I buy will suck in a month.  My current computer is from &lt;a href=&quot;http://briancarper.net/blog/new-computer&quot;&gt;way back in 2006&lt;/a&gt; and I haven't upgraded it since.  My geek cred is non-existent if judged by the computer I'm using.  It's embarrassing.&lt;/p&gt;</description></item><item><title>Force Google Chromium to have a normal title bar in KDE</title><link>http://briancarper.net/blog/force-google-chromium-to-have-a-normal-title-bar-in-kde</link><guid>http://briancarper.net/blog/force-google-chromium-to-have-a-normal-title-bar-in-kde</guid><pubDate>Sat, 19 Sep 2009 01:58:26 -0700</pubDate><description>&lt;p&gt;KDE is awesome largely because KWin is awesome.  If I had to name one reason I gave up using Gnome and moved to KDE, it'd be KWin.&lt;/p&gt;

&lt;p&gt;Some programs (for example, Songbird, aTunes, Google Chrom(e|ium)) try to manage their own windows in silly ways like hiding their title bars and window borders, or fiddling with how they appear in pagers or task managers / application lists, or trying to manage their own sizes and positions.  KWin lets you override and force sane preferences upon such programs.&lt;/p&gt;

&lt;p&gt;Chromium for Linux is nice enough to give you an option to &quot;&lt;strong&gt;Use system title bar and borders&lt;/strong&gt;&quot; if you right-click the top.  But this only changes how Chrome looks; it doesn't make the KWin title bar and borders appear.&lt;/p&gt;

&lt;p&gt;Why would you want KWin title bar and borders?  Because by default, Chromium's self-managed title bar only gives you Windowsy options like minimize/maximize/close.  It doesn't give you Linuxy options like double-clicking the title bar to window-shade the window, or right-clicking the title bar to get the KDE menu to send it between desktops or make it Always on Top, and such goodness.  If I wanted gimped up window management I'd go use Windows 95.&lt;/p&gt;

&lt;!--more Instructions and screenshots follow.--&gt;

&lt;p&gt;To get the normal KWin title bar to appear, go into &lt;strong&gt;System Settings&lt;/strong&gt;, &lt;strong&gt;Window Behavior&lt;/strong&gt;, &lt;strong&gt;Window Specific&lt;/strong&gt;, then &lt;strong&gt;New..&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;Detect Window Properties&lt;/strong&gt; button and then click an open Chromium window to fill in the details, as in this screenshot.&lt;/p&gt;

&lt;p&gt;(Note that for most apps you can right-click the title bar of the window, go to &lt;strong&gt;Advanced&lt;/strong&gt; and &lt;strong&gt;Special Application settings&lt;/strong&gt; and get to the same place, but in the special case of windows without normal title bars, you have to do it in this more roundabout way.)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/kwin.png&quot; alt=&quot;KWin&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then go to &lt;strong&gt;Preferences&lt;/strong&gt; and set &lt;strong&gt;No Border&lt;/strong&gt; to &quot;&lt;strong&gt;Force&lt;/strong&gt;&quot;, and uncheck the box.  (This is kind of confusing because it's a double-negative; a checked box means to hide the window borders, and an unchecked box means to show them.)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/kwin2.png&quot; alt=&quot;KWin&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Once you save and apply all of this, Chromium will have a normal window title and border forever, whether it likes it or not.  Rejoice as sanity is restored to the world.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/random/kwin3.png&quot; alt=&quot;Chromium&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You can use this dialog to do other helpful things like make your IM windows be sticky across all desktops by default.  Or to sort your applications to always start (and stay) on certain desktops.  Or to force applications to start maximized or have a certain geometry.&lt;/p&gt;

&lt;p&gt;Another thing I find very helpful is to turn &lt;strong&gt;Focus stealing prevention&lt;/strong&gt; to the highest setting for any program that likes to throw dialog boxes at me and demand immediate attention.  Thunderbird used to be really annoying in this way.&lt;/p&gt;

&lt;p&gt;Most other Linux window managers can do some of this kind of thing too with either built-in options or via 3rd-party scripts (last I checked Gnome was the latter but it's been a while).   However few do it as well as KWin.  The only thing I've used comparable to KWin is probably FVWM, and KWin's GUI configuration is orders of magnitude easier to work with than FVWM config files.&lt;/p&gt;</description></item><item><title>Flash: I hate you</title><link>http://briancarper.net/blog/flash-i-hate-you</link><guid>http://briancarper.net/blog/flash-i-hate-you</guid><pubDate>Sat, 12 Sep 2009 15:16:09 -0700</pubDate><description>&lt;p&gt;If there's a version of Flash on Linux that does &lt;strong&gt;not&lt;/strong&gt; crash my browser multiple times per hour, I'd love to know where I can get it.&lt;/p&gt;

&lt;p&gt;When I want to browse more than 2 or 3 movies on Youtube at once, I switch over to Opera, because at least when Flash crashes in Opera, it just turns into a black box and Opera keeps going.  Firefox on the other hand shuts down entirely.&lt;/p&gt;

&lt;p&gt;But sometimes Flash even manages to crash my X server.  That takes real talent.  Flash cannot possibly die fast enough.  We've been dealing with this atrocity for over a decade now.&lt;/p&gt;</description></item><item><title>Way to go, Arch</title><link>http://briancarper.net/blog/way-to-go-arch</link><guid>http://briancarper.net/blog/way-to-go-arch</guid><pubDate>Tue, 04 Aug 2009 20:38:23 -0700</pubDate><description>&lt;p&gt;KDE 4.3 is &lt;a href=&quot;http://www.archlinux.org/news/455/&quot;&gt;available in Arch already&lt;/a&gt;. If the Arch MB is to be believed, it was available for install &lt;a href=&quot;http://bbs.archlinux.org/viewtopic.php?id=77292&quot;&gt;a few hours before KDE even announced it&lt;/a&gt;.  Good job Arch devs.  Arch seems to have pretty fast turnaround on new packages.&lt;/p&gt;

&lt;p&gt;The stable release of KDE 4.3 is looking good too.  I wiped my KDE profile because I think I've been running the same one since KDE 3.1 and the cruft was becoming noticeable.  That helped resolve a lot of things (I can add widgets to the main panel without crashing things now).&lt;/p&gt;

&lt;p&gt;One thing that has caused me tons of problems historically is CJK input in KDE.  In KDE3 Skim worked OK, but I couldn't get it to work in KDE4.  Instead there's &lt;a href=&quot;http://wiki.archlinux.org/index.php/Input_Japanese_using_UIM_%2528English%2529&quot;&gt;UIM&lt;/a&gt; which so far has been better than Skim in terms of stability and predictability of interface.&lt;/p&gt;

&lt;p&gt;As per a comment by &lt;strong&gt;knef&lt;/strong&gt; on a &lt;a href=&quot;http://briancarper.net/blog/kde-43-looking-good&quot;&gt;recent post&lt;/a&gt;, you can set per-desktop wallpapers now (as in virtual desktops, workspaces, whatever you call them).  You have to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Zoom out (via the cashew)&lt;/li&gt;
&lt;li&gt;Hope it doesn't crash&lt;/li&gt;
&lt;li&gt;Go into the Plasma options there&lt;/li&gt;
&lt;li&gt;Pray it doesn't crash&lt;/li&gt;
&lt;li&gt;Enable the setting to make each desktop have its own &quot;activity&quot;&lt;/li&gt;
&lt;li&gt;Yeah you probably crashed right here.  In the off chance you didn't crash, once you zoom in you can set per-desktop wallpapers now.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not just wallpapers, but widgets in general.  This is kind of good, kind of bad.  If you want to go back to a single wallpaper per desktop, you have to go back and screw with activities.  Also I don't think you can &quot;sticky&quot; a widget to span all desktops.  It's either everything per-desktop or everything global.  I'd bet this will change in future versions.&lt;/p&gt;

&lt;p&gt;But I read a suggestion somewhere (probably Slashdot) to set up a different Folder View on each desktop, each pointing to a different folder, and that's actually a great idea.  You can set kwin to always open Gimp on a certain desktop and have a folder view of your pictures folder underneath, or something.&lt;/p&gt;

&lt;p&gt;Kudos KDE devs, KDE is awesome and keeps getting better.&lt;/p&gt;</description></item><item><title>KDE 4.3 Looking Good</title><link>http://briancarper.net/blog/kde-43-looking-good</link><guid>http://briancarper.net/blog/kde-43-looking-good</guid><pubDate>Sat, 25 Jul 2009 19:48:25 -0700</pubDate><description>&lt;p&gt;I just installed KDE 4.3 and it's looking good.  Some features returned that I was missing.  You can now once again display applications by name rather than description in the K-menu.  You can now enable a nice kcontrol-like tree-view in the System Settings.&lt;/p&gt;

&lt;p&gt;Some things are still missing though... like different wallpapers on different desktops.  There are &quot;Activities&quot; which can have different wallpapers, but I can't for the life of me figure out how I'm supposed to be using them.  I also lag and/or crash every time I Zoom Out in the cashew, possibly thanks to 3840x1200 screen resolution.   I'm going to assume Activities are still a work-in-progress.&lt;/p&gt;

&lt;p&gt;I was horrified to open Kopete and see that configuring the contact list window now uses the same completely broken configuration dialog that &lt;a href=&quot;http://briancarper.net/blog/songbird-vs-amarok-how-not-to-design-a-gui&quot;&gt;Amarok 2&lt;/a&gt; uses for their playlist.  Oh how I hope someone rethinks this.&lt;/p&gt;

&lt;p&gt;There's a new Qt and Plasma theme in KDE 4.3 that looks pretty nice.  Overall every release of KDE4 seems to become more stable, more polished, more eye-candy (if you want it).&lt;/p&gt;</description></item><item><title>Songbird vs. Amarok: How not to design a GUI</title><link>http://briancarper.net/blog/songbird-vs-amarok-how-not-to-design-a-gui</link><guid>http://briancarper.net/blog/songbird-vs-amarok-how-not-to-design-a-gui</guid><pubDate>Sat, 11 Jul 2009 21:09:23 -0700</pubDate><description>&lt;p&gt;Recently I forced myself to uninstall Amarok 1.4 and try &lt;a href=&quot;http://amarok.kde.org/&quot;&gt;Amarok 2&lt;/a&gt; again.  I saw there were some nice updates to the interface coming in the next version so I grabbed the latest version from SVN.&lt;/p&gt;

&lt;p&gt;I very quickly started looking for other alternatives, and you'll soon see why.  The best I could find was &lt;a href=&quot;http://getsongbird.com/&quot;&gt;Songbird&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'll start with a disclaimer that both of these programs are great, and they are free.  I am not suggesting, let alone demanding, that anyone change anything in either program to suit me.  Kudos and thanks to the devs of both. These two programs are both probably better apps than I could dream of coding.  Feel free to respond &quot;Ask for a refund&quot; and &quot;Fix it yourself&quot; anyways if you like.  I think it's still useful to give some constructive feedback, and maybe I'll learn something myself about how to make a good GUI along the way.&lt;/p&gt;

&lt;p&gt;Next I'll start with my conclusion, so you don't have to read further, because this is admittedly long.  Amarok 2's interface is extremely painful, but at least it plays music.  Songbird has a wonderful interface, much like Amarok 1.4 had a wonderful interface; if only I could get Songbird to make sound come out of my speakers, I'd be set.&lt;/p&gt;

&lt;p&gt;I think it's interesting to compare Songbird and Amarok 2, both being bleeding-edge music players for Linux with a similar philosophy and feature set.  So let's compare GUIs.  I sized the two windows exactly the same and tried to have them display mostly the same bits of information, so it'd be easy to compare.  Click below for larger versions.&lt;/p&gt;

&lt;p&gt;Amarok 2:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok-gui.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok-gui.png&quot; alt=&quot;Amarok 2&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Songbird:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/songbird-gui.png&quot;&gt;&lt;img src=&quot;/random/thumbs/songbird-gui.png&quot; alt=&quot;Songbird&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Playlist&lt;/h1&gt;

&lt;p&gt;In Songbird the playlist dominates the window by default.  This is good because seeing a list of music is what I want.  It's the whole point of a music player.  &lt;/p&gt;

&lt;p&gt;I strongly dislike the &quot;filter pane&quot; style of browsing my music.  Thankfully you can turn it off in Songbird.  You can also install &quot;cover flow&quot; sorts of eye-candy extensions if that floats your boat.  I avoid such things, and Songbird's interface is easy and comfortable by default.&lt;/p&gt;

&lt;p&gt;In Amarok by default the playlist is a little sliver of GUI off on the right, and the middle context pane dominates the window.  Enough people complained about this that in later versions you can turn off the context view entirely, in which case the playlist will stretch to a reasonable size.  Whether the information in it will look good is another story (see below).&lt;/p&gt;

&lt;p&gt;Amarok's &quot;Local Collection&quot; browser is an expandable tree. You can customize how things are grouped.  This was great in Amarok 1.4.  It works similarly here.  It's not as lightweight or responsive as in 1.4, but I can't complain.  By default it's way on the left, with the playlist way on the right and the context view in between, but in later version of Amarok you can change the order of the panes.&lt;/p&gt;

&lt;p&gt;I'll call this a tie even though you have to fight for it in Amarok.&lt;/p&gt;

&lt;h1&gt;Sorting the playlist&lt;/h1&gt;

&lt;p&gt;Songbird has a bunch of columns with column headers.  To sort things you click the headers.  Note that this is how Amarok 1.4 worked.  This is how &lt;strong&gt;&lt;em&gt;every program in the universe&lt;/em&gt;&lt;/strong&gt; works.&lt;/p&gt;

&lt;p&gt;In Amarok you have drop-down menus that you can add and remove with buttons, and you pick sorting criteria from that list, left-to-right in order of priority.  This is clumsy.  According to the &lt;a href=&quot;http://amarok.kde.org/en/PlanetAmarok&quot;&gt;devs' blogs&lt;/a&gt; this part of the GUI is a work in progress, which is fine, maybe it'll improve.  &lt;/p&gt;

&lt;p&gt;But note that the design of Amarok's playlist fundamentally limits the ways you can sort it.  There have to be some magic GUI controls floating up top, disconnected from the playlist.  You aren't going to get a bunch of column headers that you can click because the playlist isn't just rows and columns.  Each song in the playlist can take up more than one row and there are grouping-headers interspersed.  This is painful and I imagine it's always going to be painful.&lt;/p&gt;

&lt;h1&gt;Playlist readability&lt;/h1&gt;

&lt;p&gt;There are no labels in the Amarok playlist to tell you what information you're looking at in the playlist.  I initially customized my playlist to show disc number and track number.  Doing so, you get a bunch of numbers.  What do the numbers mean?  At a glance you can't tell.  Am I looking at an Artist or Composer?  Play Count, or Score?  Does that big empty space mean my song is missing a Genre or missing a Year?&lt;/p&gt;

&lt;p&gt;In Songbird the columns have headers.&lt;/p&gt;

&lt;h1&gt;Playlist length&lt;/h1&gt;

&lt;p&gt;How many songs can you squeeze into the playlist vertically?  This is an important metric for me.  I want to be able to find a song quickly without scrolling through a list for a year and a half.  Sure I can search, but search doesn't replace my eyes in all circumstances.&lt;/p&gt;

&lt;p&gt;In Songbird even with those filter panes above the playlist it fits a few more songs than Amarok.  You can turn off the filter panes entirely, in which case you can display tons more songs in Songbird than in Amarok.  Songbird wins.&lt;/p&gt;

&lt;p&gt;In Amarok, by default the playlist has a bunch of multi-row header stuff mixed into the middle of your playlist to show artists and album names and cover art.  You can make the headers not take up so much room (or turn them off entirely), in which case Amarok gets pretty close to Songbird.  You'll just do without album or artist names.  Unless you can manage to cram them into the playlist in the rows beside the track titles.&lt;/p&gt;

&lt;p&gt;Which brings us to our major problem...&lt;/p&gt;

&lt;h1&gt;Playlist customizability&lt;/h1&gt;

&lt;p&gt;In Songbird you can right click and add and remove columns.  You can drag-and-drop columns to rearrange them.  You can drag the edges of the columns to resize them.  It's simple and it works.  This is how Amarok 1.4 worked too.&lt;/p&gt;

&lt;p&gt;Amarok fails hard in comparison.  In Amarok to customize the playlist you go into a special dialog.  You pick your components from a horizontally-scrolling list of huge icons.  Then you arrange them into rows.&lt;/p&gt;

&lt;p&gt;You can put two or more items side-by-side in which case they become multiple columns on that row in the playlist.  Kind of.  To control the width of the columns, you hover over that component in this magical dialog, and a weird circular icon appears.  When you click it, a drop-down appears with a microscopic slider at the bottom that looks like it was pulled from KDE2.  This is the only way to resize columns in the playlist.  Here's a screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/random/amarok-gui2.png&quot;&gt;&lt;img src=&quot;/random/thumbs/amarok-gui2.png&quot; alt=&quot;Amarok 2&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What in the world is this?  What are simple drag-and-drop operations in Songbird and &lt;strong&gt;&lt;em&gt;every other application ever made&lt;/em&gt;&lt;/strong&gt;, are buried in this cryptic dialog under non-standard controls in Amarok.  I've been using KDE and Amarok for a long time and it took me a good couple minutes to even figure out how this thing works.&lt;/p&gt;

&lt;p&gt;I think the widths are percentages and have to add up to 100%, I don't even know. The slider is so small that if you drag it one pixel it usually jumps 5-10%, so it's nearly impossible to get anything to look nice.  And when you resize the Amaork window later, the columns don't resize sanely; some fields are smashed into each other or overlap as others take up too much space.  &lt;/p&gt;

&lt;p&gt;Maybe this will all be fixed before the next release; I realize I'm looking at bleeding-edge pre-release software.  But this whole idea is so fundamentally broken I don't know how it's going to be salvaged.&lt;/p&gt;

&lt;p&gt;I've heard many times that &quot;You can make Amarok 2 look like Amarok 1&quot;.  No you can't.  You can tediously stuff lots of information into the playlist so that it approaches the level of info you could easily and painlessly get in Amarok 1.4.   But it will neither look nor act anything like Amarok 1.4.  Resizing the playlist will break things.  Nothing is labeled.  Nothing is easily customizable.&lt;/p&gt;

&lt;h1&gt;Playlist consistency&lt;/h1&gt;

&lt;p&gt;Songs in Amarok are grouped into albums by default.  If you have a song that doesn't belong to any album, it's displayed completely differently than a song that does.  You can alter this in the scary playlist editor dialog mentioned above, under the &quot;Single&quot; tab (as opposed to &quot;Head&quot; and &quot;Body&quot; which control the &quot;grouped&quot; songs).  Sound confusing?  It is.  Needlessly so.&lt;/p&gt;

&lt;p&gt;In Songbird songs are displayed the same whether they belong to an album or not, since the play list is just a list of songs.  This seems like it should be a no-brainer.&lt;/p&gt;

&lt;h1&gt;Playlist: overall&lt;/h1&gt;

&lt;p&gt;Amarok 2's playlist is unique, imaginative, and I'm sure it's a clever bit of code.  It's also nearly unusable.&lt;/p&gt;

&lt;p&gt;Why can't we have a grid of rows and columns?  There's a good reason so many apps use such a control.  It's simple and familiar and it works.  I'm open to learning something new if it's an improvement.  Amarok 2's playlist is not an improvement.  Why can't the playlist be a simple list of things to play?&lt;/p&gt;

&lt;p&gt;There's nothing about QT4 preventing someone from making a good GUI.  Look at ktorrent.&lt;/p&gt;

&lt;h1&gt;The little things&lt;/h1&gt;

&lt;p&gt;Say I want to email or IM someone and ask them if they like some artist, whose name happens to be Japanese and difficult to type on my gaijin keyboard.  How do you copy and paste the name of an album or artist in Amarok 2?  In Amarok 1 you could just click any field in the playlist twice, and it'd let you edit or copy/paste that field inline.  Same in Songbird.&lt;/p&gt;

&lt;p&gt;In Amarok 2, you have to right click and go into the Edit Song Details dialog, and do it from there, then close the dialog.  A tiny step backwards.  &lt;/p&gt;

&lt;p&gt;How do you change the rating of a song?  In Songbird you click the stars in the playlist beside the song you care about.  Same in Amarok 1.4.  &lt;/p&gt;

&lt;p&gt;In Amarok 2, you can display the stars for each song in the playlist, but to change the rating you have to click in the context pane.  (So if you dislike and therefore hide the context pane, you're screwed.)  Clicking in the playlist does nothing.  A tiny step backwards.&lt;/p&gt;

&lt;p&gt;All of these tiny steps add up.&lt;/p&gt;

&lt;h1&gt;Extras&lt;/h1&gt;

&lt;p&gt;So how well does each player serve as a web browser?  &lt;/p&gt;

&lt;p&gt;This seems like a ridiculous question, except that both really do try to be a web browser.  You can open song lyrics and wikipedia pages and such things right in the music player.  I find these features nearly useless.  Lyrics are nice when it works (which isn't often, for the music I listen to), but &lt;a href=&quot;http://takahani.wordpress.com/2009/06/24/amarok-context-view-flickr-applet-and-minor-changes/&quot;&gt;browsing Flickr&lt;/a&gt;?  Really?  Does someone really use this?&lt;/p&gt;

&lt;p&gt;Songbird does use its inline browser in a nice way to let you browse and install addons from the Songbird website, and Songbird has a cool feature to let you rip audio files from web pages.  Amarok doesn't have these, but I don't hold that against it.  I can easily live without any of this stuff.&lt;/p&gt;

&lt;p&gt;So in Songbird you have an embedded Mozilla engine.  It's hidden behind a tab.  You can just avoid opening such a tab and then you don't see it.  You can even hide the tab bar itself.  Victory.&lt;/p&gt;

&lt;p&gt;In Amarok the browser stuff inhabits the middle context pain.  The size is limited for this pane, which means information is crammed into the available space, which greatly limits its use.  It's also clumsy and difficult to turn components on and off, and I can't figure out how to resize them.  The context view itself is either in your face, taking up most of your screen real estate, or it's gone and not easily retrievable. &lt;/p&gt;

&lt;p&gt;Note in the screenshot, how in Songbird the lyrics pane is big enough to display all the lyrics, yet small enough not to be annoying.  You can also hide the pane (as you can hide every other pane in the GUI) via that tiny button with an arrow under the pane.  Amarok's lyrics widget is either too big (if you let it occupy the whole content pane) or too small (if you want to have anything else in the pane with it).&lt;/p&gt;

&lt;p&gt;Note that Songbird's lyrics pane is added via an addon.  It's a completely optional part of the GUI, which is nice.  (Note that Songbird also mangles certain text in the lyrics due to encoding problems, which is a point against it.)&lt;/p&gt;

&lt;h1&gt;Wasted screen real estate&lt;/h1&gt;

&lt;p&gt;See that tiny little red icon in the bottom-right of Songbird?  That's the Last.fm integration.  It's all hidden in a little square of pixels, out of my face, not sucking up screen real estate.  This is a common theme in Songbird.  Everything is tiny and/or hideable.  Tiny is good.&lt;/p&gt;

&lt;p&gt;In Amarok everything is huge and round.  Even ignoring the content pane, there's white space everywhere.  There are buttons strewn all over the interface, like the seven in the lower right.  Export Playlist?  Does that really need a button?  And other buttons appear (and disappear) in awkward positions at the top.  &quot;Add Position Marker&quot;?  Does this really deserve a prominent button right beside the main play controls?&lt;/p&gt;

&lt;p&gt;And yet things I do need buttons for, such as changing the Skip or Repeat options, have no buttons.  This is possibly the first player I've ever used that doesn't have a button for Skip and Repeat.&lt;/p&gt;

&lt;h1&gt;GUI skinning&lt;/h1&gt;

&lt;p&gt;Songbird is skinnable.  So was Amarok 1.4, to a degree.  Amarok 2 isn't and I don't know if it ever plans to be.  I can live without skins but it's nice to have the option.&lt;/p&gt;

&lt;h1&gt;Desktop environment integration&lt;/h1&gt;

&lt;p&gt;As one might imagine, Amarok wins here, if you use KDE, as I do.  Global keyboard shortcuts are already set up, it sits in the system tray, and there are nice Plasma applets you can put on your desktop.&lt;/p&gt;

&lt;p&gt;Songbird meanwhile does not play nice.  First, it has window hints set to hide its border and window title bar, and it tries (and fails) to manage windows itself, giving your window manager the middle finger.  I had to force kwin to display the title bar and border just so I could resize certain dialogs that were otherwise broken.&lt;/p&gt;

&lt;p&gt;Then, Songbird doesn't sit in the system tray.  You can force it down there via &lt;a href=&quot;http://alltray.trausch.us/&quot;&gt;alltray&lt;/a&gt;, but right-clicking the icon doesn't give you Play/Pause/Next/Back options like in Amarok.&lt;/p&gt;

&lt;p&gt;There are no global hotkeys, but you can easily fix this in KDE too because you can set your own global hotkeys to do anything, and Songbird has a commandline interface to let you do what you need.  It's still not as graceful as Amarok.&lt;/p&gt;

&lt;p&gt;So KDE thankfully rescues Songbird from its own deficiencies, which is nice.  Except...&lt;/p&gt;

&lt;h1&gt;Playing music&lt;/h1&gt;

&lt;p&gt;Ah, Songbird.  Why oh why won't you work?  Songbird uses gstreamer.  In my years of bouncing between Gnome and KDE and XFCE and others, and using various distros, gstreamer has never worked for me consistently.  I can get Songbird to play music, but Flash videos stop producing sound while Songbird is running.  This is a known and reported bug, I'm not the only one.  While Songbird is playing, other KDE apps randomly produce sound or not depending on the phase of the moon.&lt;/p&gt;

&lt;p&gt;Amarok actually plays music, so I'm stuck with it.  Unless I go back to Amarok 1.4 which I may still do.&lt;/p&gt;

&lt;h1&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;Songbird is pretty good.  If I can figure out how to make gstreamer play nice, I'll probably use it.&lt;/p&gt;

&lt;p&gt;Otherwise just consider this yet another voice in the wilderness wishing for a Qt4 version of Amarok 1.4.  There was nothing wrong with it, from a user's perspective.  I'm not the first wishing for this, and won't be the last.  If I had a couple years to get good at C++ and a team of programmers to help, I'd probably try it myself.&lt;/p&gt;

&lt;p&gt;Why write an 87-page essay about the GUI of a music player?  Because Amarok 1.4 was a really good program.  I'm a programmer and I appreciate a good program.  Songbird has a pretty darned good GUI too.  It's painful to see Amarok 2 going in this direction.  &lt;/p&gt;</description></item><item><title>KDE4 Konsole Kolor Skheme Kdownload</title><link>http://briancarper.net/blog/kde4-konsole-kolor-skheme-kdownload</link><guid>http://briancarper.net/blog/kde4-konsole-kolor-skheme-kdownload</guid><pubDate>Sun, 12 Apr 2009 20:31:19 -0700</pubDate><description>&lt;p&gt;I put a &lt;a href=&quot;http://briancarper.net/page/kde&quot;&gt;color scheme&lt;/a&gt; for KDE4's Konsole up for download.  From a cursory glance I think KDE3 and KDE4 color schemes are the same format, but I haven't tried it.&lt;/p&gt;

&lt;p&gt;Also I know I'm not the first to say it, but all of the K's in KDE program names are a bit annoying after a while, aren't they?&lt;/p&gt;</description></item><item><title>KDE</title><link>http://briancarper.net/toplevel/kde</link><guid>http://briancarper.net/toplevel/kde</guid><pubDate>Sat, 11 Apr 2009 15:59:45 -0700</pubDate><description>&lt;p&gt;&lt;a href=&quot;http://briancarper.net/kde/Bzorp.colorscheme&quot;&gt;Bzorp&lt;/a&gt; - A KDE4 Konsole color scheme.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/kde/bzorp-kde4-konsole.png&quot; alt=&quot;/kde/bzorp-kde4-konsole.png&quot; title=&quot;&quot; /&gt;&lt;/p&gt;</description></item><item><title>Disabling Ctrl-Alt-Backspace</title><link>http://briancarper.net/blog/disabling-ctrl-alt-backspace</link><guid>http://briancarper.net/blog/disabling-ctrl-alt-backspace</guid><pubDate>Sat, 04 Apr 2009 23:44:41 -0700</pubDate><description>&lt;p&gt;After being reminded the hard way &lt;em&gt;yet again&lt;/em&gt; that C-S-Backspace in Emacs invokes the very handy &lt;code&gt;kill-whole-line&lt;/code&gt; function, but that C-M-Backspace, while uncomfortably similar to that key-chord, does something &lt;strong&gt;&lt;em&gt;very different&lt;/em&gt;&lt;/strong&gt;, I have now officially added to my /etc/X11/xorg.conf:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Section &quot;ServerFlags&quot;
    Option &quot;DontZap&quot; &quot;True&quot;
EndSection
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;to prevent me from accidentally murdering my X server at the worst possible times.&lt;/p&gt;</description></item></channel></rss>

