Jun 8, 2007

Thought for the day

Do the right thing, rather than doing the popular thing.

Jun 6, 2007

World Environment Day - or how to save energy costs

(pic from Natgeo)

As per the UNEP, yesterday was World Environment Day. For those who watch TV, you would have seen some news clipping on it... and said in your mind "yeah. need to do something about it" and then forgotten about it.

Why So ?? I think that the main problem with the media is that they don't tell us the solutions, but only throw up the problems. If they do show some solutions they are of such a scale that we probably cannot do them due to the impracticalities. Yes , global warming is an issue of epic proportions, but I believe that the problem which is going to catch us with our pants down is not an issue of global warming, but of energy crisis.

Conventional Fuel vs Alternative Fuel

Conventional fuels are the ones which we have grown up with. E.g. the petrol which goes into our cars. By some estimates we only have around 20 more years of petrol available. Since price depends on supply and demand, as the demand grows with the supply decreasing, the prices are going to skyrocket. Not only that, burning of such fuels increases the energy output to the atmosphere ... leading to global warming.

So, we have to look at ways of using the natural resources around to get the energy. We already use a few of them, but they are not being used in a critical mass to really get much benifits. Anyways, every little bit helps. Some examples :

Water/hydel energy :
Most of our homes are energized by the energy of falling water getting converted to electricity.
Drawback : Huge tracts of water get water logged. This not only destroys the natural ecosystem of that place, but also causes friction between the people who get displaced.

Solar Power: Its not picked up much. Some outlying places in india use solar power to light the street lights. One of the efforts to go solar is being led by Google which is setting up a 1.6MW plant on its campus to light it up.
Advantages : works great where there is an abundance of sunlight. e.g. India, California.
Disadvantages : cannot only depend on it. E.g. in my apartment building the hot water is through solar geysers. They work great when it is hot (e.g. summers) but not when I really need the hot water (rainy cold days). It will have to work in conjunction with other power sources, but still requires lots of work.

Wind Power: Some small plants have been setup, but I havent seen any applications to our regular life so far.

How can we save on our energy consumption.

Ok, here I come to the main part of my post. I am not going to say what all you can do to save the environment, I leave that to countless other websites. Here's a howto to save your energy consumption and so your money. Makes sense eh ? :-D

1. Use a bike.
Yeah. Well , you know I have a partial liking to bikes, so this has to come up :) . However, you save money when you use a bike to commute to the office. On an average , cars give a mileage of 10kmpl-15kmpl. On an average bikes give a mileage of 30-60kmpl ! Even my bike, which is petrol hungry gives almost 2-3 times more range compared to cars. Add to it that its easier to find parking, and negotiate traffic - this is a no brainer. Check out bikenomads to get addicted to bikes!

2. Use a cycle.
For those who are also concerned about their health, nothing better than cycling. Check out bikeszone , a forum by a friend of mine in Bangalore where you will find more people who travel on cycles to office.

3. Use CFLs.
CFLs cost more than tubes or bulbs. But their power consumption is very less. a 18W CFL gives as much light as 100w bulb or 40W tube, and longer bulb life also. Lesser energy, lesser costs on your pocket.

4. Grow plants in your home.
Having potted plants at home is a great way of cooling off the home. Have you noticed when you visit a friend who has lots of plants that his house always seems cooler ? ?

5. Use good curtains.
Basic funda is to prevent the heat from outside coming in too much , as well as loosing heat to the outside.

6. For the house builders.
If you are building your own house, there are many possibilities that you can look at for your home. Some of which I know of are :
i. Using a high ceiling. Keeps the house cooler.
ii. Use double paned glass on windows. It helps to insulate the house better.

7. Use LCD monitors.
They look cool, and they use less energy. a 19" CRT monitor consumes 100W of power, while the same size LCD consumes 35W. The initial cost per monitor may be higher , but the running cost is quite low. If you notice, most companies are going the LCD way even though the intial cost is higher per unit.

8. Use energy star compliant appliances.
Energy Star reduces consumption by about 15% . Buy your next fridge, AC , etc which are Energy Star rated.

9. Position the appliances carefully.
One of the things that I see is that refridgerators are mostly kept in houses snuck up to the wall. Do you know that the cooling coils are located at the back of the fridge ? Make sure that there is ample space behind the fridge for air to recycle.

10. Keep your cars and bikes properly tuned.
A better tuned car/bike utilizes the fuel more efficiently. Make sure your vehicles are in absolutely the best condition. Do regular services for you vehicle. If you are a bike user, then it is even better as you can do some of the things yourself.

Do you have something to contribute ? drop me a line !

More links :

Jun 4, 2007

The Surface

Microsoft recently announced an interesting technology which they dubbed Surface. Its basically an interactive surface, and it looks quite impressive. It even feature the multi-touch feature which Steve Jobs had shown off on the iPhone at the start of the year.

The price would be quite high, not for joes like you and me. And I wonder what happens if one leaves coffee stains on it ? Apart from that, definitely something out of the sci-fi books !

Check out :
* Demo on the Microsoft Site.
* Preview on Engadget.

Jun 1, 2007

l33t talk

