Alex Pooley's Blog

Hello there, my name is Alex Pooley and I'm a freelance web developer residing in Perth, Western Australia. My passion is in the development of web sites that solve everyday problems. Here's a gallery of some of my notable work. If you need a web site designer or developer, contact me with further details. Lastly, you can read more about me.

ATOM Publishing Protocol + OpenSearch Server

July 31st, 2006

Excellent! My APP+OpenSearch server is spitting out valid (and logically correct) ATOM. It’s coded in Ruby and sits inside Mongrel.
It’s been coded so that you don’t have to know anything about ATOM Publishing Protocol or OpenSearch to use it, you just slot in your business logic.

If you are interested in licensing the server, with source, then please get in touch.

technorati tags:, , ,

Blogged with Flock

Professional Ten Pin Bowler

July 31st, 2006

LISP, Emotions, Bowling
In one of Paul Graham’s
essays he mentions that LISP was his secret weapon. LISP allowed Paul
to write a language for his domain and not just construct a bunch of
co-ordinated “modular” blocks like 99% of software is created. This
single idea has changed the way I look at development.

In fact, I’ve spent the last 3 weeks re-working my project, msgpad,
because I don’t believe the current web application development
paradigm is correct. Please understand that I have been very
emotionally distraught over my decision! It’s very hard to explain how
it feels when you leave your job to create a web application, and four
months in (without pay) your making major architectural changes for the
fifth+ time, on an application that is stretching the bounds of
reality. Far out, I only got married four months ago, and I have a
beagle to support!
A conclusion I came to recently, eased my worries slightly. I
figure I’m like a professional ten pin bowler. Have you seen them work?
They bowl with a spin on the ball such that they maximize their
potential for a strike. The problem is, this requires much more skill,
and also increasea the chance of a gutter ball! The “weekend” ten pin
bowler will just throw straight down the middle, with as much grunt as
he/she can create. There’s less risk doing this, but the probability of
a strike is not as great. This is the software development world in a
nutshell. I’d rather master the art of spinning, then brute forcing my
way through with a short term view of the world.
Of interest, there’s a successful trader called Nassim Taleb.
He loses trades often in small amounts, but wins big every so often.
This method goes against our emotional grain, as does learning to spin
the ball when all you want to do is “win”, but it also offers
opportunities where others fear to tread.
For the technically minded, I’ve basically cleaved my software
in to two parts: server and client. The current server/client web
paradigm is tightly coupled and not a lot like what I have in the lab
right now. My server is a hand crafted Atom Publishing
Protocol+OpenSearch beast, and the client is a lightweight javascript,
yahoo user interface weilding juggernaut. It’s in a big messy heap
right now though. An initial cut of the server is pretty much done, but
I need to hook it in with the client. I’ll show it to you some day.
Really!

eBay
Oh, I bought an adapter for my mobile today that converts the
Sony Ericsson proprietary audio jack to a standard 3.5mm audio jack. It
cost me $1, but the shipping was $8! Also, it was way to easy to,
“commit to the purchase”, as eBay says. A single click was all it took.
eBay appear to be on a pretty darn good thing, especially when you
consider that they are the overwhelming market leader on the Internet
and the Internet is most likely “the future”.

Blogged with Flock

Simple, Beautiful

July 25th, 2006

I think ATOM Publishing Protocol+OpenSearch (See GData) is shaping up as something special. There’s a bit more to it than what I’ve provided below, but if you can speak HTTP then you will get the idea.



<Operation: HTTP Method, Path Info, Query String, Data>



Create: POST,     /posts,       nil,         ‘creating a post’

Read:   GET,       /posts/123, nil,         nil

Update: PUT,       /posts/123, nil,         ‘updated post’

Delete:  DELETE, /posts/123, nil,         nil

Search: GET,       /posts,       ‘q=ruby’, nil





This is not just for blogs. It serves as a general read/write layer for applications on the web.



More importantly for the AJAX/Web2.0/WebApplication inclined, it makes much more sense to develop with this type of architecture. In my opinion ;)



technorati tags:, ,

Blogged with Flock