Mouli’s blog

Bye Bye Beta – Gmail/Gcal/…

Posted in misc, software by gcmouli on July 8, 2009

Atlast our fav google apps are out of Beta !

beta1But the best part is a new lab feature that these crazy geeks @ google have created.

betaSoothes the soul by putting the familiar beta sticker back on the Gmail logo. Very tongue in cheek :-)

(via lifehacker)

Tagged with:

Google OS coming ??

Posted in software, technology by gcmouli on July 8, 2009

Rumors of Google OS has been doing the rounds for quite some time. I just got this in my email – an NYTimes Flash News Report. And NO, it is not April 1st (April Fool).

Google Plans to Introduce a PC Operating System

In a direct challenge to Microsoft, Google is expected to
announce on Wednesday that it is developing an operating
system for a personal computer based on its Chrome browser,
according to two people briefed on Google’s plans.

The move would sharpen the already intense competition
between Google and Microsoft, whose Windows operating system
controls the basic functions of the vast majority of personal
computers.

Wow. I am waiting for tomorrow.

NYTimes source.

Tagged with: ,

Zoho project

Posted in Management, misc, productivity, technology by gcmouli on July 5, 2009

Wow. Just saw the zoho project tour ppt. Looks awesome. I think they have the right tag line – the social way to get projects done. Some of the cool things that I saw were:

  • Integrated chat functionality – which is archived. Small decisions can be taken right there right then.
  • Import Microsoft MPP
  • Neat Gantt charts
  • Dashboard showing the nearby milestones
  • Dedicated wiki which is accessible from the dashboard.

I think it is pretty cool. Should check out.

Zoho project

Twitter fundamentals

Posted in misc, tutorial by gcmouli on July 4, 2009

twitterpostit-thumb(pic credit)

Just read an awesome introduction to twitter by Jennifer Laycock, or should I now say, @JenniferLaycock. She explains the practical uses of twitter using a great analogy – post it notes on a giant wall.

You should read through, and if you have not understood twitter until now, I assure you, you will have an ‘aha’ moment.

Read the article here.

Another nice article on the practical uses of twitter from NYtimes [link]

Tagged with: ,

Sky on Fire

Posted in bangalore, photography by gcmouli on June 30, 2009

skyonfireThe sky was on fire today evening. Taken on my way back from work. It was around 6:30PM. Location: Marathahalli bridge. Camera: Nokia 7210 mobile camera (2MP). No post processing done except for the border.

Update: When I typed “No post processing in the previous paragraph”, my mind wandered, and I wondered – “What if …”. I did only one post processing step. “Auto-level” in paint.net. Was I surprised with the result ? Wow. See for yourself.

skyonfire_autolevelIt does look very professional doesnt it ? Especially the greys on the clouds.

Tagged with: ,

Beautiful flowers

Posted in bangalore, photography by gcmouli on June 29, 2009

flowerPictures on the steps next to the tech park mall in ITPL, Bangalore. Shot with my Nokia 7210 supernova.

Tagged with: , , ,

Be a better engineering manager

Posted in Management by gcmouli on June 28, 2009

For the sake of this article, I refer to an engineering manager as an R&D manager in the hi-tech software engineering industry. But I am sure, these are applicable to engineering managers everywhere. My experiences has been with respect to the highly challenging EDA industry, and so, the information below may potentially be biased towards this industry.

An engineering manager will need to have a few qualities and need to do some things which are absolutely essential to manage a productive high energy team.

  1. Lead technically: This leads the pack. The leadership has to be technical. An ideal engineering manager is one, who has grown up the ranks from software engineer, to tech lead, and now to engineering manager. He should know the specialization technically. When his developer explains a complex idea and is reasoning out why it would take a month for him to develop — the least he should be capable of, is to understand the idea, and realize its complexity.
  2. Be able to code: When there is crunch time, the manager should roll up his sleeves, and get to brasstacks. He should be able to fire his gvim/emacs/editor-of-choice, and be able to debug.
  3. Review code: He should be able to review code, atleast at a high level. There is no way, an engineering manager can ‘own’ his team, is, if he is atleast partially accountable to the teams deliverables. I am not saying, he should review line by line. He should be able to skim the bug-fix, or a feature algorithm, and be able to determine, if it is deviating or conforming with any pre-determined spec/discussion. Speaking of code reviews, there are two good side-effects. Firstly, the manager knows exactly what each of his team is working on, and can guage the productivity of the team, at any given point in time, first hand. Secondly, he is continually sharpening his saw (in Covey language). He keeps in touch with programming, and with the algorithms in his niche.
  4. Be an excellent communicator: He needs to be able to talk two languages. He should be as conversant to the developer/engineer, as he should be with management. This is crucial. Developers should build their trust in their manager. The manager is the conduit of communication between the engineer and management. The manager should also be able to distill the communication going downwards, and pass only information that is useful the developer downwards. Engineers almost always feel there is too much of management communication that flows down. A good manager distills this information and feeds only relevant information to the engineer.
  5. Be a good listener: As I said earlier, the developer builds trust in the manager. He expresses his anger, sorrow, angst, happiness – everything to his manager. A good manager listens and empathizes. There is reinforcement of trust here. A good manager listens carefully and remembers. Have you ever seen the pleasantly surprised look on an engineers face, when you ask him/her, how his/her mother is doing, after her surgery. How do you know ? He was ranting a couple of weeks ago, about how hospitals in Bangalore suck. You rememebered. You asked. There is nothing more rewarding than seeing that pleasant surprise on his/her face.
  6. Be good in planning: You should be able translate developer deadlines to project level estimates and vice versa.
  7. Be a good negiotiator: You will have plenty of situations when you have to bargain with your developers and quite a few situations when you would have to bargain with the management as well. Most likely, the latter.
  8. Be a good influencer: This is a big one. It is related to the previous point, but a little more subtler. When you win your negotiation, you win one, lose another. But, with being influential, you win both ways. You convince. You make sure, the other side takes a decision – the decision you want them to take.
  9. Have good meeting organizing skills: Two skills are needed for this. Have meetings only when required. Start the meeting on time, and finish it on time.
  10. Be flexible: You would need to be flexible. You cannot expect a developer to turn up for a meeting at 10AM (very early morning !). You should be ok to shuffle around meetings so that it is convenient to most people. Be flexible in cancelling meetings, if one is not needed at that time.
  11. Work with the team: Last but not the least – work with your team. Do not sit in your room and let the team do their work. Work with them. Debug with them. Discuss with them. Plan with them. This is not just good for the team. It is good for you as well. You are abreast of what the team is doing technically. It will help you plan your schedules more accurately. And you are continously sharpening your saw – broadening your knowledge.

