British understatement – Ford Fiesta Road Test Video

You got to watch this. Amazing. Wait for a few minutes, before the fun starts though. Fun starts around 4 minutes.

[youtube=http://www.youtube.com/watch?v=h_KIqdS1SO0]

The first comment in the youtube page says “I love British Understatement.” So do I. The sarcasm and the wit in this video is amazing. Have fun.

Note: The ford fiesta in the UK looks like the Chevy Spark in India. The fiesta in India is a big beefy car. These auto makers keep juggling the same name for different models across the globe.

[via daringfireball]

Managing start-ups

First off, for those who claim that management is not necessary in a technical environment — I respect your opinion, but what I am going to be writing below is not going to interest you. You might as well go to slashdot, or metafilter, or coding horror, or …. (Disclaimer: The fact that I believe that management is necessary in a technical environment does not mean I do not visit the above sites – I am still a geek at <3 .)

Managing a start-up environment is different from managing a mature software business. There are several things that work in a startup but may  not work in a mature setup, and vice versa. You should notice that I have emphasized the ‘may not’. There are several companies that I know, which work in startup mode. Some of the below may work in these, if it is part of the culture of the company.

The following points are not arranged in any particular order.

  1. Avoid meetings – have discussions: It may seem like I am just calling it by a different name. It is really not so. There are several significant differences. Some of the key differences are:
    1. In a discussion, there is significantly more participation from the grass roots engineers, than in a meeting.
    2. There is no agenda. There are points of discussion. The key point is here is that, meetings are over when the agenda points are done. Discussions are over, when everyone is convinced.
    3. There is a lot of learning in a discussion. People can ask for clarifications and elaborations.There is no “lets take this discussion offline“. This is the discussion.
    4. Action items are taken by the ‘actioners’ themselves. There is more accountability this way.
  2. Avoid status meetings: Status can be covered either by discussions like the above ; or by just walking over to the cubicle of the developer. I sometimes write down the action items etc on the white board in the cube.
  3. Give more freedom to developers: They are more creative this way. They are more accountable, and they feel good about it. Developers who feel good about code they develop, just are more productive.
  4. Break stereotypes: Get wifi to the coffee room/pantry. Who says the pantry is only for relaxing. If the developers are most productive in the nights, and request for coffee/tea in the night, get it to them. Do they require dinner ordered in – order in. Do not think about, what others will think about it — or whether it has ever been implemented before. Just do it.
  5. Isolate from management: As far as possible, you the technical manager, should be the one who oversees the development. Try and avoid as much as interference from higher management. They do a very important job of bringing business to the company. Let them do it in peace. Try and avoid them giving advise/suggestions/recommendations on what should go into the product, or how easy/difficult it is to develop something. You, the technical manager, should be the conduit between the upper management.
  6. Reward rebels: There are programmers, and there are rebel programmers. These are the bearded ones, which get maximum work done between 11pm and 1am. Encourage through whatever-means-appropriate-means for them to align with the high level objectives of the company, and you have a winner here. Reward the rebel handsomely. One must understand that rebels do not consider money as the only reward. They can be rewarded with better machines, dual monitors, leaves-with-no-questions-asked.  These things will equally excite the rebel in your team. Go on, encourage the rebel in your team, and kick-back-and-watch-the-fun.
  7. Infuse energy: Have you ever walked into a start-up office (atleast one that is doing well, and that is managed well). Can you feel the energy. There are heated technical arguments in the hallway. There are ‘rebels’ having good over-ear headphones, listening to some loud music and bobbing their heads, as their hands furiously program. You can see people coding with feet up in the table. You can see someone who has just finished coding a module, get up, and throw up his hands in accomplishment, and drag a few of his mates for a coffee. Thats the energy. Encourage it. You, the technical manager should be part of this energy. Go and hi-five the guy who just finished the module. Participate in the hallway argument. Kick back and have a cuppa coffee with the so-called-junior-developers and share some history. You will not only be considered the cool guy. You will be the one who will be accredited for all the energy (and hence the productivity).
  8. Small perks are valued more: Perks such as spending a hundred dollars on a fancy expresso machine are valued much more in a start-up. It reinforces in the workforce the confidence that management is trying to make the place as much fun and comfortable for them. Fresh cut fruits in the morning is another example. Rebel coders rarely have the time to shave, leave alone, have breakfast. They will come to work, and have fruits and coffee. Do not lay your hands on these small ticket items, when management tells you to cut discretionary spending. You can save more in economizing other things. Infact, get the dev team together, make the decision together.
  9. Percolate field news to dev team ASAP: This is something that successful start-ups always do. Some of them do it partially, and get bombed for it. When I say partially, I mean, only bad news from field, in the form of bugs, and enhancement requests, trickle to the dev team. This is no good. Did sales bag another order – however small it is? Share it with the team, and celebrate. Hey the sales team celebrates it. And the dev team usually gets to know about this, and thinks – “dang! I created the feature, and I get nothing.” Percolate good news and bad news from the field down to dev team. You gain two things by doing this. You gain good-will from the team – the team thinks they are a part of the whole gig. And secondly, you get the dev team working more productively towards what the field and the customers require.
  10. Celebrate every occasion: Yes, I mean every occasion. There need not be a lavish 5 course meal. Celebrate with ice-cream. Celebrate with pakoras or samosas  (in the Indian context). A feature that has been under development for 6 months, just got done. Celebrate. And call the whole team for it – not just the 3 people on the project. A new customer. Celebrate. 1000th bug fixed. Celebrate. A developer fixes his 250th bug. Celebrate. Give him a uber-debugger award certificate for it ! It is not about the food, or about the time, or about what you are celebrating. It is about, getting the whole team together, and reinforcing the thought, that the team is doing something very cool, and the management recognizes it.
  11. Practise management-by-walking-around (MBWA): I just walk around and gather status. I just go and sit on the developer’s desk, while he lounges in his chair, and explains what he has in plan for the next week. He basks in the glory of fixing his 4 bugs last week. He tells me that he will be on leave on Tuesday. What did I just do ? That was my status meeting. I walk back to my office and note down important things in the conversation. You can get a lot of work done this way – and if you notice, the developer did not get off his chair, and he got back to work, right after you buzzed off. Wow, talk about productive meetings eh ?
  12. Aggressive targets: Set aggressive targets, but after buy-in from the developers. Push the line. Raise the bar. Tell the developer that you are raising the bar. Make him/her raise the bar. Challenge the developer.

These are some thoughts on how managing start-ups can potentially be different from managing a normal software factory. These are not rules. That is the whole point. Take these ideas. Spin them off in your context. And watch the fun unfold.

The opinions expressed in this article are solely mine, and are not of my employer, in any way.

China’s college entrance examination – Gao Kao

There is an article in NYTimes about how the Chinese population is obsessed with a certain examination called the gao kao – which is the entrance examination to the 1900 or so, institutions of higher learning. Parents pull out all stops for their children to get a good score on this, based on which you can get an admit into the different tiers of universities (top tier, second tier etc). Does sound familiar does it not ? Like the IIT, DoT, DoM, CET, or whatever regional test that Indian students go through to get into the various engineering and medical colleges. Except, there are so many of them in India, vs, one unified gigantic examination for the entire chinese population. More than 10 million Chinese students take the test.

A lot of the article seems to be like the regimen that a lot of students go through in India as well, but one thing blew mo over. Check this out:

Families pull out all the stops to optimize their children’s scores. In Sichuan Province in southwestern China, students studied in a hospital, hooked up to oxygen containers, in hopes of improving their concentration.

Wow and look at this picture.

pic courtesy: news.163.com
pic courtesy: news.163.com

Read the NYTimes article here.

Some more pictures of oxygen studying here.

Trains in Switzerland

Must see video for people who like watching trains.

[vimeo 4946315]

“An absolutely stunning tilt-shift video of various trains passing through the Swiss villages of Sisikon and Göschenen. This project was filmed by Andi Leemann and Jeri Peier using two EOS 5D Mark II cameras, a Canon 90mm TS-E f/2.8 and a Canon TS-E 24mm f/3.5 combined with a 1.4x converter.” – [link from GAS]

Mitten coffee

Yes. You heard it right. Thats what I call my coffee making ritual in the morning.

mitcof1And hey, whats inside the mitten (glove)?

mitcof2It is becoming cold here in the mornings in Bangalore. Summer is over. And to get my hot water percolate down the rich coffee powder in my percolator, is not so easy. The percolator needs to be kept warm, for the process to finish fast. Hence the mitten treatment 🙂

All images are mine and permission is granted to use them, providing proper acknowledgement is made.

Tutorial: How to add borders using Paint.Net

Original image

Bonsai that I own (yeah yeah I know, it is fake and plastic)
Bonsai that I own (yeah yeah I know, it is fake and plastic)

– Make sure your color palette is shown (else go to window and enable)
– Set Primary color to Black and secondary to white
– Image -> Canvas Size -> choose by percentage – 95%

click to enlarge
click to enlarge

– Image -> Canvas Size -> choose by percentage – 105%

click to enlarge
click to enlarge

– Now you should see a white border on your image like this:

result1
Note the white band around the image.

Step 2
– Set your secondary color also to black
– Image -> Canvas Size -> choose by percentage – 99%

click to enlarge
click to enlarge

– Image -> Canvas Size -> choose by percentage – 101%

click to enlarge
click to enlarge

– Now you should see a black border on your image like this:

Vola ! Beautiful border around our image.
Voila ! Beautiful border around our image.

Next tutorial tomorrow would be: How to add drop shadows to images. We will take this last image and add a drop shadow to it. Stay tuned!

Support Free Software. Download Paint.Net by clicking below.

Get Paint.NET!

Movie Review: Naan Kadavul

Disclaimer: Below post has full story of the movie. I will not call it a spoiler, since it is a spoiler (you will spoil yourself) if you watch the movie. Might as well read below.

  • Movie directed by Bala. So has to be psycho movie.
  • Hero is Arya, who has portrayed perfect psycho.
  • One family gets one baby boy. Josier says some big dosham. Family should not see baby for 14 yrs.
  • Stupid father goes and drops off the baby at Kasi
  • 14 yrs later. same stupid father and girl (younger sister to above said dosham baby) go to kasi in search of boy
  • Father and sister find the boy to have become an agori saint (the saints who worship dead bodies etc. Rumoured they also eat some parts of flesh. This is Arya.
  • Movie shows agori saints in light. Saints always high on drugs and bhaang. But this nice rudram songs comes here only. Saints upside down dhyanam in komanam etc.
  • Father begs guruji of above said brother to please let him take him down south (trichy) to show to his mother.
  • Parallel track during all of above is villian who is pichaikaaran manager – runs a big gang of pichaikaaras. Very gruesome. Unable to watch for long.
  • Above said mottai villain also in trichy.
  • Arya behaves all psycho even after he comes to Trichy. Mother cries – why should she see son in above said psycho form. Might as well not see. etc etc
  • In above parallel track, one blind girl is pseudo-heroine.
  • Mottai abducts pseudo-heroine, angering Arya. Around this time, it is kinda blurry. She comes to him and asks why she should live any further with so much suffering. Then suddenly she dies, and arya brings flame from right hand and burns her right there !
  • Then Arya hunts down mottai and kills him
  • End of story. No ending (happy or sad) – which is typical of Bala

Thali Gharwali

On Saturday, I had lunch at Purabhi’s Dal Roti – one of our favourite restaurants in Koramangala (R loves it there too). I had originally thought I would have their delicious parathas – two parathas served and they are huge (defenitely worth the money – and they are reasonable too!). Then I chanced to see the Thali Gharwali. For some reason, R and I have always skipped this.

Today, I was in the mood for a square meal, or a um, round meal, sure whatever. And the thali it was. I know the manager of this restaurant well (yeah yeah, I know, it is because we have frequented this place too often in the past!). So he came and kushalam vijaarichified (*). I asked what was there in the thali today. And he said, good stuff and made the A-OK sign with his fingers. I said “Bring it on!”.

The perfect meal:

  • – 3 phulkas
  • – 1 katori dal makhani (the dal makhani here is the best I have tasted in Bangalore)
  • – 1 katori jeera aaloo
  • – 1 katori kadi pakodi (I am not a fan of kadi – so I fished out the pakodi and ate it ! :-))
  • – 1 katori pulao (only half cooked – typical of north Indian food !)
  • – 1 katori mixed raita (delicious tomatos and cucumbers, and very less onions)
  • – 1 lijjat papad

On the whole, quantity which is just about right, and variety a plenty. I did not feel gluttonous after the meal. Perfecto. Kudos to the Dal Roti Chef.

Location of restaurant: Koramangala – on the road which leads to Sony world junction from Vivek Nagar/National Games Village. It is between the pizza hut junction and Sony world. It is on the first floor. The entrance is on a side road. It is easy to miss. Look out for their signboard (see below):

Coffee Cup Inverter

coffecupinv

By far, one of the most innovative inventions that I have ever seen. This seemingly innocuous looking coffee cup connects on one end to your cigarette lighter (present in every car these days) and converts that DC power into AC power – in the form of 2 power sockets – which you can then use to charge your IPODs, mobile phones, whatever. The coolness of it is its shape. Almost every car these days comes with a cup holder, and this chap just sits snugly there. No searching for a place to keep this. No more ugly looking anti-slip mouse-pad looking pad on your dashboard.

Oooh Shiny. Me want me want …. (But then, I see it is now available only for 120V US style sockets. Hmm, universal adapter anyone ?

[via boingboing .. via thinkgeek (if you wanna buy it, go here)]

Image courtesy: thinkgeek