Tuesday, September 30, 2014

Hacking Patience

Being patient is one of the toughest things I deal with. I can't keep calm.
Now I'm not sure if it's just me or if it's really a social side-effect of being a programmer.

Programming is one of the jobs where you see results for your actions in near-real-time. I can't think of any other job which reflects upon your action any faster.

We act, and we expect results. We expect them soon enough. Hell, we demand results.

This vicious cycle in our daily lives is making us a little more impatient daily. The real problem is that this sense of being impatient towards things and events makes way into our real lives. It gives birth to all sorts of problems.

You are more anxious, and can't calm down unless you witness the outcome. You fail to respect that other person needs his/her own space and time to sort out matters which involve you. You get frustrated/irritated more easily when you don't see immediate results, which will often be the case really.

Truth is, most of the times I know I am being impatient, but I find it logically unacceptable that why shouldn't I be impatient. I can't accept my actions not giving me results soon enough.

So, I developed a life-hack to overcome impatience.

Change the expectations/outcome of your actions from "Ultimate Result" to "Immediate Result". Once you reward yourself with an immediate result, you will no longer be impatient.

Tell yourself, "You're getting there!" 

  • When you click that download link, your expectation should not be that you get the file. It should be download to begin.
  • Don't wait for that call impatiently. Your actions won you a call, it will come when it has to come. You've done your part.
  • After you propose or apologise, your immediate result is that the other person is giving it a thought. A yes or no is not what you should be looking for as an immediate result.

I think the hack works for me.

Sometimes, I've to think really hard to figure out the immediate outcome as a result of some action, but I eventually figure it out.

Life is far more satisfying and patient now !

Thursday, September 19, 2013

The little thing that makes me hate Android

Android is awesome.
We found love in a hopeless place.
It's the unix of mobile phones.

But it is so fricking annoying when:

It vibrates on shutdown

Why does it have to vibrate on shutdown??

My phone battery definitely dies everyday because battery-life sucks and I suck more since I am too lazy to keep my phone charged. Now, when battery gives up, phone shuts down silently and in the end it vibrates. I pull the phone out of my pocket to see what the vibration was about, click the Power Button and it starts booting up, just to shutdown again!

You may call it a dark pattern/(insert a mumbo-jumbo here), I call it wtf.


Wednesday, April 17, 2013

Work, Life, and Balance

A lot has been said and done about Work-Life Balance lately, and in the past as well. I will keep this short, I have no patience and time to go on blabbering for pages and pages of philosophical crap.

To begin with, I have had day jobs just like you, definitely not perfect, and where work can be so demanding at times that you feel like hating it all. But, I have been appropriately satisfied with my life definitely (if not so much with my work). I think its partly also because I don't give a damn about my work after a point of time, but never-mind.

Admit it, you hate your work routine. It's ruining your life. You don't find time for yourselves, or your friends, family, your favorite sport or to learn new ninja skills.

But at same time, understand that your company won't help this sort out for you. It's really your problem and you need to kick some ass to fix it. Take charge, and nail it.

Here are a few things I apply sub-consciously:

Find the passion in your work

You can't balance apples against oranges. You need to be as involved/concerned about your work as you are about rest of your life. You might not be perfectly satisfied with your job, but hey, nobody is. Find things you truly love in your work space. Don't let work kill your passion about your dream work. Hang around with the coolest people around your desk. If you can find a little corner of your heart for your work, things will automatically become a lot easier. You won't mind the occasional extra hours, you'll be more productive, and you'll come home with a smile and energy to really have a fulfilling life.

Do at least couple of those n things daily

Make a hit-list of what you really want your life to look like: hitting the gym, writing a blog/book, learning new stuff, reading a book, picking up your kids from school, preparing for your Oscar Award's speech, whatever it is. Find some time to do at least one of them each day. I do not trust you if you tell me you can't find time for it. Make some time for it, this is what you are working for. If you still think your work comes your way, take a deep breath, close your eyes, and say this loud inside 'Fuck It', and go ahead and do it. Your work can wait, trust me, it can (all that project management shit will take care of it!).

Little Hacks

Hack around to make more time by keeping things organized like cutting through commute time by starting early for office, procrastinate stuff that can be put off, order your groceries online instead of wasting time standing in queues in malls, fight in project management meetings to get extra time buffers (you are smart enough to know how to do this), automate stuff, and so on.

Long post already, I would like to close this here on this note:
Prioritize your life alongside your work, not ahead, not behind, alongside.
Keep your work fun, so that it doesn't haunts you all the time.
Hack it all.


Saturday, March 2, 2013

C++: Why can't I sort like a normal human being

Before I begin, C++ is awesome.
It's exactly the right kind of balance between low and high level languages. When you need C++, you need C++.

But it comes with it's own sets of problems.
The Standard Template Library (STL) shipped with C++ is quite great, but at the same time it's excruciating verbose and is very counter intuitive.

For instance, std::sort sorts C++ the elements in a container in place. Sounds good enough.
Now you would expect to sort like this:

  vector<int> a;

