Sunday, April 28, 2013

Request To Webdevs: Include Ip/User-Agent Info In Forgot Password Email

The Forgot password email template has been the same for more than a decade. It is time to include more information in the email.

Here are the couple of Forgot password email I received from Facebook and Twitter recently. Both of them were not initiated by me, my Facebook account is deactivated a long time ago. I have also recently changed the email id to a different email id, and I still receive at least once every month.

I suggest to send more information to the user to take decision. For eg., Gmail displays a notification bar if there are any suspicious activity, like login from two different countries in short span of time. Other webapps should also do the same, it is not 2004 anymore. People ignore these emails if they don't initiate it, and the web apps don't have enough information to block the IP if there are patterns.

So kindly include information like IP Address, Browser Agent, Country/State if possible.

Saturday, April 27, 2013

Some funniest moments from my appraisal

I had my one-on-one meeting for 2012-13 appraisal this week. I was disappointed with the feedback given to me. Well, I have been working for very long time, and I know if you are not hurt then it is not an appraisal.
We received a email from my manager couple of days before the one-on-one meeting, explaining his expectations from resources. A week after we submitted our self appraisal. Though unofficial first rule of appraisal is not to talk about appraisal, I couldn't help myself from posting this.
  • We have raised our bar, so no one get 4. (Points: 1-worst, 4-best)
  • Discipline: 1 Reason: I'm not available in office at 9am.
  • Communication: 2 Reason: My emails were always short, 3 to 5 sentences.
  • Kaizen/continuous improvement/initiative and resourcefulness: 1 Reason: You didn't participate in any kaizen/improvement or initiative
  • Interpersonal skills: 2 Reason: It is my honest feedback.
  • I got three on other parameters.

 --- ✄ ----
We have raised our bar
If no one get a 4, what is the point in keeping?

Discipline : I'm not available in office at 9am.
Our official work hours starts at 9:30 and only handful of people (less than 5) including security  on the days I go early. I have asked is the only parameter? their answer was yes. They don't consider the fact my flexi-timing is actually 11:30 - 8:30 and I log 12+ hours a day  at least once a week. Also not ready to consider, I need to support both AUS and US (CST) client.
I have explained my work timing numerous occasion, It is the way I could skip stupid traffic, and above all I ain't a morning person. On the days I go early I reach office at 8:00 and stay till 8:30.

Communication: My emails were always short, 3 to 5 sentences.
Yep, That is the only parameter. Oh! well, you don't use signature just name at the end.
  • Do you know sending a short email is the right way of doing it? 
  • Have you aware of or
  • Any of my email were ambiguous?
  • Did you know I always send my vcard with all necessary info for the first time?
  • Do you know your signature breaks my search has:attachment workflow?
  • Did you ever find an attachment when required within seconds while you are on a call?
I didn't participate in any kaizen/improvement or initiative
  • Did you know anything about Joel Test?
  • Are you aware that I was the one who get repositories created in org's svn server and checks in code in whole of department?
  • Did you know I made sure the team know what is the use of SCM. And follow up with everyone  in team to ensure they check in code at least once a day? Well, he did call me and asked what is SCM? when reviewing my self appraisal :-(
  • Did you know none of other team's code gets a backup anywhere except customer organisation?
  • Are you aware of the fact I created a portal for the team to share knowledge? in which you are admin and receive notification?
  • I share articles within team (mostly inexperienced programmers straight from college) about new technologies, productivity (libraries, scripts, automation)
Interpersonal skills: It is my honest feedback
"It is very subjective" was the feedback. They didn't point me the direction on where to improve. One other feedback is, I stop them abruptly when talking. Well, it is intentional; If I don't get what they (customer) was talking about, I stop people harping "Yes, you are absolutely right".

One other incident this week, I was explaining benefits of native application over  mobile web. People on top of my food chain was saying native is not secure as we need to re-implement login and other security features, so it is better to go with the default features provided by salesforce. If it was not a conference call I could have stopped them and would have wrote "OAuth" on white board.

Writing about it more was actually a demotivating task, yet I did it. I may redirect this hate to write a manifest for my imaginary startup.

Saturday, April 20, 2013

Book Recommendation: Testing with coffeescript by Jack Franklin [Free ebook]

TDD (Test Driven Development) was introduced to me around 2006 with PHPUnit. As a naive, I couldn't see the benefits, eg., I saw the pattern of code has been updated very often (growing organically) and frequent failing test. I was like, Why should I write unit test to test my own code? with the same data I used for manual testing? As they say I was seeing the forest for the trees. I failed to realize the failing test is actually the benefit of practicing TDD.

I feel little embarrassed to admit that none of my projects followed unit testing or automated unit testing. Because of the kind of projects and technology I use in my day job. To clarify all my projects was always extensively tested but manually. "The Specs" are always in either comment or in commit logs.

Nowadays, I'm trying to introduce unit testing, automation/continuos integration wherever possible. I'm still learning, but I get the big picture now.

Though my only coffeescript was an utility script which I wrote to test the water. I got a chance to read this book on a weekend, it is only 50+ pages long and it explains how to practice BDD (Behaviour driven development) with Coffescript and Jasmine framework.

Did I say, the author Jack Franklin is only 20 years old? Kids these days :-) It took half a decade and 20-year-old to put me to shame for not practicing TDD/BDD earlier.

As they say, When in doubt always test.

Book link - Testing with Coffeescript by Jack Franklin

Friday, April 19, 2013

Disable networking/internet from command line on a Mac

If you want to quickly disable internet/networking to test offline features. Doing it frequently with System preferences GUI is quite a slow workflow.

Here is the command to disable your ethernet quickly.
sudo ifconfig en0 down
to activate it again
sudo ifconfig en0 up

If you are connected via wireless you can disable it with
networksetup -setairportpower en1 off
to activate it again, use
networksetup -setairportpower en1 on

en0 and en1 are device name, which you can get from running the following command
networksetup -listallhardwareports

Tuesday, April 16, 2013

IdeaVault - RPi dashboard

I couldn't help myself after listening to John & Marco discussion about the pricing of Panic's new app Status Board.

I agree with the pricing of the app, who could deny John's reasoning? With all due respect,  a dedicated iPad just to display a dashboard? sounds like diamond studded car. It is a overkill and I would argue you ruining the destiny of your iPad. It deserves more care than hiding behind your old TV/Monitor.

Raspberry pi is the right candidate for this task, though I guess Arduino is also cheaper solution, but from development perspective (I'm not sure, I have come across some nodejs modules), I would suggest to go with Raspberry Pi with Html5 (

Wish I could develop a quick prototype that is compatible with Panic api for Raspberry store.

Saturday, April 13, 2013

Bitsplitting - Logo

Bitsplitting - Beautiful logo I have seen in a long time. I don't know how @danielpunkass decided to use one version of the two. I couldn't decide which is the one I like the most.

I also like his intro music of Bitsplitting podcast.

Saturday, April 6, 2013

Laptop Cooling Pad & Sudden Motion Sensor

Finally I found a good usecase to test the Sudden Motion Sensor of my macbook pro. I was curious to know whether there is an impact of cooling pad's fan.