Thursday, April 10, 2008


Peacock, originally uploaded by rjlothian.


Tulips, originally uploaded by rjlothian.


Robin, originally uploaded by rjlothian.

Taken inside the Eden Project, Cornwall.

Thursday, March 20, 2008

CRC algorithm

Wednesday, March 19, 2008

My graph plotter

I've finally got around to upgrading my graph plotter to work online.
You can play with the live demo at

Labels: ,

Review of OpenSuSE 10.3

Is Ubuntu still king of distros? I took the plunge and installed OpenSuSE.

Read more

Tiger and duck problem

A duck floats at the centre of a circular lake.

A hungry tiger waits a the edge of the lake, watching the duck.

The tiger can run four times the speed at which the duck can swim, but it can only go over land (i.e. around the circumference of the circle).

How can the duck reach the edge of the lake before the tiger and hence escape?

Need a hint?

Labels: ,

Friday, September 21, 2007

A day at the zoo (photo)

Canon EF 100mm USM Macro f/2.8
f/4.5 1/320sec ISO 400


A first look at Ubuntu Gutsy

I've been trying out Ubuntu's latest alpha-release: Gutsy Gibbon (7.10). You can find screenshots and a log of my experiences with Gutsy on my website.


Friday, November 03, 2006

Ubuntu Edgy

Ubuntu Edgy is now out. Release highlights include:
  • Firefox 2.0... which isn't really a huge improvement over 1.5.
  • a splash screen that doesn't work (at least for me)
  • Xorg 7.1
  • ATI drivers that are too old to work with Xorg 7.1 properly
  • a compile of MPlayer that complains about its compilation options every time your run it
  • more shades of brown and orange
  • etc.
It also has up to date software, like Edgy isn't bad though, worth upgrading if you don't mind a few hours of hassle. It fixes a few pesky bugs in Dapper, like not being able to change the frequency of my CPU's second core through the GUI. And having the latest things is always nice.


Saturday, September 30, 2006

Kamaelia 0.5.0 Released!

Kamaelia is an intuitive way to structure applications -- as a network of components which message each other. Much like Unix pipes implemented in Python. It was originally designed by BBC Research for rapid development of server software.

Here's a taster of what a Kamaelia application looks like: (built with the GUI)
And here's some equivalent Python code:

Those 5 lines of Python give you a console-based HTTP downloading program (like wget or curl but with less options) using existing components.
  • the console reader sends lines of text (URLs) the user enters to...
  • the HTTP client, which fetches the associated page. It then forwards on the page data to...
  • the file writer, which appends all messages it's sent to a file on disk.
It's as simple as that.

Version 0.5.0 is a major release - lots of functionality has been added from Google Summer of Code 2006. Key highlights of this release:
  • BitTorrent support (using the official BitTorrent client) - includes preliminary 'streaming over BitTorrent' support. Lets you integrate P2P in your own Kamaelia applications.

    Kamaelia BitTorrent client GUI

  • HTTP client and nascent seaside-style pure-python webserver
  • OpenGL (e.g. the checkers/draughts board on the right)OpenGL checkers example
  • Strong DVB (freeview TV) support on Linux - including the foundations of a PVR
  • Collaborative whiteboarding with audio (speex encoded) - draw and talk together over the internet
  • Visual composition of Kamaelia systems - create and link components on screen, see the code produced (the screenshot near the top of the article)

For more information see the Kamaelia website. You can get a copy of Kamaelia and Axon from Sourceforge, together with most of the dependencies in the mega bundle. If you have any problems or questions, just pop along to #kamaelia on No Python experience is needed to get started!


Monday, September 25, 2006

Curse of BitTorrent strikes again

Some oddness was noticed with my Torrent components after they were moved into the Kamaelia main tree - they no longer worked. TorrentTkGUI just sat there when started - it didn't even get as far as popping up a window. It turned out that BitTorrent expects a locale directory in ./ - a 'feature' added to the code base recently. We're now including the required English locale file where it is expected (as it is only 409 bytes) and considering removing the need for locale files as we only use BitTorrent for the backend.

Labels: ,