House by the side of the Road

Watching the story of Hiumara Kenshin got me thinking a lot about atonement and also forgiveness. I really hate it when I get all introspective but that’s a whole different story. However whenever I do think about atonement or forgiveness I try to remind myself of this wonderful poem by Samuel Walter Foss … I’m not sure if the sentiment is one I’m ready to try to live by but I guess it’s something to aspire towards …

      House by the side of the Road
                    by
            Samuel Walter Foss

There are hermit souls that live withdrawn
In the place of their self-content;
There are souls like stars, that dwell apart,
In a fellowless firmament;
There are pioneer souls that blaze the paths
Where highways never ran-
But let me live by the side of the road
And be a friend to man.

Let me live in a house by the side of the road
Where the race of men go by-
The men who are good and the men who are bad,
As good and as bad as I.
I would not sit in the scorner's seat
Nor hurl the cynic's ban-
Let me live in a house by the side of the road
And be a friend to man.

I see from my house by the side of the road
By the side of the highway of life,
The men who press with the ardor of hope,
The men who are faint with the strife,
But I turn not away from their smiles and tears,
Both parts of an infinite plan-
Let me live in a house by the side of the road
And be a friend to man.

I know there are brook-gladdened meadows ahead,
And mountains of wearisome height;
That the road passes on through the long afternoon
And stretches away to the night.
And still I rejoice when the travelers rejoice
And weep with the strangers that moan,
Nor live in my house by the side of the road
Like a man who dwells alone.

Let me live in my house by the side of the road,
Where the race of men go by-
They are good, they are bad, they are weak, they are strong,
Wise, foolish - so am I.
Then why should I sit in the scorner's seat,
Or hurl the cynic's ban?
Let me live in my house by the side of the road
And be a friend to man.


Trust, Betrayal, Reflection … Samurai X

I’ve just finished watching the Samurai X OVA’s, individually entitled “Trust”, “Betrayal” and “Reflection”. Each of the three volumes contains two episodes and I can understand why many acknowledge this series to be one of anime’s crowning achievements.

It’s not often that I find myself emotionally moved by any anime – yet this one really did. Don’t get me wrong I do watch a lot but unlike Ghost in the Shell, Akira, Vampire Hunter D, Cyber City OEDO etc., this isn’t a series that appeals to the geek in me. Samurai X is one of the most tragic and incredibly moving stories I’ve ever experienced.

The story itself is heavily rooted in historical fact and I guess that’s the first thing that appealed to me  because I was an avid student of Japanese history and it’s still a subject I’m passionate about 🙂 It’s set during the early Meiji Period, and particularly revolves around some of the events that formed the Meiji Restoration which was a chain of events that ended the 256 year old rule of the feudalistic Tokugawa Shogunate, and ushered in the modernisation of Japan.

The series follows the life, and eventual death of it’s main protagonist, Himura Kenshin. It’s an engrossing, fascinating and emotional character study. Kenshin goes from an idealistic youth to a cold-hearted killer, only to be redeemed through love lost and the realization that swinging his sword is destroying his own life as well as the lives of the people on the receiving end. His journey is at once tragic, uplifting, and totally convincing

The story follow’s Kenshin as he is rescued as a child by the enigmatic Hiko Seijuro who teaches him the art of Hiten Mitsurugi. At the age of 14 Kenshin decides to join a revolutionary movement to restore power to the Emperor and bring down the vicious and corrupt shogunate that was responsible for murdering his family. Although his teacher warns him that his idealism will exploited by others Kenshin rushes off to attempt to make a difference, to help the plight of the people he feels are being subjugated.

It’s interesting to watch the idealistic Kenshin transform into a cold blooded killer known as the Hitokiri Battosai (“Man Killer – Master of the Sword). The adolescent Kenish is corrupted by the world faster than he can redeem it something we see each time he kills. It’s a transformation that is chilling to watch. Whilst the sword fights are visually stunning, especially for an anime, and extremely bloody, they don’t glamorise violence they actually portray the horror of warfare and murder for what it is.

That’s essentially what the story is about, Kenshin’s realisation that he is a murderer, and upon realising this his oath to never kill again, and spend his life attempting to atone for the many lives he has taken.

Tragically the story makes the point that no matter how much we seek to atone for terrible things we do, we perhaps need to prepare ourselves for the possibility that we will never find the forgiveness we seek. It’s a depressing thought, but captured so vividly, and in a way that really does both captivate and wrench at your heart.

For anyone who hasn’t seen the series I really do recommend it. It’s story telling at it’s very best.

