free html hit counter
Posted on: Friday, June 26, 2009 by Rajiv Popat

SQLDBCrypt - Open Source Database Encryption For SQL Server.

Free And Open Source Field Level Database Encryption For SQL Server 2005 and Later.

At work we design and build financial applications. When you are in the business of building financial or banking applications your database will contain sensitive information including account numbers and accounting information that you want to protect obsessively.

Multiple layers of security becomes important in cases like these.

The first layer of-course is the SQL server built-in permissions and security.

At a second level you want to lock out everyone's access on the production servers so that they cannot grab the data-files or access the database directly.

The third  layer is encrypting certain pieces of information at the field level and encrypting sensitive fields so data inside the database cannot be read by anyone even if he has direct access to the database --- this includes even the database administrators and the support staff who will be managing database servers.

Making your life simple with adding this third layer of security is exactly what SQLDBCrypt does.

SQLDBCrypt is an in-house SQL Server 2005 based encryption engine that we developed as a side hobby project.

Put simply; at a basic level SQLDBCrypt does exactly what commercial products like XPCrypt do; except that SQLDBCrypt is free and open source.

We have been using this product to encrypt and decrypt sensitive data that goes in an out of our applications for over a year and are very happy with the results.

The story behind SQLDBCrypt was somewhat on the lines of 'an idea conceived and implemented by a single builder'.

Abhijit Ghosh; who gives you a very sinister smile when you ask him if he has a blog or a web presence; is a very capable DBA and a programmer rolled into one; who works on my team at work.

Sometime a couple of years ago he conceived the idea and decided that he wanted to take this project up as his official assignment.

Early on in the project; we decided to give him time to do get a prototype done; get him everything he needs, wish him luck and get out of his way.

A few weeks later we were playing with a working prototype using which; we were able to get it adapted inside of eFORCE as a formal product with a formal testing and development team that would move the product forward and use it in some of flagship products.

Within a few more weeks we had a working version which was fully tested and which was being used in some of our financial applications.

We have been using SQLDBCrypt internally since then.

When you work in flat organizations where even the top most management understands software development; decisions of this sort are often done without any meetings or any committees. After more than one year of usage in production environment we at eFORCE recently discussed the idea of taking SQLDBCrypt to open source and were able to get a green signal literally in less than three days. No long-winded discussions; no meetings and no committees.

We moved the code base on CodePlex for you to try it out and give us your feedback; dear reader.

If SQLDBCrypt interests you; we suggest you start by visiting the Product Home Page on CodePlex

We're licensing this code under the New BDS license which allows you to use this product even in commercial projects without any of the typical restrictions that you get in commercial products and other open source licenses.

The source code for the project is available live; so if you really want to review the security aspects of the code and send in your suggestions; you can totally do that.

The project started as a fun project and slowly matured into something which was reliable and something we could use in our own product stack. We clearly did not have any intentions of competing with commercial database encryption companies out there but when we were done we did some basic benchmarking of the product with other commercial products like XPCrypt and in cases of huge data sets found SQLDBCrypt to be around ten times faster.

While we are talking about comparisons it might also make sense to talk about limitations of SQLDBCrypt while comparing it with other products out there.

While most commercial products like XPCrypt support multiple encryption algorithms we are starting with support for MD5 for hashing and RC4 (128 bit) for encryption.

We will be releasing support for other algorithms moving forward and are expecting community contributions for adding support for additional algorithms moving forward.

To add to that; while commercial versions of products like XPCrypt work on older versions of SQL Server; SQLDBCrypt uses SQL CLR and requires SQL Server 2005 or later.

Currently we are keeping the team size really small but going forward we will be adding team members as and when required.

We will be doing a formal series of benchmarking tests, posts and examples of how you can use the product going forward; but if you have a need for this product we would encourage you to try it out; beat it up; bench-mark it yourself and let us know your comments and feedback.

We are calling the current version a beta release for the next few days till we reach decent packaging and add all the bells and whistles of a formal product to it. Having said that; we really want you to download this version; play around with it. See if it meets you needs; if it does go ahead and use it in your projects. Feel free to let us know your thoughts, ideas or any bugs you encounter while playing around with this product at the Project Task List on CodePlex.

If you would like to start added discussions around the product or any of it's features feel free to use the product's discussion board at CodePlex.

If you like the product; and the fact that we have decided to release it as a free and open source component; go spread the word. Tell your friends; blog and tweet about it.

If you do not like the product; please do tell us why and where you think we can improve the product.

We love the idea of supporting whatever it is that we write and would love to take in suggestions on changes or features which can improve the product.

As much as I would like to recommend this product highly to everyone; the fact of life is that it addresses a very specific problem and if you do not have the need; the product in all it's glory is not going to make any sense to you.

If you are building a Library tracking system; this product is clearly something you do not want to waste your time investigating.

On the other hand is you are building a system which is going to store information worth protecting obsessively; examples being; banking applications; finance applications; or anything that stores sensitive information like account numbers; credit card information etc; --- go give this application a try before you go and buy some of the commercial products out there.

Do let us know your comparative analysis and what you think.

More announcements and open source goodness coming soon.

Stay tuned.

posted on Friday, June 26, 2009 9:50:21 PM UTC by Rajiv Popat  #    Comments [1]
Posted on: Thursday, June 25, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 13

Selfish, Lazy And Not Big On Being Ethical.

I'm the Frankenstein's monster.

I'm talking about downloading office space trailers from you-tube using the office bandwidth.

A 'Few Good Men' working for the best interest of the organization stare at me like I've just dropped a stinking dead carcass in a meeting room.

"But that is not very ethical" --- says someone.

This is it.

The moment when the room fades into the grayness and you can clearly see the white differently from the black.

This is when I am hit by an instant flash of lighting.

I know exactly what I want from the candidates I interview to join my team. Besides, technical competence and a truck load of qualities I already talked about in this book; I am going to pick my builders based on three simple additional qualities:

  1. Laziness.
  2. Selfishness.
  3. Does not bitch about ethics.

