Notes on the synthesis of form

is an excellent book by Christopher Alexander (isbn 0-674-62751-2). As usual I'm going to quote from a few pages:
Poincaré once said: "Sociologists discuss sociological methods; physicists discuss physics." I love this statement. Study of method by itself is always barren.
Culture is changing faster than it has ever changed before...what once took many generations of gradual development is now attempted by a single individual.
Modern mathematics deals at least as much with questions of order and relation as with questions of magnitude.
If the world were totally regular and homogeneous, there would be forces, and no forms. Everything would be amorphous. But an irregular world tries to compensate for its own irregularities by fitting itself to them, and thereby takes on form. D'Arcy Thompson has even called form the "diagram of forces" for the irregularities.
No complex adaptive system will succeed in adapting in a reasonable amount of time unless the adaptation can proceed subsystem by subsystem, each subsystem relatively independent of the others.
We define a concept in extension when we specify all the elements of the class it refers to. And we define a concept in intension when we try to explain its meaning analytically in terms of other concepts at the same level.
Design is by nature imaginative and intuitive.
Every form can be described in two ways: from the point of view of what it is, and from the point of view of what it does.
It is the culmination of the designer's task to make every diagram both a pattern and a unit. As a unit it will fit into the hierarchy of larger components that fall above it; as a pattern it will specify the hierarchy of smaller components which it itself is made of.
What is it about the internal structure of any problem that makes it hard to solve? In nine cases out of ten, we cannot solve it, because we cannot grasp it.


Quality Software Management
Vol 3. Congruent Action

is an excellent book by Jerry Weinberg (isbn 0-932633-28-5). As usual I'm going to quote from a few pages:
Distrust any enterprise that requires new clothes. [Henry David Thoreau]
Incongruence is stereotyped behavior because it is not appropriate for the particular situation.
Busy management is bad management.
One of the functions of a leader is to become a focus for hostility.
Culture makes language, then language makes culture.
Breaking up economic teams is economic nonsense. Why is it so common?
In all Steering organizations the team is the fundamental unit of production.
In Steering organizations, managers rise above the level of product management and begin concentrating on process management.
We connect through our sameness and grow through our differences. [Virginia Satir]
Intellect is great, but character is more important.
Social skills influence more and more the effectiveness of technical skills.
We blame out of fear, and the blame creates a situation that justifies the fear.

Cleaning this brass is a waste of time...

I did a weeks UML/Agile training/consultancy in Huddersfield recently. Relaxing in a pub one evening, I noticed two of the staff cleaning the brass drip-trays. Then I heard one of them say this

Cleaning this brass is a waste of time. It takes 10 minutes and when you've done it there's no difference.

I was immediately reminded of Jerry Weinberg's Fast Food Fallacy "no difference plus no difference plus no difference plus ... eventually equals a clear difference".

Models and abstraction

My friend Kevlin Henney recently did a in-the-brain-of talk for SkillsMatter. He talked about Models and Modelling. Here's part of Kevlin's definition of a model

A model is an abstraction ... for a purpose.

There is an intimate relationship between a model and its abstraction. I think it was Andrew Koenig who said

Abstraction is selective ignorance.

The word 'ignorance' might mislead you here. It doesn't mean ignorance in the sense of an ignorant person - a person who should know something important but doesn't. It means ignorance in the sense of not being aware of something unimportant. The word 'selective' relates to the word 'purpose'. A clear purpose helps you decide what's important and what's not. Things that aren't important can then be omitted. Modelling is primarily an act of omission. The less clarity of purpose in your mind, the less omission is likely to take place, the more the model will try to say, without clarity.


The London underground tube map as a nice example of modelling. The usefulness of the tube map is directly related to the massive amount of omission in it (or should that be not in it?)

  • it's not scaled - 5cm on the map does not relate to 5 miles on the ground.
  • it's not proportional - stations 8cm apart on the map are not twice as far apart (on the ground) as stations 4cm on the map.
  • it's not relative - stations north/south of each other on the map are not necessarily north/south of each other on the ground.
  • it doesn't tell you street names.
  • it doesn't tell you where the bus stops are.
  • the turns in the River Thames are not all 90 degrees or 45 degrees.
  • the little nicks on one side of the line don't tell you if the platform will be on the left or right.
  • ...
These things are all omitted because they don't relate to the model's primary purpose - to help you get from one tube station to another tube station.


Things that a model does say should be said consistently. For example, the station names are all written horizontally, in the same font and style. If some were horizontal, some vertical, some slanted, some in black, some in blue, some large, some small, we might start wonder if the differences were significant. The model would be leading us astray. If the tube map was trying to be geographically accurate some parts of the map would get very squashed. The squashed stations might get a smaller font. And some might be angled into the only available space.


There is also at least one act of addition in the tube map. The lines have different colours. The circle line is yellow for example. Kevlin promises me that the steel tracks on the circle line are not yellow! But then again, perhaps the colour refers to the trains running on the track. Are the trains on the circle line noticeably yellow? If so, which had the yellowness first, the tube lines on the map or the actual trains? Or, over time, have they influenced each other?


It's easy to ignore just how much effort went into figuring out what to remove from the tube map. Wikipedia has a nice entry on how the tube map has changed over time. I remember once reading how Harry Beck spent years working on an early version of the tube map which his supervisor rejected because it needed to contain less.


A powerful abstraction helps you create a model of clarity, but the clarity can easily seduce you - you're not aware of all that has been omitted, and the effort needed to omit it. When you look at the tube map you just see the tube map.



Quality Software Management
Vol 1. Systems Thinking

