Giving up


The costs of giving up something you desire are underestimated.

Probably 95 out of 100 times we do more harm to ourselves than good. This is because when you give up, you not only lose the battle, but also change your attitude and behavior in the future. For the next battle, you’re more likely to give up early and save some nerve, than to actually fight and come up with better tactics, think out of the box and win.

Making thinks easy is a world trend. Every invention tries to do exactly this – automate or replace the need for a human to work. Dishwashing machines replace the need to wash dishes by hand; cars replace the need to walk (don’t think large distances – most of us drive cars in towns for short trips); credit cards replace the need to care about cash and losing and handling it. This seemingly saves money and time. But in the long run, it makes you weak. You lose the opportunity to advance a skill by just not exercising it. Up to a few years ago every grown-up man driver in Bulgaria could fix minor defects in his car. However useless this skill may seem, nowadays we don’t have it, and we don’t have a substitute for it – we just have to pay to someone to do the work.

This world trend gives us incentive to give up. We feel it’s natural for things to be easy to do. It’s not – every goal no matter how minor, is hard to achieve and if you actually do it yourself and try hard, you gain much more than the time and money saved by giving up. People start to realize this now – startups do non-technical things themselves, they acquire new skills, they don’t give up.

I’m not saying you should always be stubborn about doing what you’ve started. You should see other peoples’ viewpoint and know when you’re going in the wrong direction. But if you consider to stop because the investment would be too big or you would save time by not doing something or you would rather rest and do nothing, don’t give up. You never know before you try it, and in all cases it’s worth it.

Dale Carnegie on Criticising

I was reading "How to Win Friends and Influence People" by Dale Carnegie the other day. That book has a chapter on why not to criticise people and show them respect. Here’s a passage I will allow myself to cite:

Bob Hoover, a famous test pilot and frequent per-former at air
shows, was returning to his home in Los Angeles from an air show in
San Diego. As described in the magazine Flight Operations, at three
hundred feet in the air, both engines suddenly stopped. By deft
maneuvering he managed to land the plane, but it was badly
damaged although nobody was hurt.

Hoover’s first act after the emergency landing was to inspect the
airplane’s fuel. Just as he suspected, the World War II propeller
plane he had been flying had been fueled with jet fuel rather than

Upon returning to the airport, he asked to see the mechanic who had
serviced his airplane. The young man was sick with the agony of his
mistake. Tears streamed down his face as Hoover approached. He
had just caused the loss of a very expensive plane and could have
caused the loss of three lives as well.

You can imagine Hoover’s anger. One could anticipate the tonguelashing
that this proud and precise pilot would unleash for that
carelessness. But Hoover didn’t scold the mechanic; he didn’t even
criticize him. Instead, he put his big arm around the man’s shoulder
and said, "To show you I’m sure that you’ll never do this again, I
want you to service my F-51 tomorrow."

So next time you’re not happy with someone and want to express your anger, think about what would change if you do and what if you don’t. This book is a golden mine, read it!

Grouping feeds using Yahoo Pipes

If you’re like me, you never stop reading the latest content available online. I always want to be updated on the topics I’m interested in. The way I keep up with all this info has gone through several stages:

  • Note the good sites and blogs in the notebook on my desk. When I take a look at the notebook some time and note a site or blog I haven’t visited for a while – open a browser and read the new content
  • Use my cell phone reminder service to periodically poke me about reading something written in my notebook, instead of relying on occasional glimpses on my notebook.
  • Use an online to-do and reminder service to keep track of what I want to read in place of the cell phone reminders.
  • Use feeds within Google Reader.

This is quite an evolution in its own. I have friends who are still on stage zero – keeping track of all this in their heads and opening sites periodically when they remember about them. This approach is at least time-consuming for me. Since reading Getting Things Done by David Allen, I’m more and more aware of faster, easier and better ways to organize and keep track of things. I though feed readers and Google Reader in my particular case were the latest thing and were the panacea for remembering what to read. Until the moment it got clogged. As of this moment, I am subscribed to 77 feeds, at least 1/3 of them publishing content daily. The problem for me is not the content, the problem is how to filter through it – Google Reader’s system is already too confusing with these folders and the simple feed list.