Of-course; I know you're knitting your brows already. I know I owe an explanation to what I just said. So; let's get on with the explanations.

Get Me Someone Who Is Lazy.

I'm staring in awe at Fred as he demonstrates his sort-able grid view. He spent months building it. He is flexing his engineering mussels. He is one proud hard working builder.

I'm sorry.

I would prefer someone lazier.

Someone who would just go out there and... buy a sort-able grid.


I have no problems with you building stuff; but going out there and building the thousandth sort-able grid isn't my idea of innovation --- unless of course you are in the business of building grid views.

If you're not you might consider not flexing your engineering mussels of heroism and you might consider buying that freaking grid-view out there.

Having said that; genuine builders love the idea of building stuff. At work; when we landed up with an application needing fifty reports we decided to get lazy and build an ad-hoc reporting system which would allow the end-users to do their own reporting.

Genuine innovation doesn't happen by building the same grid view, reports or CRUD application a thousand times over.

It happens by indulging in the act smart laziness.

Get Me Someone Who is Selfish.

At work my every single day revolves around my selfish interest which over a period of time has co-incidentally intertwined really well with my organizational interest.

When that happens and interests intertwine builders stick around. 

During my days as a young and budding engineer; I was conducting three trainings a week on topics ranging from .NET to usability. Even today I try my best to conduct regular trainings at work.

Anyone who tells you that he is conducting these trainings or knowledge sharing sessions for the best interest of the organization is giving you a truck load of horse shit in it's rawest form.

I conduct trainings because:

  1. I get to learn new things which I am going to train others on.
  2. I get better at communication.
  3. I get to flex my engineer mussel and show-off how smart I am.

Training; is just an example. I pick it because conducting a knowledge sharing session seems like the most selfless of acts. I am here, dear reader, to tell you that it isn't.

Nothing is. 

Builders don't work under the false pretence of doing a favor to the organization or working for the best interest of the organization.

Anyone who does that is a hardcore whiner.

Make no mistakes.

Every single genuine builder out there who is worth his salt; is going to work for his very own selfish interest.

Organizations that align themselves to the best interests or their genuine-and-totally-selfish-builders; win.

The famous twenty percent time at Google is just one over hyped example of this happing in the real life.

There are tons of others out there.

Keep your eyes open and you can come up with your very own remarkable ways of taking the most selfish interest of your builders and aligning them with the interest of your organization.

Try to make your builders work for the best interest of your organization and you will end up doing is indulge in the act of sending your organization down the boring road of mediocrity.

Someone Who Does Not Bitch About Ethics.

Genuine builders tend to love what they do.

Besides their life long passion for their work and a consistent commitment; most builders that I have worked with are amazing fun loving people who do crazy fun loving things.

Walk into a software 'thinking' development shop and it isn't unusual to see a few programmers with their head buried deep in their monitor; their ears stuffed with head-phone.

Quite a few of the builders I have worked with have varied kinds of music they like to code by.

Others have a hilarious collection of funny videos.

Some of into Sudoku.

Others are into X-Box games.

In fact; even when it comes to software development and work; most seriously kick-ass developers live outside their cubical.

If you're going to be constantly bitching about how much of your time and bandwidth usage is for work and how much of it is for personal reasons like fun and growth; software development isn't for you.

What you need to do is get a job at the car-factory-work-shop or an Indian-call-center.

Now stop hitting that stupid ALT+TAB window and switching from you-tube to the code window every time your manager passes by.

Try not to obsess about what is ethical and what isn't. Instead; consider having a blast and shipping some seriously kick-ass innovation.


At the end of the day it's like this --- those who bitch the most about ethics; have very little of it.

Now; go hire a few selfish programmers who do not constantly bitch about the best interest of the organization or ethical code of conduct. All they focus on is just their very own selfish interest of growth; building stuff and having a good time doing that.

I wish you good luck.

Oh; and one more thing --- if you are reading this from your office don't forget to watch the office space trailer on you-tube using your company bandwidth --- parts of the movie are what I call utterly hilarious.

How many times do you hear big words like, right, wrong, discipline, ethical and unethical in your workplace?

How many times does your organization expect you to work for the best interest of the organization and not give a shit about your own interests?

Does your organization work on factory rules and no trust; or is it an environment where builders are genuinely empowered, dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Thursday, June 25, 2009 9:39:21 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Tuesday, June 23, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 12

I'm Just Working For The Best Interest Of The Organization.

"All I am trying to do is work for the best interest of the organization."

The next time you hear those words --- run.

As fast as you can.

And whatever it is that you do --- Don't look back.

If you just heard those words from someone you know; with all due respect to this acquaintance of yours; chances are high that he is either of these three:

  1. A certified prick who utterly and thoroughly enjoys being an asshole. 
  2. A Hardcore whiner who is also a self proclaimed well wisher of the organization.
  3. A cheap Indian programmer who in all probabilities is working off a cheap Indian outsourcing shop.

"But Pops; you are hyping this up" --- you say.

No I'm not.

I know what I am talking about.

Trust me.

I've heard these words countless number of times and every single time I've heard them; the bearer of these words have fallen in one of these three categories.

Still knitting your brows; are you?

It's time you take you back in the depths of time and dig from ages that have rolled behind a few stories from the war fronts of software development; that shall illustrate my point dear reader.

Flashback time!

I Removed The Reporting Server

Multiplitaxion Inc, is a new client of ours; their product is struggling to cope up with the traffic during afternoons. We have been called in as a consulting organization to figure out how we can speed up the performance of the application.

The programmers are introducing level-2 caching into the system; the DBA is tweaking the stored procedures.

We've spent days analyzing at our end. Our findings are simple --- the afternoon loads are heavy; the system could do with another reporting server having a specialized reporting database.

Here is the creepy part however --- buried deep down in the physical architecture diagram of the system created a couple of years ago; is a box called 'reporting server' which stands proud and tall. 

