Ubuntu getting unreadier and unreadier for the desktop

I’m pretty sure that isn’t a word, but anyway. Since upgrading to 13.04 yesterday, I’ve found the following bugs:

  1. Unity crashes when turning on the AV receiver. So far I’ve tried using proprietary/open source video drivers, removing all GNOME-/Ubuntu-related dotfiles and directories in ~ (like .gconf), and purging/reinstalling the ubuntu-desktop and xorg-* packages.
  2. Can’t save display settings as root.
  3. Login screen resolution not set.
  4. Still no hint as to whether I should install the fglrx or fglrx-updates driver (the latter gave me a black screen), so I guess that’s not the right one then
  5. When logging in to a virtual terminal, it says “Welcome to Ubuntu 13.04”, and a few lines later it says “New release ‘13.04’ available.” I’ve verified that /etc/apt/sources.list contains no references to older packages, and that lsb_release --all reports “Ubuntu 13.04”.

Delicious data loss

After many years, it looks like Delicious will never have support for excluding tags from a search, so when I saw that they had added a “Remove Tag” functionality I finally decided to get rid of all the “toread” tags from posts already tagged with “read”. This didn’t quite turn out as expected:

From: Victor Engmark
To: feedback@delicious.com
Content-Type: text/plain; charset=UTF-8

Dear Delicious Support,

For ease of searching I decided today to remove the “toread” tag from all bookmarks I have already read – That is, I went to the toread+read tags page <https://www.delicious.com/engmark/toread+read>, selected all, clicked “Remove Tag”, carefully clicked only on “toread”, and clicked Save. This I repeated for each page until there was only a single page left. During this process I discovered several bugs, here listed according to increasing severity:

When selecting a bookmark the links above (except “Rename Tag” since it’s sneaky and doesn’t actually just rename on the selected items) are “activated”. That is, they turn blue. After clicking “Save” the page would refresh, all the checkboxes would still be ticked, but the links would still be gray. Expected behavior: When bookmarks are selected (before or after an action) the links should be colored. In the case of some bookmarks it was not possible to remove the “toread” tag. I repeatedly tried, and every time the same bookmarks showed up on the page after the refresh. Expected behavior: It should be possible to remove tags from any bookmark. After selecting the bookmarks mentioned in point 2 and clicking “Remove Tag”, the “Remove Tags” dialog only displayed a single tag: “toread”. Expected behavior: This should behave like for other bookmarks, that is, show all the tags for all the bookmarks. When trying to edit individial items from the bookmarks mentioned in point 2, the “Edit Link Info” dialog doesn’t display the same tags as the toread+read tags page. For example the bookmark “Ryan let’s assume that you blend fiction and reality only on special occasions” <http://www.qwantz.com/index.php?comic=1992> has the tags “toread”, “read”, “comic” and “funny” according to the toread+read tags page, but only “RyanNorth” in the “Edit Link Info” dialog. Expected behavior: The “Edit Link Info” dialog should display the same title, URL and tags as the bookmarks list.
Somehow, instead of removing the “toread” tag Delicious removed the “read” tag! Expected behavior: Remove the tag I requested to remove, and only that.

I’ve now lost seven years worth of records of what I’ve read online! Please help me fix the state of my bookmarks. In case you can’t obtain a diff between the bookmarks of yesterday and today I can provide you with one for reference (I do daily XML backups in case of just such a situation). This procedure should be nothing more than a reversal of the tag removals done in the last 48 hours or so.

Posted to my blog
<https://github.com/l0b0/paperless/wiki/Delicious-data-loss> for
reference.

Sincerely, a long-time user.

Long story short, I’d misunderstood how the feature works: Instead of removing those tags which you leave in the tag cloud, it removes all tags which you remove from the tag cloud! I had thought it was a “remove these tags” feature, but actually it was a “keep only these tags” feature.

Restoring from the XML files was out of question (they only support HTML import now), and they were unable to provide a reference for what such an HTML file should look like and whether tags would be replaced completely (messing up the changes I did since this started) or just added to the existing ones. I guess a migration to Pinboard is finally in order.