These are some of the techniques, that could make you the star engineering manager. These are but the tip of the iceberg. The main thing is, you stand for the team. You are their conduit to management. And you are the face of the team to management.

Note1: The above list is in no particular order of importance.

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

Tutorial: Add drop shadow to your pictures

Posted in misc, tutorial by gcmouli on June 28, 2009

As I had promised some time back in my ‘adding borders’ tutorial, I am now giving step by step instructions to add a drop shadow to your pictures.

The original picture – I name this picture milk train. This was shot in Dadri, a small station just outside of Noida, on the Delhi-Aligarh line. This is total milk country (Uttar pradesh). This is the first train, that is heading towards Delhi. Notice the number of aluminium milk containers slung on the side of the train.

milktrain

Step 1: Add a nice black border to the picture. We know how to do that. If not, go here. (quick recap – set bgcolor and fgcolor to black. Then image->canvas size ; change by % and set to 98 ; and then do the same thing with 102.

step1

Step 2: Change bgcolor back to white. Image canvas size ; change by percentage ; 110%.

step2_paint

Step 3: Now choose the magicwand tool (see above picture. I have chosen it). Click on the newly added white area. It will not become chosen. Click the del key. You should not have that area transparent.

step3_paint

Step 4: Add a new layer. Layers -> New Layer. I hope you have the layers window showing up. Else go to windows and choose layers window. You should see something like this.

step4_layer

Step 5: Click on the background layer in the above window. Select All (ctrl -a). Copy (ctrl -c).

Step 6: Click on the new layer in the layers window. Paste (ctrl-v).

Step 7: Now you should see the picture in both layers in the layers window.

step6_layer

Step 8: Now make the new layer invisible – by deselecting that layer in the layer viewer. Now you are seeing only the background.

Step 9: Make the image black and white. (adjustments -> black and white)

Step 10: Then Effects->Blur->Gaussian Blur and set the radius to 10.

step9

Step 11: Now select both layers. And click on the new layer, so it is active.  Select All (ctrl-a). Choose the move pixel tool.

step11_move

Step 12: Now, click on the image and move it slightly to the left and top. You will see the image move, but the blurred image (background) stays, You will see a nice blurred shadow stay, while your image moves. Move it to the extent you like.

step13

Step 13: Now click on merge layers.

step14_merge

Step 14: And voila you have your image with a very nice drop shadow. For best effects ofcourse, use on a white background.

final

Tagged with: ,

Michael ‘Jacko’ Jackson dead

Posted in misc, news by gcmouli on June 26, 2009

mj

Despite all the bad publicity he got, the failed plastic surgery, the child molestation case (of which he was acquitted from), and the adoption of a child, and allegedly not taking care of it properly, and the wierdness of it all —- his music was still iconic. His albums ‘thriller’ and ‘bad’ filled my school days. It is sad.

Just call my name – and Ill be there. – Very  heart-breaking. Apparently a commerical. via BoingBoing. via AnilDash

The original “I’ll be there” song – Jackson 5 – 1972 show.

Tagged with:

Misty Blues

Posted in photography by gcmouli on June 25, 2009

blue1blue3

Misty blues. The first one is the Nilgiri Mountains (Masinagudi) – true to its name -  shot early in the morning. The second one is from the Pamban bridge and the mighty Bay of Bengal, on the way to Rameswaram, shot in the late evening. Beautifully soft hues.

Photos are copyrighted to me. Permission is granted to use them on the condition that due acknowledgement is made.