Confused; we decide to interview the entire team including the Database Administrator who is working on tweaking the stored procedures.

'Oh the reporting server --- that was costing us a lot of money. We got rid of it. We can get this to work by tweaking the stored procedures'. --- it is the database administrator speaking.


Sounds of crickets chirping.

I turn around to the CTO; suspecting the highest in the pecking order of usually being the asshole in these cases; throw a simple question --- 'Did you ask them to do this?'

The answer is a cold --- 'No'.

More silence.

More crickets chirping.

"What? I still feel we can run without spending money on the reporting server. All we need to do is tweak the stored procedures" --- we are hearing the database administrator speak; but a very few people in the room understand the language he is speaking.

You have to give the guy some credit.

After all; he was indeed working for the best interest of the organization.

We're just trying to make sure we utilize the company bandwidth for official purposes only

I can't seem to figure out how I got here.

I am staring at a snickering system administrator who finds the idea of downloading videos from you-tube using office bandwidth as grossly unethical and amusing at the same time.

There is one little problem however; the video is a hilariously funny and inspirational; I want to share with my team.

"We're just trying to make sure we utilize the company bandwidth for official purposes" --- I am told.

I hail to the self proclaimed well wishers of the organization.

Then I buckle up to take this further with people in the organization who have the enough power and common sense to understand.

We can reward him by giving him more challenges.

Jack is working hard. Seriously hard.

We've been struggling to get this release out and Jack has been up practically all weekend.

The project has just shipped; the sky is blue and the birds are singing.

His project manager gives him a complementary leave to rest and heal from the bruises of a difficult war. 

In the copy-list of the email are a few others higher up in the pecking order.

Someone responds --- this gentleman who is responding after removing Jack's email from the trail; thinks that we cannot be giving off complementary holidays as easily as this. He proposes:

  1. Cancel Jacks complementary holiday.
  2. Offer him more 'grow opportunity' by giving him more challenges; spelt ---- "more work".
  3. We all collectively work for the best interest of the organization even when rewarding team-members.

I'm not directly connected or concerned.

I decide to shut the fu@#k up.

The Late Marker And The Break Time Calculator

Fred is interviewing with us. Here are his achievements besides work:

  1. Suggested development of a 'late marker' that marks employees late if they get in after nine in the morning. Three late markers results in a leave getting deducted.
  2. Suggested development of a break time calculator that is going to track the number of minutes individuals spend during their break time.
  3. Developed the perfect Frankenstein style - 'employee cloning system' and cloned a couple of hundred micro management zombies.

Well actually, he didn't mention the third one; but while he was at it; working for the best interest of the organization; he might as well have designed a Frankenstein Employee Cloning system used to clone a few micro-management-zombies like himself.

Self Proclaimed Moral Police

I could go on with the stories for ever. In fact, given my observations I could probably write a dedicate hilarious book on this but it would mostly end up having a Daily-WTF flavor to it. 

For the time being however; let's not even go there.

Lets focus on the point here.

Every organization that I've visited, worked for, worked with, built a project for or observed has a few whiners who like to think of themselves as the 'well wishers of the organization'. People who have a 'job' of defending the organization from the scum of other employees.

I like to call them the 'self proclaimed moral police'.

They individuals; will try to protect every single square inch of the organization they can; starting from the internet bandwidth; the disk space on individual hard disk of developers; to printer paper by monitoring the number of printouts each developer is firing on a daily basis.

After observing countless number of these guys; screwing organizational morale; in my career; if there was one thing I learnt; it was how to spot these whiners in an interview; keep them out of your team and keep then out of the organization.

Spotting them is easy.

All you have to do is keep your ears open and look out for the golden words --- "for the best interest of the organization".

And when you hear those words, run.

As fast as you can.

Whatever you do --- Don't look back.

How many Daily-WTF-type examples under the name of the best-interest-of-the-organization have you witnessed?

How many whining self proclaimed moral police have you had a pleasure of working with?

How many of these decisions taken for the best-interest-of-the-organization ultimately ended up fu@#king up the organizational morale and eventually nudging it in the realms of mediocrity where cheap Indian body shops haggling over per-hour-billing-rates reside; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Tuesday, June 23, 2009 8:59:22 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Friday, June 19, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 11

What You Think

Don't be a bullshit passer.

If you are having a bad day as a manager --- deal with it --- without passing on the badness to your team.

'Yeah Pops' --- you say --- 'easier said then done. I've got a angry client or a lose tempered vice president to report to and he wants the application done before the road show. What do you propose I do?'


That is supposed to be a question you needed to answer the day you accepted your promotions and became a manager.

That's when your team expected you to know what to do in situations of this sort.

Having said that, the real question here isn't about what you do.

It is about what you 'think'.

Do you 'think' what your client or your vice president expects out of your team is justified or is he just being an asshole?

If he is just being an asshole for the sake of being one; your job is simple. What you hear in these meetings where the vice president or your client decided to throw a truck load to shit on your backyard; should *not* translate into action items or an unrealistic dead-line for your team.

How you do it is your seriously problem.

Look at him in the eye. Talk to him. Breathe. Convince him. Beg. Weave a story. Tell him what the word 'quality' means. Tell him why you are different from a million Indian programmers sitting in funny body shops running out of India. Kidnap his child.

I don't care.

Ok; the kidnap-his-child bit was a joke that wasn't even very funny --- but you get the idea. 

If you 'think' he is being unrealistic and acting like a prick --- don't let the shit run downhill.

Just because you are stuck with a bad boss or a bad client doesn't mean that your team needs to open their IDE and start slamming their keyboards to write some code that will get the application to crash on the day of the big road show.

If you 'think' however that your boss or your client is acting like an asshole but what he expects out of your team is realistic and what he wants will genuinely help the product --- you and your team need to open that development environment.

Long story short, whether your team opens the IDE or not should *cannot* be decided by how big an asshole your manager is.

It has to depend on what you 'think' about the requirements at hand.

Remember; before you go up to your team --- think.

