Rigidly defined areas of doubt and uncertainty.

Friday, December 24, 2004

Scientologists 1 Chuggers 0

Out Christmas shopping over the last couple of weeks I've seen two groups of people trying to get money from strangers. One of them is using a much better strategy than the other. One group is the so called 'Charity Muggers', or chuggers for short - the bib clad agents hired by major charities to accost strangers in the street and charm them into signing up for a monthly donation. They operate in packs of about four and it's quite a job to get past them without being spotted. On a quiet day in Lewes I was practically chased by one of them. Twice. Maybe this aggressive style of marketing is seen as unavoidable in a world where there are so many people demanding our attention, but the charities that use it are burning through their social capital, and in a competitive market for attention, chugging won't maintain its advantage for long.

The other group is the scientologists. I hadn't seen the Brighton section out on the streets for some time, but they've been out every day over the Christmas shopping period. They have a couple of tables set out in front of their offices by Churchill square, with a sign reading 'Free stress test', and people are sitting down to talk to them. Voluntarily. Imagine that! People come to you and give you five, ten, fifteen minutes of their time. They're interested in what you're offering and pay attention to what you have to say.

The scientologists' strategy is an example of what Seth Godin has termed permission marketing. In your first contact with a stranger you shouldn't try to sell your ultimate product, you should offer them something for free, like the stress test. That's already qualified your potential customer as someone who might have an interest in your product. The attention your free offer has bought you is then used to sell the next meeting, and that one the next, in a series of exchanges over which you educate your potential customer about your product. It's a much more focused approach than the scattershot techniques of the chuggers and most of mainstream marketing. It takes longer to see results, but you've developed a relationship with your customers where they expect to hear from you and actually want to be sold to.

Perhaps the nature of their product has put evolutionary pressure on the scientologists marketing strategy. It must be a lot easier to get people to give money to save the baby seals than it is to convince them of the merits of joining a UFO cult. It suggests an interesting avenue for research - difficult products produce the best marketing - though I'm not sure I want to investigate too far!

Tuesday, December 07, 2004

Site update

As part of my new marketing drive I've updated my website. The recent work section has been updated and I've rewritten most of the descriptive content. I've tried to change the focus to what other people think is important rather than what I find technically interesting. I've given it a bit of a makeover too. It's still all on one page. If it gets much bigger I'll split the sections into seperate areas and put it all into a CMS, perhaps with a one page summary for printing.

Monday, December 06, 2004

Marketing myself

Recently I read the online book The Bootstrappers Bible (pdf). It's a short (100 pages) readable guide to bootstrapping a small business. One thing it highlighted to me is how absolutely essential it is for me to keep marketing myself, and to do that first, before doing anything else. It doesn't take a genius to work out that marketing is important, but for me it's always come second place behind improving my technical knowledge and ability. I used to take the cautious approach of learning absolutely everything I could about a language / technology / product before starting any paid work using it. I now believe that this is far far to cautious. My own experience, if I listen to it, tells me that I learn more and faster working on a challenging project for a client than I ever do from studying alone without a clear goal. Also, until I've actually talked to a client I don't know if what I'm learning / writing is what they want. I'm not saying that I should give up studying alone, or take on projects I know nothing at all about, just that if I let the breaks off a little it will get a bit scarier, but I'll have more success.

So, fired up with the motivation to get serious about marketing I've done a little research. I've looked at marieting books before, and they were terribly dry and difficult to apply. This time I've found a couple that I think I can get on with. I've ordered Permission Marketing and the followup Unleashing the Ideavirus. They should arrive tomorrow. Both deal with the idea of marketing through word of mouth. The New York Times has a related story The Hidden (in Plain Sight) Persuaders. I'm attracted to this idea of marketing as a conversation, rather than an interruption. It fits rather well with the ideas in the Cluetrain Manifesto which states that the spread of the internet is transforming the marketplace and the workplace from a top down command and control heirarchy into a network of peers.

Thursday, November 25, 2004

USB port to the brain

New Tools to Help Patients Reclaim Damaged Senses from NYT via Bubblegeneration.
Using novel electronic aids, vision can be represented on the skin, tongue or through the ears.
The theory behind this is that it doesn't matter what nerves are carrying the signals, the brain can adapt to process them appropriately. Think of the applications.

