free html hit counter
Posted on: Sunday, June 26, 2011 by Rajiv Popat

Your Detail Orientated Mode.

He is detail oriented. He takes care of every single little detail while writing his code. He sees slightest of deviations between the design and the implementation. He is the kick ass alpha geek in the team.

Attention to detail is a major  plus in his professional life and that is a GOOD thing, till the time he starts leading a team as a technical manager.

Then before you know it, he is knit picking on how many days people in his team should be taking time off. Why do you need eight days for a vacation?

He is estimating how many man hours an engineer should take to get a task done because he himself could have done it in a day.

The same attention to detail that makes you an amazing engineer usually ends up making you an amazing asshole when you start managing people.

There are two lessons to learn from this. 1) Before you promote someone and give him a team to work with, measure their ability to detach themselves from the level of detail that they should not be bothered about. 2) When you are working as a technical manager most of the time your ability to trust others, empathize with their problems, helping them out when they are stuck and your ability to provide intrinsic motivation which makes people want to excel and do the right thing is much more important than your attention to every single insignificant piece of information floating around in your universe.

I'm not saying switching attention to detail is essentially always a bad thing. When you are a geek attention to detail comes naturally to you. But when you are managing teams sometimes "actively forgetting" that an Engineer said he was going to check in his code today but ended up taking one extra day to do an awesome job, is also equally important.

Just saying.

posted on Sunday, June 26, 2011 9:41:57 PM UTC by Rajiv Popat  #    Comments [1]
Posted on: Sunday, June 19, 2011 by Rajiv Popat

Installing Good Habits Into Your Brain.

As programmers we spend countless hours getting thrilled by tweaking small things which have huge impact on the applications we build. You want to run the same application, with the same hardware and load, 10x faster? Put a kick ass programmer on the problem and give him all the time in the world. Chances are that he will come up with better code that takes lesser memory, lesser processing cycles and runs blazing fast. And he would have done it by tweaking small things here and there. Tweaking things to make them better is fine grained in our brain as a programmers. We cannot resist the temptation of tweaking things when we know that they are going to have a huge impact on the overall product.

Practitioners of positive psychology do just  the same kind of tweaking but with your brain which is why I find books on positive psychology hugely fascinating. Shawn Achor in his book the Happiness Advantage talks about understanding the tweaking the human mind to cultivate new good habits and to turn your resolutions of changes into success stories rather than stories of failures with a tragic end.

Shawn's premise is two fold. 1) That we are creatures of habit and habits are how our brains are wired to work. 2) we have limited amount of will power in our brain. He explains the first premise that we as human beings are bundles of habit:

In my mind, though, the greatest contribution William James made to the field of psychology is one that was a full century ahead of his time. Humans, James said, are biologically prone to habit, and it is because we are “mere bundles of habits” that we are able to automatically perform many of our daily tasks—from brushing our teeth first thing in the morning to setting the alarm before climbing into bed at night. It is precisely because habits are so automatic that we rarely stop and think about the enormous role they play in shaping our behavior, and in fact our lives.

After all, if we had to make a conscious choice about every little thing we did all day, we would likely be overwhelmed by breakfast. Take this morning as an example: I am guessing that you didn't wake up, walk into the bathroom, look quizzically into the mirror, and think to yourself, "Should I put on clothes today?" You didn’t have to debate the pros and cons.

You didn’t have to call on your reserves of will power. You just did it the same way you probably combed your hair, gulped your coffee, locked your front door, and so on. And, excepting the exhibitionists in the reading public, you did not have to remind yourself all day to keep these clothes on. It was not a struggle. It didn't deplete your reserves of energy or brainpower. It was second nature, automatic, a habit.

None of this seems particularly groundbreaking to us today. But what William James concluded was indeed crucial to our understanding of behavioral change. Given our natural tendency to act out of habit, James surmised, couldn’t the key to sustaining positive change be to turn each desired action into a habit, so that it would come automatically, without much effort, thought, or choice? As the Father of Modern Psychology so shrewdly advised, if we want to create lasting change, we should “make our nervous system our ally instead of our enemy.” Habits are like financial capital forming one today is an investment that will automatically give out returns for years to come.

Shawn also goes on to explains how our brain uses our practice and habits to form neural pathways which ultimately make us really good at an activity:

This is also how we become skilled at an activity with practice. For instance, the first time you try to juggle, the neural pathways involved are unused, and so the message travels slowly. The more time you spend juggling, the more these pathways get reinforced, so that on the eighth day of practice, the electrical currents are firing at a much more rapid pace. This is when you’ll notice that juggling comes easier, requires less concentration, and that you can do it faster. Eventually, you can be listening to music, chewing gum, and having a conversation with someone else, all while those three oranges are flying through the air. Juggling has become automatic, a habit, cemented in your brain by a solid new network of neural pathways.

Armed with this new knowledge Shawn sets out to form a new habit of playing Guitar every day and encounters a humongous failure.

I decided to take up the guitar once again, since I already owned one and knew that I enjoyed playing it. Because common wisdom has long proposed that it takes 21 days to make a habit, I decided to make a spreadsheet with 21 columns, tape it to my wall, and check off each day I played. By the end of the three weeks, I felt confident that (a) I would have a grid full of 21 check marks, (b) daily guitar playing would have become an automatic, established part of my life, (c) my playing would improve, and (d) I would be happier for it.

Three weeks later, I pulled the grid down in disgust. Staring up at four check marks followed by a whole lot of empty boxes was more discouragement and embarrassment than I needed. I had failed my own experiment, and worse, I was no closer to telling potential dates that I was a musician. Worse still, I was shocked, depressed even, at how quick I had been to give up. A positive psychologist should be better at following his own advice!  (Of course, the feelings of failure only deepen when you realize you’re now a depressed positive psychologist.) The guitar was sitting in the closet, a mere 20 seconds away, but I couldn't make myself take it out and play it. What had gone wrong? It turns out that the telling words here are make myself . Without realizing it, I had been fighting the wrong battle one I was bound to lose unless I changed my strategy.