Do you think what he is telling you to do is going to help the product?

Have you decided that you are going to ask your team to open that development environment and write some code?


Before you ask them to do that; you've got a few humbling exercises you need to indulge in.

Get Naked.

The --- "we're working weekends because we need to get this done by Monday" --- doesn't cut it.

No, it's not 'all they need to know'.

You need strip naked.

Tell them everything. The story so far; who wants it; why does he want it; who is being the asshole; why you think it will genuinely help the product; how will it save your job; why you want them to work weekends; why you want their help. Everything.

You cannot be keeping secrets and expecting people to give you cover-fire in battles.

Remember; this is a save-our-souls signal you're sending out and you're the one who is being rescued; so get the perspective correct when you go out to 'request' your team and ask them to work weekends or push seventeen hours a day.

The getting naked part is hard.

As someone who has requested his team to work in pressured situation more than once; for years; and have been lucky to have the best of builders on my team; I can personally tell you how hard it is to get naked the first time you do it.

What I cannot do however; is teach you how you can do this without feeling a little embarrassed.

If you're going to learn how to lead a team of genuine builders; you're going to have to learn this getting-naked part; by doing it yourself.

I can't tell you exactly how to do it; but If there is one thing I can tell you; it is that bossing around and being an asshole does not work.

If We Fail No-one Gets Killed

Say it.

Mean it.

Even when you know that if it doesn't work out; the sky will fall on your head and you will be left to die under a scrap load of shit.

When you're naked your builders can sense the importance and what the stakes are. The whole idea of If-You-Are-Not-Able-To-Do-It-Someone-Is-Going-To-Get-Hurt helps no one.

If you lack insight into your builder's brain I'm going to lead you into another little secret here which is going to be a life changing moment in your profession; particularly if you are managing a team of genuine builders.


When your genuine builders walk up to you and start a conversation around how important the task is and ask you if they 'really' have to get it done by the end of that day; they are not looking for an escape route so that they can go home and sleep with their wives. They are just telling you that they are going to pull of a serious productivity stunt here; a magic trick that might fail and if it does; they want you by their side.

They aren't looking for an escape route when they ask you if they could ship on Monday instead of Friday.

All they are looking for is a safety net; and room to maneuver.

On a subtle; subconscious and psychological level they are testing if you are in it with him.

If they fail; and get stuck; are you going to give them cover fire or are you going to turn around and run like a rat.

I've had multiple cases of Can-We-Ship-Monday on a Friday evening. Some of them have been embarrassing. Walking up to a client and apologizing isn't easy. Having said that most of them times when it has happened - I've  said "sure" - and meant it.

The result?

We've either shipped on Friday itself or we've shipped something better that the client absolutely loved on Monday.

We've technically failed more than one dead-line so far; sometimes by a day; sometimes by a couple; but here is the funny part --- the sky is still blue; it's still up there and no-one has got killed. 

Learn How To Say Sorry Followed By Thank You And Mean It Too.

Somewhere along the line; after spending countless weekends and late nights in office; I ended up telling myself that I would try my best to see to it that my team members 'can' get out of office by six thirty. If they 'want to' stick around and work --- we're good --- but they shouldn't have to.

The reason to take this stand and to try to make it possible for them to get out by six-thirty is simple; every time I get an assignment done by requesting people to stay late, push harder or work weekends, it just means this:

  1. I fuc@#ked up at planning. 
  2. I was incompetent at talking to the client or my managers and getting more time.
  3. I expected them to complement my lack on planning and incompetence with my team's added effort.

If you find yourself in this situation as a manager; remember;  pushing the idea that the sky is falling and if the team does not push harder, work late-nights or work weekends, everyone will get screwed isn't going to help.

Let's face it dear manager; you fuc#@ked up and unless you work with a team of idiots chances are that they know that it was you who fu@#ked up.

You might as well come out and say it.

Try topping that with a sorry; followed by a thank you.

Then try meaning both the sorry and the thank you.

There are multiple ways of 'meaning' it.

For me; if you usually work a holiday; it is followed by a couple of complementary day offs when you do not have work.

I usually like to top that off with a team lunch or a party that's on me; not on the organization.

It doesn't compensate for my screwing up; but it's my way of saying three things:

  1. I fuc@#ked up.
  2. I am sorry.
  3. Thanks for the rescue and the cover fire when I was stuck.

You might have your very own style of saying sorry followed by thank you; but if you aren't saying it; and then 'meaning it' using concrete actions not just words --- you're just trying to pretend you're this big highly competent manager who is making an incompetent team 'push harder' when all you are doing is being an asshole and not even knowing it.

You're what we call, a whiner; a bullshit passer and a mail server.

How many times have your team performed a rescue operation for you?

How many times have you genuinely admitted your fu@#cking up followed by a genuine thank you; not just by words but through actions?

Do you have managers for whom you would happily indulge in rescue operations; or do you just do them because you have to; dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Friday, June 19, 2009 9:41:13 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Wednesday, June 17, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 10

The Problem With Being A Bullshit Passing Whiner.

"My manager is a pompous asshole in pressure situations." --- you say.

That's a lame excuse for taking the shit and passing it over to your team when you find some on your own backyard.

Remember; organizations are all about observation.

You see, the whole act of morphing into an asshole that your boss pulled off when the sky started falling; you were watching that.


Weren't you?

Now; just in case; if you didn't realize here is another secret.

The builders in your team; they were watching it too.

Not just watching your manager; they were watching you as well; to see how you are going to deal with the shit that your manager threw at you and which is now safely lying out on your backyard.

Unless you have observed organizations and builders at work very closely; let me turn you on to another secret you may not already know --- ready?

They expect the worst.

Your builders; I mean.

Time has taught them to expect the worst. They're prepared; waiting for you to throw the shit in their backyard and get on with your comfortable life.

You can do it right now. Take the truck load of crap --- throw it over the fence straight at their backyard and forget that the problem ever existed. Be rest assured they have both; the competency and the courage to clean up the mess for you.

