Wednesday 7 October 2009

An ironically bad trade based on fundametals ...

A few times a week, when heading back home from work, I stop by a nearby Irish pub for a pint of Guinness. Just one pint, That's important for this story, as I am a slow drinker and it takes the best part of an hour for me to finish it. During this time I either day-dream, or read a book, oblivious to the crowd and the 60's music.

Today was no different. I was planning in my mind the later part of the evening, with various tests, and coding strategies I would try once back in my flat. Then my eyes caught a £5 note on the floor. I just stared at it. For minutes. Nobody seemed to have noticed. People were walking by, walking over, they just couldn't see it.

I was evaluating the best course of action. Should I just grab it? But then how? If I were to lean down, surely everybody would notice this quiet guy suddenly making a move. Maybe I could drop my lighter and grab them both? But then it started to look like it wasn't fair. Whoever lost it might feel sorry for the loss.

So, proud of my new resolve, I headed towards the bartender and shouted at him (you know, that noise) in the most discreet way I know how to shout: "Hey, there's a £5 note on the floor", pointing my finger towards my frustrated desire.

"When the philosopher points at the Moon, the imbecile looks at the finger".

Well, there was a guy at the bar, who caught everything I said, and he was no blockhead, and he started muttering some undecipherable words, but I was quicker: I grabbed the note in a jump and deposited it on the bar, to the care of the bartender: my 1 Peta Hertz brain had quickly judged that by making the story public, I would render any attempt at disgraceful appropriation that much more difficult...

The guy at the bar, calmly took the note, pocketed it, said "Thanks mate, I appreciate that" and headed off!

So here I was, imagining some poor bloke who had lost it and who, through my desinterested compassion, could recover it, only to see it vanish before my powerless eyes, by some quick witted guy who had just disappeared. For the next few minutes, I staid frozen, not willing to accept that there are guys with "street smarts" and others, like me, who wouldn't be able to take advantage of a free lunch the day it came by...

That's when things turned really sour. The guy came back! And he said: "Well, thank you mate, I really, really appreciate what you did, let me buy you a pint!". No amount of protesting changed his mind, and soon I was with two pints of Guinness in front me, the first one still two-third full, and that other one! This was ruining all my plans! I couldn't decently turn the pint back, it would have been an offence. Yet I just didn't want it!

The really sad part is that, by offering me a pint, he spent about half the value of the £5 note. Which really reinforces my conviction that this note wasn't his to start with.

This should serve as a lesson: next time you see a £5 note on the floor of a crowded Irish pub, just act like everybody else does: with utter contempt an disdain for a mere 5 quid. This won't make you any richer, but at least, it won't spoil the rest of your evening ...

Saturday 25 July 2009

Dumbing down, what an insult!

Zeldman writes about the decision of the CSS creators to "dumb things down"

I find this "dumbing down" idea damaging to everybody.

It is insulting to those things are dumbed down for, and frustrating to those who try and hone their skills to the highest possible standard.

CSS is a language, for God's sake! What about dumbing down English to make it easier to foreigners??? Or to children???

That's pure non-sense.

Do you expect to end-up playing Chopin at Carnegie Hall after only two days of piano practice?

Non-sense.

This dumbing down thingie only goes with this "instant gratification" cancer, where effort is scorned at, learning ridiculed, and achievements only valued if they were easy!

And please do NOT confuse the ease of USE of the iPhone, like a hammer to a nail, not like a steam-roller to a pin (Zune). Those are completely different topics!

The iPhone is meant as a utility. Like a light bulb: switch it on, it works, switch if off, it stops. This has nothing to do with learning. And learning, all forms of it, goes through the mastery of some language (written or not).

Dumbing down a language is one of the worst insults being made to mankind. OK. I go back to my Lisp (Clojure) and have a sad laugh at that pop culture that values the result more than the process, being dead (the final outcome) more than being alive and struggling but striving ...

Sunday 19 July 2009