Also, this adaptabilty to new sensory inputs implies to me that with enough training, perception of existing senses can be dramatically changed.

Wednesday, November 24, 2004

Nanny knows best

Lately I've been learning to use the ezPublish content management
system. One aspect of it that is causing me unneccessary frustration
and inconvience is it's templating language. I already have a
templating language thankyouverymuch. It's called PHP and it's
faster, better and cheaper than anything they're likely to produce.
And crucially I already know it. They've wasted their own time
reinventing the wheel and now they're wasting mine by making me learn
it. The template language exists for one reason above all others - to
control me, to force me to submit to their ideas of good practice.
Their rules. I don't like that. Help me, give me tools, but let me
decide how to use them. I'll use them in ways you never imagined.

Of course template language designers aren't alone. Platforms and
languages are frequently used to impose the will of their designers on
their users. Java is a prominent current example. Programmers are
voting with their feet and migrating to Python (and PHP and Perl).
I've not heard any reports of programmers going the other way. Java
may well have advantages over Python in some other areas, but in user
freedom Python is the clear winner.

What motivates designers to dictate to their users like this? Perhaps
it's a hang-over from proprietary programming, where deliberately
incompatible systems insulate you from the competition. Maybe it's
nothing more than laziness. By imposing limits on their users they've
dramatically simplified the problem they have to solve - "But what if
I do this?" "You can't". Designing systems that aid users without
taking away their freedoms is hard but worth doing.

Monday, August 30, 2004

More books

