Flickr Badge

Thursday, July 31, 2008

From Good To Great ... To Below Average

There is an interesting post on the Freakonomics blog titled From Good to Great … to Below Average. The post talks about how many of the companies profiled in the book are not all that spectacular today.

Ironically, I began reading the book on the very same day that one of the eleven “good to great” companies, Fannie Mae, made the headlines of the business pages. It looks like Fannie Mae is going to need to be bailed out by the federal government. If you had bought Fannie Mae stock around the time Good to Great was published, you would have lost over 80 percent of your initial investment.

And at the end:

What does this all mean? In one sense, not much.

These business books are mostly backward-looking: what have companies done that has made them successful? The future is always hard to predict, and understanding the past is valuable; on the other hand, the implicit message of these business books is that the principles that these companies use not only have made them good in the past, but position them for continued success.

Read the whole post here.

Sunday, July 27, 2008

Funny gmail bug


Spotted this in my Inbox today. Although it says -64 mails, all the mails are there, so I suppose its kind of a harmless bug.

Saturday, July 19, 2008

Chennai OpenCoffee Club Turns One!

It's hard to believe but the Chennai OpenCoffee Club will soon turn 1 year old. Vaidhy and I started it with the first meetup on the 5th of August, 2007 at Subway (Read about it here). Since then, OCC has spread out to Bangalore, Mumbai, Pune, Hyderabad, Delhi, Noida and Kolkata (See the links at the bottom of this post to join these OCC groups).

What is the Chennai OpenCoffee Club?

Here's the blurb from the website
The Chennai OpenCoffee Club is a place for people involved in the startup ecosystem to meet in an informal setting. Anyone involved with startups - entrepreneurs, developers, lawyers, investors - is invited to come and join the conversation.

Chennai OpenCoffee Club Links

Media Coverage
OpenCoffee Clubs In Other Cities

If you are from another city or traveling, you might want to catch up with one of these other OpenCoffee Clubs

Saturday, June 28, 2008

Book Review: Johnny Bunko



I just finished reading Johnny Bunko by Dan Pink. This book is aimed at being a career guide to students fresh out of school and college or for those new to the workplace. The first thing that you'll notice is that the whole book is in manga format which I really enjoyed. It was pretty innovative to try something different to reach the audience. Although the book is subtitled a career guide, it isn't one at all, more like a general life guide. The whole book is pretty short — it only took me about half an hour to read. Thats both an advantage and a disadvantage. On the one hand, it is a bit light on content, making only six points. On the other hand, it makes it easy to read and finish, unlike other books which go on for far too long. Overall, I think it works.

Monday, June 23, 2008

114 Execs leave Yahoo!

Yahoo's troubles seem to be making all the wrong kind of news. Now TechCrunch has published a list of execs who have left Yahoo. Apparently more than a hundred since the start of last year. Thats a lot!

Friday, May 30, 2008

Screencast: Using Amazon S3 with Django

Many thanks to Balaji and CSS for organising the second Amazon Web Services meet in Chennai and to Jinesh for being able to make it. (Also check out my live blog of the event on twitter, starting here)

As a part of this meet, I had prepared a demo showing how to build a simple gallery application using Django and Amazon's S3 service. I've recorded it as a screencast and uploaded it on ShowMeDo. It's really simple to use S3 with Django, so take a look.

This screencast uses the Boto python library for accessing AWS.

Get the Flash Player to see this movie.

This video originally comes from here at ShowMeDo from the Python category.

Friday, May 02, 2008

TechCruch says that twitter is about to abandon ruby on rails, to which Evan says:
FWIW: Twitter currently has no plans to abandon RoR. Lots of our code is not in RoR, already, though. Maybe that's why people are confused.
Lots of the code is not in RoR? I always thought that they had done twitter completely in RoR. Interesting.

Monday, April 21, 2008

Wednesday, April 09, 2008

Google announces App Engine, takes on Amazon?

So Google is getting into scalable web infrastructure with the announcement of Google App Engine, apparently taking on Amazon's EC2 and S3 services. Having taken a deeper view however, it seems like they are addressing completely different spaces.

EC2 and S3 offer a whole lot of flexibility. They are independent of each other for a start, which means you can use S3 alone, or EC2 alone, or in combination with Amazon's Simple Queue Service. Secondly, with EC2 you get complete control over the image. You can put any programs in it and you can configure them however you want. You can even run anything on the instance from serving pages to performing computations.

Google's offering is completely different. You can only run web apps. It has to be in Python. You have to use their APIs for accessing data or fetching URLs. No sockets, no subprocesses, no threading, no filesystem access. So there are a lot of limitations.

BUT, what you get in exchange is extreme simplicity. App Engine is perfect for web app that needs to store some stuff in a database and interact with the user via a web server - and that's most of the apps out there. You've even got an SDK to develop offline and then sync it online.

