Hope and Inspiration


Two things happened last week.

First, somebody won $425,000,000.00 less than a mile from my home. When we learned about it, it was a lot of fun to speculate which one of our neighbors was probably the winner. Then we'd estimate how much they get to actually keep, and what one would do with all that unexpected money. Then we'd wonder if we'd change our lottery ticket buying habits.

It wasn't more than a day before we returned to our regular routines. And no, we weren't really going to change our lottery ticket buying habits. It's fun to think about winning the lottery and to hope for it, but it's not anything you can hang your hat on, as it were. Nobody was left any more inspired.

Second, Brian Acton, who had been turned down by Facebook in 2009 when he was looking for a job, started a new project with a colleague of his, and later sold it to Facebook for 19 billion dollars.

It's that second story that fascinates and inspires me. Amir Salihefendic points out what he thinks is so interesting about the sale. For me, the numbers don't have to be so modest and hyperbolic at the same time. I love the core story that Brian felt intrinsic worth, he didn't give up despite suffering some setbacks and he eventually made good on his vision.

The story of the individual who somehow persists and makes good on his vision carries much more weight with me than the story of a random lottery winner. Hoping to win the lottery is nice, but it's that story of perseverance and ingenuity that's going to inspire me for years to come.

Photo by ginnerobot / CC BY-SA 2.0

On Identity and Brand

skyshot_250.jpgThe icon to the right is the avatar I've been using for the past five years.  Before that, I'd been using an icon made from a photo we called the nose-biter.  I think you can figure that one out.

Ever since I started using avatars, I've really liked the idea that my online friends could identify posts by me quickly.  I make it a point to try to use the same avatar at different sites, and I try to use an avatar that's somewhat distinctive.  A couple of the things I liked about the old avatar was the predominance of the color blue, and that I wasn't doing a traditional head shot, but that it still suggested me by my physical appearance.

I got the itch to make a new avatar, but I had a few guidelines in mind.  I'm only getting older, so I'm even less interested in having to see my own mug head-on at the social sites I visit.  In opposition to that, I still want my online friends to have at least a rough idea of what I look like, and I want the new avatar to be reminiscent of the old avatar.

pixel_art_watermark_256.pngThis time I was going to take a crack at a pixel-art version of myself.  I'm a fan of Andrew Gleeson's artwork, and decided to take inspiration from his style.  With any luck when my friends see my new avatar, their favorite chiptune song will spring to mind, and they'll recall good times playing fun, simple video games.

I managed to retain the field of blue as the negative space around my head.  And my head still only takes a small fraction of the space.  It manages to be a straight-on head shot that suggests my physical appearance without actually being a photo of me.

I think I can live with this for a while. Let's see how it goes!

Choosing a Cloud-based Backup Solution

Here's a comparison of some potential cloud backup solutions. I'd like to backup some desktop application settings to the cloud, user content from all the members of my family, and content from our mobile devices. It seems like every member of my family has different tastes in music, and we can't stop taking videos and photos.



Dropbox is a great tool, and it solves the problem of storing user content in the cloud. And it's free for the first 2 to 18 GB. (That's why the Dropbox line is blurry. The amount you get for free depends on what you do for them.) But it becomes $10.00 a month after that up to 100GB. and then more after that. And it doesn't backup certain non-Dropbox directories.

Microsoft SkyDrive offers a handy comparison of similar services, and it compares favorably in many cases. But all the services have similar drawbacks with regard to which media get backed up, and how media is shared or not shared across different accounts, each of which has to be paid for individually. By the way, you can check your current Google Drive storage here.


For the members of the family that have iOS devices, we could backup to iCloud for free, up to 5GB. I really like that the backups would be effortless. But 5GB isn't very much for our photos, videos, and music nowadays. If we need more space, we could upgrade an iCloud or more, and our devices could share iClouds, but each cloud caps out at 55GB, and who would share which clouds? If our devices share clouds, would they have to sync the same media? That's not really what we want, and it doesn't help me out with my PC backup.