Most people by now are ok with the sms talk. 4 xmpl : ut ?

However, I recently came across the l33t talk ( leet talk) ... and I predict this may also become part of our future talk, cause most of the kids who will be tomorrows workers are getting a healthy talk of this.

l33t talk is the shorthand of online games. I play WoW and this is where I am picking up these things, and oh boy, they can be applied so easily to everyday life. So, here goes a small dictionary of the leet talk.

133t : Elite
In the game many of the monsters are elites, which means that for the same level as you, they are 2-3 times more tougher. Now, elite is too long to write, so it got converted to leet ... which got converted to 133t ( e=3) . Normal day usage would go like :" I own a zma, but oh man ... the busa is l33t!".

woot ! : expression of joy
Derived from loot + wow + other expressions of joy. Now, in the game, when you kill a l33t he drops some loot. It ranges from somthing mundane to something amazing. When you get something amazing, its like omg ! amazing ! i got it ! . That's when you say woot ! e.g. on my character Brahmos, I have the 'Greaves of Desolation' which dropped after killing a l33t - woot !

wtf : what the f***
No explanations needed. Its quite prevalent.

omg : Oh My God
The phrase probably made famous from the FRIENDs series. Too long to write it is now abbreviated to omg. Notice no use of '.' . e.g. "OMG! the new 200 fork cracks !"

ty : thank you.
Well, you thank people who help you.

gg : Good Going !
said to people who have played well. usually said after running an entire instance. Real life usage : "GG Hitanshu for making it to Leh!"

gtg : Good To Go.
This one flummoxed me a bit initially as I work in the Good Technology Group (gtg) ;) . Its basically said by people who are travelling to the same destination, usually to play instances or raids.

omw : On My Way
Again a team talk. I am on my way

k : OK
ok is small. k is smaller.

ftw : For the Win !
Its usually to show supremacy. E.g. "ZMA FTW !" (would mean the same as ZMA rules !)]

n00b : new person
Normally a new person is called newbie. This got converted to Newb, to noob to n00b (its got zeroes instead of 'o' similar to the substitution in l33t). E.g. "That n00b on the 200 could not take the curve and crashed!"

Thanks for going through an irrelevant post which I just felt like making ;)

Vibhu FTW you N00B!

May 17, 2007

Blogs on my homepage

I am back from my wedding. Wedding pics.. umm... you come over to my home to see the album :)

For now, just been trying my hand at a bit of javascript and AJAX. So, what that does is, it solves a problem for me which I had been trying to figure out for a long time now. Now, I can get the blog posts here to display on my website !

Go, on . Click the link to my website and see how it looks !

Apr 11, 2007

Thought for the day

Starting a new TFD section as I keep coming across things which pause you to consider. Hope you enjoy the updates !

We aree so afraid to take a risk for fear of losing that we end up missing out on the opportunity to win.

Apr 9, 2007

Breakfast Ride

Lineup at A1

Pascal was in town. Chatted with him on saturday and decided to meet up next day, but thought - hey, its been like a long time. Lets have breakfast on the Highway ! Pascal got in touch with GR and the deal was on. Later on contacted Swamy and Partha to meet up at Runway 9 to leave for the A1 for breakfast. GR called in evening to convey that Manju from 60kph and a Malaysian who was on an India ride was also going to join us for breakfast.

After ages, got up at 6am. Sleepy. Called up Swamy and Partha to wake them up. No replies. Gave up. Left around 6:45 and was at runway9 at 7:25am. GR and Pascal(pillion) came and we waited a bit more. Then this dude on a Beemer came up. Luggage loaded. Just started chatting with him and Manju showed up also. Decided not to waste time here and talk but move to the A1 restaurant.

Got to know that Ahmad Rosman was on a trip across asia and had to be in Darjeeling by wednesday. Spent time calling up people and finding out how good the route from Nagpur to Calcutta was. Did not get full details, but Ahmad decided to go anyways instead of doubling back to hyderabad and going via vijayvada.

Left the place at 9:45 back to hyderabad. As we came into the bad hyd traffic, heard a shout of 'Vibhu' ! It was my colleage from office Rejish. Told him I was just back from a 100kms or so breakfast ride ... he was flabbergasted.

How to make him understand why we ride ;)

Micromanaging and making Zombies

Came across an interesting article on how micromanaging makes people zombies all complete with a graph as below.

Now, ask any manager and he will tell you he does not micromanage. However, we do keep coming across such managers with a frightening regularity which makes me pause and think - why ?

Mostly I think it has to do with career progression. Most people join as lowly devs and become senior programmers, move on to team leads ... and then the transition happens. They look around and the future becomes very one sided. They see that the big pay cheques are where the managers are. So, they want to become a manager.

Not necessarily a bad thing, but management is a whole different ball game. From being a solo star, they have to become group stars and mostly they fail - miserably. That's where the micromanagement comes in. When alone, they had everything under them in control, and as they become managers they become control freaks. They NEED to know everything. So, they start to interfere in everything - and need a hour by hour breakup of what is everyone doing, in the misguided hope that everything will be going according to plan.

