php-fastcgi woe in blogland

At the end of last week I upgraded my server from Ubuntu Intrepid to Jaunty (and have since gone all the way up to Lucid, a process that was not as simple as I would have liked). As far as I could tell, everything had gone smoothly, but my blog was unavailable (which I discovered very quickly thanks to the automated Pingdom emails). My blog runs on php-fastcgi behind nginx, which had been very simple to install, but now, executing /etc/init.d/php-fastcgi start resulted in an “OK” status but no PHP server actually running!

Isolating the correct command from the startup script eventually got it running (although I still can’t work out whether it really is the quotemarks around $DAEMONARGS that’s causing this problem or not), but it stops again after a couple of hours. I can only guess that this is because I’ve been running it as a simple sudo and without & – but surely start-stop-daemon should handle all this for me?!

Anyway, an investigation into PHP-FPM as an alternative is underway, and this here blog will be massively intermittent until then!

Twitter on Ubuntu – use Gwibber

Screenshot of Gwibber
Screenshot of Gwibber

Gwibber is a native desktop Twitter client for Ubuntu. It will post updates to and receive updates from Twitter as well as a host of other services like Flickr, Facebook, Digg, can update your Pidgin status and pull in any other RSS or Atom feed you like.

It will sit in your notification area waiting until you get some messages which it will display as pop-ups in the corner of your screen, and won’t steal focus whilst it does so (take that, twitterfox!).

It is unobtrusive, attractive and easy to use. Theme templates are just HTML and CSS. I recommend giving it a go.

In Jaunty Jackalope it is in the Universe repositories (so sudo apt-get install gwibber will work) but for everyone else you can either follow the instructions on this page (which means you will get future updates) or go direct to the Gwibber PPA page, expand the section with your distro listed and grab the .deb file.

NewsGator + Venus?

I recently broke the graphics drivers on my Windows Vista installation, so re-partitioned and now run Ubuntu full-time at home.

On Windows I use FeedDemon as my full-time aggregator. It has a degree of speed and polish unmatched by any other web or desktop aggregator.

This means that all my feeds are automatically synced with newsgator.com – a web-based aggregator which is not fast and not particularly polished. Although it might be polished, I don’t know, it’s so slow that I tend to just give up (sync with Google Reader is coming).

FeedDemon has significantly raised the bar for any aggregator I use. Web-based tools no longer cut it, in particular when I have hundreds of feeds and, at times, thousands of unread items.

On Ubuntu the options for a native aggregator are Straw or Liferea. Both are currently undergoing rewrites. Liferea seems like the better option for me, and it has a plugin system which is appealing, but there’s no sync with any online tools.

NewsGator have an HTTP-basd API (PDF reference and sample code which requires a minor tweak to run) which is quite straightforward. It gives back data which can be consumed by the Universal Feed Parser. Venus uses the Universal Feed Parser in planet/spider.py after fetching data to create the cache which powers it.

This time last year I wrote a very very basic wxWidgets tool for browsing the Venus cache. A modification to planet/spider.py to use the NewsGator API would seem like an easy way forward, whilst gaining all the power of the Venus filters, plugins and existing XSLTs.

I might just have to try that.

Using GAlternatives is fun, tasty

G Alternatives screenshot

If you’ve got a raw Ubuntu box it probably came with gij, the GNU Java runtime interpreter. If you’ve installed Sun’s JDK using sudo apt-get install sun-java5-jdk then you’ll now have Sun’s runtime but gij will still be the default. This is maintained by the alternatives system. You can either go and fix it yourself or you can sudo apt-get install galternatives followed by galternatives to run it (I haven’t noticed it in any menu although of course you can add it yourself).

This gives you a nice GUI onto all of the currently set commands in /etc/alternatives and what they can be set to. If you scroll down the list you’ll need to change the settings for jar and java.

Post to Twitter from Ubuntu Deskbar

Deskbar is a Gnome widget you can embed in a panel and can be used for opening applications, opening items from your browser history, doing web searches and all sorts. It’s not as good as Quicksilver but better than Launchy. It fires when you hit a key combo (mine is CTRL+SPACE) and looks a bit like this:

Screenshot of Deskbar on Ubuntu

For the soulless, Twitter is length limited asynchronous multicast IM, for everyone else, it’s a nice way to keep up to date with what your friends are doing using the web, IM or SMS. My rarely-posted to Twitter page is here.

Lucky for me, Deskbar is easily extendable , and so that’s just what I’ve done. I looked at the Twitter Wiki, found a Python Twitter library downloaded their little icon thing and written a sript to let you post to Twitter from your Deskbar. It looks like this:

Screenshot of Deskbar with Twitter plugin installed

To install:

  1. Install python-twitter
  2. Grab deskbar-twitter.py and twitter.png and put them in ~/.gnome2/deskbar-applet/handlers/
  3. Open your downloaded deskbar-twitter.py in an editor
  4. Replace TWITTER_USERNAME and TWITTER_PASSWORD with your Twitter details
  5. Replace YOUR_USERNAME with your Ubuntu username

It took longer to write this blog post than the code, so patches welcome.