Holding a Program in One’s Head

from an excellent new essay by Paul Graham

Good programmers manage to get a lot done anyway. But often it requires practically an act of rebellion against the organizations that employ them. Perhaps it will help to understand that the way programmers behave is driven by the demands of the work they do. It’s not because they’re irresponsible that they work in long binges during which they blow off all other obligations, plunge straight into programming instead of writing specs first, and rewrite code that already works. It’s not because they’re unfriendly that they prefer to work alone, or growl at people who pop their head in the door to say hello. This apparently random collection of annoying habits has a single explanation: the power of holding a program in one’s head.

Whether or not understanding this can help large organizations, it can certainly help their competitors. The weakest point in big companies is that they don’t let individual programmers do great work. So if you’re a little startup, this is the place to attack them. Take on the kind of problems that have to be solved in one big brain.

so very true … !

The Reaper

Behold her, single in the field,
Yon solitary Highland Lass!
Reaping and singing by herself;
Stop here, or gently pass!
Alone she cuts and binds the grain,
And sings a melancholy strain;
O listen! for the vale profound
Is overflowing with the sound.

No nightingale did ever chaunt
More welcome notes to weary bands
Of travellers in some shady haunt,
Among Arabian sands:
A voice so thrilling ne'er was heard
In spring-time from the cuckoo-bird
Breaking the silence of the seas
Among the farthest Hebrides.

Will no one tell me what she sings?
Perhaps the plaintive numbers flow
For old, unhappy, far-off things,
And battles long ago:
Or is it some more humble lay,
Familiar matter of today?
Some natural sorrow, loss, or pain,
That has been, and may be again!

Whate'er the theme, the maiden sang
As if her song could have no ending;
I saw her singing at her work,
And o'er the sickle bending;
I listened, motionless and still;
And as I mounted up the hill
The music in my heart I bore,
Long after it was heard no more.

                   by William Wordsworth

Microsoft launches Tafiti

If you haven’t tried it yet check out Microsoft’s experimental new search front end Tafiti – http://www.tafiti.com.

It’s based on Microsoft’s new SilverLight technology, their competitor to Flash. It uses a cool desktop metaphor where you can spin through different kinds of results, drag and drop them into piles which you can label and share with your friends.

Although it might seem gimmicky and not particularly useful at first glance, it is actually quite innovative and and a lot of fun to use. It’s a great showcase for SilverLight but it’s interesting to contrast how Apple are doing a lot of work in bringing metaphors such as stacks to the desktop UI, and Microsoft seem to be focussing on Search and the Web.

Try it out for yourselves! I think it’s awesome.

Best practises in JavaScript library design

This is a very useful tech talk by John Resig, that explores a number of techniques used to build robust, reusable cross-platform JavaScript libraries.

John offers some excellent advise and whilst some if it might seem obvious it’s worrying how many existing API’s fall into some of the common pitfalls he describes.

John argues that part of writing good solid API’s is to keep the code orthogonal by ensuring that whenever you perform an action on an object that action should be consistent across all objects. In other words each object should expose the same methods, i.e. add(), remove(), all(), … etc. this creates familiarity and developers using the API know that different objects that are responsible for different things can all be used consistently.

John also makes the obvious and profound point that when creating an API you should Fear adding methods, the reason being that every method that you write is one that you will have to maintain. In fact you should try to embrace the idea that removing unused code is a good thing. It reduces the size of your API, makes it easier to learn and easier to maintain.

Going back to consistency its imperative that we use good naming conventions and naming schemes and stick with them, this also means you have to be very diligent about argument position in method calls … I know how frustrating it is when you use some of the string processing methods in PHP but the argument order changes it’s annoying!

John goes onto offer much more advice on encapsulation, functional programming, compression of libraries using Dojo. He advocates Test Driven Development for API design which generally results in better API design.

It’s an excellent talk and well worth watching for anyone who working on building JavaScript, or indeed any kind of API.

Great weekend with my buddies from {TWR}

For those of you who don’t know I’ve been an active member of a FPS Gaming team for over four years: Team Wolfenstein Resource. We play IdSoftware’s Return to Castle Wolfenstein, its follow up Wolfenstein : Enemy Territory and the soon to be released Enemy Territory : Quake Wars. Over the course of the last four years I’ve gotten to know some of my team mates very well and formed some wonderful friendships. The team has members in the UK, all over mainland Europe and in the US. Our members aren’t as active as they once were but were still proud of the fact that we haven’t lost a competitive match in almost two years!