Edit: Here’s how I ended up migrating to Pinboard, fixing the bookmarks in the process:

  1. Export delicious.html and create a backup of the file.
  2. Get the URLs and tags of the bookmarks in the XML file which used to have a “toread” tag but have changed since the fuck-up:
    git diff bookmarks.xml | \
    grep '^-.*[" ]toread[" ]' | \
    grep -Eo 'href="[^"]+".*tag="[^"]+"' | \
    sed -e 's/href="\([^"]\+\)".* tag="\([^"]\+\)"/\1 \2/' > url_tags.txt
  3. Make the URLs and tags sed-compatible:
    sed -i -e 's/[\/&]/\\&/g' url_tags.txt
  4. Replace spaces between tags with commas (otherwise “foo bar” is imported as “foo_bar”):
    while grep -q ' .* ' url_tags.txt
    do
        sed -i -e 's/\( [^ ]*\) /\1,/g' url_tags.txt
    done
  5. Loop over each of the URL tag pairs, and create a sed script from it:
    while IFS=' ' read -r -u 9 url tags
    do
        echo 's/\(HREF="'"$url"'".* TAGS="\)[^"]*"/\1'"$tags"'"/;' >> replace.sed
    done 9< url_tags.txt
  6. Replace the tags:
    sed -i -f replace.sed delicious.html
  7. Verify the difference between the HTML backup and the changed file:
    meld delicious.html{.backup,}&
  8. Import in Pinboard

I’m severely disappointed in Unity

Let’s count the ways:

  • Maximizing windows when moving them might be neat, but why not get rid of the button then and use the screen real estate for something useful?
  • Apple wrote the book on usability, but they screwed up when they skipped their own advice and put the minimize, maximize and close buttons right next to each other. That’s fine if closing an app doesn’t actually close the program, but in GNOME it makes absolutely no sense.
  • I just added my Minecraft shortcut to the side bar thingie, but some minutes later something went belly-up and not even a Java process was started when clicking on it. After a restart the shortcut was gone from the side bar.
  • Keyboard layouts have driven me crazy the last couple days. I can’t type “programmer quotes” (actually, single and double tick) without, for some reason, clicking the compose key once. After that it continues working, and it didn’t seem to realize that I had pressed the compose key at all.
  • Where did my freaking weather reports go? Did nobody else use that? There’s not even an option for it anymore.
  • Mystery meat navigation was never fun – Why would a sane person want to hide the main menu of each application?
  • Grouping applications by function was one of the best things about leaving Windows for Ubuntu 8.04.

Fortunately Ubuntu Classic is still available in the login menu. Yay for real backward compatibility!

Facebook won’t work with NoScript extension

Looks like they’re doing something retarded when detecting NoScript: Some links (for example, other people’s profiles) have an extra ?_fb_noscript=1 at the end, and the page includes a <meta http-equiv=refresh content="0; URL=/people/JohnDoe/12345678?_fb_noscript=1" />, which results in an endless loop of reloading the same page :/

The difficulty of bug reporting

This can be pretty hard: Say the GNOME screensaver password prompt sometimes won’t accept your password, no matter how many times you try. How do you check that you haven’t mixed up your password with one of the other 500 that you have to remember if you’re not using a password bookmarklet or a password manager or you change passwords every month (You do use different passwords, don’t you?)? How do you make sure that you’re typing all those special characters right, especially since you’re using multiple keyboard layouts? Does the “Leave a message” function show you the same string that would be sent to the password checking routine? Is it possible that any other software is at fault, mangling or interrupting your input? How do you even find out which software you’re typing the password in? Could a buggy keylogger be involved? Is there any debugging output, and where can you find it? Is Caps Lock or Num Lock on (EEE laptops don’t have those handy LEDs)? Are encodings in any way involved? Where should the bug be reported? Should I ask in the official mailing list before submitting one? If so, what’s the address and do I have to be a member to post? Is there some alternative forum which is more used? Is the list even active anymore? The bug is still marked as unconfirmed (although I’ve had to killall gnome-screensaver for months), so I guess we’ll have to see…

Re: Let That Be a Lesson To You, Son: Never Upgrade.

Background: Jeff Atwood uses anecdotal evidence to show that Linux audio capabilities suck.

Looks like Linux is moving up in Scott Berkun’s suckiness hierarchy: It’s now good enough for most people for most things, but it still has weak areas (audio, games) which those users find extremely painful.

