Desi Programmer @ Work

Reflections on two years at Google

I recently completed my two years at Google. It’s been a great experience and I feel I’ve learnt a lot, both in terms of engineering as well as soft skills. I’m sharing some of my thoughts (in no particular order):

  • Having on-site food readily available saves lots ...

If Pakistani Political Parties were Programming Languages

PPP would be C -- A mature yet legacy language which is now used by either system level programmers or mostly by malware writers.

PML-N would be C++ -- Claims to provide everything C provides but has a lot more overhead. It's object oriented features such as multiple inheritance and friend ...

Checking out AOSP Source Code in VirtualBox VM behind NAT

I recently spent a whole day trying to check out AOSP source code in a VirtualBox VM running Ubuntu 10.04 networked in NAT mode. There were minor issues but finding them and fixing them took a lot of time so I thought I should save some time for others ...

Startup School 2012 Notes

Mark Zuckerberg - Founder, Facebook
My ideal workplace was Microsoft. If I hadn't done Facebook, I would have been at Microsoft
It is sort of a social networking version of Moore's Law. In ten years folks will share 1000 times what they do now

Jessica Livingston - Partner, Y Combinator ...

Visual Complexity of MS Windows

Over the years, Microsoft has evolved Windows into a very mature Operating System. I've found Windows 7 pretty stable and many people agree with that. However one thing I feel Microsoft hasn't got it right is the default window decoration.

Take a look at the two Command Prompt ...

Quick backup of delicious bookmarks

Since delicious's new owners are going to be making some changes in the bookmarks, it is a good idea to take a backup of your bookmarks.

The quickest is simplest way is to use the delicous's API. Just log into delicous the open the page:

Delicious API

This ...

Slow Rails/WEBRick server inside VirtualBox

While trying to play around with Rails running in a VirtualBox and accessing it from my host Windows OS, I found it to be painfully slow. I'd heard that Rails is slow but surely not slow enough to respond to a simple request in over a minute.

The problem ...

SQL Injection Honeypot

One way to prevent hackers from finding vulnerabilities on your website is to keep them busy with fake ones. For instance few years ago when I was graduating in my undergrad programme, I developed a web based application to faciliate the data collection and publishing of my batch's Yearbook ...

PyLint - A simple but important tool for Python programmers

The weak typed languages, such as Ruby and Python, give you a lot of freedom by not enforcing you to explicitly declare variable names and their types. The good part is that you stay focused at the problem at hand by using the variable when you want rather than going ...

Network throttling tools

There are scenarios when you'd want to throttle your connection to simulate inferior connectivity. For instance you'd like to see how your application is going to behave when working with a slow network connection. There are complex methods available but I found some simpler ways to achieve this ...

Phonebook Poisoning Attack

I found that using simple social engineering it is trivially possible to make someone alter an entry in their mobile phonebook. This can be used by an attacker to redirect a victim's SMS messages and voice communication intended for a specific person, to attacker's own phone. The attack ...

MySQL offline and online tables repairing

I had a DB crash today. MySQL's tables crashed and I needed to repair them.

MySQL provides three ways of repairing its MyISAM tables:

  1. "Repair Table" SQL query. (e.g. "Repair Table TableName;" from MySQL Shell)
  2. Using the mysqlcheck utility. (e.g. "mysqlcheck -uuser -p DBName TableName" from command ...

Domain redirection with nginx

Redirecting domains with nginx is pretty simple:

server {  
    listen 80;  
    server\_name example.com;  
    rewrite \^/(.\*) http://parkedsite.example.com/$1 permanent;  
}

Dell Studio 15 1558 Random Shutdown and Bad Firmware Problem

Earlier this year I bought Dell Studio 15 1558 Notebook. My first experience with Dell turned out to be very disappointing. From the day one I my notebook would shutdown randomly at odd intervals. It was so annoying and I had no clue to why it was happening. Several months ...

Daemonzing linux processes

If you use Linux on servers and connect remotely via SSH, many times you'd want run a process which will keep doing its work quietly in the background while you work on something else. Sometimes you'd like to process your job in the background in such a way ...

How nerds offer Salah

Ok, time-out from code! Time to forget everything and indulge into prayers!
...
Praise be to Allah, the Cherisher and Sustainer of the Worlds Most Gracious, Most Merciful

So after the prayers I have to complete all the TODOs ... there are still flows missing in the code ... Great Idea! Atleast for ...

Startupping Hajj

For a Startup Founder getting psyched up for Hajj is simple: There are gonna be extremely hard times, you'll have to do a lot of things yourself, you should stay patient, be calm, don't complain, be very resourceful during the hard times and expect a lifetime reward if ...

Migrating from XP to Windows 7

I've been using MS Windows since version 3.1 and ever since Vista is the only OS by Microsoft which I haven't even tried; and I'm glad I didn't. No comments required on this. However I must say the next effort by Microsoft, i.e. Windows ...

Future Secondary School English Examination 2.0

Looking at the way technology is influencing our everyday speaking and writing styles, I think it won't be long before even the most traditional of our schools would get influenced. I remember back in 1997 when I was doing my matriculation studies at Crescent Model School, the teachers did ...