Tunnelblick disconnect fails to remove route

Tunnelblick is an awesome OpenVPN client, which I have been using a lot lately on my Mac. I had a problem where it would connect the first time just fine, but then would never reconnect; it would seem to hang while trying to handshake with the server. I could get it to work again if I rebooted my machine, but that’s powerfully inconvenient.

TL;DR temporary fix:
On disconnect, Tunnelblick fails to remove a static route it used while active. I created a script that I run after disconnecting which drops the static route. It basically just does this:

The 192 address makes an assumption that you didn’t customize that part of the config, so YMMV.

Moving Evernote notes into WordPress

proprietary insecurity

I’ve accumulated many notes (2000+) in Evernote over the years, and love that it can store binary attachments such as images or other media files. My favorite feature is the Evernote Web Clipper browser extension; it does a fantastic job at saving the parts of an article I want to save while keeping the styling intact.

Evernote has a free plan which I’ve enjoyed for a long time, but recently the financial status of the company has come into question, and they restricted syncing to only two devices. Also, the last thing I want to happen is another kind of Google Reader shutdown fiasco. I doubt that a shutdown would make my existing notes disappear, but it’s better to be prepared ahead of time. To that extent, I’ve been looking for a viable option to migrate my notes into another platform. Continue reading “Moving Evernote notes into WordPress”

distribution: histograms in the terminal

My new favorite tool is a python program called distribution that can easily show histograms in your terminal:

I used homebrew to install it, but you can see some usage examples and a few other tools on this stackoverflow page. I eagerly anticipate showing off some histograms to people.

GNU xargs is missing the -J option. WHY!?!

I find that using an idiom like

is so useful. It replaces the replstr (“%” in this example) with all the arguments at once, or as many as can fit without going over the system’s limit. I couldn’t believe it when I learned that the GNU version of xargs lacks this flag. Yes, it’s only on the BSD xargs as far as I can tell.

Every time I’ve searched, someone suggests using the -I flag on GNU xargs instead, but they are not quite the same. The -I flag substitutes the replstr one argument at a time, so that in the earlier example, instead of executing

only once, with the -I flag it will instead do

I’ve also tried using the -n and -L flags, but they are mutually exclusive with each other and with -I. OK, so we need some kind of klugey workaround.

This adds the “bar/” suffix to the standard input before adding it to the end of the mv command. “But,” you say, “those strings are supposed to be null-terminated!” True, but we’re providing a suffix rather than an extra replacement argument, so the EOF signaled from the input stream is really all we need.

There’s another, more intuitive way, but harder to get right; get the argument list output from a subshell command:

But this suffers from not handling weird file names the right way. Instead one could do:

This actually works better for file names, but lacks the flexibility of find.

Is this stuff really what we ought to do? Just give us the -J, GNU. If you know a different way to deal with this, tweet me @realgeek and I’ll update this post.

Self-hosted open source RSS readers

I think I’ve tried pretty much all of them. After the Google Reader-pocalypse, one of the primary requirements was that I could host it myself. Bonus points go to apps that have configurable keyboard navigation (“j” to open the next item must be distinct from “space” to just scroll down in the browser), as well as decent integration on mobile. Here’s a roundup of the ones I’ve tried.


Awesome platform, but way too big for someone looking to host their own personal solution. I tried upgrading it once and broke it. No idea what I did wrong or how to even figure out how why it wasn’t working. Seems very well designed for a massive multi-user operation, though, if you’ve got the Python chops to figure everything out. Newsblur website.


Commafeed is also a larger piece of software, but requires many fewer components than Newsblur. You need Java, some java tools like maven, a DB and of course more than a little bit of RAM.

TT-RSS (Tiny Tiny RSS)

Nice, but not as configurable as I’d like. This and the rest of the readers listed are written in PHP. There are three larger downsides to tt-rss:

  • I had quite a bit of trouble trying to get it to run from a subdirectory on Nginx. This is not necessarily specific to tt-rss, many apps are hard to config this way.
  • The primary developer is not friendly. He seems to take pleasure in ridiculing people in the support forums.
  • Although it’s supposed to be tiny, and the application part is, it requires Postgres or MySQL with InnoDB support. I would prefer something that uses less memory on the DB side, either MyISAM tables or better yet SQLite.


I ran SelfOSS for a while and liked it. However, I didn’t like the Android experience (what, no swipe?) so I went looking for something else.


I’m currently running FreshRSS and it’s really, really good. But I’m starting to get discouraged by a few nagging bugs and the lack of recent updates to the github repo.


I ran Miniflux for a short time a while back and my memory is a bit hazy on the experience (after a while RSS reader experiences tend to blend in with one another). I think I’m going to give it another shot. On his site, reading down the list of what Miniflux is not vs what it is makes me take heart. The developer is clearly trying to convey a no-BS attitude with his intentions for this app. One thing that gives me a spark of hope is that there was a new point release this month. I will update this post with any news with Miniflux.

I have high hopes for wallabag

I would really like to replace Evernote with a self-hosted solution. Wallabag is one alternative that’s pretty attractive. It’s open source, supports imports and exports, and nice on the eyes.

What’s currently holding me back is the lack of an Evernote importer (I kind of expect that, and am eagerly looking forward to writing an XSLT to make that importable ;-) and the lack of features in the browser extension. Basically, Evernote’s web clipper kicks ass, so I’d really like to keep the selection tools.