However, that never works out. Software work is never something that you can just keep doing all the time. It is done in fits and starts. Sometimes you are doing 200% and others just nothing gets done. Micromanaging in such situations leads to a zombieness. People stop thinking and just doing what is asked on a day to day basis - never thinking more or doing more than what they are told to.

But alas there seems to be no solution. The reward for good technical work is to become a manager and then (mis) manage everything. A comment at mini has the following :
I’m smart enough to know that I would not make a good manager, especially if my motivation for becoming a manager is simply to further my career. At least if I screw up as an IC, I’m not screwing up five other people’s careers.
Alas, not everyone is as wise or as selfless as that person. Till that time, we shall continue to get our creativity crushed under the micromanagers !

Apr 5, 2007

Software Development as a Cooperative Game

Software development has been compared to with different engineering disciplines ... mostly without success. Its been compared to bridge building, with automobile construction etc. Then, the big bosses, try to put in that methodology into Software development - with spectacular failure. And instead of finding a fault in the methodology or the 'Process' they are more liable to blame the people.

I think its cause of a) They not understanding the field , b) their big EGOs.

Unfortunately, if you work in a mid or big level organization, you are going to suffer these people, as they have mostly made their way up by sucking up and playing politics, not really by understanding how things work. Another reason is because they have been looking at all the wrong places to figure out how software works.

Alistair Cockburn has a fantastic article on what Software Development is all about. He compares it with Rock Climbing and I must say that it fits in better than any other theories I have read.

FTA:
I would like you to consider software development as a cooperative, finite, goal-seeking, group game.
Then he explains in terms of Rock Climbing ( i did rock climbing a long way back so the explanations were like 'let there be light' kind of revelation). The main comparisons from the article are :

Rock climbing is Technical. The rock climber must have technical proficiency. The novice can only approach simple climbs. With practice, the climber can attack more and more difficult climbs. The better rock climber can simply do things that the others cannot. Similarly, software development is technical and requires technical proficiency, and there is a frank difference in what a more skilled person can do compared with a less skilled person.

Training. Rock climbers are continually training and searching for new techniques they can use, just as software designers do.

Technical Pass/Fail. A key point of comparison between rock climbing and software development, for me, is that not just any solution will do. The climbers must actually support their weight on their hand and feet; the software must actually run and produce reasonably accurate answers. This key characteristic is missing from most alternative activities that people select to compare software development with.

Individual and Team. Some people just naturally climb better than others. Some people will never handle certain climbs. At each moment on the climb, the person is drawing on their own capabilities, have to hold up their own weight. The same is true in software.

And yet, climbing is usually done in teams. There are a solo climbers, but they are in the minority. Under normal circumstances, climbers form a team for the purpose of a climb and the team has to actually work together to accomplish the climb. Similarly, software developers, while working on their individual assignments, must function as a team to get the software out. The "Team - Individual" dual aspects of software development form the basis for most of my current work in methodologies, and I'll get back to it before I'm done.

Tools. Tools are a requirement for serious rock-climbing: chalk, chucks, harness, rope, caribeener, and so on. It is important to be able to reach for the right tool for the right moment. It is possible to climb very small distances with no tools. The longer the climb, the more critical the tool selection is. You software developers will recognize this. When you need a performance profiler, you really need it. You can't funtion without the compiler. The team gets stuck without the version control system. And so on.

Planning and Improvising. Whether bouldering, doing a single-rope climb, or a multi-day climb, the climbers always make some sort of a plan. The longer the climb, the more extensive the plan must be, even though the team knows that the plan will be insufficient, and wrong in places.

Unforeseen, unforeseeable and purely chance obstacles are certain to show up on even the most meticulously planned climbing expeditions, unless the climb is short and the people have already done it several times before. Therefore, the climbers must be prepared to change their plans, to improvise, at a moment's notice.

This dichotomy is part of what makes software development manages gnash their teeth. They want a plan, but have to deal with unforeseen difficulties. It is one of the reasons why incremental development is so critical to project success. (Does that sound like climbing in stages, and setting various base camps?)

Fun. Climbers climb because it is fun. Climbers experience a sense of flow while climbing, and this total occupation is part of what makes it fun. Similarly, programmers typically enjoy their work, and part of that enjoyment is getting into the flow of designing or programming. Flow in the case of rock climbing is both physical and mental. Flow in the case of programming is purely mental.

Challenging. Climbers climb because there is a challenge - can they really make it to the top? Most programmers crave this challenge, too. If programmers do not find their assignment challenging, they may quit, or start embellishing the system with design elements they find challenging.

Resource-limited. Rock climbing works against a time and energy budget, needing to be completed before the team is too tired, before the food runs out, by nightfall or before the snows come. In general, climbers plan their climbs to fit a resource budget. Similarly, commercial software development is governed by budget and need. It is in this sense that open-source development is different from commercial software development.

Dangerous. If you fall wrong on a rock climb, you can die or get maimed. This is probably the one aspect of rock climbing that does not transfer to software development. Rock climbers are fond of saying that climbing with proper care is less dangerous than driving a car. However, I have never heard programmers need to even compare the danger of programming with the danger of driving a car or crossing the street.


Have fun reading the article here (its quite long).