Flickr Badge

Thursday, June 21, 2007

Marc Andreessen

Marc Andreessen started a new blog recently. If you are a startup company, this is one blog that you must read. Yes, it's that good. Read it now.

Tuesday, June 19, 2007

Bangalore Roof Top Film Festival

Bangalore is about to get it's own roof top film festival next month. Nice to see the idea spreading. It's kind of funny how most good ideas happen by accident. The initial idea was to watch the cricket world cup on the terrace. Great work by Sagaro in getting it the RTFF concept started.

Which reminds me.. when is the next RTFF in Chennai? And more importantly, what is the venue [let me guess on that one ;)]?

Now that Sagaro is officially still alive, I'm pretty sure that the next RTFF won't be far away.

Friday, June 15, 2007

Chennai Ultimate Frisbee

Some of us will be meeting up at the beach tomorrow morning to play Ultimate Frisbee. The group was started by Manu and his friends at ISB. We played for about half an hour last week. It was super tiring, especially on the beach. This time I'm bringing lots of water.

If you are interested, join the group and reply to this thread.

Date: 16 June
Time: 5.20 am
Place: Besant Nagar Beach

Erlang demo video

Harish Mallipedi has a very nice post pointing to an interesting erlang demo video.
This is probably the only time I have seen someone demo their programming language by making phone calls to each other. It is fun! Watch it.
Check it out!

Wednesday, June 13, 2007

Silver Catalyst v1.1 Released

If you were wondering why there were no blog posts for a while, you now know. Been really busy over the last ten days getting a new version of Silver Catalyst ready.

The new version was released today. The big addition is support for multi-lingual scripts. You can now create tasks and team members in languages apart from English.

Take a look at a screenshot to see an example.

The new version can be downloaded from the download page. Follow the upgrade instructions on that page to upgrade.

Saturday, June 02, 2007

Deploying web applications

A couple of recent developments have once again brought web app deployment to the forefront.

First, ThoughtWorks announced that Mingle will run on JRuby. The reason of course is because it makes it much easier to deploy the application. Most enterprises have a J2EE system already installed and configured. By using JRuby, ThoughtWorks can package the application in a war file which can be deployed onto the existing infrastructure.

Second, David started a google group to discuss a standard ruby on rails stack. From what I've heard, deploying a rails app is complicated. Which is one of the reasons why ThoughtWorks went the JRuby way.

What about Django? The standard Django deployment scenario is Apache - mod_python - MySQL/Postgres. Since most of the components are fairly standard and usually already installed, there is no real issue in deployment.

If you have anything non-standard though deployment can quickly become a problem. That really sucks.

Look at desktop apps. You install it and then click a shortcut and it runs. Imagine if you had to copy files all over the place and edit arcane configuration files in order to get a desktop app to run. You wouldn't stand for it! But this is exactly how the web app scenario is.

With the growing popularity of writing a web app for personal and team applications, where the application will be installed by a person or team on one of their own machines, deployment will become a big issue.

I bring this up because the agile tool I wrote had exactly this problem. It's for use by teams and I want teams to be able to set it up without mucking about with complicated deployment and configuration issues.

Luckily, if you are programming in Python, there is a solution to the deployment mess: Simply package everything you require — the python interpreter, a python webserver, an embedded database, django code, your application code — into an executable. Then your web app behaves just like a desktop application. That is exactly what I did with my tool. You can install and run it by running the installer and then clicking the shortcut icon in the start menu — just like a desktop application. Isn't that nice?

For a more detailed explanation on how this was done, check out my post on the other blog: Deploying a Django app on the desktop.