I’ve been particularly busy with non-coding, non-work things lately…like a house renovation and because I’m getting married on Sunday the 20th!
The man who for ages said he’d never get married, has been finally convinced that there is a woman who is worth committing to. So, after a wedding down by the river and a party with close friends and family, Geeta and I are off to Bali for a couple of weeks to rest and relax.
Cheers All!
Tags: Uncategorized
I’ve started work on an implementation of the Google Authorization for Web Applications API for ruby.
I did this because I wanted to access Google data with rails and couldn’t find any pre-made solutions out there.
It’s still not in working order but there should eventually be a Gem and a rails plugin to use.
The repository is located at Github:
git://github.com/stuart/google-authsub.git
More information on the Google authSub API can be found at:
http://code.google.com/apis/account/docs/AuthForWebApps.html
I’ll be posting updates here as the coding proceeds. I’m currently doing this in my lunchtimes and weekends…I need a new job!
Tags: ruby · rails · programming
February 17th, 2008 · 4 Comments
I just spent the better part of the morning trying to get autotest working with growl on Mac OSX 10.5. It seems that there’s something broken with growl on Leopard. Still with help from various sites I made it work.My solution is a mashup of ideas from these sites, growl docs and autotest docs:
Neither of the above worked out of the box for me. So I played around a bit. My solution was:
- Downloaded and installed growl 1.1.3, which is in beta but has some fixes for Leopard.
- sudo gem/install ZenTest
- sudo gem/install redgreen
- Copied and edited these images to .autotest_images:



- Created the .autotest file (willfully borrowed and mangled from the sites above and autotest docs)
Now I have the goodness of autotest with growl notifications. Theres only one bug, ^C^C no longer stops autotest…more grumbling ensues…Still I don’t mind too much since I tend to need autotest running in the background most of the time.I do hope this is of use to someone. It worked for me. Now, to get WordPress to do what I want…grrrrr
Tags: rails · programming
February 13th, 2008 · 1 Comment
I’ve been putting a lot of effort into getting my Ruby and ROR chops up to scratch. Keeping in touch with the Brisbane Ruby and Rails Brigade is good, there’s some sharp minds in these giving good advice and ideas. Thanks guys.Ever since I made a simple client record application for Geeta’s massage business in record time with Rails, I’ve been hooked.
Compared to the hoops I had to jump through trying to do things with VB and C# .NET, I found Rails a breeze to make a robust database backed web app. I’ts been in daily use for over 6 months now and apart from a few minor additions such a searching, encrypted database backup and a couple of extra fields, it has run flawlessly.
The big advantage seems to be the speed at which development can happen even when the client’s requirements change. Seeing this, I went further and investigated Agile techniques reading a couple of the Pragmatic Books and a Peepcode webcast or two. Whilst Agile development is mainly focussed on teams of developers there are many techniques in it that can be applied in single developer projects. In my experience, the mindset of Agile development is close to that of many of us open source developers.
I’m trying test driven development techniques for my next project. It seems to be more work and a bit slower. I assume that in the long run this is going to make development quicker. I’ve already found that bugs are found by the tests and are easy to hit on the head before they get out of hand. I’m spending a lot of time thinking about what to test and how to test it, this make things slow but accurate. It also means I learn a lot about the framework and the code I’m writing.
From my martial arts background, I see Agile development as the Aikido of programming. One does not take a stance and have a definite preconception of what one is going to do in a given situation. One just reacts to the needs of the situation using learned techniques. Keeping moving and reassessing the moment is good. Standing still and trying to predict ahead is defeat.I will be interested to see how all this pans out.
Will Agile development really catch on or is it a passing fad?
Tags: ruby · rails · programming
OSDCLang is a new programming language revealed at the 2007 Open Source Developer’s Conference in Brisbane.
It’s functionally identical to BrainF**k but has, IMHO, a much nicer syntax.
OSDCLang consists of 8 commands made of the three symbols: .!?
These symbols are used in pairs to create the 8 commands of the language:
.? Move the Memory Pointer to the next array cell.
?. Move the Memory Pointer to the previous array cell.
. . Increment the array cell pointed at by the Memory Pointer.
!! Decrement the array cell pointed at by the Memory Pointer.
.! Read a character from STDIN and put its ASCII value into the cell at the Memory Pointer
!. Print the character with ASCII value of the cell pointed at by the Memory Pointer
!? Move to the command following the matching ?! if the value in the cell pointed at by the Memory Pointer is zero.
?! Move to the command following the previous matching !? if the value in the pointed at by the Memory Pointer is non-zero.
OSDClang is extensible, since it only uses 8 of the 16 possible symbols that can be made with the basic symbols of the language.
In keeping with historical programming language tradition, I suggest that further extensions be called OSDClang++ and OSDClang#.
OSDClang++ needs a specification document which is at least 1000 pages and requires at leat ten years of comittee approval before being published as an unusable mess.
OSDClang# will have a secret proprietory specification, hidden by layers of patents, NDA’s and copyright restrictions. It will of course introduce a new symbol, #. The # symbol will break backward compatability with all previous versions of OSDClang. There will be undocumented features, but I can’t talk about them in a public forum…
So, to sum up, I wasted a bit of time in my holidays and wrote an interpreter for OSDClang. It’s written in C and runs pretty fast
I’ve also added osdclangtiny.c which is the smallest c interpreter I’ve been able to write yet. On a 64bit system the compiled code is under 9kB. Not that I’ve tried very hard to make it small.
For your edification and amusement I have also included a most useful program, one which every language must have: helloworld.osdc
Blame Jonathon Oxer, it was his talk that inspired this madness.
Tags: geek madness · programming
The odd pair of faces you see at the top of this page are the creation of Manfred Klein, from his font Logo Faces Artists. Manfred Klein is a German font designer whose artistic creations are truly remarkable. He does artistic fonts with a pop-art/cubist sentiment, many traditional Germanic fonts, scrawly handwriting, oddball characters and illustrative fonts, as well as more general typefaces. This man really knows his craft, having first been a typesetter in 1947 according to this interview.
I’m a big fan of his Sansumi font. (Sansumi Demi Bold is seen here in the page title). He has been kind enough to share his fonts with the world, asking only for a donation to Doctors Without Borders if they are used for commercial purposes.
Manfred Klein Fonteria
Thanks Manfred. Your work is inspiring and bold.
Tags: graphics · Uncategorized
I have a collection of images for use as desktop wallpaper. These were created with Gimp, inkscape, a digital camera and some of my own code. The images are mostly 1280×1024 and are full color.
I try to make deep textural images using many layers and various techniques to achieve a pleasing final result. There is a mixture of procedural synthesis, photography, hand drawing and manipulation with image processing tools all used to create these images. No purity here!
Get the images here: wallpaper
Enjoy!
I share all these images under the terms of the Creative Commons share alike licence.

These images by Stuart Coyle are licensed under a Creative Commons Attribution-Share Alike 2.5 Australia License.
Tags: graphics
December 25th, 2007 · 9 Comments
I’ve been busy this week getting pngnq moved to sourceforge.net.
pngnq is a png image quantizer. I keep working on it periodically, mainly when someone points out a bug to me.
pngnq uses a neural network algorithm: neuquant created by Andy Dekker. You can find out more at pngnq.sourceforge.net;
Tags: programming · graphics