This failure of course leads Shawn to a second realization that we as human beings have limited will power with us.

The point is that whether it’s a strict diet, a New Year ’s resolution, or an attempt at daily guitar practice, the reason so many of us have trouble sustaining change is because we try to rely on willpower. We think we can go from 0 to 60 in an instant,  changing or overturning ingrained life habits through the sheer force of will.

In one of many studies on the subject of willpower, Baumeister and his colleagues invited college students into their lab, instructing them not to eat anything for at least three hours prior to the experiment. Then he split them into three groups.

Group 1 was given a plate of chocolate chip cookies, which they were told not to eat, as well as a healthy plate of radishes which they were welcome to eat to their heart’s content. Group 2 was presented with the same two plates of cookies and radishes, but they were told they could eat off whichever plate they liked. Group 3 was given no food at all. After enduring these situations for a significant length of time, the three groups were then given a set of “simple” geometric puzzles to solve.

Note the quotes around simple. In truth, this was another one of psychology’s favorite tools: the unsolvable puzzle. As I learned the hard way through my Help the Elderly experience, psychology researchers love using impossible games to see how long participants will persevere at a task.

In this case, individuals in Groups 2 and 3 long outlasted those in Group 1, who quickly threw up their hands in defeat. Why? Because the students who had to use every ounce of their willpower to avoid eating the enticing chocolate chip cookies didn't have the willpower or mental energy left to struggle with a complex puzzle—even though avoiding cookies and persisting on a puzzle are seemingly completely unrelated.

The point of these experiments was to show that no matter how unrelated the tasks were, they all seemed to be tapping the same fuel source. As the researchers wrote, “many widely different forms of self-control draw on a common resource, or self-control strength, which is quite limited and hence can be depleted readily.” Put another way, our willpower weakens the more we use it.

Armed with this new knowledge of how we are creatures of habits and  how our will power weakens with time Shawn now decides to reduce the activation energy it takes to start something and experiments with his own mind to see how it reacts:

I thought back to that initial experiment. I had kept my guitar tucked away in the closet, out of sight and out of reach. It wasn’t far out of the way, of course (my apartment isn’t that big), but just those 20 seconds of extra effort it took to walk to the closet and pull out the guitar had proved to be a major deterrent. I had tried to overcome this barrier with willpower, but after only four days, my reserves were completely dried up. If I couldn’t use self-control to ingrain the habit, at least not for an extended period, I now wondered: What i f I could eliminate the amount of activation energy it took to get started?

Clearly, it was time for another experiment. I took the guitar out of the closet, bought a $2 guitar stand, and set it up in the middle of my living room. Nothing had changed except that now instead of being 20 seconds away, the guitar was in immediate reach. Three weeks later, I looked up at a habit grid with 21 proud check marks.

This is a profound discovery for anyone who has ever made a new years resolution and broken it in days. Anyone who has been on a diet regiment or anyone who has ever promised himself that he was going to get more effective starting next week but the next week never came.

The book has pages full of interesting advice on how you can reduce choices that bog you down and how you can make preemptive decisions way  in advance by changing defaults.

Planning on learning how to play an instrument? Just reduce the activation energy by having the instrument handy.

Planning on going to the gym every morning? Sleep in your gym clothes to reduce the activation energy of heading out the next morning.

Planning on quitting television? Take the guitar experiment described above. Flip it by taking the remote batteries out and keeping them in a closet twenty seconds away.

Planning on being more productive at work? Close your mail client and hide it's shortcut inside 4 levels of folders such that it takes you multiple clients to activate it.

The basic premise that Shawn works with is that we are creatures of habits with limited will power. So if you are trying to form a habit don't just rely on your will power. Use your brains creatively to reduce the activation energy to do something and once you do it for sometime it will automatically become a habit forming new neural pathways in your brain that will not even require any will power to keep doing it. So if you're often faced with a blank wall on how to start your day, why not just put the visual studio shortcut on your startup list and have your computer boot to open a project you should be starting your day with?

Once you have done that why not making starting anything else that much more difficult.

Do it long enough and then distractions like Facebook and Twitter would suddenly stop being distractions. They will eventually become tools of forming connections that you use wisely during limiting times and not addictively.

The experiments and the insights that Shawn provided in this book are huge. The real question you need to answer is, how are you going to use these insights in your life to become a better programmer and a better human being.

Go tweak your life and program yourself to pick up some good habits. I wish you good luck.

posted on Sunday, June 19, 2011 7:53:53 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, June 12, 2011 by Rajiv Popat

Intriguing Research On Learned Helplessness.