A friend of mine once told me about the existence of Yahoo Pipes, but I only discovered it now. It’s marvelous. You can do so much with it. The first thing I plan to do is at least have a better grouping method for my feeds than Google Reader’s folders. Here’s how it works:

  1. You go to, log in with your Yahoo account, and click on Create Pipe.pipes1
  2. Click on "Fetch Feed" from the Sources menu on the left. A Blank feed box is put on the canvas for you.pipes2
  3. Enter the URL of the feed you want to include. Then from the "Operators" menu click on Union. An operator box is added for you in the canvas. The Union operator can group up to five feeds into a single one. As you can see there are many other operators, which you can use to filter, extract only partial info or do anything custom with your feeds. You even have a RegEx operator.pipes3
  4. Include as many feeds as you like. You can also group several unions together. Then finally connect the last union to the Pipe Output Box.pipes4
  5. Save the pipe from the button on top and go back to the list of all your pipes. From there, you can immediately publish pipes, get an RSS feed for them, or get a badge for your blog. Do whatever you wish. And also take a look at the various other operators and options in Yahoo Pipes, they’re limitless.

In the end what I did is combined similar feeds together and included only one item for them in Google Reader to keep things simple. For me this makes it much easier to keep track and feel organized about my periodical readings. I hope you’ll find it useful, too.


Tough Business – How Social Networks Change Personality


The first title that I made up for this post was "Developers and Socialization". I know this is not what I want to write about. I want to write about a larger issue, not limited to software developers only – it’s just that thinking about the behavior of software developers brought it to my mind. So here goes.

I wonder how the world is going to change with the increased popularity of online communities, collaboration tools and social networks. Is it going to open people up to contacts with strangers? Or is it going to make loners even more scared of personal contact? I’ve been thinking about this and still can’t answer the question for myself.

I probably lean toward the former answer. The latter might even sound absurd to some of you – after all, the main purpose these networks were invented is to bring people together. But I have a perception of psychology different than the one that you read about in textbooks and mainstream magazines or journals. I think everyone is different and behaves as an introvert or extrovert, depending on different factors.

I read an article by Matt Berseth the other day, discussing whether it is OK to perform Google background checks for new employees. The question for me is different – what does the background check give you? Are people with a visible online presence extroverts in "real life"? Are people who do not appear in search results nerds who stay in front of the computer all day? No, of course, it’s individual. Here’s where software developers come in the picture.

I am a software developer. I feel uncomfortable when people have a prejudice towards software developers. A friend of mine, also a developer, never says what he does when meeting someone new, especially a girl. The reason – most people immediately change their attitude. They think you’re that geek that curses Windows every time, or uses strange word like c++, blog, java, framework. I do tell the truth every time, ready to bear the consequences.

These prejudices are not accidental. There is a reason people have them towards geeks, and the reason is geeks are weird. This weirdness comes from the fact that they simply can’t feel comfortable talking to strangers for the first time. This is the only reason and it comes naturally. They can’t break the ice, they are not pro-active. This is why I think that online communities would rather open people up for new contacts rather provide the needed social element online and scare them away from real personal interaction. They provide the first step. They connect people, and it’s always easier for geeks to talk and get to know someone online, rather than personally. After all they are in their own domain in this case.

I’m not seeing this happening yet, and this is why I was wondering about it. I have examples of really active Facebook members who can’t say a word to a stranger asking their name in reality. And yet I hope this would change. ReadWriteWeb have a nice article about quantitative implications of modern social networks. Let’s see what these numbers will look like in the next year or two. What do you think?

SearchPerks and – Microsoft Marketing


Recently I came across this TechCrunch article about the efforts from Microsoft to push their Live search engine and I was surprised by how bad they can be about their marketing. Now I don’t know if their purpose with Live is to conquer the world or just get a piece off Google’s search cake, but they obviously don’t do what’s right to attract people to it.

When I visit SearchPerks, this new service of theirs where you get coupons for using Live, I come across a page telling me to install Internet Explorer 6.0 or higher. Are we still in the twentieth century? A company like MS does not support different browsers? The only reason I can see for making such a bad move would be that they want to integrate Live with IE. Now, as far as I can remember, trying to force users to use IE by integrating it in Windows cost them a sum. Why they still think that forcing users use something (not giving them another option) is the way to go, I don’t know. I’ve defended Microsoft many times, although most of the people I know hate them. But still, sometimes they do things that are beyond me, beyond my level of comprehension and common sense.

Now, you can say I’m not a normal user, I’m a developer. So despite all the hardship and difficulties I actually open up Internet Explorer and go to SearchPerks. From what I can see, I have to actually download an application that counts the searches I make with Live, in order to collect tickets. I also have a limit of 25 per day. Well I don’t know about the rest of the people, the normal ones, but I refuse to switch a browser, sign up and download an app, then use a worse-than-regular search engine and collect tickets till April, so that I can get a t-shirt (yay) free. Come on, MS, is this today’s marketing?

Thanks for reading.

Where will Chrome’s share come from?


It is widely known by now – Google launched a new browser – Google Chrome. I’ve been using it for some time now and have to say I’m impressed with its usability and ideas about how to change the browsing experience. I’m also impressed by the performance. As most of the things Google have created – it definitely deserves a shot. What I’ve been thinking, though, is how this launch would impact the other browser vendors and their positions on the market. According to statistics, Chrome has gained 1-2% market share for one week existence.

