Laptop to Loadbalancer: Is your LAMP hardware infrastructure growing like this?

January 13th, 2010
Lamp Growth Plan

Lamp Growth Plan

The visual image conveys the thoughts. The data legends represent a hypothetical configuration using Webservers, Database Master and/or slave or DRBD, Memcached nodes, etc. The size of the circle represents the relative amount of money spent on monthly hardware lease.

How did your web presence grow?

Disclaimer: The above does not include security, disaster recovery, backup and other attachments which are a must.

Are we Pavlov’s dog to email, twitter, facebook?

January 6th, 2010

pavlov's dog on twitter, facebook, gmailThat sweet sound of an @reply on my twhirl makes me rush to the laptop, a new email alert makes me fire the browser irrespective of that email being read & replied later. The list goes on and on..the itch to check/change the status on facebook, to continuous monitoring of analytics data.

I hate my mobile email — I check, check, check..but postpone the response ‘coz the form factor is good for reading only — so the email doesn’t get responded or time is wasted to revisit it.

Feels like we have become a Pavlovian dog to the ever increasing distractions on the web. If you are developer on a maker’s schedule, the loss of concentration is busting the efficiency.

We are not going to kick the Pavlovian habit, nor we gonna kick the tools we have — but the tools have to get smarter in their delivery of these small bits of information, which they are falling behind on. I’m still waiting for a combined email, social network tool which prioritizes, filters, reminds, and work as personal crm tool rather than separate units of email client, social client, mobile client, readers, etc.

“When I’m in a deep Java debugging session on eclipse, please do not email me, pause all the tweets except from my wife, cousin and investor” — huh, the desktop anti-virus applies a bit of that intelligence already, why can’t my email do the same?

One of my resolutions of 2010 is to do something or get something done in this area (or aggressively consume a product if someone is already doing it).

A step by step guide to a Happy Holiday season

December 26th, 2009
A step by step guide to a Happy Holiday season

A step by step guide to a Happy Holiday season!

Click here for High resolution 1024 x 768 image

Thank you Anish for the great design.

2010 Predictions for Indian technology ecosystem

December 20th, 2009

Orion NebulaAs the year 2009 comes to close, it’s time to reflect on what has been done and also the time to dream what the world is going to achieve. Personally, I came back to India after a gap of almost a decade and have been playing catchup; trying to understand the changing business here with a perspective. Dreaming of things what could be achieved here,  I thought I would throw some predictions for 2010 in the desi kitchen bag. Here is my list:

  1. A traditional media company or a telco acquires a 3-year young technology start up in the INR 100 crore range
  2. A mobile telco launches a domestic anywhere to anywhere unlimited talk time plan (long shot: for INR 3999/month)
  3. Indian internet users climbs up to be in the Top 5 spot in their share of online piracy. Positive is the surge in Internet usage.
  4. Infosys/TCS/Wipro launch initiatives to align their interest with the startup ecosystem in India (the offering may be on the lines of Microsoft Bizspark, Sun ‘Startup Essentials‘)
  5. Amazon CloudFront Content delivery network (CDN) launches an Edge location in India
  6. Government of India passes the legislation to legalize Voice Over IP (VOIP) traffic originating within the country and terminating to a local telephone
  7. The Indian Advertising community tries to block sales of Tata Sky Plus (DTH Recorder/Indian Tivo) as they realize that people are skipping ads
  8. 2 kids from an engineering college launch a brand new search engine and get international investments/coverage
  9. Amazon.in starts their online commerce operations, whereas Techcrunch kick-starts their Indian operations with a post on how they acquired their squatted techcrunch.in domain
  10. Reserve Bank of India launches a parallel payment network for credit and debit transactions; takes Visa & Mastercard head-on

The thumbnail is of Orion Nebula, favorite amongst amateur astronomers and casual sky watchers. It is one of the closest star formation regions from Earth at a distance of 1,500 light years.

Flipkart & Infibeam make the same data entry error!

December 20th, 2009

Recently, I was price-shopping to refill my cache of Tintin comics on two of my favorite online book shopping destinations in India, Infibeam & Flipkart.

To my chagrin I found that both the online retailers made the same mistake in the data entry of the title (or was it something else!) The first screen grab is from Flipkart.com the second one is from Infibeam.com

Flipkart.com Tintin Explores on the Moon

Flipkart.com: Tintin Explores on the Moon

Infibeam.com Tintin Explores the Moon

Infibeam.com: Tintin Explores on the Moon

No remorse compensation: Bring friends to work with you, but don’t part as enemies

November 27th, 2009