There is just one tiny little problem with doing that however --- at the first act leaving the shit in their back-yard you've just disassociated yourself from the team of builders; you have just sent out a very subtle, silent It-Is-Not-My-Problem message to your team.  

Do it just a couple of times and your team will start perceiving you as a 'manager' followed by an 'outsider' --- not an integral part of the team who is support to play definite role in the larger scheme of the team dynamics. 

Do it a little more frequently and you are not even a 'manager' or an 'outsider' any more. You are now just a 'problem' that the team needs to 'deal with' --- just like hundreds of other problems they have to deal with while they indulge in the act of building stuff.

You are no longer a partner in crime.

You are this pompous prick the team needs to 'take care of' or handle.

By indulging in the mere act of passing shit from your manager to your team; you go from a team member --- a friend --- a partner in crime --- to a being a problem that the team needs to deal with; in one simple and easy step.

Of-course; there is no secret builder's meeting where they officially denounce you as a pompous prick and a problem they now need to deal with.

It all happens with silent clicks-and-ticks in the minds of builders as they observe; watch and draw their own conclusions from what they see.

As smart and sleazy as you might try to act; depending on what you might have learnt from your past experiences; be rest assured; a tightly knit team of builders will have tools and mechanisms for finding out if you're a part of the team; a genuine supporter or a random outsider who is going to run at the first sound of trouble.

During my early days at Multiplitaxion Inc, we worked with quite a few of these bull-shit passers.

We had a name for them --- we called them "mail servers"

All they did was take a flame mail from a vice president, change a few words here and there and passed the message on to the rest of the team. We did their shit cleaning for them. When the shit was cleaned up; they took our emails, added a few more words to make the message as vague as possible and passed the message along to the vice president.

During my early days at Multiplitaxion Inc, I've been with a team where we've lost track of the hours or days spent at office; we have also seen an instance where one of the individuals actually ended up having a physical nervous breakdown followed by a hospitalization; because of the amount of shit was thrown on our backyard.

Did we die?

Heck, no.

All that happened was simple --- we got stronger.

Our bonds as a team grew deeper.

As far as my life is concerned; most individuals from those times, including the builders and bullshit passers have gone their own ways.

We meet every now and then; accidently; in a cafe or a restaurant.

As strange as it might sound, even today, the presence of a colleague from an old time who happened to be a bullshit passer, in the same cafeteria or restaurant makes me feel a little uncomfortable.

On the other hand, let the restaurant, have a team member, a builder or a partner in crime and I would have changed my table faster than you can think. Before you can realize, you will see us laughing and talking about the times when we went from "we're screwed" to "we made it" --- together.

In all probabilities; you will; almost invariably see us giving each other offers to join the organizations we currently work for; because working together again; is something we look forward to.

After all, who doesn't like a partner in crime, watching over his back and giving him cover fire on the battle field especially when you are building remarkable and fun products together.

If you're a young and budding manager; who accidently landed with a team of builders; you can take all your shit and pass it over to their backyard. Be rest assured; they will clean it up for you; before you even notice. There is just one tiny consistent backside to doing this however. You will go from a manager; to a problem passer; to being the primary problem of the project in on simple step. 

The next time you are having a bad day --- remember --- if your boss is a pompous asshole -- it is not your team's problem.

Letting the shit run downhill; is clearly not a 'management style' that works; specially when you are working with a team of genuine builders.

Of-course; you're having a bad day.

Of-course the sky is failing.

Having said that; at the end of the day; if they find out the magnitude of the 'badness' of your day --- you are not a builder --- just are just a bullshit passing whiner and just one of the countless problems your builders have to deal with when they indulge in the act of building stuff.

Have you worked with a manager who expected your team to work harder by forwarding a flame mail from your boss over to your team?

Have you worked with a manager who gets a strange perverted kick in ordering your team to stay late?

Have you worked with a manager who prefers to go home and get a 'status update' in an email while the rest of the team works late night?

Have you worked with a manager who thinks that he can get more output by pushing the team harder?

Have you ever had a bad day just because your manager is having a bad day, dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Wednesday, June 17, 2009 8:29:37 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Tuesday, June 16, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 9

When The Sky Is Falling.

There is something to be a said about a shitty day when things get ugly.

I'm talking about the day when the sky is failing and it is time to take a deep breath.

The day when someone in your team gets up and says --- 'we're fuc@#ked!' --- and everyone connected to the project pretends things are still fine; every single one of them realizing deep down inside; that we are in fact; badly fuc@#ked.

That's when everyone panics and the blame game begins.

This is the time to observe people in your team, your managers and yourself; closely.

Very closely.

As closely as you possibly can.

That is the time when your manager who was always a nice and friendly individual turns into a pompous asshole and your team members who were your bosom-friends turn into incompetent idiots.

Michael Lopp explains this situation rather articulately using the example of firing in his book Managing Humans. He explains:

Panic backs a person into a corner and their only means of getting out of that corner is relying on skills that have worked for them in the past. This is how a normally friendly manager can turn into a backstabbing asshole when it comes to a layoff. See, they were an asshole before; you just weren’t there to see it. If you are lucky enough to see this behavior as well as make it through the layoff, well, you learned two things. First, this guy I work for degrades to jerk when the sky falls. Second, he values me enough to keep me around. The question remains: are you going to hang around waiting for him to be a jerk to you?

At the end of the day; it isn't just about firing.

It's also not about finger pointing.

It is about the shit that was thrown into your manager's backyard, straight over his fence.

It is time to observe him closely; because what he does with the shit; to a large extent defines his character and your working relationship with him.

Given his position in the pecking order; he presumably has the keys to your professional backyard.

Is he going to add his own crap load of shit and leave it in your backyard?

Is he going to clean up his backyard himself?

Is he going to get the shit to the junkyard himself?

Are you even going to notice that he is having a bad day?

Are you going to find out the magnitude of badness of his day?

Is he just going to talk about it; or is he going to try and pass over the badness to you because he can?

