My friend, Janina, recently pondered who you are on the Internet.
Back in the old days, when you could actually write down the names of all the people on the Internet, people simply used their real names, in abbreviated form: ken, gls, dmr, rms, etc. After all, wasn’t the whole point of a world-wide telecommunications network to put people in touch with each other? And if everyone on the Internet was someone you knew or were going to know, it made sense to use real names. That way, you could be found.
Then, the Internet got a whole lot bigger and a whole lot stranger. People started using pseudonyms called handles or nicks, which provided some degree of anonymity. These became commonplace and became the norm. Especially when you consider that using your real name becomes impractical when there are hundreds of Davids or Muhammeds or Lees in the world.
As people joined the Internet, they still wanted to find each other. So social networks are all the rage now. LiveJournal, MySpace, and Facebook all exist so that you can find and track the people around you. With Facebook, you’re even forced to use your real name, to make it easier for people to connect. There is, however, a compromise to be made. Because you post information about yourself on-line, people you barely know can find out where you live, who you hang out with, and what you’re doing.
This is nothing new, though. We used to live this way, not so long ago, when most people lived in small, rural towns. After all, the neighbours talked! There would also be gossips who’d keep track of when you were coming or going, and with whom you went with. Nobody in their right mind would assume that they could keep bad behaviour under wraps, you always had to keep up your reputation. And when someone new moved into town, they were watched carefully until the rest of the townsfolk accepted them. This, of course, was a good thing.
This whole assumption that most people didn’t know about you came with the great migration to cities, kicked off by the industrial revolution. Now there were so many people flooding in that it was impossible to know everyone you met on the street. That brought a big social problem, because now you had to trust complete strangers. Imagine how stressful that must have been! No wonder the biggest problem in industrial London was the Gin Craze, a collective booze-up that lasted until a generation of people had figured out what city life was like.
Now we have to opposite problem: people having lived all their lives protected by anonymity having to come to terms with it being stripped away. If someone wants to find out about you, they can. Be it with Google or Facebook or Twitter, you have to accept that there are traces of you that anyone can see. And that’s got to be pretty stressful too.
So what can we do about it? Friends-locking posts and privacy settings come to mind, but at best these provide a false sense of security. Remember the controversy surrounding LJfind, when people’s friends-locked posts started showing up in public? And now, every few weeks, someone discovers that a Facebook application is leaking their data. But even if you’re really careful on websites, they are still software are written by programmers. As a programmer myself, I can assure you that we make mistakes, and those mistakes include a simple typo that resets your privacy settings. Oops!
If technology can’t help us, then what? The opposite approach is to be wary of the Internet. You can delete your Facebook account, avoid using GMail, and never use your real name on-line. Sadly, the network effect is working against you here, because other people aren’t doing the same. This year, quite a few people have joined Facebook because they weren’t getting invited to parties and stopped hearing from their friends! Social networks have brought social change, just because it’s so much easier to do the things you want to do, when you’re using Facebook.
OK, what if you just like to stay at home and invite friends over? Well, are you comfortable with party pictures appearing on Flickr? Or birthday wishes posted on Blogger? Well, you can ask your friends not to post anything about you on-line at all. But that doesn’t matter, because organisations are busy putting up their own records on-line. Like the Canadian Tax Court records, which include wonderful tidbits about income, marital status, and other information that’s become public record.
Going down this route is getting more and more unproductive. It seems like these days, if you want to stay truly anonymous, you have to build yourself a shack in the wilderness and isolate yourself from the world. But still, someone can impersonate you on-line with a fake profile, if you’re not watching out for that. So you still have to create your own profile from your wilderness retreat, just to keep the identity thieves at bay.
Remember those rural towns I wrote about? Well, they lived life in a way that we’re going to have to go back to. No longer can you assume that you can say whatever you want or do whatever you want and be lost in a crowd. You’re going to be aware of every camera pointed your way and every blog-post with your name in it. Basically, you can’t just assume your reputation, you have to manage it.
Your public image is going to be one of the most important bits of you in the future. Potential employers and potential friends are bound to do a little reference checking with Google. What if the police start using the Internet for investigations? Or schools for background checks? And your on-line presence is so very difficult to eliminate. People used to call it keeping up appearances
, nowadays we’d refer to it as personal branding.
Now I’m not saying that we all have to become full-time professional bloggers. But what you can do, nay should do, is maintain a profile on the Internet that reflects who you want to be seen as. Reserve an account for yourself on the big social networks, put up information that’s relevant and appropriate, and do periodic Google searches on yourself to make sure you’re not being misrepresented.
Maybe some day, in the future, we’ll all be more understanding about youthful indiscretions on-line. But for now, your first impression will be your Google ranking, so you’d best make the most of it.
The Akoha Away Team is flying home from San Francisco now. They did an amazing job at TechCrunch50, where they got on stage to present our amazing project. This great experiment is the best thing I’ve ever done in my life!
If you missed it, you can watch the talk on-line. Or you can read about us in CNET News, The Montreal Gazette, or The Washington Post.
Akoha is our take on paying it forward, the idea that you can make the world a better place by doing small acts of kindness, one little bit at a time. We play a game where you help your friends, family, and strangers every day. As you play, you get to see how your own actions affect the lives of others, as your generosity is played forward. It’s really cool to watch a mission you’ve played travel from place to place, city to city, passed along by a chain of like-minded Akohans.
It doesn’t just affect your own little circle of friends. We work with partners to effect change in big ways. Our first partner is Room to Read, who will help us build a library in Nepal when we reach our first goal of 25,000 acts of kindness. These guys build and stock libraries for schoolchildren in poor parts of the world, giving the gift of education so that kids can climb their way out of poverty.
In the short time that Akoha’s been played, I’ve already seen more smiles amongst my friends. It’s fun to play Akoha, to see people’s faces light up when you do something nice! And after a while, you start seeing more and more ways to help others.
If you bump into me on the street, ask me about Akoha. Or, go to our website at www.akoha.com and register for our beta list. We’re starting small, but we’ll send you a free Akoha Starter Kit as soon as we can.
I’m looking forward to playing it forward with all of you!
I have been thinking about art.![]()
It started when I moved into this neighbourhood. Plateau Mont-Royal used to be a haven for starving artists. The rents were low, you could walk to what you needed, and the streets were vibrant. Unfortunately, they made the neighbourhood so awesome that rich yuppies wanted to live there. Instead of creating art themselves, these young professionals do Real Work, and can therefore afford to pay the rent. Rents go up, artists move out, and the neighbourhood becomes dull and dreary.
This, my friends, is gentrification in a nutshell.
I pondered about what I could do to slow this down, and realised that my only choice was to become a patron of the arts. I've started commissioning things from people in the neighbourhood. I'm not ridiculously rich, but I manage to pay for a couple things, here and there.
This has brought me closer to artists. I've never been really artistic, I myself am a technical person. But Artists are not so much different than us Craftsmen. We both pursue Quality. We just go about it differently.
Artists make things for the sake of art. There's a creative process where you doodle or jam or play around until some pleasing pattern emerges. Then you chase that pattern, that thread, until you're taken to a place you want to be. You're pursuing beauty! And it may take you years and years before you churn out your first masterpiece, but when you do, you know it. It will be beautiful, with an emergent form and structure.
Craftsmen make things for the sake of function. When you design something, there are rules and forms that must be obeyed. You search for something that fits your needs within the constraints that you have. You build a prototype and then you tweak and twiddling. You shave off the unnecessary thunks, the gratuitious waste. And it may take you years and years before you know what needs to be there and what's superfluous. But when you've got the right design, you know it. It will be elegant, with an emergent grace and beauty.
So why is there all this terrible stuff surrounding us? If artists don't create it and craftsmen don't build it, why are we buried in mediocrity? It's because we've got to eat, and since people don't pay for high Quality things, we become manufacturers. People churn out dull landscape paintings of boats, or lousy software, or mindless pop music.
Mediocrity means that more people are willing to pay for it, because fewer people are offended by it. Even though it isn't as good.
Sad, isn't it?
Social calendars have only two states: empty or full.![]()
When you have tons of free time, trying to get together with other people is nigh impossible. You just don't get together with people often enough to get invited to things.
But if you have plenty of social activities, then people invite you to more. It's exponential growth!
I'm still amazed at how this works. The scale and speed at which networks operate is quite difficult to wrap one's head around.
In a previous entry, I asserted that trust is an effective tool when interacting with people. Not only is it important in the work-a-day world, but it's the force that binds friends and family. I'd be willing to wager that civilisation would fall were it not for trust. For my discussion to go any further, I sort of have to demonstrate this to you.
Human beings are social animals. What this means to ethologists is that we form complex social structures. Human beings group together for common causes, fight amongst each other, take care of each other, and are generally communicative. For any social structure not to devolve into chaos, there must be some belief in the ability to predict what someone else will do. To interact with these people, you need to be able to rely on their integrity and veracity. That is trust.
If you look at children, you'll see that every one of us was born to trust by default. We're really quite helpless when we're young: we've only got about a dozen reflexes that aren't particularly good at protecting us from danger. So the baby has no choice but to rely on its parents. As we get older, we learn to distrust people because some of them will take advantage of our naïvity. But I highly suspect that even the most cynical person still longs to trust fellow humans, although that is a generally unwise course of action.
However, there still needs to be trust between people; since it's the only foundation for how individuals form groups, which network to form societies. If you have the trust of other people, they will likely help you in life. Of course, you are expected to reciprocate. Since life isn't a zero-sum game, if you manage this correctly then all of you will gain more than you will lose.
Say you want to accomplish something difficult, like moving an upright piano up a staircase. If you find someone to help you move it, you're going to need some element of trust. Both of you have to communicate and trust that the other person isn't lying to you when you decide to pick up the piano. The person on the bottom has to trust that the person on top won't push the piano down the stairs, when they are halfway up. Why, you even have to trust that "moving a piano" isn't just a convenient excuse to have you trapped in a stairwell with your arms occupied. If we were all paranoid, nobody would be able to get pianos into upstairs rooms. Granted, this might make the neighbours downstairs happy, but it's no way to build a stable society.
So people are willing to put trust in other people. For some people, you might be willing to place unconditional trust. For others, it might be a calculated risk to trust them with something.
An example of a social group where trust is a fairly stable feature is the family. Whether it's a small, nuclear family or a large, extended community; humans have had the concept of kinship for a very long time. For example, in societies with strong familial systems, there's a strong element of trust: children trust their parents to take care of them, to protect them, and to guide them; parents trust that when they grow old, their children will look after them. In countries that are more independent, this still flows in one direction. And the family is a fairly stable structure, even considering how often they break down. Mostly, this stability can be attributed to the irrational love that bonds parents and children together. Only incredible stress can overcome the default trust relationship that exists.
However, once you start scaling, then trust gets exponentially more difficult. When you have a group of people like the Debian Project, we see a completely different magnitude of undertaking. For those of you who are unfamiliar, the Debian Project maintains Debian GNU/Linux, which is an operating system that consists entirely of Free Software. There are 1400 registered volunteers who all contribute to its care and development. Currently, they oversee the packaging of over fifteen-hundred distinct pieces of software, and solve hundred bugs per day. Inside Debian, volunteers have to co-ordinate with each other to get things done. Some people are more co-operative than others, some people are less willing to entertain suggestions than others. They have to trust each other enough to work together, and trust each other not to do something malicious to the group.
This is not an easy problem. And one that Debian has yet to solve effectively.
Corporations solve this by imposing hierarchies. They use position power, or rank, to demand that things get done in a certain way. People are placed above other people, in a place called management. The management has some rather primitive tools to encourage or discourage behaviour from their subordinates. Simple rewards, like a promotion; and simple punishments, like a demotion. Not that this actually removes trust from the equation of the corporate social environment. People still have to trust that they're not lying to each other. They still have to trust that they won't sabotage each other's work. Of course, in a large enough group of people, in a competitive business environment, there will be people who will lie, backstab, and steal for their own personal gain. Some corporations, in an attempt to reduce this effect, enact policies against anti-social behaviour that include punishments like firing. I've noticed that these policies seem to encourage everyone to be more paranoid, leading to less real work getting done as people scurry around trying to prevent themselves from taking the blame or getting fired. I once worked at a place like this and was one of the few productive people in a maelstrom of "cover-my-ass".
This is also not an easy problem. Interestingly enough, management science literature doesn't talk very much about trust, except tangentally in case-studies. It appears, however, that reducing your reliance on trust doesn't get you anywhere quickly. Your group just breaks down that much faster, instead of slower. So the only choice appears to be nurturing trust.
This is an incredibly difficult problem. Which I shall have to discuss in another entry.
Avery seems to have started a little dialogue with me on his weblog, with a series of essays. I'm going to continue writing on this topic because it is (a) interesting and (b) something I like thinking about.
Avery's thoughts have meandered down the path of power, which is great because that's where I wanted to walk down as well. As a Free Software developer, I'm quite aware that the lack of concentration of power is a big problem with Free Software projects. So I ask myself, what is power and how is it concentrated?
Looking at the general business literature, you can classify organisational power into two branches: position power and personal power. The literature distinguishes between individual power and group power, but I'm unconvinced that this is a useful divide, since you can treat a group as being a person suffering from multiple-personality disorder. I'm even going to posit that any group that doesn't act like a reasonable person is ineffectual and has barely any power at all.
Position power is very 陽: it is the power that comes from external sources; power that comes from an office. Examples of this type of power are: authority due to rank and position, the ability to award rewards, the capacity to administer punishments, and the possession of privileged information.
Personal power is quite 陰: it is power that comes from within; an inherent power. Examples are: the ability to persuade people, the possession of superior domain knowledge or judgement, respect and reputation, as well as sheer charisma.
I think most organisations suffer because the mean balance of position and personal power is incorrect. Typically, there will be a bias towards one type of power to the detriment of the other. For instance, in the United States military, position power is very important and permeates the entire structure. Orders are to be followed because a higher ranking officer has issued them. In the Debian project, people must be painfully persuaded that a particular action is correct, and days are wasted arguing points and premises.
These two extremes are quite detrimental because they are merely projections of true power, and not the real thing. To be more concrete: position power without personal power is transitory. Eventually, people are sick of unjustified requests and seemingly random demands. Personal power without position power is ineffectual. Decisions are eventually reached, but may no longer be relevant.
What to do? What to do? Luckily, we are thinking of these two powers in 陰陽 duality. Instead of being conflicting opposites, you can see that no one power can truly exist without the other, because they are shadows of true power. What is a good way of having both?
You use trust! Trust allows you to mix personal power and position power, by using the former to justify the latter. People willingly co-operate with the authority because it is merited and legitimate. Since trust is fleeting and fragile, efforts must be made to assure people that their trust is warranted. You can do this by exposing privileged information and persuading people that decisions were correct, by allowing them to verify the reasoning themselves. Rewards should be given in a way that people agree upon, and punishments effected by the entire group. By encouraging collective confirmation of concentrated power, organisations can harness true power to become more effective.
In Avery's terminology, using true power amortises (but sadly doesn't eliminate) the effect of Quantization on Exclusivity. That is to say that people become more willing to suppress their own personal good for a collective good that is also in their interests. Understandably, this is far more difficult in North American society where individualism is highly prized. In cultures that are strongly collectivist, studies have shown that people are far more willing to come together under a leader towards a common goal.
However, trust is hard work to earn and hard work to maintain. Like a house of cards, it takes tremendous effort to build but a misplaced word can knock it down. That is why people who have been entrusted with power need to continually prove that this trust is deserved. Mistakes made should be quickly acknowledged and corrected, in order to prevent a grave loss of morale.
An important point to bring up here is to draw in here from Avery's discussion is membership control and its effects on groups. The standard way to control membership in a group is to select who can join and who must leave. I'm all for discriminating for traits that are beneficial to the common goal. Allowing anyone and everyone to join leads to an overwhelming mediocrity. But we must beware of naïvely following this rule: "if someone agrees with what you're doing, you hire them. If they disagree, you fire them." You need to examine how this person behaves in the context of the common goal; not just personal interaction. If someone agrees with your goal, but disagrees with you personally, you should strongly consider hiring that person. This individual could give you valuable insight that you might never come up with. If someone disagrees with your goal, but constantly agrees with you, this person is a sociopath and you should fire them. Then get a restraining order.
This doesn't just apply to people in positions of trust trying to manage a group. It's also good advice reciprocally. If you've placed someone in a position of trust, but the circumstances have changed such that this trust is no longer well placed, it is only wise to stop letting this person make decisions. This is especially important in fields that are fast-moving, because for the group to succeed, you can only make so many choices based on false premises before you're doomed to failure. Likewise, if the group recognises someone is especially trustworthy, then give them enough power so that their good decisions can have a positive effect. It is in this way that you keep the leadership of your group effective, because the leaders have motivation to stay relevant and confirm their legitimacy.
By definition, a group that follows this will have effective leaders and a strong centralised power structure. And this allows the singly responsible leader to exert control, because it is demonstrably warranted. Not only is it in the rational best-interest for everyone to follow these decisions, but also the emotional best-interest. This is a very important consideration, because humans are highly irrational beings.
I will have to write further meditations on trust: its effects, advantages and disadvantages.
Avery has been writing about group dynamics, which is a subject that I've put some thought into. I've always been interested in how to get people to do things that are good for them: whether it's getting kids to eat broccoli, or getting friends to invest in RRSPs.
After a while, I sort of gave up on direct coercion; that almost never works well in the end. What you basically have to do is get people to think of these things for themselves, and then they will be happy to do them.
How does this factor into Avery's dilemma of organisational messiness? Let's examine his argument, as challenged:
He's correct in asserting that one person can only do a certain amount of work. That's why groups of people can accomplish tasks no single person could ever manage in a lifetime. There are plenty of examples where co-operation has led to Great Works.
I have to agree with tying responsibility to power. Responsibilty for something you have no control over is just a way of shifting blame. And I'll even give Avery the premise that only one person should be responsible for any one thing, because otherwise the communications overhead will result in some responsibilities being unfulfilled.
But the conclusions he begins to draw are a little weird. These are not if-and-only-if statements.
If we work together to solve large problems (Limited Energy), and only one person can be responsible for a particular outcome (Exclusivity), and the person responsible for an outcome has to have power to control that outcome (Balance), then a logical conclusion is this: for any large problem, a single person must have final responsibility to tell other people on the project what to do, and the power to enforce his decision.
That's quite a leap to get to. A far more reasonable conclusion is: a single person must have the power to determine what contributed work is used, and what work is thrown away. And Avery realises this, because nobody really has true power to tell someone what to do.
This messes up our nice, clean system. Quantization says you can't give someone power over someone else's actions. Balance says you can't give someone responsibility for someone else's actions if you can't give them the power too. Exclusivity says, in that case, that your manager has no power at all. The reason we wanted him to have power was because Limited Energy says he can't do it all himself, and Exclusivity says only a single person must be held responsible for the overall result.
So how do successful managers convince people to assemble large projects? Because it is possible, and often desirable, to acquiesce to someone with a bigger picture. But a hierarchy that subjugates people causes them to malfunction, because they will rebel. And co-operatives often lead to in-fighting because people believe nobody should be permanently in charge.
Which is why I'm enamoured in so-called communities of interest. Where people with similar goals get together to co-operate towards a common outcome. It seems on the surface to be a dysfunctional co-operative, where people argue about things endlessly. People join and people quit, and there's rarely any overall stability. If you look a little deeper, you'll notice that there is typically a stable core of people making decisions. Not just technical decisions, but also social decisions. Oft-times they are difficult and unpleasant ones. And these decisions are respected! So underneath, it looks like a hierarchy. Why do they work this way? Because this core group has proven itself to make good decisions before. If they didn't, people would just stop listening to them.
If you look at business books that tell you how to be a successful manager, you'll notice plenty of "case studies" or anecdotes about how the best managers stay out of the way of their charges. Moreover, they talk about how they try very hard to remove obsticles to work, so that the team can get around to doing the things it should be doing, instead of being distracted all the time. Often, the team delegates unpleasant decisions or tasks to this manager that the manager is good at doing, or doesn't hate doing. Which basically sounds a lot like what communities of interest do spontaneously.
So the pattern I see is that real power is always handed from bottom-up, although most organisations try to wield arbitrary power from top-down. Leading to the inevitable clash between "lowly employees" and "upper management." Because "upper management" has lost, or never had, 天命. Typically, these things turn nasty. Because the true power is always in the employees' hands, and the only thing upper management can do is throw away this power through firings. This is not completely wise, because it hurts both the employee and the organization; if it didn't, unions would be mostly powerless.
Now, I have to be careful here, because I don't want to be arguing for the tyranny of the majority. It is very easy for people who don't have global information to make very good local optimisations that just suck for a large organisation. You see this in large companies where "the left hand doesn't know what the right hand is doing." So what is the correct thing to do?
I'm not really sure, but at minimum, it is obvious that all levels of management must be built on top of a stable foundation of trust. The people being managed need to be able to trust that more global decisions are being made to further the collective goal. If this trust is created and is maintained, it is possible to magically raise the amount of energy a person can direct, because it is seen as a useful end. This is why charismatic leaders are so effective at organising huge movements: they convince people that their goal is laudable and people work towards it because they trust their leader's direction.
Last night, I left work and headed for the gym. I hadn't been there in a long while and was noticing that I was starting to lose the scant muscle tone I had gained. I walked through the muggy streets and let myself in to the Y.M.C.A. at Peel. I showed my membership to the woman at the front desk and as she handed me some clean towels, she warned me that the hot water had gone out. I thanked her and headed inside.
After my workout, I was tired but feeling high on endrophins. I climbed up to the third floor to return my heart-rate monitor in exchange for my membership card. The guy at the desk looked new and inexperienced. This is because he seemed very rattled whenever I talked to him. Oh yes, and I had to tell him where the monitors were kept. This started me thinking about Zen and the Art of Motorcycle Maintenance (ZAMM).
I read ZAMM a couple months ago and it had kicked some thoughts into my mind. But then I stopped reading it and forgot most of what Robert Pirsig had wrote. Which is fine, because I thought he was sort of insane. For one thing, he was really obsessed with Quality (note the capital Q) and I think obsessions like that are rather unhealthy. Not only that, I decided as I walked down to the changing room, I think he was wrong.
But it doesn't really matter—his book got me thinking about quality in general. Or rather, why some things were very good, and most things were very bad. I opened up my locker, wrapped a towel around myself and went into the shower. The water started out freezing, and I started even though I was warned in advance. I turned it up as hot as it would go and it warmed up a bit as I let it run. Maybe the boiler was fixed and was starting with a cold tank? I scrubbed my skin red and thought more about "quality" as a term. It's a property of reality, you see. Not reality itself, but a consequence of reality. Much like "dimension", you can things that are high and things that are low.
I finished with the shower and shut off the water. I wondered if the steam room would still work if the hot water boiler was broken. I turned on the light, walked in, and was confronted by a wall of moist heat. I sat down on the hot tile bench and realised that my breath was colder than the air. It's strange how I've been running the air-conditioner over the past couple of days, but now I decide to sit in a hot, humid room. I figure it's because experience is subjective. For instance, I remember my first taste of coffee. It was black, bitter and acrid. But now that I've trained myself in what good coffee tastes like, I've learned to appreciate its unique aroma and flavour.I tried another flavour of heat by going into the dry sauna. The sweat that dripped off me in the steam room evaporated quickly. It was very hot in there: breathing out through my nose causes hot air to burn my upper lip. I don't appreciate the dry sauna quite as much, because I don't know how to relax in it. It's sort of like learning a new programming language: earlier in the day, Adam said that after learning one computer language, the others come easily. Well, yes and no. For imperative languages, it's very easy to pick up the syntax of a new language. Within a couple of days, you can churn out working programs in the new language and you can be quite happy. However, it takes years before you actually understand the idiom of the language. Until then, you're just programming in the old language with different keywords. I don't stay in the dry sauna very long as it made me quite thirsty. Maybe one day, I'll appreciate it properly.
I hopped back into the shower and this time it felt refreshingly cool. That's subjective quality! I rinsed off, changed, and stepped into the night. It was drizzling lightly; the raindrops were warmer than my shower. Instead of ducking into the metro, I walked east. As I walked down de Maisonneuve, I thought about the code I've had to change recently. I've seen really low quality code. Why would someone write stuff that's that bad?As I walked, the rain came down a little harder. Soon it was a gentle summer rain, which was a nice change from the hard downpour that morning. Then it came down a little harder. I looked at my watch to see what time it was, but it's been obscured by the raindrops. A taxi driver stuck his head out his window and asked if I want a ride—I declined. I was happy to be walking in the rain. Far happier than all the miserable people huddled under their umbrellas. I got to my destination, the grocery store, bought an few things and paid for them. Just as I stepped out, the rain stopped. Moments after that, the bus arrived. Nice timing! This was really making my night. It was about that time when I started to think about how my mood affects the quality of my programming.
It has come to my attention that when I'm happy and awake, I program better. I make fewer mistakes, produce better designs, and think up better models for the problem space. Sometimes, I'm enjoying programming so much that I stay at work until the sun rises. This is perhaps because programming is a craft, much like hand carpentry. You have to take a look at the grain of the wood, figure out how to best support the loads, cut the wood, sand it down, and join it. You can make a wobbly stool, or a finely built throne. It appears that the same applies to programming: high quality programming needs care and attention to beauty. I think these are necessary, but not sufficient, properties. I see haphazard coding often in real-life; many people that I interview do this when presented with a programming problem. So I imagine that it happens as often when people write code on their own. This disturbs me greatly.And when I'm upset, I suspect that the same thing happens to me too. I just start writing stuff until it works, then I commit the code. This can't be good for maintenance and it certainly isn't good for my ego. I wonder what I can do to increase the quality of my work when I don't feel like doing it? Can any of this be applied to motivating others to write higher quality code? I shall have to ponder this.



