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?
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.

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.

Cheers!

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;
  a.push_back(1);
  a.push_back(2);
  std::sort(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:

  template
  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!