Dreamhost Backup

As a customer of Dreamhost, I get a free-for-the-first 50GB backup plan. That's quite decent. I'm using it already to backup my desktop. I love that the backup is done via rsync over ssh. It's flexible, smart, and encrypts my data on its way to the server in the cloud. But it's a single server in the cloud, and as such, it's a single point of failure. After the first 50GB, it's $0.10 per GB per month.

That's great for the desktop so far. But it doesn't help with the handheld devices unless I have them sync to the desktop, and then have the desktop sync to the cloud. That'd require user action, and that's a point of failure.


Dreamhost offers high availability space (data is replicated three times, with immediate consistency) in the cloud for effective prices of under $0.07 per GB for developers. As an early adopter, I got in at a promotional rate. For the first 10 GB, DreamObjects isn't the cheapest solution, but after around 60 GB, then DreamObjects becomes a great solution based on price.

DreamObjects don't transfer via ssh, so if I want to encrypt my data, I have to do it myself. For data that doesn't need encryption, I can use boto-rsync which is like rsync. (Note that I linked to a fork that includes the "--exclude" argument.) For data that needs encryption, I'd do it with duplicity.

Of course, it's got the same problem as Dreamhost Backup. It doesn't help with the handheld devices unless I have them sync to the desktop, and then have the desktop sync to the cloud.

The Final Solution

You can't beat free. And you can't beat automatic. While simpler is better, and just choosing one solution would be the simplest, for a cheap developer like me, a hybrid solution looks the most attractive.

Everybody who's got iOS devices will backup the most important type of media that fits into 5 GB per iCloud. After that, we'll have to manually sync our handheld devices to a desktop, and that'll sync with DreamObjects. While I dislike that there'll be a manual step in getting some data into the cloud, I do like that this backup is device independent, and completely within my control.

Implementation Details

From a Linux box, or from an OSX command line, it's even easier than this. But if you're installing into CygWin, assuming you have easy_install installed, here are some installation notes for boto-rsync:

$ easy_install pip
$ pip install boto_rsync

A boto-rsync command to DreamObjects looks like this:

$ boto-rsync -a "public_key" -s "secret_key" \
  --endpoint objects.dreamhost.com \
  --delete ~/dir-to-backup/ s3://bucket/dest-of-backup/

And for Duplicity, you'd need to have installed both librsync1 and librsync-devel from CygWin first. Then:

$ pip install httplib2 oauth
$ curl -L http://goo.gl/VBVmB \
  > duplicity-0.6.21.tar.gz
$ tar xvzf duplicity-0.6.21.tar.gz
$ cd duplicity-0.6.21/
$ python setup.py install

A duplicity command to DreamObjects looks like this, after you've configured a .boto file with your credentials:

$ env PASSPHRASE=yourpassphrase \
  duplicity ~/dir-to-backup/ \

Edit: Here's a follow-up to this post written in 2016.

Finding an RSS Feed Reader to Replace Google Reader

As soon as the shuttering of Google Reader was announced, I went on the hunt for alternatives. I've researched various options, both self-hosted and cloud-based. I've tested them all in parallel for over a week, and have come to a tentative conclusion.

Your time is precious, here's my decision so far: My absolute favorite is selfoss. It's fast, minimal, and looks beautiful in both desktop and mobile formats. It happened to be very easy to install, and had no trouble taking in my OPML file, and it already had the right keyboard navigation keys configured. It mostly worked correctly right out of the box.

There were two settings I changed in the config.ini file:


That sets up the behavior I prefer. I want the site to always start with a list of unread content, and as I navigate around, I like the articles to be automatically marked as read.

Did it say it was minimal? Oh, it is. Gloriously so. And a bit too much. It makes for a very consistent reading experience because it strips away the effect of almost all HTML elements. No embedded videos, many pictures are not displayed, all text is displayed at one size and one weight.

