Category Archives: software

screen to tmux: A Humble Quick-start Guide

An online friend named bmc_ on Twitter introduced me to tmux. It reportedly has simpler, cleaner code than screen, which implies that it’s more robust, in addition to more very useful features.

The problem is tmux is very different from screen. It wasn’t at all easy to jump straight into tmux, without doing a thorough read of the man pages, which is not exactly how great first impressions are made.

That’s why I decided to write this.

This quick-start guide will assume you are familiar with screen.

Continue reading


Spotify vs. MOG

This is as much for myself as for anyone who reads this. Now that Spotify landed in the US, it’s attracted my attention. I’m already paying $10/month for MOG. Can Spotify take my $10 and make my experiences even better?

Music Selection

So far, so good. I had one of my family members suggest a few (tiny) artists, and they’ve come up. I found Sarah Fimm, which is always a good sign. However, some odd things were missing. MOG has more of the Lord of the Rings soundtrack than Spotify. (MOG has “The Last March of the Ents”, while Spotify does not.)

Nevertheless, Spotify seems very strong. No other service besides MOG has pulled up search results for some of the terms I’ve pulled in, until now. Spotify so far matches MOG in almost every way.

Edit: since I’ve started finding more disparities between the two’s catalogs, I’ve decided to keep a list:

  • MOG has more Lord of the Rings soundtrack albums than Spotify.
  • MOG has the artist Arcade Fire; Spotify does not.

Write in the comments area if you have any other artists or albums you want me to look for.

Access to that Music Selection

Ahh, yes. Now it gets interesting. MOG doesn’t use a downloaded client. They stick to a lightweight web interface. This means I can listen to MOG wherever I am. With Spotify, not so much.

Once you’re logged in, though, how do the services compare? Spotify wins in more ways than one.

Spotify doesn’t just have everything MOG does, which includes playlists, favorites, “What’s New”, and a nicely-organized search. Spotify’s client is also fast. Searches return results right away, and navigation through their library is snappy and responsive. It feels almost like their entire library index is sitting on my computer. Spotify is also linked to my Facebook account, which means my friends’ playlists and favorites can be browsed and played.

Music playback is much better in Spotify. Skipping songs, or skipping around within a song, all happens so fast sometimes I wonder if it even had to stream to play it. To make that even faster, Spotify can seamlessly link my locally-stored music into the Spotify catalog, so that music I already have downloaded is used (as long as they’re MP3 or MP4) instead of streaming it. Any DRM-encrypted or unplayable formats are still recognized, but streamed whenever I attempt to play them.

MOG won’t do any of that.


There really is no competition here.

First of all, the user interface feels much more native in Spotify than MOG. Buttons, menus, and lists are clearly buttons, menus, and lists, rather than a stylized collection of black, white, and red boxes, however pretty it looks. Consistency wins every time.

Different areas in Spotify are accessible almost immediately, thanks to a menu across the bottom of the screen. In MOG, to access another area, one has to use the hardware back button to get back to the main menu.

Spotify will not only sync all my playlists and favorites, but also my local files. Imagine that. Google Music still wins in format support, but if you have a library full of mp3 and mp4 songs, that won’t be an issue. Besides, Spotify syncs over the network. Google Music will sync at any location, but always over the Internet. Spotify also watches your mobile phone or iPod storage, and restrains itself from reducing your free space below than a specified percentage (10% by default). In addition, this sync is available for free! It’s the streaming you have to pay for. MOG won’t do any of that.


I actually don’t have enough experience in this area, at least for Spotify. I can tell you that MOG is a company that seriously listens to their customers. If they’re missing music, they have an e-mail address where customers can e-mail requests, and a human replies with either a satisfactorily-detailed reason why MOG couldn’t get you that album, or a date when the album will be available. They also have a website set up where users can post ideas and vote up others’ ideas they think deserve attention. It’s been very effective, because they listen.

Spotify seems to have a similar system going for feature requests. Their community also seems a little bit stronger due to the open nature of their support forums. (MOG keeps all support requests private.) Spotify, however, doesn’t seem to be ready to receive music requests, which, in my opinion, is a big problem, considering music is the point the service exists.


If you can get past accessing the client, and finding the music you like, Spotify seems superior in every way. The user experience in all their software, including their website, is polished and solid. $10 with Spotify is going to get you quite a few more features than MOG.

However, when it comes down to just listening to music, both services are equal. MOG may have more music than Spotify, and both services allow you to listen to music in some easy fashion or other. The mobile apps for both are also easy to use and reliable. Everything for both services “Just Works”.

