Category Archives: Web

Playing with Asaph

I have recently been playing with Asaph, a new blogging system and I have a new blog up.  It is seriously fast to post to and limits each post to a small amount of text or one image which although a limitation has been making me think more about what I post.Try it, it’s fun. updates

Thanks to all the people who emailed about the release of the Recycling Group Finder, it was great to receive so many positive comments!

Due to popular request there are two new features. First, group member numbers are automatically updating. This takes a maximum of about 48 hours or so to update, so don’t worry if your membership numbers have changed and the new figure isn’t appearing on the site, it will.

Second is the group owner/moderator admin section. If you are a group moderator you can now signup to edit details of your group including member numbers, name and location. To start just enter your yahoo group URL, or find your group on the site and follow the link included with the rest of the group information.

Comments and feedback welcome as always!


It is my pleasure to announce the Recycling group finder, Something I have been working on for the past couple of weeks with my wonderful employer 29degrees. For those of you who don’t know, Freecycle is a worldwide recycling network, in their own words:

The Freecycle Network™ is made up of 4,205 groups with 4,211,000 members across the globe. It’s a grassroots and entirely nonprofit movement of people who are giving (& getting) stuff for free in their own towns. It’s all about reuse and keeping good stuff out of landfills. Each local group is moderated by a local volunteer (them’s good people).

As the name suggests, Freecycle Group Finder is a new way to find Freecycle groups.

Finding a group – the old way

To find a group you enter a location to search for in the box on the Freecycle homepage. I live in Romiley, so I enter that and click search. But it can’t find any groups! Failed freecycle search

In order for it to find my local group I would have to guess it was called ‘Stockport‘ and search for that. I could have used the Freecycle group browser but who browses anymore? People demand search! I wanted to make this better so I wrote the Recycling Group Finder.

Finding a group – the way

Just enter any location into the search box on the homepage and it will find all your local groups: Successful search

The Freecycle search gets it right sometimes. Take a search for Alameda, CA. It lists all the groups nearby, but Freecycle Group Finder does better. Freecycle Group Finder shows you a map of where all the local groups are! It lets you scroll around and visually determine the closest group (Try it for yourself!). An improvement we feel, and one that will help more people join up and start recycling.

What keeps it rolling?

At 29degrees we’re big fans of Ruby on Rails. It helps us make web applications faster, and with more fun, and it was no exception for the Freecycle Group finder. We are using Postgres for the database and serving it all with mongrel and of course Apache. Of course if wouldn’t be anwhere near as good if it wasn’t for Tony, 29degrees co-founder and designer extroadinaire!

Bourne Shell Server Pages

Utterly wrong, but amusing.

Bourne Shell Server Pages are ordinary ASCII text files, with the special extension .shit, which denotes “Shell-Interpreted Template.” The result of invoking the page compiler on a .shit file, is, naturally, a shell script. (It occurred to me that this file extension might seem objectionable to some, but since it quite accurately—if unintentionally—conveyed my sentiments toward Web technology in general, I decided that it should be left unchanged.)


SurveillanceSaver is awesome:

SurveillanceSaver is an OS X screensaver that shows live images of over 600 network surveillance cameras worldwide. a haunting live soap opera.

Linux visitor numbers

After writing about how Ashley Highfield (BBC Head of Technology) claimed that only 400-600 out of 17.1 million users of run Linux I started to wonder what the proportion of visitors to my own jokes site were using Linux. Here are screengrabs taken from my google analytics account:

OS table

Nearly 94% use windows, 5% use Mac. OK, that matches Ashley’s claims. But wait, 0.9% of my sites visitors use Linux. That is significantly more than the 0.00003% that Ashley Highfield claimed use If we use that 0.9% figure against the 17.1 million visitors he claims visit the number of Linux users would be closer to 154,000.

Where the hell did he get his numbers from?

Just for fun, here are the browser versions. Good to see Firefox doing so well:

Browsers table

400-600 out of 17.1 million users of run Linux

Either Ashley Highfield (BBC Head of Technology) has someone particularly stupid interpreting the stats for the site, or he is trying too hard to justify the BBC’s recent use of Microsoft client only technology.

Sign the petition to let the BBC know you use Linux. Found at PerfDave.

Edited to add: I estimate they have closer to 154,000 Linux users.

More glTail absurdity

This is what happens when you change the log file tail command from tail -f to tail -n10000 -f

glTail crazyness

crazy :)

New glTail version, yay! Authentication failed, Boo!

I downloaded the latest version of glTail and got an authentication failed error:

cheetara:~/Desktop will$ ./gl_tail-0.05.rb
Connecting to myserver...
/opt/local/lib/ruby/gems/1.8/gems/net-ssh-1.1.2/lib/net/ssh/session.rb:143:in `initialize': will (Net::SSH::AuthenticationFailed)
from /opt/local/lib/ruby/gems/1.8/gems/net-ssh-1.1.2/lib/net/ssh.rb:47:in `new'
from /opt/local/lib/ruby/gems/1.8/gems/net-ssh-1.1.2/lib/net/ssh.rb:47:in `start'
from ./gl_tail-0.05.rb:1034:in `init'
from ./gl_tail-0.05.rb:1025:in `each'
from ./gl_tail-0.05.rb:1025:in `init'
from ./gl_tail-0.05.rb:1070:in `initialize'
from ./gl_tail-0.05.rb:1159:in `new'
from ./gl_tail-0.05.rb:1159

I am using key based authentication to my server so I had previously set the password to:

:password => ''

This worked in the old version but to get it to work I in the new version I had to change it to this:

:password => nil