is an excellent book by Jerry Weinberg (isbn 0-932633-22-6). As usual I'm going to quote from a few pages:
There is only one sin, and that's failing to believe you have a choice. [Jean-Paul Sartre]
A culture is a self-sustaining pattern that has remarkable powers of resistance to change.
The essence of a pattern is what it can do consistently.
When trying to introduce change in software engineering practices (or any practices, for that matter), it's often better to work by addition, rather than subtraction. Instead of continually emphasizing what people are doing wrong, emphasize what they are doing right so that they will do more of it.
The Reversible Fallacy: What is done can always be undone.
The Causation Fallacy: Every effect has a cause ... and we can tell which is which.
One of the most important tasks is not merely describing these laws, but in distinguishing which ones are "natural" laws that we'll have to learn to accept and which ones are "human decision" laws that we'll have to learn to control.
People's language often reveals when they believe that they are victims of events, rather than having a choice of reactions to the event. Learn to listen for falsely deterministic key words.
Any time you say, "I can't do that, " you'll always be right.
IQ scores would be a lot more meaningful if you added 10,000 to each score.
An hour of work is not an hour of work if you are interrupted during the hour.
The average defect detection time will keep rising throughout the project.
Poor quality hurts much more than good quality helps.
The software industry tends to focus on tools rather than on people.

The corporation