Codewright

There is so much in a name. A name is the container by which people perceive the contents.

Many luxury items do not carry a price label somehow glued on them. Because any directly apposed annotation would denature the object, remove part of its appeal.

Names have connotations. Some of which derogatory, some of which laudatory.

But for all the ambiguities and polysemy, names are the lowest possible form of expression that allows sharing of meaning between people, however wrongly or partially.

I am a Code Writer

Not a programmer. Not a developer, nor a software engineer, even less so a software architect.

A writer writes, that's all they do. But what distinguishes writers is the kind of words and sentences they use, the ideas they push down on paper, the style possibly inherent to the kind of writing, and how they go about forming the material in their mind that ends up in the open.

A novelist writes novels, an essayist: essays, a poet: poetry, a journalist: articles, a playwright: plays or drama, a blogger: well, any inconsistent and dull, half thought through and always in draft mode set of utterances that rarely passes the spell-checker tests, much less so uses correct grammar, yet sometimes offers unique perspectives.

A Code Writer is none of the above, yet shares many facets with every single one of them.

Utility

A writer can be seen as a provider of utility in the sense of the value people derive from the result. Much as the same way engineering disciplines provide bridges and planes and cars for people to travel on, artists provide entertainment or deep emotional connections.

There will always be a disconnect between the means by which such an utility is produced, the stated goal one had to produce it, and the way it is possibly distributed to its intended audience, together with the form of compensation the utility provider derives from the result of the work.

Now that the end product has been moved out of the way as not being the main focus, there is this description of what the code writing activity is about, whose by-product is the service or product whose utility is usually the driving motive for undertaking, yet is often pushed beyond the horizon as self-evident when the actual creating process takes place.

Writing Process

It starts with some idea or concept, written down often in haste, just to see if it works, and when it does, the idea's truth in the current, possibly implied context is being validated.

Then more ideas are jolted down, often at the expense of the consistency of the developing story, and more truth busting tests reveal, or not, the adequacy of what turns out to be a simple body of text, as a blueprint for the elusive daemons inside the machine, to interpret as the meaning of the writer's intentions.

Tension

The incessant feedback between what is being written, and what is actually, objectively meant, is the source of most of the pleasures and frustrations the code writer encounters: what is meant may not be revealed entirely or accurately until much later, when the story unfolds, branches and nests.

We tend to call those inconsistencies using the gentle "bug" name. But this is far more serious. A bug really is a lie, possibly unintentional, that the code writer has let slip into the story, but that the daemons spot with their own various and often cryptic ways of telling: "This is not so!".

Beauty and the Beast

At various stages, the body of text, regardless of its implied meaning, acquires a structure and a form that conveys, one way or another, the intent or purpose of the story to code readers. By analogy to playwrights, it is possible to distinguish the activity of code reading (reading Hamlet in the book) from deriving value from the written code direct execution (watching it being performed on stage with professional actors).

Aesthetic Canons

In most human disciplines, there are accepted quality canons, that help sort good from bad, regardless of individual prejudices. If you are a classical music lover moved only by Chopin or Bach, you may not be the best judge of the objective quality present in "Sergeant Pepper", yet those who value this kind of music could tell you about the properties inherent to those songs that make them stand apart from lesser tracks.

Conciseness, Efficiency, Adequacy

The values a code writer keeps at heart. Using the minimum amount of words to convey an idea, as precisely as required. Sequencing them in an order easy to follow for the code reader used to this particular style. Not implying an undue amount of resource use, nor being imported from some other realms without the proper adjustments.

Codewright

The Code Writer, or if I may coin it, the codewright, is first and foremost a writer, who fights in the darkness to retrieve lights of ideas, polish and organise and present them, asserting their truth, and striving to release the most beautiful and concise text that will transmit them to human readers, yet, allow their interpretation by the daemons inside the computer to produce the utility, as a by-product, that was the goal of starting the whole process.

All the rest is simply not literature.