But, NO.
std::sort would only sort over a range of elements over a container, so you must write:

  std::sort(a.begin(), a.end());

This really irritates me.
std::sort(a) would have been brilliant, easy to use, and intuitive.
I tried to pull up a simple overload and worked like a charm:

  void sort(T& t)
      return std::sort(t.begin(), t.end());

Its one of the things that bug me as a C++ developer and HCI enthusiast.
Not overloading enough to provide simpler interfaces to your end users is simply evil and mean.

Sunday, February 3, 2013

Alarm Clock Myth - How to wake up early

Everyone wants to wake up early, and make good use of those extra early morning hours. But we fail all the time, even if we succeed, its one-off times.

I thought its a good opportunity to seize and fix this problem with the existing alarm clocks. I started exploring the existing solutions out there and found there are quite many interesting stuff:

  • A whole breed of biologically sync'd clocks who wake you up when you are least in sleep
  • Hard to snooze alarm clocks which ask you to solve a difficult puzzle to snooze an annoying alarm tone
  • Motivational messages to wake you up

I gave all the existing products a lot of thought and why they don't quite work. Here is my conclusion:
People don't really understand the real purpose of alarm clocks. 
Here's the deal: Alarm clocks are not meant to wake you up. Yes, you read it right.

Alarm clocks really are the mission-control, last resort plan to wake you up at the deadline time.
You are supposed to get up on your own, through your own magical body clock. How many times have this happened that you woke up half an hour before you were supposed to, you looked up your clock, and went back to sleep? If you answer is: ''Every Effing Morning'', then you sir are a victim of Alarm Clock Myth.

So, i followed the following regime:

  1. Set my normal alarm clock to a time which is the drop-dead time i must get up at, which in my case is 6:30 AM.
  2. As soon as I open my eyes in the morning to grab the clock to see the time, instead i just get up and turn off the alarm proactively. Believe me, you don't really need those extra minutes to sleep, you are fine to start the day.
  3. If I did't get up on my own, the alarm clock would alarm me at the deadline time which is 6:30 AM at which time I get up.
This has worked out for me beautifully and i am in my best body clock schedule. Alarm clocks don't irritate me every morning, instead I beat them every morning.

It takes some time to get into this regime, but believe me its more amazing to get up on your own than getting woken up by an annoying alarm clock.

Cheers, Happy Mornings!

Sunday, November 28, 2010

Usability issue with Youtube and MS Outlook

I am no usability expert, nor a PhD in HCI. I am just another tech savvy, maybe a more concerned one. This post is a rant against two most popular and religiously used applications: Youtube and Outlook. I am so frustrated of the usability bugs in these applications, that i am writing this post hoping to get some relief and a fix from these bugs soon.

Youtube: Smart Resolution
Present your user with minimal number of options and make decisions for them wherever possible. This seems like a magic usability-voodoo that works most of the times, but sadly not for Youtube. It goes something like this for Youtube: I click on a video, and it opens up nice with a 360px resolution (atleast with my browser and connection). I am watching this 1 hour video which has almost buffered completely and i decide to go full screen. Whoa! Youtube decides for you that the video resolution must be changed to 480px or more for a better video experience. I loose all my buffered video, and at times when my internet speed just sucks, it is freaking frustrating and i click on the 360px option again to buffer it all over again. This just sucks.

There might be some advanced option to fix it if i login into Youtube which i never feel like doing, nor i have done it. But this doesn't work for me and i am guessing it doesn't works for most of the users.

If the video buffered seamlessly, this would have been charming, but it isn't. This certainly needs a fix. I would suggest a different buffer to buffer the high resolution video and when the video is available to play, just switch to the high res video. This might seem like a bit of over engineered usability, but thats how i think it should be.

Outlook: Don't mess with the usuals
This is again one of the things which can possibly be fixed but is very irritating. This one is about messing with the hotkeys. I am reading an old mail (a long one) and i need to find something in that mail and i go Ctrl-F. To the utter surprise, Ctrl-F doesn't brings up a find-window, it forwards my mail. That is so against the rules of usability and intuition. If you use Outlook, you must have encountered this at some point of time, and unlike many i cant make my mind with this. Hotkeys and controls should work the way they work in all other applications, maintaining the usability and intuitions.

Lessons to carry away:
1. If you make decisions on behalf of your users for a better user-experience, make sure you test it well with various real-time scenarios your users use your application in.
2. Keep things intuitive.

Would love to have you comments, feedback, and a fix if you are working on these products.

Monday, November 22, 2010

@facebook.com release next year?

So i was mailing somebody at facebook @facebook.com and got the following autoreply mail from Facebook:

Sub: Please use @fb.com for Facebook Corporate email
Dear Sender:

Facebook has changed its corporate email address domain from @facebook.com to @fb.com.

Your message has been delivered to the intended recipient, but please update your contact details with
@fb.com for future correspondence. You will not receive this message again if you utilize
@fb.com. We will not be forwarding any email sent to @facebook.com corporate email addresses past January 5th, 2011.


I was hoping to get @facebook.com much earlier, like by Christmas or something. Sad.