Monthly Archives: December 2012

2012 in review

The stats helper monkeys prepared a 2012 annual report for this blog.

Here’s an excerpt:

19,000 people fit into the new Barclays Center to see Jay-Z perform. This blog was viewed about 94,000 times in 2012. If it were a concert at the Barclays Center, it would take about 5 sold-out performances for that many people to see it.

Click here to see the complete report.


IM+ Pro vs. Xabber as an Android Openfire client

Quick post for those looking for a capable Android client for Openfire. IM+ and IM+ Pro don’t support direct connections to an XMPP server such as Openfire: connections are made first to Shape’s servers then passed on to Openfire (see here for example). Of course, if you are wishing to connect to a private Openfire server, then IM+ Pro is effectively useless. It’s especially disappointing to find this out after shelling out for the “Pro” version, and Shape don’t exactly put a clear warning up or anything.

Xabber on the other hand does permit direct connections to an XMPP server, is free, ad-free, and comes with a nice UI to boot. So, for my purposes there is no competition to speak of 🙂

Xabber connecting to Openfire

Google Play store reviews now require a Google+ account…

… or in other words: “We can’t get people to sign up to our crappy social network, so we’re going to put you over a barrel to use it any which way we can!”

Google Play requires a Google+ account

SmartMachine SSH public key authentication from a non-root account

This has been documented for Joyent SmartMachines, in particular for allowing users other than root to use SSH public key authentication, but is just as applicable for getting SSH public key authentication to work in general. SmartMachine reference:


First create the Unix account on the server, e.g.

[root@im ~]# useradd -g staff -d /home/davek -m davek
128 blocks
[root@im ~]# passwd davek
New Password: 
Re-enter new Password: 
passwd: password successfully changed for davek

On the server, create the authorized_keys file in the user’s ~/.ssh directory.

On the client, generate an SSH public/private key pair in the ~/.ssh directory of the user you wish to connect as:

davek@mymachine:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/davek/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/davek/.ssh/id_rsa.
Your public key has been saved in /home/davek/.ssh/
The key fingerprint is:

Copy the SSH public key up to the server:

davek@mymachine:~/.ssh# scp           100% |*****************************************************************************************************|   401       00:00    

On the server, copy the public key into the target user’s ~/.ssh/authorized_keys file:

[davek@im /home/davek/.ssh]$ cat > authorized_keys 

On server, change file modes for ~/.ssh/authorized_keys to 600, and to the ~/.ssh directory to 700.

On the client, change file modes for the ~/.ssh directory to 700, and check that file modes on the private key are set to 600.

Test SSH public key authentication:

davek@mymachine:~/.ssh$ ssh
Last login: Mon Dec 10 02:41:18 2012 from
   __        .                   .
 _|  |_      | .-. .  . .-. :--. |-
|_    _|     ;|   ||  |(.-' |  | |
  |__|   `--'  `-' `;-| `-' '  ' `-'
                   /  ; SmartMachine base 1.8.1