is an excellent book by Joel Bakan (isbn 1-84529-174-3. As usual I'm going to quote from a few pages:
"The corporation has essentially replaced the church in terms of who you are", says Edison Schools financier Michael Moe.
Indeed, the very notion that there is a public interest, a common good that transcends our individual self-interest, is slipping away. … These are the elements of an emerging order that may prove to be as dangerous as any fundamentalism that history has produced.
Socialism for the rich and capitalism for the poor, to borrow a phrase from George Bernard Shaw.
Most corporate law statutes include provisions that permit governments to dissolve a corporation, or seek a court order to dissolve it.
Corporations are our creations. They have no lives, no powers, and no capacities beyond what we, through our governments, give them.
We believe that some things are too vulnerable, precious, or important to exploit for profit.

The wisdom of crowds

is an excellent book by James Surowiecki (isbn 0-316-86173-1). As usual I'm going to quote from a few pages:
Diversity and independence are important because the best collective decisions are the product of disagreement and contest, not consensus or compromise.
The best way for a group to be smart is for each person in it to think and act as independently as possible.
To be smart at the top, the system has to be smart all the way through.
Adding in a few people who know less, but have different skills, actually improves the group's performance.
We have bad intuitions about averaging.
Keep the mistakes that people make from becoming correlated.
Information isn't in the hands of one person. It's dispersed across many people.
The problem starts when people's decisions are not made all at once, but rather in sequence.
People are more overconfident when facing difficult problems than when facing easy ones.
Encouraging people to make incorrect guesses actually made the group as a whole smarter.

Growing a business

is an excellent book by Paul Hawken (isbn 0-413-19340-3). As usual I'm going to quote from a few pages:
Be careful, you may succeed.
Gregory Bateson once defined the most elementary unit of information as the 'difference that makes a difference'. … The ability to create differences in manufacturing and delivery of goods and services will be the key to success.
Don't start two businesses.
Take a product and reduce it to its essence.
If employees, customers, and vendors don't laugh and have a good time at your company, something is wrong.
You don't ever manage people - you work with them.
Enterprises fail more often because of the sum total of seemingly inconsequential events acting upon them than because of a sudden disaster or discontinuity.
In the beginning, survival is more important than success.
Nothing in nature tells us that rapid growth is good, and certainly nothing in human biology. In our own bodies, the most rapid growth of all is cancer.
Businesses that grow too fast or in the wrong way overwhelm the adaptive capacity of the people who work there.
Responsibility is participation.
If a village in Europe or China wanted to censure and remove a member of its society, the townspeople went to the offender's home and burned it to the ground, along with all the possessions inside. That's how they fired someone.
Hire the person, not the position.

Linked

is an excellent book by Albert-László Barabási (isbn 0-7382-0667-9). As usual I'm going to quote from a few pages:
Mathematicians call this phenomenon the emergence of a giant component, one that includes a large fraction of all nodes. Physicists call it percolation and will tell you that we just witnessed a phase transition, similar to the moment in which water freezes.
What is the structure of the network encoding how the crickets, or people influence each other?
Power laws rarely emerge in systems completely dominated by a roll of the dice. Physicists have learned that most often they signal a transition from disorder to order.
Trapped between order and chaos, water molecules participate in a majestic dance in which some molecules come together, form small and somewhat ordered groups, move together, and in no time break apart to join other molecules forming yet other groups.
In the vicinity of the critical point we need to stop viewing atoms separately.
The theory of phase transition told us loud and clear that the road from disorder to order is maintained by the powerful forces of self-organization.
Errors and failures typically corrupt all human designs.
Computer simulations we performed on networks generated by the scale-free model indicated that a significant fraction of nodes can be randomly removed from any scale-free network without its breaking apart.
Innovations spread from innovators to hubs.
We need to understand living systems in their integrity.
Real networks are not static, as all graph theoretical models were until recently. Instead, growth plays a key role in shaping their topology.

Time wounds all heels

When I was a boy I was taught ITA spelling. ITA stands for Initial Teaching Alphabet. The idea was to teach phonetic spelling. As a consequence, despite years of ongoing effort and practice I still find myself misspelling homonyms - words pronounced the same but spelled differently. Words such as they're, their, and there. There (have to check it now...) are loads of them in English. I mentioned this to a friend on an email list a while back and he replied "What were they thinking?"
Quite.

Here's an example of how it can affect me - an anonymous quote I've read in two of Jerry Weinberg's books:

Time wounds all heels.

When I read this I just didn't get it. I knew I didn't understand it and I kept trying to. But to no avail. Why couldn't I understand it? Answer: because I was reading it as:

Time wounds all heals.

The word wounds was nudging my ITA brain to see/hear the word heel as heal. They naturally fit together as opposites after all! And of course in reverse it is heal - Time heals all wounds.

How did time suddenly heal my wound and reveal the true meaning to me? It was while I was attending Jerry Weinberg's Problem Solving Leadership course. Jerry was talking about "Time wounds all heels" and he simply said the words "Achilles" and "heel" one after the other. And in that moment I understood! Heel. Heel. Not Heal. Time wounds all heals. Damn. I did it again. I really did. Time wounds all heels. Your (that's one I've learned I have to check... no it's not you're) Achilles heel is your (again) weak (not week) spot.

Switch - how to change things when change is hard

is an excellent book (isbn 978-1-84-794031-5). As usual I'm going to quote from a few pages:
What looks like a people problem is often a situation problem.
Psychologists have discovered that self-control is an exhaustible resource... What looks like laziness is often exhaustion.
What looks like resistance is often a lack of clarity.
TBU - true but useless.
Knowledge does not change behaviour. We have all encountered crazy shrinks and obese doctors and divorced marriage counsellors.
To be clear, it's not so much that you're a brilliant predictor; it's that he's a lousy self-evaluator. We're all lousy self-evaluators.
When milestones seemed to distant, they should look for "inch pebbles".
Coaches are masters of shrinking the change.
Stanford psychologist Lee Ross... noted that people have a systematic tendency to ignore the situational forces that shape other people's behaviour. he called this deep-rooted tendency the "Fundamental Attribution Error."
With hard goals, action triggers almost tripled the chance of success.

We are not nouns, we are verbs

Stephen Fry was interviewed in this weeks Radio Times. The following snippet caught my attention:

Oscar Wilde said that if you know what you want to be, then you inevitably become it - that is your punishment, but if you never know, then you can be anything. There is a truth to that. We are not nouns, we are verbs. I am not a thing - an actor, a writer - I am a person who does things - I write, I act - and I never know what I am going to do next. I think you can be imprisoned if you think of yourself as a noun.


When things start to think

by Neil Gershenfeld is an excellent book (isbn 0-340-75039-1). As usual I'm going to quote from a few pages:
The fibres that make up a sheet are actually translucent. Light striking the paper gets bent as it passes through a fiber, and since there are so many fibres this happens many times in many directions. The result of all this scattering is that the light spreads through the paper much like the spread of a drop of ink, eventually leaking back out. ... This phenomenon, called optical weak localization, is what makes the paper (or a glass of milk) appear to be white.
There are deep reasons why the old technologies in a book work so well... What jumps out the first time you see a Gutenberg Bible is the glossiness of the ink. It turns out that Gutenberg made his inks by cooking a stew of oil and copper and lead that precipitated out little platelets that act like tiny mirrors, paradoxically reflecting light from a black background.
Freed from the constraint of duplicating manuscripts, Aldus Manutius in Venice around 1500 then settled on the dimensions of the modern book. It was designed to fit in the saddlebags of traveling scholars, and his Press developed the italics font, to fill the pages more efficiently than did fonts that imitated handwriting.
If you're offered a better computer program, it's not possible to peer inside and judge how it works.
It requires great discipline to put just enough of the right kind of information in the right place to communicate the desired message rather than a printer demo.
Like all good scientific discoveries, the seeds of Lorenz's observation can be found much earlier.
Good help is as hard to find in the digital world as it is in the real one.
Naming the solution is not the same as obtaining it.
It's all too easy to defer thinking to a seductive computer program.
The brain's internal representation is not designed for external consumption.
The world is the next interface.

It's often a situation problem

In a previous blog post I commented on a recurring theme in several software classics - the idea that it's always a people problem. I was reminded of that sound-byte today while reading Switch - How to change things when change is hard by Chip and Dan Heath. Their surprising-thing-about-change number 1 (of 3) is
What looks like a people problem is often a situation problem.
I prefer this version, partly because it uses the word often rather than always and so it follows Bill Bailey's Law. But mostly I prefer it because saying "it's always a people problem" feels demotivating because we are all people and you get drawn into thinking you're the problem. As Deming made clear, the root cause of most problems is not the people but the system. But the word "situation" is simpler and somehow easier to grasp than "system". It's clear your always in the situation that you're in.

A related quote from Switch is
to change someone's behavior you've got to change their situation.
I like this a lot and it reminds me of the various quotes about acting your way into thinking differently being easier than thinking your way into acting differently...
Sometimes it’s easier to act your self into a new way of thinking, than it is to think your self into a new way of acting. (Jo Berry)
You cannot change how someone thinks, but you can give them a tool, the use of which leads them to think differently. (R. Buckminster Fuller - quoted in The Fifth Discpline by Peter Senge)
Adults are much more likely to act their way into a new way of thinking than to think their way into a new way of acting. (Richard Pascale's in Surfing the Edge of Chaos)
Or, to say it in reverse
Knowledge does not change behavior.
So instead of saying "it's always a people problem" perhaps it is better to say "it's rarely a people problem"

Gandhi an autobiography

is an excellent book (isbn 978-0-141-03273-3). As usual I'm going to quote from a few pages:
All his life he held to two fundamental principles, a belief in Ahimsa, or non-violence, and the concept of Satya, or truth; as he said: 'My uniform experience has convinced me that there is no other God than Truth.'
Renunciation of objects, without the renunciation of desires, is short-lived, however hard you may try.
Jealousy does not wait for reasons.
I had been advised to collect certificates of my having abstained from meat, and I asked the English friend to give me one. He gladly gave it and I treasured it for some time. But when I saw later that one could get such a certificate in spite of being a meat-eater, it lost all its charm for me.
Experience has taught me that silence is part of the spiritual discipline of a votary of truth.
Great men never look at a person's exterior. They think of his heart.
Rest assured it takes no unusual skill to be an ordinary lawyer. Common honesty and industry are enough to enable him to make a living. All cases are not complicated.
I scrupulously avoided hurting their feelings.
It went against the grain with me to do a thing in secret that I would not do in public.
The heart's earnest and pure desire is always fulfilled.
Service can have no meaning unless one takes pleasure in it.

Long Walk to Freedom

is an excellent book (isbn 978-0-349-10653-3). As usual I'm going to quote from a few pages:
I maintain that nurture, rather than nature, is the primary moulder of personality.
I did well in school not so much through cleverness as through doggedness.
These [meetings] were not scheduled, but were called as needed... Everyone who wanted to speak did so... People spoke without interruption...
Majority rule was a foreign notion. A minority was not to be crushed by a majority.
This metal wire, he said, pointing above, is an example of Western manufacturing, which is skilful but cold, clever but soulless.
I could compensate for lack of natural aptitude with diligence and discipline. I applied this to everything I did.
There is nothing like returning to a place that remains unchanged to find the ways in which you yourself have changed.
Gaur believed in finding solutions rather than spouting theory.
I was far more certain in those days of what I was against than what I was for.
If fine bodies and impressive physiques were essential to being a leader, I saw that few among us would have qualified.
If you wait for textbook conditions, they will never occur.
Class, Nyerere always insisted, was alien to Africa; socialism indigenous.
I did not think this view [always rejecting bail] should be universally applied and believed we should examine the issue on a case-by-case basis.
Any man or institution that tries to rob me of my dignity will lose because I will not part with it at any price or under any pressure.

cyber-dojo server is up

The first cyber-dojo server is up, at http://www.cyber-dojo.org Please note the hyphen - the url without the hyphen was not available. The infrastructure is very very very rudimentary, but it's a start. Something to learn from and build on. Any feedback always welcome.

Have you got any strawberries?

I was driving along the A303 towards Gatwick last week and passed several stalls selling strawberries. It reminded me of an incident many years ago, before the kids were born, on the same road when Natalie and I stopped to buy some. We approached the stall. The only thing it sold was strawberries. It was a strawberry stall. Everywhere you looked here were open punnets of strawberries. With a twinkle in my eye I looked at the two young lads manning the stall and watched their puzzled faces as I asked "Have you got any strawberries?"

The World's Least Favourite Airline?

I had a great family cruise on NCL's Norwegian Gem visiting Venice, Dubrovnik, Izmir, Athens, and Nafplion. I particularly liked Dubrovnik and the ruins at Ephesus are truly spectacular and were well worth the long taxi ride from Izmir. NCL was faultless in all respects and I have no hesitation wholeheartedly recommending NCL, it's cruises and its staff.

But not British Airways…the BA flight home from Venice to Gatwick was a joke. There were numerous check in desks at the airport and the only one with a sizeable queue was BA's. In fact the BA queue was so long it blocked one side of the building from the other. I looked (and asked) for some self-service check-in desks and found quite a few from many airline companies but none from BA. The day's first flight from Venice to Gatwick was so late we got to see the end of that fiasco too. It was over-booked and several people queued for two and half hours in sweltering heat only to fail to get a boarding pass. These people naturally joined the queue for the next flight so that flight was overbooked too. But did anyone walk along the queue offering cash to anyone willing to take a later flight? No. So once again some people at the end of the queue were going to fail to get a ticket after queuing for several hours. While the first flight's queue was queueing security had to be called because everything was so badly organised. As usual one of the check-in desks was reserved for Club-something-or-other and so sat mostly idle while the queue lengthened and people grew more and more irate.

We were on the second BA flight out. Having seen the problems from earlier in the day we joined the queue very early. It was a wise move as the queueing was just as badly organised. Eventually we got to the check-in desk and just after we had got our boarding passes I happened to see a not-so-easy-to-see note offering €250 if you took a flight the next day. And just after we had got our boarding passes the check-in lady told us the flight was delayed for an hour - which of course meant it would be delayed for more than one hour - why do they always underestimate the delay? If we had been told the flight had been delayed before we started checking in we might well have taken the offer. We certainly would have given it some serious consideration. And why if they know it's an hour late don't they show that information on the departure boards?

It would have been so easy for BA to do the little things that showed they cared about their customers. Something as simple as providing some kind of cool drink for people while they queued in the heat. It wouldn't be much, but it would be something and it would change the situation so completely. But no.

Over and over you felt BA simply didn't care about you.

I fly quite a lot and from now on if I have a choice - and on several routes I do - I'm not going to fly BA.

The Autobiography of Andrew Carnegie

is an excellent book (isbn 0-451-53038-1). As usual I'm going to quote from a few pages:
In an incautious moment my parents had promised that I should never be sent to school until I asked leave to go. This promise I afterward learned began to give them considerable uneasiness because as I grew up I showed no disposition to ask.
He is a bold man who calls anything a trifle.
The fundamental advantage of a library is that it gives you nothing for nothing. Youths must acquire knowledge themselves.
The celebrated maxim of Confucius: To perform the duties of this life well, troubling not about another, is prime wisdom.
Whenever one learns to do anything he has never to wait long for an opportunity of putting his knowledge to use.
How reserved the Scot is! Where he feels most he expresses least. Silence is more eloquent than words.
Slight attention or a kind word to the humble often bring back reward as great as it is unlooked for. No kind action is ever lost.
Even in these days of the fiercest competition, when everything would seem to be matter of price, there lies still at the root of great business success the very much more important factor of quality.
No sound judgement can remain with the man whose mind is disturbed by the mercurial changes of the Stock Exchange. It places him under an influence akin to intoxication. What is not, he sees, and what he sees, is not.
Mr Pullman replied: "Yes, my friends, all that you say is true. I have had a long, long life full of troubles, but there is one curious fact about them - nine tenths of them never happened."

Trondheim XP Agile cyber-dojo

Anders Hammervold and Jonas Follesø organized a cyber-dojo for the Trondheim XP Agile group yesterday. Anders tells me great fun was had by all.

Managing the design factory

is an excellent book by Don Reinertsen (isbn 0-684-83991-1). As usual I'm going to quote from a few pages:
Best practices are only "best" in certain contexts and to achieve certain objectives. A change in either the context or the objective can quickly transform a "best practice" into a stupid approach.
We must constantly remember that the simplification [of the abstraction] is a veil between us and the reality of the process.
Manufacturing is an inherently repetitive process and therefore more likely to produce learning than a non-repetitive process, like product development.
In the design process we can only add value when we do something differently. If we change nothing, then we add no value.
We will see much more variability in the design process than we see in repetitive manufacturing process. This variability is an indicator that we are doing something new in the design process, and thus that we are adding value.
Risk and the variability associated with it, are inherent and desirable characteristics of design processes. They are at the heart of a design process's capacity to generate information.
The design factory needs variability, so it needs tools that allow us to coexist with variability.
When you dig below the surface you discover that most change programs are motivated by two forces: imitation and obedience.
Events that are less probable contain more information.
Our testing processes need to have an adequate failure rate to generate sufficient information.
Each iteration starts on the base of the quality of the previous pass.
A process is a way of preserving learning that occurs when doing an activity.

A whirlwind at Reading station in 1840

As well as the super statue of the World War I soldier at Paddington by my namesake I also spotted this at Reading station last week. It's on platform 4 but you have to look quite hard to find it.

Faulty LiveScribe pen

I bought a 4GB LiveScribe pen from Amazon uk on May 11th. The first time I used it worked but repeatedly refused to allow me to register online. The second time I tried to use it refused to record audio and it continues to refuse. I phoned the LiveScribe support number on June 22nd and after navigating my way through several "press 1 for this, press 2 for that" menus I spoke to a human being. I was asked to send details of the pen, my computer (a bog standard MacBook Pro), and a log file. I did this immediately.

It's now June 29th, seven days later and I have heard nothing. Not even an email acknowledging receipt of the details I sent. So I rang again today. I spoke to the same lady in technical support. She explained that she had forwarded the information I sent to technical support but that they were backed up with work which was why no one had got back to me yet. This doesn't sound promising - John Seddon would call that Failure Demand.

She said she would escalate the case and promised someone would contact me tomorrow. We will see. Stay tuned!

Thinking ahead - I'm wondering how long should I give them to fix it. And if they can't whether I'll ask for a replacement or a refund...

Update. They called back as promised. They talked me through doing a firmware upgrade (which I had already tried to run and fortunately still had in my download cache). Part way through I got a message saying "your pen is not recognised". Despite appearances I was told this was not a message from the firmware upgrade, but from livescribe desktop which was also open. And on a manual firmware upgrade the livescribe desktop can apparently interfere with the firmware upgrade (which is no doubt what happened to me the first time). So I closed livescribe desktop and restarted the firmware upgrade. And this time it worked! Hoorah. I have audio recording back. So less than top marks for it not working first time, but nearly top marks for helpful support.

Charles Sargeant Jagger

I was at Paddington station a few days ago and I stopped to look at this superb statue (it's at the edge of platform 1). I noticed it was by Charles Sargeant Jagger!

The Hávamál

translated from the original by Björn Jónasson ISBN 9979-9070-0-2. As usual I'm going to quote from a few pages:
The ethics of the Hávamál are above all rooted in the belief in the value of the individual.
Attending a feast: No man should call himself clever but manage his mind. A sage visitor is a silent guest. The cautious evades evil. Never a friend more faithful, nor greater wealth, than wisdom.
Happiness: He is unhappy and ill-tempered who meets all with mockery. What he doesn't know, but needs to, are his own familiar faults.
Financial sense: Become not a beggar to the money you make. What's saved for a friend a foe may take. Good plans often go awry.
Moderation and prosperity: Moderately wise a man should be not too crafty or clever. The best of lives is led by those who know the measure of many things.
Shyness: A log's flame leaps to another fire kindles fire. A man listens thus he learns. The shy stays shallow.
Foresight: A man should know how many logs stubs and strips of bark to collect in summer to keep in stock wood for his winter fires.
The use of power: A prudent man wields power in modest measure. With brave men he finds that none is foremost or excels in all things.
Everyone has his use: The lame rides a horse the maimed drives the herd the deaf is brave in battle. A man is better blind than buried. A dead man is deft at nothing.

Winner or loser?

As well as running an evening CyberDojo at the NDC 2010 conference in Oslo last week I also attended an excellent morning workshop run by Matthias Skarin. He used several experiential exercises one of which was a simple rally-car driving simulation. In the game everyone stands in a circle and has to choose "Hi" or "Lo". Then you find out what the person to your left and to your right chose and look up your score. For example, Left=Hi, Me=Lo, Right=Lo, check the sheet, Hi-Lo-Lo = 2 points. Then repeat 15 times, each time adding your points to your running total, and rearranging the circle lowest-score to highest-score, slowest driver to fastest driver.

The points table was cleverly structured so there was a tension between working for yourself or for the whole circle. After a few rounds I had an idea. I decided to play the game by trying to maximise the score of the person to my left even if it meant coming last. I have to admit part of the reason for this was I was only half awake, (I hadn't had enough coffee), and figured I wasn't going to do very well anyway. Each round I simply explained what I was doing to the person to my left and asked whether they would like me to pick a Hi or a Lo.. The effect was dramatic - I rapidly became the slowest car as people overtook me. And because we were standing in a circle, in no time at all, the person to my left was the fastest car. Then there was another dramatic effect - since the person to my left was gaining a significant advantage from me each round they rapidly accelerated ahead of the second placed car. At the end of the game two cars had noticeable scores; mine because it was so low, and Paul's (the person to my left) because it was so high.

Afterwards someone pointed out that I had been the driver of the slowest car. I explained how I had played the game and suggested that maybe I had been the navigator in the fastest car!?

The soul would have no rainbow if the eyes had no tears and other native american proverbs

is an excellent book by Guy A Zona (isbn 0-671-79730-1). As usual I'm going to quote from a few pages:
I seek strength no to be greater than my brother, but to fight my greatest enemy - myself. [Tribe unknown]
The more you give, the more good things come to you. [Crow]
The song is very short because we understand so much. [Navajo]
If you see no reason for giving thanks, the fault lies in yourself. [Minquass]
You are never justified in arguing. [Hopi]
No answer is also an answer. [Hopi]
Every fire is the same size when it starts. [Seneca]
The frog does not drink up the pond in which he lives. [Sioux]
Seek wisdom, not knowledge. Knowledge is of the past, wisdom is of the future. [Lumbee]
Force, no matter how concealed, begets resistance. [Lakota]
Everything has a beginning. [Kiowa]
God teaches the birds to make nests, yet the nests of all birds are not alike. [Duwamish]

Macbook plug design flaw? No

I was on a train recently and I tried to plug my macbook plug into the socket. Nope. The depth of the plug was too great. As it happened I had a 4 way adapter in my backpack so I was able to get power anyway!

Update! Thanks to Phil's suggestion I checked my cable drawer and found the other cable :-) I popped it into my laptop bag and found myself on a GWR train again yesterday. No need for a 4 way adapter this time (which I didn't have anyway - I only carry that when I'm running a CyberDojo).

What Did You Say?

is an excellent book (subtitled The Art of Giving and Receiving Feedback) by Charles and Edith Seashore and Jerry Weinberg (isbn 0-924771-33-X). As usual I'm going to quote from a few pages:
If you're not absolutely sure they want your feedback it's best not to offer it.
When the data and their model don't match, most people discard the data.
We structure our world so we will not receive feedback that threatens our view.
We don't even wait to ignore feedback, but actively take steps to prevent such feedback from ever happening in the first place.
We tend to learn only in new situations. In new contexts.
The more we try to control, the less influence we are likely to have.
Don't concentrate on giving feedback; concentrate on being congruent - responding to the other person, to yourself, and to the here-and-now situation.
The less investment you have in changing the other person, the greater the likelihood that each of you may grow.
Improving a relationship doesn't always mean making it closer.

Viking Ship Museum

I went to the Viking Ship Museum in Oslo a few weeks ago. As I arrived a group arrived on a bus. They were led round the museum by a man who talked about the exhibits and viking life in general. I quietly attached myself to the group and listened to what he had to say. It was really fascinating stuff. For example, at one point he mentioned that Norway has the highest incidence of multiple sclerosis in the world. And that the countries with very high incidence seem to be the countries the Vikings invaded!

Implementing Lean Software Development

is an excellent book by Mary and Tom Poppendieck. As usual I'm going to quote from a few pages:
If you focus on driving utilization up, things will slow down.
We've watched CMM and ISO 9000 as their focus changed from quality improvement to certification.
Toyota believes that consistent excellence in product development starts with "towering technical competence in all engineers". At Toyota "Developing people is fundamental to the managers job."
If you expect teams to meet aggressive deadlines you must limit work to capacity.
The behaviours that ranking systems encourage are competition, hiding information so as to look good, and hiding problems so as not to look bad.
There is at least as much knowledge created by experiments that fail as is created by finding a solution to the problem.
Western companies think of knowledge as something that is written down. Japanese companies think of written knowledge as only the tip of the iceberg; most knowledge is contained in subjective insights, intuitions, hunches, and mental models. This tacit knowledge does not come from studying, it comes from experience.
Probably the biggest mistake we can make is to regard refactoring as a failure to "Do it right the first time".
The mark of an excellent organization is not that they are without problems; it is that they are without systemic problems.
In The Living Company, Arie de Geus points out that the average life expectancy of a multinational corporation is between 40 and 50 years. People live for an average of 75 years, so they can expect to outlast perhaps three quarters of the companies that existed when they were born.
If the learner hasn't learned the teacher hasn't taught.

The hole isn't in my part of the boat

After the XP2010 conference in Trondheim its nice to back home and walking Patrick to school each morning. I collect rubbish on the walk back. A whole carrier bag full after one week away. It's a four minute walk. And I live in the country. People must actually be winding their car windows down just to throw out rubbish! :(

XP 2010 cyber-dojos

I had a great time at XP 2010. I ran one cyber-dojo (on the left) with Jeremy Lightsmith and another (on the right) with Olve Maudal. Both went very well and had up to 18 players at a time.


Every time I run a cyber-dojo I learn new things. And new ways to make it simpler. For example in Olve's cyber-dojo one player had to leave early and one of the laptops was their laptop. In a normal code-dojo that would be a problem. But in a cyber-dojo it's not an issue. You just fire up another laptop and carry on where it left off.


Olve also invented a much simpler way to do the musical chairs. Instead of having one timer to rotate the keyboard driver within each group and another timer to shuffle the groups we now have just one timer. When it dings the keyboard drivers in each group have to get up and find a new group - which they then join in a non-driver role. Much simpler!



Writing software is writing

In his book Patterns of Software Richard Gabriel devotes a whole chapter (Writing Broadside) to writing about writing. Writing software is an act of writing so to get better at writing software he suggests it is a good idea to get better at writing in general. I was reminded of the chapter when I listened to Kevlin Henney's Skillsmatter podcast Rethinking unit testing in C++.

In his talk Kevlin discusses identifiers. Names. Names are funny things. When developers choose names they have a difficult task. They have to balance two forces that are very definitely competing against each other. On the one hand longer names give more room to express intention - to create intention revealing names. A declaration is a declaration of intent, an expression is an expression of intent, a statement is a statement of intent. But on the other hand the names of our classes, our functions and our objects also participate as sub expressions in larger and larger expressions. In the context of use the pull of brevity is very powerful.

Kevlin reminds us that some names are never intended to be used at all! They never participate in expressions that we write! Brevity should not be a concern for such names. In a language that supports reflection your test framework will call the test method for you. The only time you write the name of the test method is when you define it.

Developers typically have a lot less practice at writing names when they are freed from the shackles of brevity so it's not really surprising test method names often smell so bad. They smell bad because they are too concise! Loosen up! Give yourself some space. Instead of writing a test method called test_index think about the intention deep inside your head and try to express that as a whole sentence. That's a difficult practice to develop. If I'm pair programming and as the navigator I see the driver struggling with a test method name I sometimes ask them to "put the mouse down and step away from the keyboard". We discuss, face to face, what the intention is. Freed from the code-silo mentality of the keyboard we can usually move quite rapidly from test_index to test_indexing to test_out_of_range_indexing to test_out_of_range_indexing_throws_exception.

The last additional suffix ...throws_exception is an important one. A good test name should express an expectation. This is a transformational name change. It transforms the idea of testing so that it becomes not-testing. The name becomes a proposition. And the tests inches closer towards being an executable specification.

Another example of the context of test/proposition names having a different meta-context from regular code is naming style. Kevlin suggests that even in a language with a strong camelCase or PascalCase naming convention there is a strong argument for naming test methods with underscores_as_separators. You aren't calling these methods. They aren't participating in larger expressions. The only time they appear is in a diagnostic. Experiments have shown there is a small but definite cognitive delay in reading camelCase or PascalCase identifiers once they get beyond around 30 characters.

bureaucracy

Back to quotes table-of-contents

From The Right Stuff
The esprit throughout NASA was tremendous... Bureaucratic lines no longer meant anything. Anyone in Project Mercury could immediately get to see anybody else about any problem that came up.

From Beyond Culture
By their very nature bureaucracies have no conscience, no memory, and no mind.

From Jerry Weinberg (in person)
Bureaucracy can be measured by how much people don't know why they're doing what they're doing.

From Good to Great
The purpose of bureaucracy is to compensate for incompetence and lack of discipline. Avoid bureaucracy and instead create a culture of discipline.

From It's Your Ship
More often than not, bureaucracies create rules and then forget why they were needed in the first place, or fail to see that the reasons for them no longer exist.

From Quality Software Management: Vol 2. First Order Measurement
Bureaucracy is each thing in control, but everything is out of control.

From John Boyd - the fighter pilot who changed the art of war
Anything new and different is feared by a bureaucracy.

From A Little Book of f-Laws
A bureaucrat is one who has the power to say 'no' but none to say 'yes'.

From Beating the System
Bureaucrats are usually empowered to say no to even reasonable requests, but they cannot say yes to them. This requires passing requests to a higher authority. Saying no inflates bureaucrats' self-images.

From the Mind of War
he was always testing the limits - of airplanes, people, science, the military, and, most especially, bureaucracies.

From Ackoff's Best
The most variety-decreasing type of social system is one we call a bureaucracy.

If you're going to sin, sin against God, not the bureaucracy. God will forgive you but the bureaucracy won't. [Admiral Hyman G. Rickover]

From Are Your Lights On?
Bureauracies always begin with some process of selection - a process which is never quite "natural" selection.

From Quality Software Management: Vol 2. First order measurement
Bureaucracy: people doing things whose purpose they don't understand.

From the DevOps Handbook
Bureaucracies are incredibly resilient and are designed to survive adverse conditions - one can remove half the bureaucrats, and the process will still survive.

The Buffalo Bridle

One of my favourite Laws from Jerry Weinberg's The Secrets of Consulting is The Buffalo Bridle, which is all about motivation.

You can make a buffalo go anywhere just as long as they want to go there.


The velocity/wip game

While I was at Jerry Weinberg's Problem Solving Leadership workshop last week (which was truly fantastic) I showed a group of fellow attendees a very simple velocity/wip game I've invented. You simply create some cards and arrange them into columns. Each card has a number written on it which is it's estimate. The photo shows the setup for our game; the left column (eg Analysis) contained the numbers 1,8,2; the middle column (eg Design) contained the numbers 1,1,5; the right column (eg Testing) contained the numbers 8,1,2. We put one person on each column; Darrin on analysis, Ted on Design, and Tim on Testing. Play proceeds as follows:
  • each player gets N (eg 3) dice which they each roll over and over again
  • if a player rolls a 1 they add one to their running tally (which starts at zero)
  • if their tally reaches a number on a card in their column they can move that card one column to the right and reduce their tally by that number
  • that's it! (you can also add wip limits to the columns if you like)
Paul was on the timer and gave us one minute. After the minute was up we added up the...
  • work-in-progress: the total of the cards still in the three columns
  • velocity: the total of the cards that got moved out of the rightmost column (into an extra rightmost column called Done)

The first minute

The wip was 25 and the velocity was 11. This makes a total of 36 which is greater than the total we started with. This is because there is also an extra left-most column called Backlog which contains more numbered cards. Darrin was on the left Analysis column and after moving all three of his cards into Ted's middle Design column he pulled some more work into his column from the Backlog. Despite this Ted was starved of work for part of the minute.

The second minute

We reset the board back to it's initial position and decided to try and increase the velocity by smoothing the work. We split the high cards into multiple smaller cards. For example, the 8 was split into 3,3,2. Then we did another minute's worth of work. This time the wip was 18 and the velocity was 18. Once again this makes a total of 36 and once again Darrin pulled in more work from the Backlog after emptying his Analysis column. Because the work was less lumpy Ted wasn't starved and the velocity went up.

The third minute

We reset the board back to it's initial position from the second minute. This time we decided to try and lower the work-in-progress left over at the end. After all, if the project got canceled that wip would be waste. To do this we agreed not to introduce any new work from the backlog, and also that anyone's dice could contribute to the tally on anyone's column. Then we did another minute's worth of work. This time the wip was 9 and the velocity was 20.

Summary

Simply by smoothing the work and working together we increased velocity by a factor of ~2 (11 to 20) and reduced the wip by a factor of ~3 (25 to 9). Simple!

The way to weath

is an excellent book by Benjamin Franklin. As usual I'm going to quote from a few pages:
We are taxed twice as much by our idleness, three times as much by our pride, and four times as much by our folly.
A life of leisure and a life of laziness are two different things.
The eye of the master will do more work than both his hands.
Buy what you do not need and soon you will sell your necessities.
It is easier to suppress the first desire than to satisfy all that follow it.
Experience keeps an expensive school, but fools will learn in no other.
If you want to be wealthy, think of saving as well as of earning.
What maintains one vice would bring up two children.

How to win friends and influence people

is a great book by Dale Carnegie. As usual I'm going to quote from a few pages:
Any fool can criticise, condemn, and complain - and most fools do.
Action seems to follow feeling, but really action and feeling go together; and by regulating the action, which is under more direct control of the will, we can indirectly regulate the feeling, which is not. (quoting William James)
Good manners, said Emerson, are made up of petty sacrifices.
I made it a rule, said [Benjamin] Franklin, to forbear all direct contradiction of the sentiment of others, and all positive assertion of my own.
I judge people by their own principles, not by my own. (quoting Martin Luther King)
Any fool can try to defend his or her mistakes - and most fools do.
If there is any one secret of success, said Henry Ford, it lies in the ability to get the other person's point of view and see things from that person's angle as well as from your own.

Einstein on conventional schooling

At Jerry Weinberg's Problem Solving Leadership workshop one of the handouts contains this quote from Einstein which spoke to me:

I soon learned to scent out that which was able to lead to fundamentals and to turn aside everything else, from the multitude of things which clutter up the mind and divert it from the essential.

The hitch in this was, of course, the fact that one had to cram all this stuff into one's mind for the examinations, whether one liked it or not. This coercion had such a deterring effect upon me that, after I had passed the final examination, I found the consideration of any scientific problems distasteful to me for an entire year.

It is, in fact, nothing short of a miracle, that the modern methods of instruction have not yet entirely strangled the holy curiosity of inquiry; for this delicate little plant, aside from stimulation, stands mainly in need of freedom; without this it goes to wreck and ruin without fail. It is a very grave mistake to think that the enjoyment of seeing and searching can be promoted by means of coercion and a sense of duty. To the contrary, I believe that it would be possible to rob even a healthy beast of prey of its voraciousness, if it were possible, with the aid of a whip, to force the beast to devour continuously, even when not hungry.

The Book - On the taboo against knowing who you are

is a great book by Alan Watts. As usual I'm going to quote from a few pages.
Attention is narrowed perception.
We need a notation for almost anything that can be noticed.
The human individual is not built as a car is built.
Differentiation is not separation.
To say that certain events are causally connected is only a clumsy way of saying that they are features of the same event, like the head and tail of the cat.
In the Nootka language a church is "housing religiously," a shop is "housing tradingly," and a home is "housing homely."
It is symptomatic of our rusty-beer-can type of sanity that our culture produces very few magical objects.
We have scrubbed the earth clean of magic. We have lost even the vision of paradise, so that our artists and craftsmen can no longer discern its forms.
No work is well and finely done unless it, too, is a form of play.
The goal of action is always contemplation - knowing and being rather than seeking and becoming.
Idolatry is not the use of images, but confusing them with what the represent.