The browser wars are an old story, there have always been large discussions about the pros and cons of different versions and vendors. Some things have become clear (IE is losing share), some others are not (is Firefox actually the best browser). What I’ve noticed as a behavior pattern is that basically there are two groups of users – those that always follow the latest trends and download the latest version, even if betas or CTPs; and those that don’t care.

So here’s my forecast on the near future.

For the enthusiasts (I think in this category most people are IT guys – programmers, designers, admins, etc) Firefox has been the norm for the past few years. They’ve always wanted the perfect rendering and speed and browsing experience. They’ve always wanted ease of development for the web. Firefox has been providing these things better than any other browser.

On the other hand the second group of people (those who don’t care) have used IE forever. Why? Because it comes with Windows. Now, it’s clear that this is going to change – MS are losing share because more and more people are becoming aware of the available options. But the majority of people still don’t care. And this is where business strategies of browser vendors differ. Another argument in my thesis that Microsoft is the best company in terms of software marketing. They sell to the masses. They don’t have a perfect product but they make it easy for grandmas to click twice and open a webpage. Firefox sell to IT guys- they are better, definitely, but their target market is smaller.

So where does Chrome fit? I am certain it aligns with Firefox. What does it provide? Speed, better experience, and new ideas. Who cares? Firefox users. So I’m thinking that in a year or two Firefox and Chrome will share the space now occupied by Firefox. It might be bigger than it is now, and the nominal share of IE might be smaller than now, but the point is – IE would be affected by Chrome’s launch much less than Firefox. Let’s see how it turns out. And here’s some supportive stats of my argument.

What do you think?

Switched domain and hosting

I’ve just moved my blog from to a hosted service. I’m still using WordPress, as it is a fantastic platform, but now I’ve hosted my blog and have my own domain – This is something I’ve been planning to do for a while and it is a fact now. I’ve ported the content from the hosted blog here, with some exceptions :). So please continue reading this blog as the old one will be deleted after several months.

So after this big change, what better reason to start actually putting some content here? I’m working on it and you’ll hopefully see more regular updates in the future.

Have fun!

What to love in a job?

Let me begin with a quotation: “If you love your job, you’ll never work a day in your life”.

This has been attributed to Confucius, James Worsham, Mark Jackson, and Anonymous. I don’t know who the credits go to, but it’s someone of the above.

It is a fact that people who love their jobs are in general more productive than others and get things done. I see a strange phenomenon here, though. This one has to do with how programmers love their jobs compared to normal people.

Why do people love their jobs? I would imagine the answer to this is that they love what they achieve through them. A manager loves the teamwork spirit he has established in his team. A salesman loves the revenue coming from the many products he sold. A craftsman loves the product he created. I can go on like this forever. Until… I reach the obvious exception – programmers. Programmers don’t like what they create – they like the means they used to create it. I know most of them don’t admit it, but what programmers like is code and coding, not the outstanding web app coming out of it – or the slick 3D game.
I might be wrong at this one, but the longer I think about it, the more real it seems. We (yes, I consider myself a programmer) love the means we use, not the final product. I’ve tried to explain this to myself since I realized it, but I reach dead end all the time. Finally I just decided to accept it, like anything else that seems weird about programmers.

Here are some examples:

  1. Programmers fall in love with development practices (Agile or TDD)
  2. Programmers fall in love with frameworks (.NET, Ruby on Rails)
  3. Programmers fall in love with programming languages (like… you know)
  4. Programmers fall in love with operating systems (Linux)

Recently there’s been a lot of hype on similar phenomena. I’ve witnessed brutal debates on what practice to use, or what framework to use when developing a product. The question I ask all the time is “Does it really matter?” What if we concentrate on what is coming out as a result and see what happens? What if we try to use what we create and constantly improve it until we love it? This is what our customers and users do and this is what causes the gap between us and them. We can try and change, but then we would be going against the community. After all, we’ve always done it this way.

Programmer Ethics

I read a lot of blogs. Everyone’s definition of “a lot” is different, what I’m saying is that I have too many feeds in my reader to follow. This is why I delay reading some of them. I usually disregard the ones I know are not that interesting and then come back to read the ones I really want. Jeff Atwood’s blog always remains the last one – the reason: I know everything he writes is worth reading.

Today, I started catching up on reading his blog, and I was astonished. WOW is the least I can say. So I know this is a little old, but you already know the reason. I know posting links is not that good for a blogger, but I couldn’t skip this. Please read the article and if you’re a developer – DON’T DO THIS.

Thank you!