Tech Thoughts: Fixing tech recruiting

Enough articles have been written about engineering crunch in the valley while some solutions have been suggested (like increasing equity grants to engineers), the bigger issue of broken recruiting pipeline has not gained the attention it deserves.
Its a job of recruiters to source potential candidates and most recruiters are compensated in form of a percentage (usually 20-30%) of annual base salary of the hired individual.

Continue reading

Mac OS X Primer (Part 2): Migrating from GNU/Linux to Mac for software engineers

Booting process

  1. Bootloader loads the kernel stored in /mach_kernel (Tip: Use rEFIt as boot loader for dual booting into GNU/Linux).
  2. Kernel launched the launchd process (equivalent of init in GNU/Linux).
  3. launchd loads startup processes from several directories (/System/Library/LaunchAgents, /System/Library/LaunchDeamons, /Library/LaunchAgents, /Library/LaunchAgents and corresponding files in ~/Library directory) [source]

Continue reading

How to compile android emulator on ubuntu 13.10

I was trying to make some modifications to android emulator and was unable to find good set of instructions for the compiling the same.

Here are mine.

Why Nokia’s (rumored) Android phone is doomed

In Feb 2014, WSJ is reporting that Nokia is working on Android phone.
In Sept 2010,

Anssi Vanjoki, outgoing head of Nokia’s smartphone division, likens mobile phone makers that adopt Google’s software to Finnish boys who “pee in their pants” for warmth in the winter. Temporary relief is followed by an even worse predicament.  [source]

As someone who has advocated Android for Nokia  in the past, I think its just too late now to do that.

Continue reading

How to send HTML mails using Amazon SES (Simple Email Service) in python

As the title suggests, I was looking for a way to send HTML mails in python using Amazon SES but did not find anything (or maybe my search skills are bad).
So, once I found the solution, I thought I might share it with everyone.

The basic idea is that contents of the mail (raw-message) must be a JSON dictionary with “Data” as main key whose value is a key value pair containing entries with keys like “From”, “To” etc.
Sample code can be seen below.

Continue reading

Book Summary: The score takes care of itself (my philosophy of leadership)

The book is written by Bill Walsh – San Francisco’s 49ers Football team coach who transformed the worst performing team of its era to the best performing team. The book talks about changes he brought in as well as his philosophy of leadership which is generic enough to apply outside of American Football. He is also known as the creator of West Coast Offense.

He brought in a Standards of Performance sets the expectations from everyone who was part of 49ers.

Process vs Result

  1. Aim for a Standard of Performance (which is absolute) vs winning (which is relative to others).
  2. “Process” of improvement leads to “result” of victory and not vice-versa.
  3. Focus on process which produces results and not on results.
  4. Promotions/wins/sales quotas are results, they do not provide information about performance. And its important to dig into performance to find truth hidden behind these results.

Continue reading

Three reasons why Intel might lose server market even faster than consumer

One of the biggest challenges to Intel’s x86 hegemony in consumer market has been the emergence of smart phones where ARM based processors have 90% market share. The PC market where Intel has a strong hold is declining at (estimated) 10% annual rate.

While a lot of coverage has been to given to Intel’s decline in consumer market, I believe Intel has tough road ahead in server market too. One major advantage Intel has is the amount of (legacy) code which has been written for x86 (the same thing which keeps Cobol on life support), this advantage is diminishing rapidly due to following trends.

Continue reading