Thursday, February 26, 2009

Shellsink Nearing Free Quota

Shellsink has been a pet project of my for the last few months, and it has been fun to put something new out there just to see how people react. My main goal of course was to build something useful. What I didn't anticipate was that I would have to begin paying for hosting so soon. Unfortunately Google has rolled out the non free portion of app engine, and they have announced resulting changes to the service. I had hoped that ad revenue on the shellsink site would pay for whatever app engine hosting costs were incurred, but since 99% of use is at the command line, actually very very few ad impressions are viewed on the site.

The short of this is that very soon shellsink will hit the data storage quota. 1GB of commands, tags, and annotations will have been logged and indexed on the shellsink site. I an trying to get Google to lift the quota for my application. But I have little hope unless one of the Googlers using the service decides to intervene. I expect that late next week shellsink.com will hit the quota and stop accepting commands. BUMMER!

The good news is that all data you have logged there will remain accessable, but if you are like me, that isn't much consolation. So the other good news is that all the source code for the server is going to be in the shellsink Launchpad bazaar repo, so you can keep using shellsink by deploying to your own app engine account. So, it looks like without a deux ex-machina that shellsink.com will have to morph into a non-centralized system.

UPDATE: There is a thread in the google group about this.

Sunday, February 8, 2009

Using shellsink with ZSH is easy


You don't have to use bash to use shellsink. Shellsink will work with any shell that supports the following features:
  • Concept of a command that always executes before your command is run
  • Concept of a history file
  • Concept of appending to the history file each time you run a command
Z-Shell is another great shell and when configured correctly it supports all these things. Here is a set of instructions to make shellsink work for zsh.
  1. Grab the sample zshrc
  2. Concatenate that to ~/.zshrc
  3. make a symlink from .bash_history to .zhistory like this:
    ln -s ~/.zhistory ~/.bash_history
  4. Restart your shell

Easy, right? Here is a list of my References:
  • http://en.gentoo-wiki.com/wiki/Zsh#Shell_History
  • man zshmisc
  • man zsh