That won't do for me. I want to see a little CSS beautification in my reader. Whitespace between paragraphs and seeing all the video and images is important to me. I need to know when the images are there. So I made some minor changes to the codebase.

  1. Removed elements like strong, b, em, i and p, from the strip-all-style part of public/all.css.
  2. I used this technique to remove elements from simplepie's strip_html list. I allowed iframe, object, param and embed in spouts/rss/feed.php for embedded videos.
  3. I turned off safe and whitelisted the embedded video tags in the htmLawed object in helpers/ContentLoader.php.
  4. Finally, I made this change from ref= to src= in helpers/ViewHelper.php.

Having made the changes above, now the feeds in my selfoss reader retain some rudimentary style and properly display video and images.


Now that's much better. This is a selfoss installation that I can live with.

As for the runner-ups? I liked Tiny Tiny RSS a lot. But it was slower loading and responding. And the visual presentation for desktop mode wasn't as nice. There's too much clutter. Its mobile version is not supported, but ttrss-mobile is awesome. Install it into /mobile for the easiest experience. Finally, remap they keys j and k to next_article_noscroll and prev_article_noscroll with a plugin.

If I were forced to go with a 3rd party cloud-based product, I'd probably choose Feedly. It's relatively fast and minimal. After that, it's a toss-up between NetVibes and The Old Reader. I didn't pay NewsBlur to see how they'd perform with a moderately large OPML. I'm looking forward to seeing what Digg comes up with.

And as for local desktop clients? They're not in the running. I need my feedreader to be current on any screen I happen to login to.

Finally, some suggest using Twitter as Google Reader's replacement. I enjoy "dipping into the stream" as it were in Twitter, Facebook and Reddit. But I need a tool that'll save articles from my favorite friends and content creators too.

I hope you may find this helpful. If nothing else, it'll serve to pinpoint the state of the art in early 2013 for keeping track of content online.

Faulkner and Bukowski on Creativity


It delights me to no end that William Faulkner and Charles Bukowski see eye to eye on the issue of creativity. They don't exactly say the same thing, but they both make similar claims when it comes to the perfect setup for creativity. I first read Bukowski's poem, "air and light and time and space," as brilliantly illustrated at Zen Pencils. The poem follows below, but please be sure to see the interpretation at Zen Pencils.

"–you know, I’ve either had a family, a job,
something has always been in the
but now
I’ve sold my house, I’ve found this
place, a large studio, you should see the space and
the light.
for the first time in my life I’m going to have
a place and the time to
no baby, if you’re going to create
you’re going to create whether you work
16 hours a day in a coal mine
you’re going to create in a small room with 3 children
while you’re on
you’re going to create with part of your mind and your body blown
you’re going to create blind
you’re going to create with a cat crawling up your
back while
the whole city trembles in earthquake, bombardment,
flood and fire.
baby, air and light and time and space
have nothing to do with it
and don’t create anything
except maybe a longer life to find
new excuses

Then I read the following interview with William Faulkner in which he has the following choice quotes:

The writer's only responsibility is to his art. He will be completely ruthless if he is a good one. He has a dream. It anguishes him so much he must get rid of it. He has no peace until then. Everything goes by the board: honor, pride, decency, security, happiness, all, to get the book written. If a writer has to rob his mother, he will not hesitate; the “Ode on a Grecian Urn” is worth any number of old ladies.


The writer doesn't need economic freedom. All he needs is a pencil and some paper. I've never known anything good in writing to come from having accepted any free gift of money. The good writer never applies to a foundation. He's too busy writing something. If he isn't first rate he fools himself by saying he hasn't got time or economic freedom. Good art can come out of thieves, bootleggers, or horse swipes.

That was taken out of context and you should read the rest of the interview. Faulkner didn't say that writers don't have any needs. But he does agree with Bukowski that if we're spending our time fussing about the art and not making our art, we're just fooling ourselves.

Illustration by Gavin Aung Than, used with permission.

Newer Entries » « Previous Entries