(And Why Most Programmers Don't Start Something New)

If you've landed with a safe job the excuses for not blogging or not starting a side project are numerous.

No one is going to read what I write so why blog? No one cares about what I build so why build? I don't get enough opportunities in my organization so I am out of shape. And the best of them all, I am just too busy to start anything.

The real answer as to why you don't start initiatives outside of your work life however, may be hidden in the experiment on dogs that Martin Seligman, now the father of positive psychology observed in his years as a graduate student. Shawn Achor talks about this experiment in a rather intriguing fashion in his book The Happiness Advantage. He explains:

To understand the psychology of failure and success in the modern business world, we need to step back briefly to the tail end of the Age of Aquarius. In the 1960s, Martin Seligman was not yet the founding father of positive psychology. He was only a lowly graduate student, studying the opposite of happiness in his university's laboratory.

Older researchers in Seligman's lab were doing some experiments with dogs, pairing noises, like a bell, with small shocks to see how the dogs would eventually react to the bell alone. Then after this conditioning was complete, the researchers would put each dog in a “shuttlebox,” a large box with two compartments, separated by a low wall. In one compartment, the dogs would get shocked, but on the other side they would be safe from shocks, and it was easy to jump over the wall.

The researchers predicted that once the dogs heard the bell, they would immediately jump into the safe half of the box so they could avoid the shock they knew would follow.

But that's not at all what happened. As Seligman now tells the story, he remembers walking into the lab one day and overhearing the older researchers complaining. "It' s the dogs," they lamented. "The dogs won't do anything. Something’ s wrong with them."

Before the experiment started, the dogs had been able to jump over the barriers just fine, but this time they were just lying there. While the researchers contemplated what seemed to be a failed experiment, Seligman realized the value of what they had just stumbled upon: They had accidentally taught the dogs to be helpless.

Earlier, the dogs had learned that once the bell rang, a shock was sure to follow, no matter what. So, now, in this new situation, they didn't try jumping to the safe half of the box because they believed there was nothing they could do to avoid the shock. Just like the workers at the Johannesburg construction company, they essentially figured, "why bother?"

A follow up experiment by Seligman talks about how this idea of learned helpless translates to offices and work environment of today. Shawn explains:

The fact is that in our modern, often overstressed business world, cubicles are the new shuttleboxes, and workers the new dogs. In fact, one study shows just how closely we humans resemble our canine counterparts.

Researchers took two groups of people into a room, turned on a loud noise, and then told them to figure out how to turn it off by pressing buttons on a panel. The first group tried every combination of buttons, but nothing worked to stop the noise. (Another example of devious psychologists at work!)

The second group, acting as a control, was given a panel of buttons that did successfully turn off the noise. Then both groups were given the same second task: They were put in a new room, the equivalent of a shuttlebox, and were once again treated to an obnoxious noise.

This time, both groups could easily stop the noise by simply moving a hand from one side to the other, just like the dogs could easily move to the other side of the box. The control group quickly figured this out and stopped the blare.

But the group that had first been exposed to a noise they couldn't stop now just let their hands lay there , not even bothering to move them or try to make the noise stop.

As one of the researchers said, "It was as if they’d learned they were helpless to turn off noise, so they didn't even try, even though everything else the time and place, all that had changed. They carried that noise-helplessness right through to the new experiment."

These experiments educate us that each one of us is vulnerable to learned helplessness. Understanding it, is the first step to avoiding it, both in your personal and professional life. 

So the next time you think of working on changing the culture within your organization, or starting a blog or taking up a side project during the weekend, or starting that product that you always wanted to start and there is a voice in your head which starts talking about those excuses or telling you how helpless, non-talented, busy or tied up you are, remember the helpless dogs.

Maybe (and I am just saying maybe) the real reason why you are not starting is that deep down inside you probably know that you're going to fail. The voice full of doubt is just your way of telling yourself, "why bother?".

Are you really prepared to fail early fail often or are you just letting your learned helplessness get the best of you? Just a little something to think about.

posted on Sunday, June 12, 2011 8:10:59 PM UTC by Rajiv Popat  #    Comments [3]
Posted on: Sunday, June 5, 2011 by Rajiv Popat

Lessons To Learn From Gates And Jobs Sharing A Stage.

PC and Mac arguments have existed since the beginning of the software development world. Zealots have spent countless decades arguing about who will rule the world, the PC or the Mac. Jokes about Windows and Mac have also existed for a long time. Videos of both Windows crashes and Mac crashes have been out there for years.

With a strong community of Zealots on both ends of the spectrum you're often left to wonder what the relationship between Bill Gates and Steve Jobs would be like. Arch enemies wanting to get each others organization destroyed like you see in movies? Not really.

In a series of videos on youtube (links provided at the end of the post) you see both Bill Gates and Steve Jobs on the same stage sharing an interview. The amazing thing about the videos is that they provide a deep insight the pragmatism that both these leaders of two rival organizations share.

The even more amazing thing about the videos is that you can see a strong unspoken respect for each other that both these individuals share. For example when asked to talk on one thing in Bill Gates that Steve Jobs admires Steve has this to say:

Bill built the first software company in the industry. I think he built a software company before anybody in our industry knew what a software company was, except for these guys and that was huge. That was really huge. And the business model they ended up pursuing turned out to be the one that worked really well for the industry.

Building a company is really hard and it requires your greatest persuasive abilities to hire the best people you can and keep them at your company and keep them working doing the best work of their lives and Bill's been able to stay with it for all these years.

Gates on the other hand has deep rooted respect for the contributions Steve Jobs has made to the industry. He explains:

Steve gave a speech once which is one of my favorites where he talked about, in a certain sense we build the products that we want to use ourselves so he is really pursued that with incredible taste and elegance that has had a huge impact on the industry and his ability to always come around and figure out where that next bet should be has been phenomenal. You know, Apple literally was failing when Steve went back and re-infused the innovation and the risk taking that have been phenomenal. So the industry has benefitted immensely from his work. We've both been lucky to be a part of it but I'd say he has contributed as much as anyone.

If you listen closely enough the interview is full of pragmatic moves these leaders and their organizations have taken in spite of their age old rivalry.

For example Jobs tells the story of how Apple seeks help from Microsoft in their early days.

Jobs interrupts Bill Gates in a fit of excitement and the words, "Let me tell this story!" and goes on to tell it in his classic story teller style:

Waz, my partner, the guy I started out with Steve Wozniak, brilliant brilliant guy. He writes this basic that is like the best basic on the planet. It does stuff that no other basic has ever done. You don't have to run it to find your error messages, it finds it for you when you type in stuff. It's perfect in every way. Except for one thing which is that it is just fixed point. It is not floating point. And so we're getting a lot of  input that people want this basic to be floating point and we're begging Waz, Please Please make this floating point and he never does it. And so Microsoft had this very popular floating point basic that we ended up going to them and saying "help".

To which Bill Gates adds:

It was thirty one thousand dollars for the floating point basic and I flew out to Apple; I spent two days there getting the cassettes. The Cassette tapes were the main way people stored things in those days. That was fun but I think the most fun is later when we worked together. The team that was assembled to do the Macintosh was a very committed team and there was an equivalent team on our side that got totally focused on this activity. And we really bet our future on the Macintosh being successful and then hopefully graphic interface in general being successful. First and foremost the thing that would popularize that would be the Macintosh. And we were working together and the schedules were uncertain, the quality was uncertain. And so we had made this bet that the paradigm shift would be graphics interface and particularly the Macintosh would make that happen.

The video shows how objectively and closely the two companies and their leaders worked to shape the industry and make it what it is today. When asked about what both would like to learn from each others Bill Gates is quick to respond and say "I'd give a lot to have Steve's taste". What Bill Gates is referring to is this video of a young Steve Jobs floating on YouTube where Jobs is seen ranting recklessly on Microsoft and why they have no taste in his early adamant days. The audience roars into a laughter at Bills Gates joke on Steve Jobs to which Gates adds:

(I'd give a lot to have Steve's taste) No, this is not a joke at all.... I think in terms of intuitive taste of both people and products. I mean we sat on Mac product reviews where there were questions about software choices, how things would be done that I viewed as an engineering question and that's just how my mind works and I would see Steve make the decision based on his sense of people and product that is even hard for me to explain. The way he does things is just different. And you know, I think it is magical.

The videos are an inspirational insight into a rich rivalry which is not just about brutal fights but also about helping each other in the times of trouble and making the most pragmatic decisions beneficial for the industry.

Steve Jobs for example tells his story of seeking help from Microsoft during his comeback where he  also talks about how descriptive and stupid the whole Apple is superior in everything or the whole Apple Vs Microsoft mindset is:

You know, Apple was in very serious trouble and what was really clear was that if the game was a zero some game where for Apple to win Microsoft had to loose then Apple was going to loose.

A lot of people's head were in that place at Apple and even in the customer base because Apple had invented a lot of this stuff and Microsoft was being successful and Apple wasn't and there was jealousy and there were just a lot of reasons for it that don't matter.

But the net result of it was that there were too many people at Apple and the Apple ecosystem playing the game of 'For Apple to win Microsoft has to loose' and it was clear that you didn't have to play that game. Because Apple wasn't going to be Microsoft. Apple didn't have to beat Microsoft. Apple had to remember who Apple was, because it had forgotten who Apple was. And so for me it was pretty essential to break that paradigm. And it was also important that Microsoft was the biggest software developer outside of Apple developing for the Mac.

So it was just crazy, what was happening in that time and apple was very weak and so I called Bill (Gates) up and we tried to patch things up.

The relationship between the Mac development team at Microsoft and Apple is a great relationship. It's one of our best developer relationships.

Then there are excellent displays of pragmatism on both sides. For example, Microsoft ordering Mac processors for their XBox 360 and Steve Jobs being realistic about the Apple market share. He explains:

We don't have a belief that the Mac is going to take 80% of the PC market. We become really happy when our market share goes up a point. And we love that. We work real hard at it.

By the time the interview ends both these Stalwarts come out sounding as not just rivals with deep respect for each others but friends who have fought just as many battles together as they have fought with each other.

The video is a good watch not just once but every time you find yourself bitching about either Windows or Macintosh. The videos act as a gentle reminder that real people who do real work and solve hard problems have equal level of respect for other people who do the same irrespective of the path they take.

On the other hand, those who do nothing, bitch or become Zealots and stupid fan boys who fail to see the downsides of the company or person they follow and continuously bitch about the other side.

So go out there, pick a platform you love working on. I don't care if you pick a Windows or a Mac. Just stop bitching about how bad the other side is, stop comparing the two and get down to doing some real work. Jokes or random criticism about the other platform are just not as funny as they used to be once. Besides, we are getting bored of these anyways. I am just saying.

And just in case you want to see the videos back to back here are the links:

Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 | Part 7 | Part 8 | Part 9 | Part 10 | Part 11.

posted on Sunday, June 5, 2011 6:16:30 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Saturday, May 21, 2011 by Rajiv Popat

An Incredible Game With Many Incredible Lessons

Elite's documentary on YouTube (part 1 and part 2) is an inspirational look into the history of the video game industry and the history of one game that changed the world. Well, at-least the world of video games. Elite was a spark that set the world of video games on fire and sent it on a mind blowing accelerated evolutionary trip. 


If you ever played Pac-Man you were pretty much aware of what to expect from all other video games in the early eighties.

Every video game had the basic set of expectations. David Braben, the co-creator of Elite explains what these expectations were and expresses his frustrations with these rules:

There was an expectation that for example, a game would take 10 minutes to play through. There was an expectation that it would have three lives. There was an expectation that it would have a score. And all of these things had almost become written in stone; which is utterly ridiculous.

The founders of Elite challenged every expectation and dared to question the status quo. They decided  to question the premise on which big guys like Atari worked. David explains this in his interview:

I was very excited about 3d graphics even before I had a computer. Because I thought it can't be that hard. You know, as an arrogant teenager might do. But the received wisdom of that time was that you couldn't do it on a home computer.

We were possibly the first people to do what would now be called a big game. A game where the player has to put a lot of commitment into playing it as well as we to writing it.

But changing the world and making a dent in any universe isn't easy. It is a constant struggle against rules and constraints.

A measly 18k of usable memory on the BBC Micro meant that the programming duo would have to make custom changes to earn an additional 4k of usable memory to squeeze entire multi dimensional virtual universes into it.

Having limited usable memory meant that they would have to revert to innovative techniques like Fibonacci Formula to draw the universes and the movement of objects in these universes instead of storing these pieces in memory.

Lack of tools meant they the programming duo would have to draw the objects on graph paper and type in the numbers.

No error checking meant that they would have to debug the code line-by-line.

EMI's rejection letter to back them up based on the grounds that they were breaking every conventional rule meant that they would have to move to Acorn.

Running out of time meant squeezing in last minute changes like introducing a radar system two weeks before the release date.

For Acorn; the company that backed up the programming duo; backing a game that was changing the world of gaming meant that they would have to change their production; marketing; packaging and even their launch techniques.

The story has a happy ending with 150,000 copies of elite sold in UK itself; an incredible one copy for every BBC Micro that existed in the UK. Elite was the First Non-US game to not just get into the billboard charts but get to number one on it. Elite's story is a textbook example of a success story with lessons ranging from programming, marketing, venture funding, vision, leadership, dedication and success.

Here are the links to both parts of the documentary:

  1. Part 1.
  2. Part 2.

The videos are a must watch for anyone who is the process of building or marketing anything innovative. Elite was a game that inspired thousands of programmers to join the gaming industry and placed Britain on the map of game producing nations. It was the game that changed every rule of how games were built and what games were supposed to do. It changed the basics of how games were marketed and released. It might even be appropriate to say that it was a game that changed the world of gaming. To say the least Elite was an incredible game with many incredible lessons that will continue to inspire programmers for ages to come.

posted on Saturday, May 21, 2011 1:41:41 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, May 15, 2011 by Rajiv Popat

Internals Of Text Justification.

(Left Justification Vs. Justify Alignment & Facts About Text Justification Every Programmer And Designer Should Know)

When you look at the world from the eyes of programmer who cares about text alignment on the web, his own documents, his website and his applications, the whole of the human species can be broken down into these groups:

And If you don't care about your text-alignment all I can tell you is that you should. The basics are fairly straight forward and knowing them can make your output (blog posts, applications, web sites and articles) that much more sexier. How you align your text on your web pages and your blog has a bigger impact on your readers than you can think. So close your IDE's for sometime and invest just a small part of a couple of your days in reading a few posts on how text alignment works. This one is on using justified alignment in your articles, blog posts, applications and websites.

The idea for this post started when I sat down to revamp the design of this blog and was faced with a Hamlet like question that just held me by my collar and would not let go. The question was on this line:

To justify align or not; that is the question.

Turns out; that most information you can find on forums where this question has been asked is subjective. Someone comes in and says, "Yeah! You should justify everything. It's sooo freaking cool!" and then someone else responds with, "No Dude! Justification sucks!". There is very little objective data available out there and the information that is out there is spread across umpteen number of disconnected information sources like Wikipedia, hidden research papers and cryptic paid articles.   

The attempt here is to give you the basics about justification of text using one consolidated post so that you can state researches, experiments, facts and sources in meetings which are organized to decide if you should left align your text or justify align it and then you can end up sounding like a genius or a rock star or an alpha geek or a design guru! Well, not exactly, but then you can still use this information to improve your website, application, blog or other documents.

So read on.

Ready? Let's start with the basics first. The Kids Stuff. The stuff everyone knows and then we can build on that. So let's assume you are one of those guys (or girls) who doesn't give a rat's ass about justification and you don't even know that the two basic kinds of justifications that you can have are Left Justification and Justified Align. Here are their examples:

The left justification is also called the "Ragged Right" because the right end of each line doesn't align with the line above and under it. Put simply the right margin (where the lines end) is ragged. On the other hand if you look at the justified text example above the left and the right margins are perfect aligned. In documents or paragraphs that are justified aligned each line begins and ends at the exact same spot on the horizontal axis.

Designers dig justification because justification makes your articles look professional. Justification has had an aesthetic appeal to it and has been used in professional newspapers and magazines for years.

This is stuff you probably already know.

The process of justification looks fairly simple on the surface of it but if you scratch the surface and move a little deeper there are quiet a few moving parts which give it the sex appeal it has in the publishing world. Justification mostly  plays with spacing between words and between characters to align both margins.

You could spend hours studying Wikipedia links on the topic to see how it works or we can just do a quick typography 101 course right here to cover the basic concepts we need to move forward.

I am going to assume that you're a lazy dude who wants too be spoon fed in simple English so instead of linking to ten lengthy Wikipedia articles on typography we're going to do a quick Typography 101 digression right here and talk about the basic stuff that you need to know about typography in the context of text alignment. Then we will start talking about the intricacies of text justification. So; on to a quick typography 101 course.

Digital Typography 101 and the Stuff You Need To Understand Before Moving Ahead.

The world of digital typography primarily contains two kinds of fonts. Mono-space fonts and Proportional fonts. The Wikipedia article on the topic is here but the basic premise, in the context of justification, is that mono-spaced fonts give the same amount of space to each character in the font where else proportional fonts give each character in the font just the space it needs and no more. Here's a picture from Wikipedia that explains the concept:

See how the pink and blue boxes (which represent space each character takes) are of the same size in case of Mono-spaced character but their sizes vary in case of proportional characters? That's the basic difference between these two font types. Now a days, unless you're coding on your IDE or using the terminal window chances are that you are using proportional fonts because they just tend to look sexier than mono-space fonts and everyone seems to be moving over to proportional fonts. Proportional fonts and Mono-space fonts are the first piece of the puzzle that you need to understand in order to appreciate how the justification process truly works. Serif fonts and Sans Serif fonts are the other piece so let's talk about those.

The world of digital typography also has two basic kinds of fonts that you need to know about. The serifs and the sans serifs. Serifs are tiny strokes that you give to the loose ends of each letter to make them look sexier.

As you can see from the picture that I borrowed from Wikipedia, Serif fonts have these strokes which are shown in Red, Sans Serifs do not have these strokes. An easy way to remember this is the fact that "Sans" in French means "without" so Sans Serifs practically means without the serifs or without those sexy strokes at the end of each letter.

Back To Justification

Ok, so it's time to end that long typography 101 digression and get back to justification. Now that you are a little smarter and you know what monospaced and proportional fonts are and what Serifs are and what Sans Serif fonts are lets go deeper into some of the tricks that are used to increase the spacing between words and characters to get evenly aligned margins in justified documents.

Tracking And Kerning Algorithms

In justified text the application that gives you the justification feature needs to align the left and the right margins. In order to do that in some cases the application needs to increase the space between words and characters of a line to make the lines look broader than they already are and in some cases it needs to squeeze the spaces between the words and the characters to make the lines narrower than what they would be otherwise. The lines which are stretched to occupy more space than they would normally occupy are called loose lines and the lines which are squeezed to occupy less space than they would normally occupy are called tight lines.

Two techniques that the justification process uses heavily to create these loose lines and tight lines in order to align the margins are Tracking and Kerning. Tracking involves adding even volume of space between each character of a word to create a loose word or to create a loose line. Because Tracking only involves adding equal space between words it works on both Mono-spaced and Proportional fonts.

Kerning on the other hand increases and decreases space between proportional fonts based on multiple factors. This picture (again, from Wikipedia) illustrates the difference between Kerning and Tracking.

Kerning works on proportional fonts and it also uses a host of factors like whether a font has Serifs or not to bring the fonts closer to each other. Here's another picture from Wikipedia that explains this concept:

Notice how the serif's are brought over each other to decrease the spacing between two letters in the above picture. Of course you cannot have kerning on mono-spaced fonts because each charter has a fixed space it occupies. You can increase the space between words by adding extra empty characters (i.e. tracking) but with mono spaced you cannot do things like move a character juuuust a little bit to the left to align it's serif with it's previous fonts. Because mono spaced fonts give exactly the equal amount of space to each character funky arrangements of letters like that to make the overall output look sexier is just not allowed. That's why kerning only works on proportional fonts.

You can read the entire article on kerning but the point in this context, is that most browsers and word processors use their auto kerning algorithms to increase or reduce spaces between proportional fonts when you turn the justification of a paragraph to on. And justification in one word processor or browser may not be exactly same as justification in another word processor.

Ken Adams for example is a firm believer that the kerning algorithms of Microsoft Word suck and that you should never use justify align in Microsoft Word documents.

Long story short, the look of your justified text is going to be just as effective as the tracking and kerning algorithms of word processor, the browser or the reader where the user is going to read the content. That of course is the beginning of all the problems associated with justified text. Justification can create another problem which is often made worse by bad kerning and tracking implementations. The problem is spaces which align and stack right over each other. This problem is called "Rivers" by typographers.


Another issue that digital Kerning and Tracking often produce is the problem of Rivers. When you increase space between all the words to align both sides of the margins the spaces in the middle of the words can often tend to align creating long stretches of white areas which make it difficult to read the entire paragraph. These white stretches are what are called Rivers in typography.

The above diagram shows some rivers in a word document with just a couple of paragraphs that I used earlier in the post to illustrate the difference between left aligned and justified aligned text. The rivers are marked in yellow. They get much worse when you are doing complex documents. Rivers makes reading documents and content that much harder especially for people with dyslexia. Rivers can be avoided by a typographic technique called Hyphenation.

Color And Hyphenators

The fundamental reason why most people are tempted to use the justification setting in their word processor when writing documents or in their CSS when blogging or writing HTML pages is because they have been seen books and magazines that have been justified. The tight look and the amazing visual appeal of justification in these books and magazines makes developers and budding designers believe that justification looks good just by it's inherent nature.

What people often forget is that most typographers who are responsible for publishing magazines and books don't just give attention to outline of the rectangle space which holds the content but they also pay a great deal of attention to the fonts and the evenness of space within the rectangle. In the world of typography this is called the color. Typographers go to great lengths to maintain the color of the document. One of the tricks they commonly use is referred to as Hyphenation. In fact H&J (Hyphenation and Justification) is the technique used while type setting most books and magazines.

In his excellent article on the topic of Justification and Hyphenation Richard Fink describes the process of hyphenation  using the example below:

Notice how the lines in the above paragraph could have been too tight or too loose to create rivers and how words have been broken up using hyphenation to avoid the problem.

Hyphenation is good when it is used in the print media but in most word processors and browsers hyphenation tends to have it's own set of problems. Most latest browsers out there support soft hyphenation. With soft hyphenation you give the browser a permission to insert a hyphen if the kerning, the size of the page, the content and the layout is going to result in lines which are too loose or too tight. Put simply, the browse has the permission to break a word with hyphens if the situation demands that the hyphenation be inserted.

The way to hard code this is using "­" HTML tag or using "&#173" HTML tag in the right place. So if you wanted to allow the browser to break the word "equal" after "e" you would write it as "e&#173qual".

Of course anticipating and hard coding every word for hyphenation is not the most practical of solutions so folks have been coming out word press plug-ins and Java-Script libraries for auto inserting the hyphens.

When you automatically insert hyphens to align your margins and to maintain high typographic color in the page you start running into issues pertaining to copy / paste. The hyphens (even soft ones) have their Unicode characters and when you copy content from a website that uses auto hyphenation script chances are that you might end up copying the hyphens along with the content. Similarly when you are searching for words which have been auto hyphenated you are left on your browser's ability to understand the soft hyphens and ignore them during the searches.

Richard's article on the topic is an excellent resource on Hyphenators and the hyphenation tools and scripts that are out there. If you haven't clicked the link already, you should. Once there spend some time there understanding hyphenation.

Richard highlights some of the annoyances with hyphenators and ends his article on an optimistic note:

The solutions to these annoyances lie squarely with browser makers. High-res displays like the iPhone Retina, convenient e-reading devices like the iPad, and web fonts have brought a new focus on web typography. Hyphenation and justification is an important and time honored technique. Hopefully the information here will help make it an option for onscreen reading sooner, rather than later.

These tragic reality of life right now is that that even though H&J (Hyphenate and Justify) is a time tested technique in the publishing world, most devices and browsers are yet to fully catch up with seamless automatic hyphenation support.

The basic esthetic appeal of justification attracts many designers and web content writers to it, but given the current set of problems is the esthetic aspect of justification even worth chasing? This question was answers by a set of very interesting surveys.

How The Human Mind Perceives Justified Text

Based on most research that has been conducted so far, even though justified text does have esthetic value it is not the most reader friendly alignments out there. The British Journal of Visual Impairment (PDF link) (Accessibility assistance for visually-impaired people in digital texts) covers a list of surveys which provide more specifics:

Harrison was unconvinced that larger spaces between letters, words and lines increased legibility (Harrison, 1980, cited in Davies, 1989). However, according to Gaster and Clark (1995), increased leading, or white space between lines of type, makes a document more readable for people with low vision. According to Arditi (1999a), spacing between lines of text should be at least 25 to 30 per cent of the point size. This is because many people with partial sight have difficulty finding the beginning of the next line while reading.

Additionally, letters that are too close together are difficult for partially-sighted readers (Gaster and Clark, 1995), especially those with central visual field  defects. Spacing needs to be wide between both letters and words (Arditi, 1999a; Gaster and Clark, 1995). Harrison thought that the most important
factor for children’s books was the unjustified line (i.e. the printer has not varied the space between the words to produce a straight margin down the righthand side of the page) (Harrison, 1980, cited in Davies, 1989). Unjustified text may be easier for poorer readers to understand because the uneven eye movements created in justified text can interrupt reading (Muncer et al., 1986).

David R. Thompson, a PHD student at the University of Texas at Austin and the president of SENSS Publications and Seminars, Inc, conducted another survey with 40 undergraduate students where these students read 12 text samples from randomized reading tests. The tests involved different simulations of magazine pages in four column formats. One of the conditions in the survey was the comparison between flush left and ragged right justifications. David describes the results on his tests in his paper (PDF Link):

In a justified (even left and right margins) format, the eye "knows" through repetition, how far it must travel to perceive a line of print. Thus, the justified format may minimize pauses in eye motion following backward eye movements, regressions, within a line of print (Bayle, 1942; Rayner & Pollatsek, 1989). This suggests that the longer the look, the longer the processing time (McConkie 1989).

By extension, flush left / ragged right margins may force the reader to process each line's end point and re-evaluate the distance of each sweep (Rayner & Pollatsek, 1989). These assessment strategies may require "extra" time to process information presented with flush left / ragged right margins (Glass & Holyoak, 1986).

The Graphic elements Model predicts that an increase in the amount of mental effort required for visual and spatial analysis of textual cues will result in enhanced memory for information derived from that input.

This by all means is an interesting result. Even if you were able to avoid all the inherent problems of justification, like issues with kerning algorithms and the river effect, justification might give faster reading speed on text but then you might end up with lower recall of the content. Put very simply your readers might be able to glance through your content very quickly but they might end up remembering less of your content than they would if it had a ragged right margin.

The "Improving Validity of Large-scale Tests: Universal Design and Student Performance" report by National Center on Educational Outcomes sums some of the above and a whole lot of other researches that have been done in this area. The observations are simple:

Staggered right margins are easier to see and scan than uniform or block style right justified margins (Arditi, 1999; Grise et al., 1982; Menlove & Hammond, 1998).

Justified text is more difficult to read than unjustified text – especially for poor readers (Gregory & Poulton, 1970; Zachrisson, 1965).

Justified text is also more disruptive for good readers (Muncer, Gorman, Gorman, & Bibel, 1986).

A flush left/ragged right margin is the most effective format for text memory. (Thompson, 1991).

Unjustified text may be easier for poorer readers to understand because the uneven eye movements created in justified text can interrupt reading (Gregory & Poulton, 1970; Hartley, 1985; Muncer, Gorman, Gorman, & Bibel, 1986; Schriver, 1997).

Justified lines require the distances between words to be varied. In very narrow columns, not only are there extra wide spaces between words, but also between letters within the words (Gregory & Poulton, 1970).

With all it's inherent complexities and problems both technical and comprehensive; text that is justified aligned continues to be something most digital publishers are so attached to that they cannot let go. People who love justified text are all around us. If I can honestly confess here, I am one of them. Which is why this blog was justified aligned for years. There is something to be said about the beauty of justified text and the science of it.

Having said that once you understand the problems and realities associated with content that is digitally justified using HTML and word processors; and the impact it has on readability and recall of your content, given the choice between ragged right and justified text, chances are that you would lean towards a simple ragged right alignment.

Stating that you should never use justified text might be an overkill but before you do use justification, understand how justification works, understand the problems associated with it and use it wisely. Of course, the folks who are justification zealots would tell you that if it's not justified it just doesn't look right, but as of now, if it's on the web and if it's justified, it probably just doesn't read right.

And it's not about how you do justification. It's about how justification works, the issues that surround it and the state of current technologies built to handle it. As of this writing, in most cases today, as far as online content is concerned, justification seems to be esthetic value in lieu of easy readability. Of course justification gives your text a professional looks but this is the online world, and if it is professional you should probably be working on changing it anyways.

posted on Sunday, May 15, 2011 9:30:00 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Sunday, May 8, 2011 by Rajiv Popat

Thoughts On Tweaking Your Blogging Routine.

Blogs are cool. Blogs can be awesome. Blogs allow you to participate in this amazing thing we otherwise refer to as the internet. The content from Blogs feeds Google, keeps it alive and helps it grow.

From a personal aspect; blogs are important because blogs allow you to continue jabbing and help you hone your writing talents; and we all know how important writing talents are; even if no-one reads what you write.

Seek blogging advice from anyone who has blogged for more than ten posts and the advice you’re going to get is: pick a schedule and live by that schedule.

It is the single best advice anyone can give a young and budding blogger.

It works; till the time it doesn’t work and then you need to tweak it.

Think about this advice in terms of plain old mathematics. It’s like this; you become a better writer by reading more and writing more and given that you are reading as much as the other person; if you are cranking out four articles a week your chances of getting better at the craft of writing are four times more than someone who cranks out one article a week. Right!?

Well, the statement is moooostly right.... for you.... if.... you are starting out a blog or want to get into the flow of writing consistently. A regular stream of blog posts on a well-established schedule gets you in the flow for writing.

Besides it makes life simple for the Google crawler and your readers because they know exactly how much content to expect from your blog and when to expect it.

It forces you to show up even on the most depressing of days.

Like I said, the advice of writing regular blog post works.

At-least till the time it works.

And then comes a point of time in your life when the advice stops working and you need to tweak your schedule.

Here are some reasons why you might end up tweaking your publishing schedule:

  1. You’ve done enough jabbing for a couple of years and now you want to move into deliberate practice of writing by producing articles, books or relatively longer essays which will need your concentrated effort for a week, sometimes more than a week, sometimes a month and sometimes even multiple months before you can publish them out to the world. Posting four posts every week might not be possible here.
  2. You’ve done enough writing about code and now you’re going to be writing even more awesome code or doing something life changing. A classic example of this being Jeff Atwood who is the primary proponent of the “one step success” for your blog which was blogging regularly. Jeff started Stack overflow (now called Stack exchange) and slowed down publishing posts on his own blog.

Like I said, the advice works and it has it's own benefits while it works.

Then you reach a point in your life when you realize that just jabbing is not taking you to the next level in practicing your craft. You realize that just doing a given number of posts a week isn't enough deliberate practice of your craft.

When you have that realization it is time for you to slow down and focus on what is most important to you.

I’ve been blogging about three posts a week for months now. I've been contemplating the idea of longer articles on topics I feel strongly about, working on the book I said I would be working on, trying out some serious humor and doing some serious bullshit busting.

With those intentions in mind I am going to relax my publishing schedule down from three posts a week to sometimes two and sometimes even just one post a week.  On any given day the writing I do is probably going to increase. The frequency of publishing however might slow down a little in the weeks to come.

What that means that while the quantity of the posts might go down the quality of the posts that you see here might shoot up.

These posts will be edited much more meticulously. Some of them might be long enough to warrant turning them in articles that you can download in PDF or Kindle formats. You might also continue to get a full blown eBook or Kindle book every few months.

In the fitness world they say that nobody ever gets stronger by doing the same exercise again and again.

In the world of neuroscience they say that nobody gets smarter by solving the same kind of math problems again and again.

Continuously publishing three posts a week was a commitment I made to myself for months and it was a commitment that taught me a lot of things. It has now become a part of my life.

Having said that however, I feel I have grown out of and it is now time to master other aspects of writing. Even if that means reducing the number of posts I publish every week.

Long story short, the blogging frequency of this blog ‘might’ go down from three posts a week to two and sometimes even one a week. But I will hopefully continue to show up without fail. Every week! Consistently. And with lesser number of posts and more effort the content is expected to get better.

Expect to see posts with more content, more research, more fun and more takeaways. Expect to see PDF or Kindle versions of articles and occasionally also expect to see some eBooks once or twice each year.

Now, if you are a young and budding blogger seeking advice on how you can become a better blogger, here’s my advice:

  1. Pick a schedule that you are comfortable with and stick to it!
  2. And Do NOT change your schedule frequently.

More often than not any temptation to change the schedule is out of hidden laziness and your lizard brain playing tricks with you so be very careful before you decide to change yours. And when you do reduce your frequency; make sure you double your efforts.

That by the way is EXACTLY what I intend on doing on this blog; so do keep reading.

posted on Sunday, May 8, 2011 8:29:27 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Thursday, May 5, 2011 by Rajiv Popat

A Flaw In The Premise Of Never-ending Arguments.

There is something to be said about saying something you believe in without feeling the need to defend it or argue for it. Controversial arguments are generally very interesting and hardly ever productive.

Most online flame wars (through email, facebook comments, twitter comments, blog comments etc.) work on the premise that person posting the last response wins. In most online flame wars, your decision of not replying is often considered synonymous to your not having a reply.

The online heckler often expects you to shout back to quiet him down. Once you do that, you have started a controversial argument and it doesn’t matter what the logical outcome of the controversial argument is, the heckler wins.

All a heckler needs is a lot of free time and the persistence to keep replying.

You cannot win this game if you play it by it's conventional premise.

But you have an option of not playing the game to begin with; or taking a decision of not replying even when you have a reply; or quitting the arguments in the middle even when you’re not the person with the last response.

Just say what you truly believe in. If that triggers an argument; make your points. Once you’ve made your points (or voluntarily chosen not to make them) leave the topic and the argument. Say something else. A brand new post. A brand new thought. A brand new idea.

The hecklers can continue heckling about what you said. They will eventually get tired and stop when they realize that you’ve already moved on to something else. After all, In the long run the hecklers and the critics just don’t matter as much as you think they do.

posted on Thursday, May 5, 2011 9:30:00 PM UTC by Rajiv Popat  #    Comments [0]