If you do find out when he is having a bad day; and you can find out the magnitude of the 'badness' of his day; and you can suddenly see shit being thrown over to your backyard; it is time to rethink your relationship with your manager and your organization.

Nice Guys



Jane has found a new job.

She seeks my advice on if she should leave the five years of roots she has developed in her tiny amazing startup; behind. She is a little reluctant about moving on to a newer environment. She is a little insecure; and rightly so.

Jane is a friend; I want to give her the best possible genuine advice I can.

"I know him personally. He is a really nice guy." --- Jane explains --- while talking about her new CEO.

I hear her talk for hours and my suggestion to her is simple. It's a suggestion I've given to a couple of other people in the past.

"Nice guy" is different from "Nice to work with" is very different from "Nice to work with the sky is falling".

Jane really needs to find out if her CEO is nice to work with when the sky starts falling; because just "nice guys" with weak spines often morph into dangerous, ugly and sometimes even political monsters when things start getting ugly.

Nice Guys Or Potential Ass-Holes Waiting To Happen.

The problem with "nice guys" is that they are dime a dozen. Another problem with nice guys is that it's easy to be "nice guy". The most critical problem with "nice guys" however, is that most of them morph into serious assholes when the sky starts falling; and when they do turn into pompous assholes none of them realize that they are turning into one.

If you are working with managers or team members who are just "nice guys" capable of morphing into assholes when the sky starts falling --- it is time to consider making a few changes.

If you have other reasons for sticking around --- the overall environment; the team you are working with; a management that understands software-development; other managers you work with; growth; whatever be your reason; it is time to take your CYA arrows out of your quiver and watch your step.

When you suddenly see a truck load of shit coming your way; be prepared to see these so-called-nice-guys on the other side of the fence; throwing the crap in your direction.

An ugly day when the sky is falling is important; because it helps you find out the 'nice-guys' who are potential assholes waiting to happen.

You may not see the complete transformation from a nice-guy to an asshole; but a slight glimpse of shrugging their responsibility; not listening; not have consideration for all the effort the team is putting in; not caring what is do-able and what is not etc. are trait-enough to tell you all you need to know. 

Nice, Nice To Work Or Nice To Work With When The Sky Starts Falling.

What differentiates a builder with spine and conviction from a gutless whiner is their reaction to fire. Tell a 'nice guy' about a fire on your project and watch him run.  Tell any genuine builder worth his salt that there's a fire on your project and he runs too --- only in a slightly different direction.

Isolate a fire incident and observe a genuine builders worth their salt run; straight in direction of the fire to rescues their team out of it.

Staying late --- just happens.

Working weekends --- give them a hint and they will show up on a Saturday morning. 

Cancelling personal commitment --- no bitching or whining. It is not even a problem.

Heated arguments with your vice president of marketing --- there is more than one person willing to bell the cat.

Defending the team even if it means taking up the blame --- sure. 

Of-course, they are having a bad day; but they are having a bad day as a team --- as partners in crime who are in it --- together.

Throw shit their way and they will blatantly and openly refuse to take it; as a team.

Ask nicely; and they will go a great length to get your project through.

Being a "nice guy" is easy.

Every whiner that I have ever worked with has been a "nice guy".

It's the "nice to work with" that is harder and the "nice to work with when sky is falling" that is the hardest. What you really need to have is a team where people who are nice to work particularly when the sky is falling; that's you know you are working with a team of genuine builders.

Builders don't make dents in the universe and change cultures by being nice guys.

They do it by being nice to work with; and above all they do it by being nice to work with when the sky starts falling.

How many nice guys go you have around you?

How many of them are nice to work with?

How frequently does your organizational sky start falling?

How many of them morph into monsters when the times are bad and the sky starts falling?

How many of them stick around to rescue the team, dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Tuesday, June 16, 2009 6:52:35 PM UTC by Rajiv Popat  #    Comments [2]
Posted on: Friday, June 12, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 8

Don't Let The Bozos Grind You Down.

In my previous post we introduced you to Bozos. Bozos are individuals who out of genuine concern or an unstoppable spontaneous funny little itch want you to walk the lines they walk and remain in the realms of 'normality'. The one thing they forget however is that normal is boring. The problem in surrounding yourself with Bozos is that if you let them grind you down, they will.

Given the fact that not listening to the Bozos is such an important characteristics of genuine builders around the world, I thought it might make sense to bring to you, dear reader, a few genuine builders or amazing trouble makers on the web and present to you, their thoughts on how they deal with the Bozos trying to grind them down.

Guy Kawasaki, an evangelist, an entrepreneur and a venture capitalist, explains why you should not let the Bozos grind you down rather articulately in his video on Evangelism at Comdex:

You cannot let the bozos grind you down; because I tell you; the bozos will grind you down; especially if you have something revolutionary.

Now, I wish I could tell you that, if somebody says you'll fail it means you'll succeed. It's not that simple either; but if somebody tells you you'll fail and you listen to them and don't try, for sure you will never know.

Guy's idea is simple. Don't Listen to a Bozo and don't be one yourself. At best --- ignore the Bozos when they try to grind you down. You can literally hear the same thoughts resonate in how veteran blogger Jeff Atwood addresses the issue of Bozoism in his post dedicated to criticism of blog posts. He explains:

If you think something sucks to the extent that it's actively harming the world and you want it to go away, leaving comments to that effect is not the way. I know, because I bear the psychic scars of a million online flame-wars, dating all the way back to 300 baud dialup modems and BBSes. I've been doing this a very long time. I've seen what works, and what doesn't.

One of my favorite books as a child was the Great Brain series, the story of a family in rural Utah, set in the late 1800s. In these books, there was a strange punishment the parents doled out to their children when they seriously misbehaved. For a period of a week, or longer -- depending on the severity of the misbehavior -- nobody in the family would talk to, acknowledge, or address in any way, that particular boy.

It was called "The Silent Treatment".