Two people get together and start developing a product. You are one of the founders. Few more common friends join. Everybody starts working towards a goal. Six months out, the product is still taking shape; Few people who contributed move-on to other things. This is a usual startup story.

In the above scenario a formal agreement or a compensation is the last thing in everybody’s mind (or like-minded people) when people start working together.FriendsMoreover, working together for some time helps people gauge the ‘mutual fit’ before signing each other up for 4-5 years. It is quite possible that after sometime a few members of the team decide to mutually part way and move-on. The question pops — what/how much would be the compensation if things do not move forward into a formal agreement? How much should be the compensation for the person who has worked his ass off but now thinks that he needs to move on?

People leave because of several reasons; personal, financial, etc. 100% possible that they come back a year later when they have sorted things out.

You as a founder of the company need to worry about people joining your startup — at the same time you also need to think through of compensating people who came trusting you for shorter stints. You have to decide this upfront when the person starts working using a simple math.

No Remorse Compensation is a way of rewarding people (esp. friends) who plan to contribute in building your startup but may move on later to do something else. To keep things simple you agree on a compensation before writing things on stone say 6 months later. Here’s a simple math:

1. 2 people team, started, now looking for a seasoned techie to manage the codebase and developers while the two of you do sales/marketing/product as well.

2. The 2 founders decide that the techie would get 10% of the equity (and some salary, if any, but for now, none) — however, the techie says “lets work together before making a decision.” You don’t want to leave things hanging without making any decision on that. Assume that the techie would work 4 years (48 months). So the techie would “earn” 10% / 48 = 0.2% equity every month.

3. Most probably you are not paying any salary to him — so add 25% – 50% more equity. So the number becomes 0.3%. Assuming you have 1,000,000 shares outstanding, that becomes 3,000 shares every month.

4. The techie earns 3,000 per month until you come with a formal agreement which maybe in line with the 10% equity or maybe less. Make sure to arrive at a decision point in 3-6 months and convert this into a formal agreement.

5. If ok, you can sign a simple consulting agreement with the numbers mentioned.

The above idea is simple — You bring friends to work with you but don’t wanna part with them as enemies, if it did not work out. You may meet him again at beer in the evening!

TED, NED & politicians the last 50 years, India bred

November 8th, 2009

This is like a 360 degree view of India in less than a week. On one side; Lakshmi Pratury co-hosted the 1st ever TED in India; on the other I was watching the dirty politics of India. Whereas one Chief Minister had amassed Rs. 2000+ crore (around $500m) the other put 1 million homeless at stake after the worst ever flood in the state of Karnataka. The former state is the one of the poorest albeit richest in minerals whereas the other had people thronging to attend the glitz, ideas and dazzling display of innovation at the Infosys campus Mysore.

Amongst this I attended the annual National Educators Day — to which I fondly christened it as NED to make it more marketable. While NED had 2000 educators and students putting their best brains to solve some interesting issues like Robotics for masses, triple-powered Reva, a Traffic violation system, etc etc. On the other hand the best brains were showcasing personal power plants, raising the livelihood of rickshaw pullers to advancement in neuroscience to raising the bar of education in disconnected villages of India at the TED event.

Bewildered by the fact that on one side educators, innovators & think-tanks are pushing the envelope to take the country forward, while on the other the likes of Reddys, Yeddys, Kodas are taking the country backwards.

corruption_statesDo we think that the advancement in technology, media, innovation are automatically going to fix the larger issues of corruption which touch our daily lives in an infamous way? Or we simply ignore this like we ignore the garbage outside our own homes?

The corruption is especially high in the states as multiple regional parties clamor for power and the national parties “support” them to get the favor back for the national parliament. It flows all the way up from the policemen at the local region to the capital.

The big question is how do we cleanse the system — or does it flush out like a bad meal automatically? Boils my blood seeing all this but I have the same genetic defect like rest of the Indians — a nonchalant attitude until my pants are on fire.

PS. Huh, it does not even hurt anymore; Madhu Koda has already dropped to page 5 in the majority of national media papers.

10 Tips for Technology management in startups

October 25th, 2009

This piece is for software technology startups (or startups using technology) with 2-5 developers, who are short on money, are on a continuous bouts of brain freeze, etc etc. However, for people who are managing 100 people teams, I’m gonna write one on how not to manage technology, but that’s coming after rebirth.

In my previous stints managing pieces of technology including developers, code base, release cycles, etc. — I was always hunting for tips for better sleep management. Huh, the solution was in managing the technology effectively to get a better sleep.

