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.

Labels:

Monday, April 21, 2008

Must watch video for startup founders

DHH gives a fantastic talk at the Y-Combinator Startup School. Every startup founder should take half an hour out and check it out.

Labels:

Friday, April 18, 2008

The Chennai Photowalk: April

I've just uploaded some of the photos from the april chennai photowalk here. The route was along OMR from Madhya Kailash to NIFT.

Labels: ,

The Surprising Right Fit for Software Testing

From HBR: The Surprising Fit for Software Testing

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.

Labels: , , , , ,

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

Labels: , , , , , , ,

Thursday, March 27, 2008

Yellow burst


Yellow burst
Originally uploaded by Siddhi
Fireworks during the national day parade 2003

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?

Labels: ,

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.

Labels: , ,

Friday, March 14, 2008

Tracking upcoming community tech/startup events in India

If you've been reading this blog via an RSS reader, you might not have noticed a new addition to the blog sidebar. With the number of unconferences and community tech & startup events rapidly increasing over the last year, it's been getting harder and harder to keep track of what is happening.

A few weeks ago, I created a widget to pull in the RSS feed for the upcoming unconference and tech/startup community events in India. If you visit the blog and then scroll down the right sidebar, you'll see this widget with a list of upcoming events.

The cool thing about the widget is that its sharable. If you click the "Options" menu below the widget, you'll get options to share it in a number of ways. If you would like to put this widget on your blog, click HTML and copy and paste the code onto your blog. You can also put it on a whole number of social networking sites. There is even an option to put it on your desktop as a gadget (you'll need to download some software though).

So much for sharing the list of events. How can you get an event onto this list? Good question. These are the steps -
  1. First, you'll need an account at Upcoming. If you have a yahoo account that should do
  2. Next, join the group India Unconferences and Events. This is the group that tracks the events
  3. Third, create the event on Upcoming
  4. Once the event is created, you can assign it to the group by clicking the "Send to group?" link on the right sidebar of the event page
  5. Once you have tagged the event in the above manner, it will be picked up by the widget and displayed wherever the widget has been shared (pretty cool no?)
So, hopefully you'll no longer have a situation where you learn about an event only after reading the post-event coverage :)

Labels: , ,

Thursday, March 06, 2008

Ultimate Frisbee in India

Anand has created a cool new website for Ultimate Frisbee in India: http://www.ultimatefrisbee.org.in/

Apart from that, here are some regional websites:Plus, there are a couple of groups on Facebook:

Labels: , , , , ,

Wednesday, February 13, 2008

MoMo is back in 2008

The first Mobile Monday meet in Chennai for 2008 kicks off on the coming Saturday, 16th Feb.

What?

MoMo Chennai Feb 2008

When?

2 PM to 5 PM, 16th Feb (Saturday)

Where?

Gandhi Nagar Club, Adyar, Chennai (Map)

Talks
  1. Going to market with Nokia - Find out how - Prakash Sayini , Developers Relations ,Forum Nokia
  2. Getting started with WRT (Web Run Time) development on S60 - Balagopal K.S, Technology Expert, Forum Nokia India Team
  3. Building Standards compliant mobile sites for free with mobiSitesgalore - Prashanth , Akmin
If you would like to attend, add your name here. Find the official announcement here.

Labels: , ,

Monday, February 11, 2008

Screencast on many to many relationships between Django models

My third introductory screencast for Django. It follows on from the first screencast and the second one.

Get the Flash Player to see this movie.

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

Labels: , ,

Wednesday, February 06, 2008

NEN organising E-Week in India

NEN is an organization that promotes entrepreneurship among college students. One of their initiatives is the E-Week (Entrepreneurship week) where colleges conduct activities related to entrepreneurship. This week, 2nd Feb to 9th Feb is E-Week this year and as a part of the E-Week, a few students joined us at the Chennai OpenCoffee Club's Feb meet on Sunday. The idea was to connect students who might be thinking of starting up with entrepreneur groups in Chennai. Also as a part of E-Week, Kausik invited me to give a talk on "Bootstrapping Your Startup" at his college.

Here is a photo of Vaidhy discussing with the students at the chennai opencoffee club:

NEN students at Feb Chennai OpenCoffee Club meet

Labels: , , ,

Sunday, February 03, 2008

Day 1 Photos from Proto.in

There are tons of photos from the just concluded Proto.in. Here are a few photos from Day 1 of the event.

Ravi Narayan
Ravi Narayan of Mentor Partners talks about "The Role of a Mentor in a Startup"

Roopa Doraiswamy
Roopa Doraiswamy on legal issues for startups

Vishal Gondal
Vishal Gondal (Indiagames)

Rajiv Dingra
Rajiv Dingra of WATBlog and WATShow

Alok Kejriwal
Alok Kejriwal (games2win.com)

Bijoy Singhal
Bijoy Singhal (Microsoft)

Siddharta Govindaraj
Me :P

Gaurabh Mathure
Gaurabh Mathure on the role of design

Chintan Mehta
Chintan Mehta (Yahoo!)

Sujai Karampuri
Sujai Karampuri of Sloka Telecom (Incidentally, Sloka presented at the very first Proto.in)

Laura Parkin
Laura Parkin (NEN)

Atul Chitnis
Atul Chitnis

Surojit Niyogi
Surojit Niyogi on writing Facebook apps

Mohanjit Jolly
Mohanjit Jolly of DFJ on bootstrapping a startup

Samir Sood
Samir Sood (Google M&A)

Labels: , , ,