Testing equals() with Guava

I’ve long held the opinion that Guava belongs on every Java classpath because its design and the quality of its implementation surpass other comparable utility libraries (and sometimes even the JDK). Guava’s testlib is pretty cool, too, even though it’s not as widely known.

Continue reading

Posted in java | Tagged , , , | Leave a comment

Enabling Hibernate Support in Ubuntu 14.04 LTS

In this article, I’ll show you how to enable hibernate support in Ubuntu 14.04 (“Trusty Tahr”) by making a “Hibernate” menu entry appear in Unity’s global system pulldown menu. The Ubuntu developers disabled this a couple of years ago because hibernate didn’t work reliably on all systems – proceed at your own risk!

Continue reading

Posted in linux | Tagged , | 7 Comments

Google Music

My Nexus 4 and 7 devices don’t ship with an old school MP3 player anymore. After trying lots and lots of players (all of which I didn’t like), I ended up with Google Music, which is pre-installed on all Nexus devices. While its queue handling takes some getting used to, the player works well and looks really great if your MP3s have embedded album art. I had always wanted off-premises backup for my music, so when I read that you can upload 20,000 songs for free, I decided to give it a try with my own MP3s.

Continue reading

Posted in misc | Tagged , , | Leave a comment

Remote-Controlling a Sonos Device Using Python

I couple of months ago I bought a Sonos Play:1, a pretty cool wireless speaker that comes with free controller apps for major platforms (Android, Windows etc.). To give the speaker access to my music collection, I hooked up a USB drive to my home router and shared the music via SMB, which works great.

Continue reading

Posted in linux | Tagged , , , | 2 Comments

A Template for Python Unix Utilities, Revisited

A long time ago, I posted a simple template for writing text-processing Unix utilities in Python. Since we’re not in 2009 anymore, I figured it’s time to port it to Python 3.

Continue reading

Posted in python | Tagged , | Leave a comment

Quick Tip #6: Triggering Actions on File Close

Sometimes it’s useful to trigger an action after a file is closed. Suppose you started a lengthy download on your notebook and you want to suspend it as soon as the download is done. There are several ways to achieve this.

Continue reading

Posted in shell | Tagged , , , | Leave a comment

Setting Up a SOCKS Proxy Using OpenSSH

Web browsing on a public Wifi network is a security risk as it’s quite simple to capture network traffic. Even if you only connect to SSL-protected sites, people can still find out which web sites you’re accessing. Fortunately, there is a quick way to protect your privacy – all you need is a host on the public network that you can access via SSH.

Continue reading

Posted in linux | Tagged , , | 1 Comment