I use Linux, 64-bit. I have Spotify for Windows installed under WINE, and it works very well. However, the various problems I had reaching this point (howto coming soon) highlights why web-based platforms generally are better than native ones. It’s both a blessing and a curse, actually: by going native, it’s snappier, but it’s also only available on my various computers. If I can’t play my music where I’m at, what’s the point in paying for the service?

That’s what it seems to come down to, at least for me personally. If you can handle your availability limited to wherever the Spotify client is installed, you’ll enjoy Spotify much more than MOG. If you’d really much rather have a web-based interface, accessible anywhere where there’s a browser, I’d go for MOG.

What’s my choice? I’m still deciding.

qemu-user: Turning your dual-core 2.6GHz processor into a dual-core 500MHz processor

I just discovered qemu-user, thanks to lu_zero on #gentoo-embedded. It’s brilliant. They took QEMU’s ability to simulate an entire processor, tossed out the other hardware emulation, and packaged it up. qemu-user’s primary use is for running foreign binaries.

So far, I’ve been running all my stage generation for Neuvoo on the BeagleBoard, which has a 500MHz armv7a processor. Everything compiles very slowly, but at least it’s native and stable.

There’s a couple problems with that setup. First, everything is running off an SDHC card. We’re talking slow. Second, the beagle has 128M of RAM, and after that it’s using the swapfile. Which is on the SDHC card. Now we’re really talking slow.

qemu-user deftly solves these problems. Of course, running stage generation on my hefty 2.6GHz Core2 Duo processor is going to slightly speed up compiling, just because of the dual cores. But not only that: now I have a huge, fast 7200rpm hard-drive to run everything off of, and 4G of RAM (2 of which is almost always cache) to run it all within.

Think of it like this: qemu-user enables you to run a chroot (and possibly other things) for almost any processor on a system of your choice, as though it were running natively.

Setting up qemu-user is a piece of cake, so I won’t go into details here. Just follow these instructions. One thing I didn’t get at first was why they use “USE=static”. The reason is this: if you’re going to be running an armv7a chroot, you need something inside the chroot to be translating (qemu-user). The problem is, that something can’t link dynamically against any libraries, because they’ll all be armv7a libraries. Static linking means the binary is self-contained and portable.

Let me know if there are other cool uses for qemu-user. I’m all ears. 🙂

Mozilla Weave

This is a short blog post to say that I’ve found an excellent must-have for Firefox users. It’s called Mozilla Weave. It keeps history, bookmarks, passwords, Firefox settings, and soon add-ons in sync. My experience of any kind of automated syncing software has been poor, but this one seems to be flawless. Minus connectivity issues when I’m offline, it’s never reported an error or bugged me about some conflict or other. It just sits there and uploads data to Weave servers (or your own if you so choose) so other computers may stay in sync. Even if you don’t have multiple computers, this is great for just backing up, especially considering the Firefox data folder is a pain to back up.

Privacy concerns are non-existent here, because everything is encrypted with a pass-phrase, on top of your Weave account username and password.

The only bummer about Weave is it’s limited to just Firefox, and Firefox’s competitors have no equivalent yet. It looks like I won’t be switching to Chrome any time soon.

Google Wave: The Revolution in Communication

(I was so excited when I watched the Google Wave video that I had to write this while I watched. That’ll explain the overload of optimism and excitement.)

Google seems to do all the obvious things: make free e-mail with an excellent spam filter, take the existing phone system and digitize it a little, make an online word processor and collaboration, and provide a really nice search engine.

This year, Google is doing it again. Two engineers in Google’s forces stepped back and examined the world of communication we’ve built. We all know that e-mail is ancient and inefficient, and they knew that too. So, they decided to completely reinvent the entire communication system.

It’s called Google Wave. It’s really simple.

Instead of thinking of communication as messages that are literally shoved around from place to place, Google Wave thinks of messages as being part of a conversation, which doesn’t move anywhere. Rather, a conversation between two (or more!) people occurs in a single, shared location.

Messages can be very long or very short. You can send long paragraphs of text in an e-mail format, or you can communicate back and forth in a texting-like format. There is no limits to what you can do with these messages. Continue reading

The Move to Online Applications