Here are some of them compiled (some learned after reflecting on mistakes!)

  1. Build Now. Scale later. More often than not we worry about whether this piece of code or even this atomic function will scale or not. Once I was writing a small function to convert time into the now famous “10 minutes/days/years ago” format.  I took the whole fraggin’ day on it. Back in my mind I was trying to optimize a small calendar look up which probably optimized the code by 10 ms for every HTTP request. Big deal — but totally stupid.  Essence: Build what you can build. Do not spend more than 10% extra time worrying about scalability & performance. The objective is to get the customer first within acceptable limits of latency. Also, look at your strengths — if you are a developer never worked on high performance computing but know enough chops about writing good code, then just focus on that.
  2. Release frequently, but not every day! The release early, release often is a myth which leads to disaster many-a-time in increasing code complexity, release cycles, etc. A good discipline is not more than one (yeah, 1) release every week (ideal is release every 2 weeks). Let the customers breathe, the QA breathe and stop wasting the time doing regression on the code. However, apply the exception to hot-fixes, security fixes and show-stopper bugs.
  3. Prevent public bugs. Another myth of release early, release often is a conception that it is okay to have a few bugs on the code. Depends on what kind of bugs. Database connect failures? or weird on the face JS errors. Acceptable public bugs are those which are not seen by more than 10% of your customer base & depends on what stage of maturity your product is in. However, bugs when monetary transactions are taking place are a strict no. Another theory is that the number of public bugs is inversely proportional to the number of users.
  4. Secure your web presence. This is getting complicated as the web matures & hacking is done using scripts instead of deep knowledge of software’s workings. In my previous stints managing technology, I thought & claimed to be ahead only to be humbled later with DDOS attacks. In my theory a 10 hour of Googling followed by 10-15 hours of fixing/implementing can take care of a good percentage of publicly known security holes.
  5. Code Now. Refactor later. This is a personal anti-thesis which goes against the philosophy of designing beforehand; thinking through of the architecture, etc. Why? Startup resources are extremely limited. The objective is to show/deliver products. As a developer/technology manager you want to put your best efforts in delivering code rather worrying about the best possible way to develop a piece of code. However, it is okay to postpone some design issues (not the security ones) and revisit them after hitting some milestones. You don’t use the “refactor later” mantra to avoid the issue; instead being pragmatic about it. Also the exception should be conveyed to the team, the options available, a path chosen; with the reason that this does not become a habit within the organization.
  6. Never outsource, but augment staff. The worst thing a startup could ever do is let someone else develop the technology and that too in someone else’s office! If you can’t hire full-time then hire contractors. Get them to sit with you, together. Have control and visibility.
  7. Production release not tested here! Developers will always make an assumption that if it works on their laptop/private environments, it will always work on the production environment. Do not ignore that — Have a discipline of testing the code after deployment.
  8. Automate everything, except your customer support. You want to automate/script as much as possible. Deployments directly from SVN, automated testing using various frameworks, log monitoring & alerting, server status, linting, database sizing, load, and every mundane tasks with actions like alerts etc. going to the team. However, you do not want to do an auto-reply to an incoming mail. OK to be slow by few hours but acknowledge/respond to each one of them. Put the startup resources to test.
  9. Code all night, but release after noon. Simple. You want to do a production deployment when the hangover from a night of coding is gone. You want to start before the day is ready to end. Never deploy at 5pm or 8pm or early in the morning. Best time to make a release is at least 24 hours after the developers have said “it is ready to go!”
  10. Secretly review a developers code. Highly effective. This is the best way to build opinions about a developers’ coding chops and get an edge in managing them. Find bugs in their codes, show it to them but never demean them publicly. All public code review in startups is actively discouraged.

If you can do the above well, then you can definitely sleep more using the 10 foolproof tips for better sleep management 🙂

5 Things investors are looking for in seed/idea stage ventures

October 4th, 2009

Presented the embedded slides to the students of IFIM, Bangalore at their final business plan presentation on 28th 29th Sept, 2009.

Mine is a SaaS startup. We do…

September 15th, 2009

Scratch that. Delete that title.

Start with “Mine is a <insert product here like, finance, healthcare, etc> startup.” The only time you are a SaaS startup when you are solving a fundamental SaaS need like billing, metering, security, auditing, etc. It has become a fashion to use the latest technology to pitch your business and has been successful like, “We are <Java/Web2.0/SaaS/cloud/blah startup”.

Don’t move with fads.  India does not need fads.  India needs products.

The average consumer does not understand the technology stack. They need a solution. Whether the product uses cloud, SaaS, Java, Visual Basic — the consumer hardly cares. If it solves a need and must be on the internet then it does not matter whether it’s SaaS or BaaP or cloud.