Removing duplicate tracks from Banshee

Despite my existential angst that all modern music applications created since Winamp 2.8 suck, I have to play my music with something, so I’ve been using Banshee because it’s Good Enough. But I put up with crap, like, recently I noticed that there were dozens of duplicate tracks listed in banshee’s database. So if I queued up an album, I’d get songs repeated occasionally. Very annoying. There are other people out there with the same problem, but the only listed solution is an out-of-date plugin.

Luckily Banshee’s database is an open sqlite database ((I can’t even find a link to a description of the iTunes library format)), so I poked around a bit (the database is in ~/.config/banshee-1/). Sure enough, I found duplicate entries in the CoreTracks table. Interestingly, though, there’s another table called Tracks that didn’t have the duplicated entries. And the tables are related!

So this is the command I used:
DELETE FROM CoreTracks WHERE CoreTracks.TrackID NOT IN (SELECT TrackID FROM Tracks);

This solved my duplicate tracks problem. As always when messing around with databases and the “DELETE” command, use extreme caution. I recommend a little gentle testing with SELECT commands first before you do anything stupid. Or, smarter still, back up your database first.

Coolest program ever

Synergy, for linux, mac, and windows. Lets you connect two computers together virtually, so that you can fling the mouse off one machine and end up at another machine. This is totally badass, and there’s no discernable delay, even with wireless ethernet.

Search Bars

The present is browsing, the future is search. Anyone who was browsing the web in 1996 or so might remember that yahoo started out as a great hierarchical web index. It was the best way to find sites on the net because its editors found the best sites for each category. Then came google, and we never looked back. Good search is better than the best browsing.

This metaphor is being extended to the desktop with Beagle, Apple’s Searchlight (which I can’t find a decent link for!), Google Desktop, and MSN Toolbar.

If any of these products can be as good for the desktop as google is for the web, it’s going to rule the world. I think GNOME should embrace “ubiquitous search” with the removal of all browsing as the eventual goal.

If I want to open a file, I’ll search for it. If an application wants me to find a file, it’ll open up a beagle window, not a file selector. When I save a file, I don’t put it in some directory I’ll never remember, I just give it a title (not a filename) and maybe a short description (for better keywording) and let the OS put it somewhere. The search program will find it when I need it.

Ubiquitous search means no more file browsers, no more file-selectors, no more filenames to remember. Obviously we will still need real filenames and folders underneath the hood, since some tasks (hacking code) really require them, but the common user with 20 gigs of mp3s, 100 gigs of movies, weeks of web history, a gig of email, and 100 megs of word documents doesn’t really need to know where those things are — they just need to find them quickly.

Once we make the transition, the search app will replace nautilus on the desktop. At the top will be the searchbar, and then the whole desktop will display the results of the search, perhaps with different columns for each result-type.

Right now GNOME developers seem most concerned with the “physical object” paradigm of the desktop, afraid that non-technical users will panic when applications disappear when you click the X rather than doing some mac-style genie minimizing. One might be afraid that users will be apprehensive about using a computer whose “desktop” is not a constant set of icons but instead an ever-changing search result.

I think more important than clinging to the physical “desktop” paradigm is developing an environment where even if something disappears, you can get it back easily. Right now “disappearing” is synonymous with “losing work,” and that’s what needs to be changed. Tomboy has a “no-save” philosophy. Evolution has crash-recovery builtin. You can get a crash-recovery plugin for Firefox. If the consequences of a crash can be reduced to zero then we can nurture a user that doesn’t care when something disappears.

As hard drives fill up with movies, music, pictures, and other little bits of stuff, it’s going to get harder and harder to sort through it manually. Most people have given up on sorting music and let itunes or rhythmbox do the work for them, but the problem is going to occur again and again for each filetype. I’ve been known to google for a video I already have on my hard drive because it’s inconvenient to find. In other words, I’m relying on emphemeral links and expensive internet connections for long-term storage because searching is so much easier than browsing. The OS that tackles the browsing problem best is going to win hoards of new users who want a desktop that doesn’t drown them in menial organizational tasks. It could be GNOME.

fuck the bleeding edge

After yet another abysmal failure trying to upgrade lots of packages to get Beagle to work, I have decided I really, really have to abide by my rules: Don’t bother with bleeding edge crap, just wait until it comes out for your distro officially. It’s just not worth the headache of tomboy suddenly not working, and NetworkManager suddenly not working, and all that to get search — especially when I don’t want to get inotify working too!