Reverse anecdotal evidence: After buying my last computer in 2007, I could not get optical surround sound to work in XP (Google, Usenet, and vendor contacted). For the first time I found that Linux (Ubuntu 7.10) had better hardware support, even though the vendor only supported Windows. And there’s proof, too.

Email client reviews

Considering the age of email as a technology, and the plethora of clients available, the situation is tragic. Here is a line-up of the clients I’ve used the last few years, and the reason I stopped using each and every one of them. Some simplifications are made, such as in the use of words like “cannot”. Yes, there are often hacks to circumvent the limitations. No, I won’t go into why using a closed source, 4 year old, unmaintained, 3rd party plugin is a bad idea.

Outlook

CERN uses Exchange, so Windows desktops come with Outlook 2003 installed per default. I’m an open source enthusiast, but at first I thought it was a good idea to use what my colleagues used (and continue to use).

Pros:

  • Fast, probably because of close integration with the server
  • Saves message settings (such as flags) on the server, so I can set a TODO for when I get home or reinstall
  • User friendly wizard for filter rules
  • Integrated (CERN only) plugin to report spam and control spam settings
  • Working, simple predefined search folders
  • Good LDAP integration in right click menu

Cons:

  • 32 KB to store filter rules is not enough!
  • Resets the reading pane settings for some folders willy-nilly
  • Cannot bounce messages
  • Not enough configurable (show headers, color encoding of fields / replies, etc.)
  • Cannot export settings to human readable file (I want to keep it in CVS)
  • Flags cannot be assigned names or meanings
  • Flags are not the same as in Thunderbird or Mutt, and are thus only visible in Outlook
  • Closed source
  • Cannot use regular expressions in searches / filters
  • Difficult to copy email addresses
  • Bad thread display support

Verdict:
Works for the most part, but is not “techie” enough. I want the open source geek edition!

Thunderbird

This seems to be the most popular email client for open source enthusiasts. I’ve tried just about every version since 0.8 or 0.9, and the following points are from 1.5.0.4.

Pros:

  • Open source
  • Very configurable
  • Lots of useful extensions
  • Mostly plain text profile – Can be stored in CVS
  • Single click to mark as read / unread / junk / not junk
  • Meaningful labels
  • Supports standard flagging mechanism (same as Mutt)
  • Easy copying of email address
  • Good thread display support

Cons:

  • Bad default training on the spam filter
  • Junk mail filtering can “self-destruct” without telling the user – Empties the training file and never starts learning any more
  • No visual representation of flagging
  • Doesn’t react to changes in flagging by other applications (Mutt)
  • Sometimes crashes or hangs on startup
  • Mail filters often break – Client crashes when they are applied

Verdict:
This is not version 1.5. This is 0.9 alpha.

Mutt

I learned to use this textual email client when working for Orakeltjenesten. I could see why the other techies loved it – Stable and geekily configurable.

Pros:

  • Extremely configurable! Examples:
    • Set Reply-to based on To / Cc
    • Include other config files
    • Redefine key bindings
    • Create new key bindings
    • Wanna backup to backup@gmail.com and purge all non-flagged mail older than two weeks with CTRL-o? Add
      macro index \\Co "<tag-pattern>~r>2w!~F\\n<bounce-message>backup@gmail.com"

      , and just hit d when it’s done.

  • Simple and clutter-less interface – This is the iPod of email clients
  • Human readable configuration and address book files
  • Stable as lead
  • Color coding available for everything
  • Very good thread support
  • send-hook . my_hdr X-message-flag: Outlook is bad for you, use Mutt

    – A classic

  • Open source

Cons:

  • Doesn’t cache emails
  • *nix only – Windows clients are no longer maintained
  • No sophisticated flagging – Only boolean
  • Doesn’t do filtering – Nnnuuuuuuuh!

Verdict:
With filtering and some user friendly front-end, this would be the mail client of the century.

Gmail

Pros:

  • Fast search
  • Only browser needed
  • Settings online
  • Stable
  • Fast
  • Good spam filtering
  • Flexible labels

Cons:

  • Simplistic filtering
  • Closed source
  • Page length limit of 100
  • Max 20 filter rules
  • Cannot backup settings or mail
  • No warranty
  • No extensions

Verdict:
Not enough configurable, and too bad filtering.