Rigidly defined areas of doubt and uncertainty.

Thursday, July 07, 2005

Oh no, not again!

So terrorist bombings have become a fact of daily life once again. That's just brilliant.

Wednesday, June 08, 2005

Apple, Intel and Hollywood

Wired and Bubblegeneration have the most insightful commentary on Apple's decision to switch to Intel processors. As Cringely has pointed out several times, Apple wants to have the same success as a digital movie distributor as it has had as a digital music distributor. Hollywood won't cooperate without strong DRM protection which Intel can provide.

Strategies that acknowledge that digital reproduction and modification is easy and inevitable, and work with that will be more productive than those that waste energy fighting against it. Can Apple be a platform for all players, or have they chosen the losing side?

Wednesday, May 25, 2005

A message from Bill

"I’m dead, you’re in hell. Ironic how that turned out."

Bill Hicks
From http://www.whatwouldbillhickssay.com/

Sunday, May 22, 2005

Revenge of the Sith

Now that was more like it! A Star Wars movie with a bit of passion at last! That was what I wanted to see when The Phantom Menace came out. Did we really have to go through episodes I and II to get here? It seems now that they were only backstory to the main event. Take out the filler and you're left with no more than an hour of material - if that.

What a program is

"Programs must be written for people to read, and only incidentally for machines to execute."

- Abelson & Sussman, SICP, preface to the first edition

These words ring very true to me right now, as I read through reams of open source code composed of deeply nested six page long if statements, sparse one-line comments and a smattering of global variables for extra flavour.

My own formulation of the same sentiment might be "Programs are documents used by programmers to communicate their ideas to each other, which also happen to be readable by computers." Or more briefly "Code is documentation".

Now any book that starts with a statement like that must be worth reading. It's been on my to-read list for a long time, but never really seemed essential. Now I think it is. The systems I work with are getting bigger and more complex, so I need more guidance on how to deal with that.

Thursday, May 19, 2005

Reading - The Tao of Pooh and the Te of Piglet

I've nearly finished The Tao of Pooh and the Te of Piglet. I liked the first best, but they're both easy reads. A lot easier to understand than the Tao te Ching!

I've never read the original Pooh books, I think I'd like them - apparently they were an influence on Douglas Adams' Hitchhikers Guide to the Galaxy. From the excerpts I've read I can see some parallels between the two. Pooh shares a similar warped logic with the guide, and obviously Marvin is Eeyore.

Nobody likes a smart arse part 2 - I've created a monster

I've done it again. Another overdeveloped abstraction that takes more time to understand than it could possibly save. Amazingly I managed to get a working project out of it, but it's not been fun to write.

Lessons learned:
  • Work it out on paper first. I now carry with me a low-tech pda (a small notepad and a retractable pencil) to develop my ideas on.
  • Write small libraries/classes that can be easily picked up by others and are an obvious benefit.
  • Solve the problem at hand, not the one you'd like to be working on.
  • Know what the problem is!

I heart del.icio.us

I read Ontology is Overrated: Categories, Links, and Tags and signed up to del.icio.us to see what he was talking about. I really like it. It's a much better way to organise my bookmarks than a rigid heirarchy. I like the idea so much I'm going to steal it. I've already written a few notes on my ideas for a CMS organised around URLs, tags and links.

Evil!

There is a special level of hell for people who write code that looks like this:

var e = "";
var r = true;
var z,n,q,t;

t = true;
q = 0;
n = 0;
z = 0;

Monday, January 24, 2005

The future's back

While high street retailers were reporting 'disappointing' Christmas sales, online shopping in the UK is going from strength to strength. I was pleased to read, in several papers this weekend, about Asos the online fashion retailer. It's a particularly interesting example because clothes are one of the things that, with post dot bomb hindsight, obviously can't be sold online. I guess they can now. The key selling point of Asos is that their range is based on the clothes that celebrities wear. You see your favourite celeb wearing something you like on TV, and with a few clicks you can find something just like it online. The founders admit that this is not a new idea, it's what fashion magazines do all the time. The difference is that being online Asos can update their catalogue instantly.

Dot com is back, and this time it has a business plan! Old ideas are coming back in new guises. As Alvin Toffler wrote in Future Shock "The future arrives too soon and in the wrong order." I think we're sorting it out now.

Friday, January 14, 2005

Tai chi classes

My tai chi classes started again this week. I much prefer doing tai chi in a group to practicing alone. I'm feeling quite pleased with myself for having kept up practice over the Christmas break. I took special trouble to focus on a sequence that I know I'm weak on, and was quite pleased when we got to that part and I passed through it smoothly.

After warm up and going through the form we tried a new exercise. The purpose of it is to develop a sense of where your partners 'root' is. Your partner stands still with their arms folded, feet shoulder-width apart and sinks their weight down into the ground. You do the same and place your hands on their elbows. Slowly, without pushing, you then sink into their space, sensing where they are rooted and eventually uprooting them, so they have to step back or fall over. The movement is very very subtle. An observer would only see two people standing still. It doesn't feel like pushing either - as I stood there with my arms folded, all I could feel was my centre of gravity shifting slowly backwards, making it harder and harder to keep my balance. On the other side it doesn't feel like pushing either, I just tried to feel where my partner was rooted and expand my root into that space. Very little happened for a long time until suddenly they went.

Having experienced tai chi it's very easy to believe in concepts like chi energy. Some people where quite happy to speak in those terms to describe what they were doing. I'm not ready to believe such a thing exists in an objective measurable sense. It does, however, match my subjective experience, so for the practical purpose of learning tai chi it's the best way to visualise what's going on. Just one more impossible thing to believe before breakfast!

In exercises like this I find that every partner is different, and I'm different with every partner. Some seem heavy, some light, some stiff, some flexible. You don't often get the opportunity to read someone like that.

Friday, January 07, 2005

Tower of Babel

On wednesday night I attended the weekly Brighton freelancers meeting at the Lord Nelson. By random chance many of the conversations highlighted the importance, and difficulty, of effective communication.

Paul Silver related the difficulties he had had explaining to a non-technical client what exactly it is that MySQL is, and why PHP and MySQL are nearly always used together like bread and butter.

Richard praised Sevan's encylopaedic knowledge of windows security and configuration issues, but professed to not always following his detailed explanations of how he fixed his PC. The tables were turned when Richard gave Sevan his wife's PC to fix. "It's all in Chinese!" He navigated the menus by memory, but eventually had to find another way.

As we'd all had very little chance to talk tech over Christmas, there was little room for social chit chat, and conversation narrowed in on quite specialised areas of technology. I bobbed along in the fast moving stream of in-depth hardware and networking talk, occasionally gaining some insight, but finding it hard to contribute much.

All this has made me more aware of how easy it is to mistakenly assume your audience has understood what, to you appears pefectly obvious, but to them may as well have been spoken in Chinese. Intelligence and technical knowledge don't always guarantee understanding either, as even in this group of highly technical people, we each speak a language based on our own knowledge and experience. To get the most out of a conversation, whether in a social, business or technical context, clarity and understanding are vital. I can recall conversations I've had where we've both been talking past each other. Taking a little time to consider, listen and ask questions would have helped a lot.

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.