I bought a couple of new books at the weekend. (I don't think I enjoy buying anything else as much as I enjoy buying books.) They are: Ursula K Le Guin's version of Lau Tzu's Tao Te Ching, and Fred Brooks classic book of software development The Mythical Man Month.

I find it quite relaxing to lose myself in the pithy and inscrutable sayings of an ancient Chinese philosopher, just reading and re-reading until it makes some kind of sense.

I've just scanned The Mythical Man Month so far. Chapter 18 has a good summary of the chapters. The diagram in the first chapter "The Tar Pit" illustates the order of magnitude difference in development time between a program you might write for yourself and a programming systems product that could be sold. I think everyone involved in a programming project, incuding the client, should see that diagram before they start.

Free software and the parable of the broken window

Two sites I was reading recently O'Reilly's online book Open Sources and the Bubblegeneration blog gave me an interesting insight into the economics of software, free and otherwise. Bubblegeneration mentioned the parable of the broken window. In this story the breaking of a shopkeepers window is seen as a positive stimulus to the local economy because the shopkeeper gives money to the glazier, who then gives it to the baker to buy bread, who then gives it to the cobbler to buy shoes etc. The fallacy of this argument is easy to see in such a simple case, but in real life similar arguments are made all the time. In the case of software, the lightbulb went off when I read this quote from the GNU manifesto in the chapter Future of Cygnus Solutions: An Entrepreneur's Account of Open Sources:

There is nothing wrong with wanting pay for work, or seeking to maximize one's income, as long as one does not use means that are destructive. But the means customary in the field of software today are based on destruction.

Extracting money from users of a program by restricting their use of it is destructive because the restrictions reduce the amount and the ways that the program can be used. This reduces the amount of wealth that humanity derives from the program. When there is a deliberate choice to restrict, the harmful consequences are deliberate destruction.

The reason a good citizen does not use such destructive means to become wealthier is that, if everyone did so, we would all become poorer from the mutual destructiveness.

The use of the word 'destruction' made the parallels with the broken window story obvious to me. The broken window creates work, but it reduces opportunities to spend money on other things and so does not increase overall wealth.

Good to know that free software has some economic theory behind it as well as good intentions. Accounts like those of Red Hat and Cygnus (now part of Red Hat) in Open Sources provide some good practical evidence as well.

Tuesday, August 03, 2004

PHP annoyances

Paul mentioned a PHP annoyance on his blog, so I'll add to the list with somehting a bit more fundamental. Why isn't null interpreted as an empty array by foreach and other array operators? I find myself writing $list=array() as a failsafe throughout my code. This kind of book-keeping code is out of place in a dynamically typed language.

Thursday, July 22, 2004

Nobody likes a smart arse

A common instinct among a certain type of programmers is to try to refactor, generalise and abstract away every repeated line of code. The opposite tendency is to cut and paste large sections of code, which can quickly generate long sprawling programs that are difficult to maintain.

Avoiding repetition is a good thing then? Well yes, but it has to be balanced against readability. In order to avoid repetition common functions, data structures and behaviours are packaged up in abstractions such as functions and classes. Taken too far this scatters the flow of the code across multiple functions and classes, all for the sake of avoiding a little repetition. I've come back to code I've written myself and found the layers of abstraction I've used more of a hindrance than a help. While I was writing it of course I thought I was being really clever.

Good abstractions are hard to work out and not always worth making. Now I consciously try to write my code using a few simple abstractions that can be easily explained and remembered. Repetition is allowed if it means that the information I need to understand the code I'm reading is right there in front of me, rather than n-steps away in a forgotten object heirarchy.

Friday, May 21, 2004

Tai Chi Talking

I was listening to Simon Mayo interviewing Derren Brown, the magician / hypnotist, on Radio 5 yesterday. Simon asked the question everyone wants to ask "Do you ever use your skills in real life?". He wouldn't be drawn on the subject of getting free meals at restaurants etc, but became more enthusiastic when he was asked if he used his powers of persuasion to defuse conflict situations. He advised to always have some song lyrics up your sleeve and explained why with a story of a time he avoided being attacked in the street one night.

Attacker: Oi you! What you lookin' at! etc etc
Derren: The wall in my garden is less than ten feet high.
Attacker: what?
Derren: The wall in my garden is less than ten feet high. The walls in Spain are ten feet high.

The totally out of context reply confused the attacker and took all the energy out of him. He later sat with Derren and discussed the problems he was having with his life.

I can see very strong parallels between what Derren did with his words and the philosophy of tai chi. In tai chi you never confront force with force, you always seek to read the intention of your opponent and through avoiding it use their own energy to uproot them, while maintaining a strong root yourself. Derren didn't seek to argue with his attacker, avoided his confrontational intention and mentally uprooted him. The presence of mind and calmness required to do what he did has a lot in common with good tai chi practice too, which is as much mental as physical.

If I find myself in an argument I'm more interested in avoiding than winning - such as a recent encounter I had with a van driver while I was out cycling - I might try Derren's approach. I just need to think of some suitably abstract and memorable phrases. Favourite at the moment is this, spoken by Ambassador Kosh in Babylon Five - "The avalanche has started. It's too late for the pebbles to vote"

Monday, May 03, 2004

Taking notes

I'm reading several books at the moment, all online, some free and some on safari. I've taken in a bit on Lisp, some XML, and some more general reading about programming , but mostly I'm trying to get a more thorough understanding of Linux. I'm OK programming under Linux and muddling through configuration with a HOWTO, but I've never taken the time to get really familiar with Linux/Unix. Using Linux, as opposed to writing it, which I'm sure is great fun, is a pretty dull dry subject, but it's the foundation that everything else I use is built on so it will be worth the effort. I'm reading Running Linux and I'm finding it a fairly pleasant read. I had a look at RUTE, but the style was a bit rambling and started from very very basic principles.

I'm a little bit annoyed that the range on Safari is too narrow. I can understand that O'Reilly themselves fill a particular niche, but Safari provides access to several publishers with a wider range of titles. I sent them an email asking if they could make Paul Graham's ANSI Common Lisp available.

I take notes when I read. I used to do it on paper, but I prefer to keep them all in text files now. If I don't take notes it's too easy to read through a chapter and take very little in. Taking notes as I go forces me to think about what I've just read in the same way as explaining it to someone else would, and almost as a by-product gives me a nice aide-memoir and index.

Friday, April 16, 2004

First post

I'm currently reading Dynamic HTML: The Definitive Reference. It's OK but the author's style of writing annoys me. I feel like I'm being talked down to by someone who knows less about programming than I do. Just the facts, no opinion unless it's really well argued and relevant, that's what I want in a technical book. It's taking up two spaces on my safari bookshelf, so I'll probably remove it once I've picked up the major differences between the various browsers and the specification.

Once I've learnt the basics I find that online references are often better than published books anyhow. The online PHP manual tells me all I need to know about PHP, The W3C documents are good references for HTML and CSS etc, only the MySQL manual has disappointed so far.