Another bonus for Django developers: The APIs seem to be heavily influenced by Django. What this means is that if you are a Django developer, it should be relatively straightforward to deploy your applications onto App Engine. In fact, there is even some official documentation for doing just that.

If you design your application well, it shouldn't be too complex to take a Django app and port it to use the App Engine API, and vice-versa, take an App Engine app and move it to Django on another web host. That way you do not have platform dependence to Google and you can still move to another web host in the future.

Monday, March 31, 2008

Roundup of Barcamp Mumbai 3

Vijay and I were in Mumbai on Saturday for Barcamp Mumbai 3. I had checked the wiki the day before and there were over 600 registrations. Wow. Out of that I guess about 200-220 turned up, which is still a pretty big crowd.

There was some confusion at the start especially with the schedule board with a big crowd putting up sessions only for everything to be rearranged by track so that all startup demos go into one room and so on. Eventually by the time everything started we were running about 90 minutes late. The other problem was the wifi. I asked about five of the volunteers, but no one seemed to know the settings. I finally got the wifi configured thanks to one of the students sitting next to me.

I first headed out to the startup demo track and checked out demos of on2biz, MediaMelon and WikiSlice. on2biz is a workflow management web app. From the demo, it looked like it is targeted towards the sales cycle. MediaMelon is a video delivery network that uses p2p to deliver the videos. I would have loved to have seen a demo, but apparently the firewall was blocking the app. WikiSlice is a UI layer around wikipedia that allows you to browse topics better (grouping related pages, subtopics etc). They have also made it work with an offline wikipedia dump. My initial reaction was why anyone would want wikipedia offline, but the discussion brought up some interesting cases like rural access.

I headed out for the Firetalk track, but it seemed to have fizzled out, nothing was happening there. I went to the tech track. A talk on jQuery was going on but both the wifi and the projector were not working in this room. The laptop was connected to a computer monitor making the slides unreadable, and the lack of wifi meant that the online demos didnt work.

The next talk was on Asynchronous IO by Bhavin. This was a really good talk, and fortunately it didn't depend so much on the slides. A couple of points - having worked with async IO, it really complicates the application logic, especially state management, so thats a tradeoff that must be made. The other problem with not handling each request in its own process is that if there are any misbehaving callbacks, they can bring down the whole server. A pretty interesting talk.

Next was my session on some of the homebrew stuff that people have done on the Nintendo DS, following which was a session on Facebook API, except the speaker didn't show up, so I left the room. I spent the rest of the day floating between rooms and the lobby area.

I managed to catch bits of Aalaap's demo of linkbunch, Aditya giving a session on Startup Saturday and Aditi doing a session on the iAccelerator program for startups at IIMA.

Just as we were leaving, we met Grishma from Whirlybird Electronics. This is a company that builds measurement and control systems for unmanned aerial vehicles. Pretty cool stuff.

One thing I was quite impressed was how many people had heard about Proto. They would mostly go "Ohh you're from Proto." If you dont know what Proto is, it is a two day event that brings together the startup ecosystem - startups, investors, invited guests, industry experts etc - and gives each selected startup six minutes to pitch to the audience. The event also has a series of talks by industry experts on technology and business topics. See the agenda for the previous edition and join the Proto.in facebook page to get a better idea.

By the way, the nominations for the July edition of Proto have just opened. If you are a startup and you would like to present at Proto, head over to the nomination page and nominate your company

Tuesday, March 25, 2008

Why doesn't Django find my unit tests?

I ran into a Django gotcha today. I had an app for which it was simply not running the unit tests. The tests were there in the correct location. Django was correctly running the tests for all the other apps. Why was it not running the tests for this one? I checked settings.py to see if the app was in INSTALLED_APPS. It was. It worked fine through the browser, and the test code looked good. What was worse, it was working when I last ran it before the weekend. Why did it suddenly stop running?

I got my answer after some digging around in the Django source. It appears that you must have models.py in the app for tests to run. It so happened that this app has no models, only some views that do some calculations. Since models.py was empty, I had deleted it and didn't think too much about it. Whoops! The tests stopped running.

Once I had that figured out, the solution was simple - recreate the empty models.py, and the tests started running again.

This whole thing is really unintuitive though. Who would have thought that removing an empty file would cause the tests to stop running? There doesn't seem to be any connection between them at all.

In a broader sense, any piece of code that uses django.db.models.get_apps to get a list of installed apps is likely to run into this problem. Don't be surprised if you remove an empty models.py and then something breaks and you are left scratching your head as to what exactly happened.

This is exactly the kind of unintuitive "magic" that we Pythonistas hate :) Explicit is better than implicit etc.

What I don't understand is that the list of installed apps *IS* explicit. It's sitting there called INSTALLED_APPS in settings.py. Why does Django go about hunting through the models when it could just read this value? Any clues?

Saturday, March 22, 2008

Has Django reached the tipping point?

Antonio Cangiano thinks so. The numbers used to come to this conclusion are not exactly scientific, but there's no doubt that Django is getting bigger (and better) everyday.