I just had a discussion with a friend about the difference between online and offline software, and the differences are pretty clear cut:

  • Online software is just that: online. Quite a few (more than expected) websites support Google Gears, and hopefully offline syncing will become the norm.
  • Using things like JavaScript and AJAX for websites is relatively new. Standards, expectations, and features are constantly evolving. Things have gone from the barely interactive webpage to a hardy application that happens to run on the web. Nevertheless, there’s still a long way to go before websites can match the power of offline applications.
  • Security? Privacy? They’re all second thoughts so far in the world of web applications. Many tech websites are pushing for developers to put extra thought into privacy and security, but it’s one of those things that don’t provide a direct return in profit, so it will take longer to catch on. In the meantime, we users are exposed. Now, this is where it all becomes subjective: is privacy and security really all that important for the data you’re uploading? Most services provide SSL logins, and that’s generally enough to protect the account from hackers. Beyond that, there’s not much over-the-“air” encryption going on, and just about anything can be sniffed and tracked. So, do you really want to hide family photos or phone records, or do you really care if someone gets a hand on those? Like I said, it’s subjective.
  • Nothing can beat free. With Web 2.0 (am I allowed to use that term?) came the advertisement model, in which ads pay for the services. In some ways, it’s a win-win. You get the services free, and perhaps even discover new websites you didn’t know about via the ads, while the company gets their revenue. Sometimes a website might present offensive advertisements, but the upstanding ones are usually pretty good about what they let in.

As for offline applications…

  • It’s offline. Internet goes down? No problem. Service is down? No problem. Nothing is keeping you from firing up your software on your computer.
  • The feature-set and UI for applications is a well-trodden terrain for offline applications. Everything you could do with online software you can do with offline software, and in a consistent interface.
  • Everything is saved on your hard-drive, and you can encrypt, lock, wipe, or otherwise mangle your data in whatever way you please that makes you think it’s safe. You can’t get that kind of control over the storage of your data with other online services.
  • However, this usually comes at a price. Unless you pay, you’re pretty much guaranteed a sub-average experience. For example: I admit OpenOffice is nothing like Microsoft Office. That’s not to say Microsoft Office beats OpenOffice in all areas, but Microsoft Office can certainly throw a heavy, if not critical, punch in features and ease-of-use. Then again, you can’t get this experience online either, so you pretty much have to pay period if you want all the features.

Before everyone starts advocating open-source, let me explain myself. Continue reading

FLAC, MusicBrainz, ReplayGain, Songbird, and

With the closing down of the MediaMaster service (due to financial issues, apparently), I’ve had to find other ways to enjoy my music on multiple platforms. In the end, I settled on rsync as being the simplest, cheapest alternative.

Syncing my libraries is extremely easy, compared to iTunes, for example. All my ratings, dates, etc., get updated on whatever computer I happen to be rsyncing. This is because my new favorite music player, Songbird, writes any changes I make back to the song file! Most music player software keep a cache of its own metadata seperated from the actual song files, which is good if you don’t want your songs modified, I guess, but I want my ratings and whatever else updated on all my libraries. Songbird allows me to do this without syncing the entire application too. Continue reading

Crayon Physcis: RTM, ‘K?

All I had to do was draw a box. Unfortunately, I never read the instructions.

All I had to do was draw a box. Unfortunately, I never read the instructions.

This is my first attempt at playing Crayon Physics Deluxe. WINE runs it quite nicely, and despite the requirements being the latest and greatest video card with tons of RAM (OK, only 64MB of video RAM) my little cheap 16MB Intel Integraeted i915 graphics chipset survived quite nicely. Even the music played without a stutter, for the most part, despite my old 1.8GHz P4.

Try this great game, one and all, you computers young and old!

Internet Explorer 8 Beta 1

Oh my gosh. IE 8 is out, and… it follows the standards. CSS 2.1. Strict XHTML. The whole works.

I’m going to give it a go today if I get a chance to test its claims, but… still… if this is true…

…that means hell finally froze over.

Firefox 3.0? More like Swiftfox!

Firefox 3 is really what they say it is. Fast, efficient, and with a few new features to boot. Mostly the enhancements are under the hood with the revamped Gecko engine, making XHTML developers like myself uber happy.

The first thing that hit me was the speed. This little guy can really chew them pages up! I browse the GP32X forums, keeping myself up-to-date on the Pandora console, and speeds become an issue when you start opening 8 or more tabs at once. To demonstrate the difference (which is substantial), I’ve done up a little video. It’s nothing fancy, just the two browsers, one run after the other. The screen capture software actually makes my computer appear (and at times act) a little slower, so imagine a 110%-130% (guesstimation) speed increase as you watch this.