This didn't seem like much of a punishment to me. In fact, as an introverted kid who loved solitary activities like computers and reading more than anything, it seemed kind of like a .. reward. I couldn't reconcile this feeling with the semi-biographical reality depicted in the books. To the Fitzgerald boys, the silent treatment was the worst possible punishment, far worse than a physical beating. They would go to incredible lengths to avoid getting the silent treatment. As punishments go, it must have been a doozy, though I couldn't quite wrap my geeky, socially maladjusted young head around exactly why.

The silent treatment was a punishment I didn't fully understand until years later in life. That's how you change the world. Not by arguing with people. Certainly not by screaming at them. You do it by ignoring them.

And if you feel strongly enough about me and what I do here, you can begin by ignoring this.

Seth Godin, a renowned marketer and author, explains the phenomenon of ignoring the Bozos and not letting them grind you down much more articulately in his post where talks about why you should ignore your critics. He explains:

If you find 100 comments on a blog post or 100 reviews of a new book or 100 tweets about you...

and two of them are negative, while 98 are positive...

which ones are you going to read first?

If you're a human being and you're telling the truth, the answer is pretty obvious: you want to know which misguided losers had nasty things to say and you want to know what they said. In fact, if we're being totally truthful, it's likely you're going to take what the critics had to say to heart.

That's a shame. The critics are never going to be happy with you, that's why they're critics. You might bore them by doing what they say... but that won't turn them into fans, it will merely encourage them to go criticize someone else.

It doesn't matter what Groucho or Elvis or Britney or any other one-name performer does or did... the critics won't be placated. Changing your act to make them happy is a fool's game.

Scott Hanselman, a veteran builder and story teller rolled into one; describes his take on Bozos trying to grind him down in one hilarious tweet that made me roll over laughing as I read it.

The tweet: --- "@shanselman I learned that some people don't like my sense of humor. Poop on those people. #standup"

Jokes aside; consider anyone out there who has shipped anything to the world --- an open source product, a paid product, a blog post, an article, an opinion --- anything. If you have or are shipping anything what-so-ever that is worth noticing, it's usually easy to Google yourself or what-ever-it-is-that-you-are-shipping and see some flames being thrown your way by random Bozos or critics out there. 

Even with this little blog that is visited by just three people, my mom, me and you dear reader, I have had my share of grinding from random criticisms here and there from both; well-wishers and random commenters.

My criticisms have raised from; simple difference of opinion from colleagues or acquaintance where someone thinks I am seeking heaven on planet earth;  to slightly personal remarks from absolute strangers where someone thinks I am soft skill retard.

Every once in a while, a couple of individuals; ranging from a well wisher to an anonymous commenter; will have a general passing remark; starting from an email or a remark on the lines of your-blog-is-becoming-boring going all the way to leaving a comment on the lines of I-am-not-going-to-read-your blog-starting-today.

To be honest, this is not about maintaining a live inventory of flames being thrown my way and linking to them.

Neither is it about how boring, stupid, odd, wearied or evil I am.

This post, dear reader, is about builders.

If there is one thing I've learnt by observing genuine builders for years; it is this --- The bozos out there are supposed to grind you down and nudge you to the safe boundaries of 'mediocrity'. Listen to them and you are going to practice safety by 'doing nothing'. After all, it's easy being a leach, shutting up and contributing nothing --- the problem with that however; is that it's boring.

This is serious stuff; you can go from a contributor trying to share his ideas, perspectives, products or stories to a non-existent non-participant just by listening a couple of Bozos. 

Most genuine builders that I have observed in my very own personal life; and the ones I've observed through their work and web presence follow three simple steps when it comes to dealing with Bozos trying to grind them down. The three steps are really simple:

  1. Ignore. 
  2. Move on.
  3. Do it anyways.

Once you've done step three and have decided to do whatever-it-is-that-you-were-doing anyways --- push a little harder than you did last time; get louder and do it in ways that are bolder than the ones you have used ever before.

If your idea or message is sufficiently strong and you have started with conviction, ignoring the Bozos is easy.

Most genuine builders do it every day of their life. They don't just ignore the Bozos; sometimes, they even listen to what the Bozos ask them not to do; and then they go out there and do just that.

You'll never be able to shut the Bozos up. What you can do however can be summed up in two simple words --- "don't listen" --- and if they go out of their way to make you listen --- "don't care".

Like most genuine builders; indulge in strong opinions weakly held; entertain all thoughts; but accept only the ones that you genuinely agree to and believe in.

I wish you good luck. 

How many examples of the Bozos trying to grind you down have you witnessed?

How many times have you proved them wrong by not listening to them?

What do you do when you encounter Bozos trying to grind you down, dear reader?


Note: This article is a part of a Work In Progress Book. To Read connected articles read the Builders At Work category of this blog.

posted on Friday, June 12, 2009 10:12:58 PM UTC by Rajiv Popat  #    Comments [0]
Posted on: Wednesday, June 10, 2009 by Rajiv Popat

Observing And Understanding Genuine Builders - Part 7

That Is Exactly What I Want To See.

"But She is going to Fail." --- for the last hour; Fred has been on the other side of my cell phone; convincing me; wanting, expecting and demanding me to interfere and pursue Jane to use technologies out there rather than the self-made component she is planning on using for the project.

He wants to hold her hand and guide her to a safe and successful completion of the project. Jane on the other hand doesn't seem to care about safety. She doesn't seem to need any hand holding either. Offer her your hand or some safety and she shrugs.

She seems to know what she is doing.

Like a genuine builder, she is walking without a safety net of lame excuses. She is taking her own decisions; sometimes succeeding; sometimes failing; and most of the times recovering gracefully out of her failures. She has been doing a great job in the last couple of months since she was promoted. 

"Do you want to see her fail?" --- Fred questions.

I cringe.

It is a spontaneous response - "Actually, Yes; that is exactly what I want to see."

The statement is followed a long silence from the other side of the phone making me feel like I just turned into an alien with five eyes.