Two of my friends Wim ( along with his gf Julia ) and Alan came to visit me this weekend, and we all had a wonderful time just catching up and chatting.

I guess the three of us started off as guys who played for the same team but we became very good friends, we try to get together fairly regularly away from the computers to just hang out, eat, drink and be merry I guess. The team has had some interesting events, we had an official LAN party in Port Jervis, New York a couple of years ago, followed up by a looong sight seeing weekend in Belgium where close to twenty of us descended on a lovely little town called Ghent. We followed that up eight months later with another great weekend in Oxford, where Matt and I entertained the others with our laughable attempts at punting! Then earlier this year we had another big weekend in Bristol, were we hooked up with friends from another team and spent the weekend touring some of the sites in the south and bowling … a lot …. badly! :p

We don’t actually play as often as we used to so it’s important to us try to get together regularly, Wim and Alan have both been wonderful friends over the last few years ( and Matt and Dom but they’re in the US so we don’t meet up as often as we’d like). There have certainly been times when things haven’t been going so well, I recall when I was laid up in hospital and both Wim and Alan would call me up and try to cheer me up … or in Alan’s case constantly remind me not to do anything stupid … the old fella get’s very sentimental!

Were currently trying to plan our next expedition I think were going to hit mainland Europe again in October, probably the Netherlands, but where ever it is I know it will be fun. As long as no one brings a Monopoly board with them …. *shudder* ….

The Human Abstract

Something happened earlier today that made me think of this rather frightening poem by William Blake, from his Songs of Innocence and of Experience.

     The Human Abstract

Pity would be no more,
If we did not make somebody Poor:
And Mercy no more could be,
If all were as happy as we:

And mutual fear brings peace:
Till the selfish loves increase.
Then Cruelty knits a snare,
And spreads his baits with care.

He sits down with holy fears,
And waters the ground with tears:
Then Humility takes its root
Underneath his foot.

Soon spreads the dismal shade
Of Mystery over his head;
And the Catterpiller and Fly,
Feed on the Mystery.

And it bears the fruit of Deceit,
Ruddy and sweet to eat:
And the Raven his nest has made
In its thickest shade.

The Gods of the earth and sea,
Sought thro' Nature to find this Tree
But their search was all in vain;
There grows one in the Human Brain

                   by William Blake

Why frightening? Well Blake often uses the term Mystery to describe, in his view, an oppressive system that enslaves people by abstracting or supernaturalising real natural and cultural forces in order to make slaves of them … “And at length they pronounced that Gods had ordered such Things. Thus men forgot that all deities reside in the human breast“.

More semantic web ramblings over a curry …

This is turning into a habit 🙂 My colleague, Keith Alexander, is in town this week and staying at a fancy hotel in the city centre. He’s not familiar with brum so I agreed to show him around a little and grab a bite to eat. After the briefest tour of Birmingham city centre in history we decided to find somewhere to eat and ended up at Festival Balti in the Arcadian Centre.

We spent ages talking about various semantic web related issues most of which revolved around the sorts of the things we’d like to use the Talis Platform for as well as talking about the sort of features we’d like to see in the platform, the current limitations in our api’s but the upcoming features that will address these limitations. We talked about the applications we are building and how they are converging onto similar technology stacks, opening up the prospect of more discrete component reuse.

Our discussion also ranged from comparisons between Weinberger’s Everything is Miscellaneous and Morville’s Ambient Findability,  to the very nature or vision Semantic Search. We talked about how useful Microformat’s could be and the benefits as well as the problems with current initiatives being undertaken within the FireFox community to build Microformat detection directly into FireFox 3

With reference to search I think we both agreed that the future of search lay in addressing the current problem with Google Search, the fact that the search does not take the user’s context into account. We came up with some ideas about how we might be able to capture this information. We talked about how RDF lends itself to being able to merge together data from heterogeneous domains and why this might be the most appropriate medium through which to achieve this.

I’ve only touched on the diverse subjects we talked about but one thing did stand out – how much Keith knows about the semantic web! It’s a passion of his and it’s something he’s been blogging about over at http://semwebdev.keithalexander.co.uk/blog/.

I can’t help but reflect on the fact  that  our development group at Talis comprises of a group of individuals who are extremely passionate about this particular topic or problem space, whether or not they have been drawn together by design or pure chance (our HR team may take exception to that :p), the fact remains that we have brought together and incredibly talented group of people that really want to solve these problems and develop something that is… well for want of a better word … incredible.

It all reminds me of something G.W.F Hegel once wrote:

“Nothing great in the world has ever been accomplished without passion”