Tuesday, January 29, 2008

PubMatic Enables Ad Optimization Across Every Ad Network

Palo Alto, Calif. - (January 28, 2008) - PubMatic (www.pubmatic.com), the first and largest ad optimization platform for Web publishers worldwide, today announced the ability to optimize online ads across any and every ad network. Now Web publishers using PubMatic can eliminate the headache of testing and deciding which ad network and layout will maximize their revenues, because PubMatic does it for them.

Currently in beta, PubMatic serves more than 2,000 publishers and more ad networks than any other ad inventory optimization platform.

"PubMatic immediately doubled our ad revenues by recommending the optimal ad network for each and every visit to WinCustomize.com," said Michael Crassweller, Web Site Manager, StarDock. "Since Wincustomize.com serves up nearly 4 million ads per day, PubMatic's ad network optimization has made a big difference to our bottom line."

The PubMatic public beta is open to all Web publishers, regardless of geography or company size. Signing up is simple and free: publishers can visit www.pubmatic.com/signup to get started in minutes.

Labels: , , , ,

Saturday, January 26, 2008

5 Attributes of Highly Effective Programmers

Very nice article on Top 5 Attributes of Highly Effective Programmers:

What attributes can contribute to a highly successful software developer versus the ordinary run-of-the-mill kind?
Once you start assuming you’re the expert and final word on something, you’ve stopped growing, stopped learning, and stopped progressing. Pride can make you obsolete faster than you can say “Java”.
"The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague." - Dijkstra
Love of Learning
Good judgement comes from experience, and experience comes from bad judgement. - Fred BrooksObviously, some balance has to be struck here. You cannot learn everything–it simply isn’t possible. Our profession is becoming increasingly specialized because there is simply too much out there. I also think that in some respects, you need to love learning just for the sake of learning.
The steps of changing a piece of software could be:
  1. Thoroughly understand what the code is doing and why
  2. Look for any and all dependencies and interactions with this code
  3. Have a well-thought-out mental picture of how it fits together.
  4. Examine the consequences of changing the feature.
  5. Update all related code that needs to (and repeat this cycle for those components)
  6. Update auxiliary pieces that might depend on this code (build system, installer, tests, documentation, etc.)
  7. Test and repeat.
For me, the first step in changing my mind set is to not get frustrated every time things change (”But you specifically said we were NOT going to implement the feature to work this way!”).
Ok, that’s maybe a bit of exaggeration, but by listing the counterpoints, it’s easier to see symptoms of someone who does have passion:
  • Thinks and breaths technology
  • Reads blogs about programming
  • Reads books about programming
  • Writes a blog about programming
  • Has personal projects
  • These personal projects are more important than the boring stuff at work
  • Keeps up with latest technologies for their interests
  • Pushes for implementation of the latest technologies (not blindly, of course)
  • Goes deep in technical problems.
  • Not content with merely coding to spec.
  • Needs an outlet of creativity, whether it be professional (software design) or personal (music, model building, LEGO building, art, etc.)
  • Thinks of the world in terms of Star Trek
Just kidding on the last one…

Read full article here.


Friday, January 18, 2008

8 hacks for finding Startup office space

I started looking for a new office for Komli Engineering at Pune, India about a week back. Here I describe my journey and the final selection.

Here are some of the key points when finding an office of about 2000 sqft in Pune in Aundh/Baner area:
  1. Rates have gone up like crazy – average rate is Rs. 50/sqft., unfurnished
  2. Most office spaces have only 2 restrooms, which is too few for a 2000 sqft space. So most spaces can pretty much be rejected on that ground
  3. There are a large number of residential properties that people are converting into commercial properties for offices and showrooms, and charging Rs. 50 per-sqft!
  4. The problem with these residential-turned-commercial properties is that – a) families are living in the same building, b) kids are playing in open spaces and c) parking is mostly an issue.
  5. There are independent-bungalows available at very cheap rates. These places are great – they are peaceful, have lots of spaces, lots of parking and so on. BUT you would probably never get broadband in those places. These independent-bungalows are available at 1/3 the rental cost
  6. Your office space must be located not more than 3 minutes from 5 places that must sell wada-pav, hot samosas, cut-chai, tandoori chicken and Pizza Hut – else you are doomed, because most employees in a startup are not married, and they need to eat (when they are not writing code)
  7. The other most important things when you are renting an office space are – 1) the place is good, 2) broadband is feasible and 3) parking space is available. The “broadband” is the most unexpected thing to find out. You can find the best place and the least cost, but no broadband – that will totally blow you off. The second most difficult thing to find is parking space for 4 cars
  8. I looked at the most cool places such as a nice place next to McDonalds in Aundh, a really cool office with all glass façade – but not good enough for Komli!

I finally decided with a really nice place above “Kobe Sizzlers” in Aundh. Awesome place, lots of space, central location, 2 balconies and lots of eateries around. And the best part is – you can get Sizzlers on Demand.

Wanna join us - check-out our open positions at http://www.komli.com/careers/ .

Labels: , , , , ,

Saturday, January 12, 2008

How to recognise a good programmer?

Daniel has written a really great article about how to recognize good programmers. Here is a summary of the traits (I have marked the ones that I truly relate with, and added my comments):

Positive indicators:

  • Passionate about technology
  • Programs as a hobby
  • Will talk your ear off on a technical subject if encouraged [Mukul: This is an absolute necessity to identify a "hacker". They are so passionate about what they do that they will talk about it for more time than you want them to. I love this feature.]
  • Significant (and often numerous) personal side-projects over the years
  • Learns new technologies on his/her own
  • Opinionated about which technologies are better for various usages [Mukul: I have seen some of the technical guys getting upset when you tell them do use a certain technology or tell them to do things in a certain way - this is good. They should be opinionated.]
  • Very uncomfortable about the idea of working with a technology he doesn’t believe to be “right”
  • Clearly smart, can have great conversations on a variety of topics
  • Started programming long before university/work
  • Has some hidden “icebergs”, large personal projects under the CV radar
  • Knowledge of a large variety of unrelated technologies (may not be on CV)

Negative indicators:

  • Programming is a day job
  • Don’t really want to “talk shop”, even when encouraged to
  • Learns new technologies in company-sponsored courses
  • Happy to work with whatever technology you’ve picked, “all technologies are good”
  • Doesn’t seem too smart
  • Started programming at university
  • All programming experience is on the CV
  • Focused mainly on one or two technology stacks (e.g. everything to do with developing a java application), with no experience outside of it
Read the full article here.

Labels: , , , , , ,