I explain - "She is entitled to her share of successes and failures. We need to give her a fair chance."

Long silence.

The sound of a click.

Fred is a Bozo; or at-least he is acting like one.

Builders And Bozos.

Genuine Builders don't sit around whining about external factors or giving lame excuses.

Genuine builders ship.

Continuously; shamelessly and consistently.

If there is one thing I've learnt by observing genuine builders at work and around the world it is that they have thick-skins, short-memories, the minds of a child, scarred careers which are full of new or remarkable failures and very little respect for status quo. They walk on the fringes, waiting to risk it all for remarkable results and for the sake of testing their limits along with losing their fears or insecurities.

All these qualities apart; there is yet another critical quality that forms a genuine builder.

Genuine builders know when to turn completely deaf and not give a rat's ass about what 'the crowds' in general and 'the bozos' in particular think or say.

Every dent in the universe; small or large; is an example of genuine builders gone deaf.

Builders are highly opinionated and picky when it comes to beliefs and ideas. Once the beliefs and ideas survive their idea-test however; most builders turn a deaf ear to the crowd or the bozos who tell them they should stop. From that point on they have the spine to follow their own convictions and beliefs.

If you are reading this; chances are that you have been through this moment of clarity in your project; your work or your life where you knew what you had to keep doing irrespective of what others told you to do.

From the folks at Apple refusing features in the iPod to the folks at 37Signals refusing more functionality in Project Path and all their other products, builders work by entertaining all thoughts but accepting only the ones that they want to accept.

Most builders out there are not just thick-skinned or stubborn; they often turn deaf and sometimes even rebellious to what the crowds or the bozos have to say.

Meet The Bozos

Bozos are usually your so called well-wishers.

They can be your distant relatives; your colleagues; your acquaintances; your bosses; your organization and sometimes even your clients or followers.

They mean no harm.

All they want to do; is keep themselves; and you; in the safe territories of --- mediocrity.

Writer Elizabeth Gilbert explains the phenomenon in her classic presentation at TED:

They come up to me now all worried and they say, “Aren’t you afraid? Aren’t you afraid you are never going to be able to top that? Aren’t you afraid that you are going to keep writing for your whole life and you are never again going to create a book that anybody in the world cares about at all? Ever; again?"

So, that’s reassuring, you know.

But it be worse except for that, I happen to remember that over twenty years ago when I first started telling people; when I was a teenager; that I wanted to be a writer; I was met with the same kind of; sort of fear based reaction and people would say, “Aren’t you afraid that you’re never going to have any success? Aren’t you afraid the humiliation of rejection will kill you? Aren’t you afraid that you are going to work your whole life at this craft and nothing is ever going to come of it and you are going to die on a scrap heap of broken dreams with your mouth full of bitter ash of failure?”

Long story short, Bozos want you to be 'normal', 'good' and 'safe'; just like everyone else. If you think about it Bozoism-Through-Genuine-Concern-Of-Well-Wishers dates back to pre-historic days when Little-Jack-The-Cave-Kid was living on trees with Uncle-Freddy-The-Cave-Man. That was when it was Uncle-Freddy's responsibility that Little-Jack does not do something stupid; like get down of the trees and get himself killed.

That is when Little-Jack's mistake would have ended up costing him his life and Uncle-Freddy was supposed to teach Little-Jack the 'normal' route to survival; which was to stay up on the trees.

But then a weird thing happened. Someone got down off the trees; no-body was killed and then the entire human race followed. 

Today, we live in a world where all a mistake will usually cost you is a minor slap on your self esteem and a little bit of humiliation.

In today's world your professional mistakes will usually not kill you. They will just make you stronger.

Here is the sad part however --- The Uncle-Freddy-Attitude still exists amongst the Bozos who walk your planet; in the form of distant relatives, colleagues, acquaintances, bosses, organizations, client and followers. 

Long story short; just in case you didn't look and notice already; the Bozos are all around you.

Bozos In Action - Gentle Nudges Towards Mediocrity.

Experiment One:

Go and announce to your personal friend circle that you are quitting your job and are going to be an independent consultant. Tell them that it means a lot to you and that you really want to do it.


The Bozos will kick in trying their best to nudge you back to the safe and established territory of your job life.

Experiment Two:

Suggest a radically new and different corporate website for your organization.


The Bozos will kick in trying their best to nudge your back to the safe and know path of a simple, safe looking corporate website.

Experiment Three:

Have a slightly different hair style or follow a slightly different dress-code to office.


The Bozos will kick in trying their best to nudge your back to the safe and know territory of the 'old you'.

Do you understand exactly what it is that is happening here? If you don't --- understanding the Bozos around you might help.

Understanding Bozos

Bozos aren't bad people. They aren't whiners. Just 'normal' people living a 'normal' life and having 'normal' fears of failures along with a lot of preconceived notions.

What they feel; is a subtle and indescribable fear of change. If there is one property that describes their behavior the best it is - Homeostasis

Bozos usually have a 'fear' that you or your organization might make a fool out of yourself.

To be fair to them; some of them might be your genuine well wishers.

In a few cases the fear may be a result of 'genuine concern' for the organization or for you as a colleague.

There is just one tiny little problem in listening to them however.

Listen to them and you will remain safe in the realms of mediocrity for the rest of your life. A realm which builders leave as quickly as they can in search of remarkable outputs and results.

Every single genuine builder that I have seen has thrived, not by confronting or trying to convince the Bozos but by turning a deaf ear to them.

If there is one secret, builders know as a part of their very nature or as a lesson acquired from a difficult experience it is that what ever you do, if you want to build something that makes a big or tiny dent in the universe, you do not let the Bozos grind you down.

If the Bozos get louder; all you can do; dear reader; is turn deaf.

Look around you, how many Bozos do you see in your professional life?

How many of them do you think are your well-wishers?

Do you have stories connected to Bozoism, dear reader?


posted on Wednesday, June 10, 2009 7:26:21 PM UTC by Rajiv Popat  #    Comments [0]