Flickr Badge

Wednesday, September 19, 2007

Using python to teach kids programming

Horst Jens uses Python to teach kids how to program at Profikids in Vienna. In the following screencast, we see one of the kids, Leo, program a simple GUI button box. The screencast is in German, but it has English subtitles. Check it out below -

Get the Flash Player to see this movie.

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

Monday, September 17, 2007

Design of Programmer Spaces - My DCamp Presentation

We spend a lot of time on improving productivity through better languages, tools and processes. How often do we look at the environment in which the team works? Cubicles are probably the worst environment for programmers because they are poor when you want peace and quiet to work alone and poor when you want to work collaboratively as a pair or group. In this talk we'll look at some environmental factors that impact teams and how we can design better programmer spaces.

Resources





There is a narration for the slides available in the comments section here

DCamp Photos

Sagaro, Arpit and I just got back from attending DCamp in Bangalore.

I'll post about the sessions later. For now, here are some photos from Allagappan's flickr stream, more photos from Muthu's flickr stream and a description of the sessions by Saurabh Minni.

Wednesday, September 12, 2007

Keeping track of unconference/community/tech events in India

It's getting harder and harder to keep track of unconference, community and tech events that are happening these days. In the next 30 days alone you have DCamp, Agile Workshop at Indore, Freed.in, Agile Chennai 2007, Yahoo Open Hack Day, SearchCamp and Barcamp Mumbai.

And these are only events that I'm aware of. Add in any other events that might be happening plus regular events like the OpenCoffee Club in various cities and its just too much to remember.

So what I've done is to create a group on upcoming.

Check out the group here.

If there are any events that you are following that are not on upcoming, add it to upcoming and then add it to the group. Anyone who is subscribing to the group RSS feed will get an event notification.

Similarly, if you want to track events that are happening, join the group and subscribe to the group RSS feed and you will be notified of any new events that get added to the group.

Tuesday, September 11, 2007

Django screencast: Template inheritance, filters and newforms

Following up on my first Django screencast, I've put up the second screencast in the Learn Django series. Like the first one, its hosted on showmedo.com and you can view the screencast here.

The second screencast extends the wiki application we built in the first part by adding a menu, support for auto-linking of wikiwords and a feature to search through the database. In the process, you'll learn about some cool Django features such as template inheritance, custom filter libraries and Django newforms. Django newforms in particular is a very cool form handling library that can really cut down on boilerplate form generation and validation code.

Interested? Check out the screencast.

Monday, August 27, 2007

Mylapore Photos

I went on a Mylapore heritage walk organised by Namma Mylapore on Saturday morning. Namma Mylapore is a group of volunteers that aim to make Mylapore better. The heritage walk is one of the things they do. Apart from that, they also try to clean the roads and other such projects. They meet at 5pm on the first Sunday of every month at the South steps of the Mylapore tank. More volunteers welcome!

Some of the photos from the walk are up on flickr: http://www.flickr.com/photos/siddhi/tags/mylapore/

Wednesday, August 22, 2007

Event Badge Generator released under MIT License

The event badge generator python script has been released under the MIT License: More info, Download

If you attended Proto.in, you would have noticed the cool preprinted badges for all the attendees. (If not, check out the pics here and here) We had almost 400 people, and no way was I going to manually create each badge, type and place all the text, reduce the size if it didn't fit, split names into two lines if required and all that. So I ended up creating a python script to take a badge template and a list of names and create badges for each one.

I was talking about this script at the lightning talks at BCB4, when Brad Allen from the Dallas Python User Group mentioned how it might be useful for other events as well (mainly with reference to PyCon). Therefore, the script has now been released under an MIT license.

As it stands now, there are some hardcoded variables here and there and some work needs to be done. If you are a python coder, you can probably find your way around and change what you want to change. Sometime in the future I'll parametrise it so that it is relatively easy for non-python coders to use it as well. Eventually, I'm hoping it reaches a stage where it can be used by non-tech event managers.

For now though, it can only be used by those who can read and write basic python. If you are interested in using it or playing around with it, check out the project wiki page.

Monday, August 20, 2007

Some Post-event Blog Posts

A couple of events happened this weekend.

On Saturday, SkillsCamp Pune took place. Freeman has a post-event blog post.

On Sunday, the Bangalore OpenCoffee Club meetup was held. Ramjee has the post-event blog post for this event.

Looks like both the events went off pretty well. Good stuff. Waiting for photos and videos ;)

Tuesday, August 14, 2007

The problem with voted content: Homogenisation

A couple of things occurred the past week which made me think about voted content. The first was Dharmesh Shah lamenting the loss of reddit and the second was an idea floated on the bangalore barcamp mailing list of having an event where all the talks are voted on by the audience.

Why do I think an audience voted event is a bad idea? Tyranny of the majority. Tyranny of the majority is a term applied to pure democracies where the majority can constantly out-vote the minority and therefore impose their view on the entire population (which is why there are no purely democratic countries, but lets not go there).

Lets take a simple example to see how this works. Say we have an event and 100 people turn up. 60 of them want to attend startup sessions. 40 want to attend photography sessions. There are ten speaking slots. Common sense dictates that having 6 startup sessions and 4 photography sessions is a "fair" distribution for the given audience.

But what happens when topics are put to vote? In every slot, the startup crowd can out-vote the photography crowd. Therefore when put to vote, the most likely outcome will be 10 startup sessions and no photography sessions.

But it doesn't end there. The next time the event comes up, the audience will be reinforced by those who liked it the first time around. Therefore in the second edition, there will be more startup enthusiasts in the crowd and fewer photography buffs. Over time, this positive feedback cycle will reinforce itself until the crowd and the topics become homogeneous.

This is exactly what happened to reddit for example. Topics that appealed to the majority go to the front page. As users visit the site, those who like the topics on the front page tend to stay, while those who don't will leave. Those who stay cause more such articles to get to the front page, which in turn attracts people who like those topics. A vicious positive feedback loop occurs as the crowd and the topics become homogeneous, eventually driving out minority interests.

The cool thing about a barcamp is that there is a great deal of variety in the topics. Therefore, even if you are in the minority, there is a good chance that you will find someone with your interests at the event. The biking collective was a good example of this. Such a session would never have survived a voting round. But the barcamp format meant that it was possible for those interested in the topic to meet up and have a session.

That is why I feel that efforts must be taken to preserve diversity.

Having said that, there is merit in voted sessions. Voted sessions avoid the situation where people talk about stuff that no one wants to hear about. But it makes more sense if voted sessions are just one of the tracks in the barcamp, not the whole event.

Monday, August 13, 2007

Organising your own OpenCoffee Club

Bangalore OpenCoffee Club Meetup

Following on from the Chennai OpenCoffee Club, Vaibhav and Ramjee are organising an OpenCoffee Club in Bangalore. OpenCoffee Club is is a place for people involved in the startup ecosystem to meet in an informal setting.

Read more about the Bangalore OpenCoffee Club and if you are interested in attending, join the bangalore opencoffee google group.

Organising your own OpenCoffee Club Meetup

Starting your own opencoffee meetup is very simple. Here is what we did:
  • Decide on a time and place. The place should allow a small crowd to have noisy discussions as they roam around the place. Make it easily accessible. We chose 3pm Sunday mainly because there is less traffic — otherwise it is a pain driving through rush hour.
  • Next you need to announce the meetup. We
    • Posted about it in our blogs. Kiruba picked it up and posted it in his blog
    • Sent a mail to the python, ruby and linux user groups
  • For other cities, the local Barcamp, MoMo, LUG and other such groups are good places to announce the event
  • Finally you need to turn up at the give time and place and let the event happen. We had a quick introduction at the beginning then broke for food/coffee and let the individual discussions happen.
Thats pretty much it. The cool thing about OpenCoffee Club meetups is that there is very little organising overhead, which makes it easy to organise and attend.

Friday, August 10, 2007

Lightning Talks at BCB4

We decided to have a session of lightning talks at the Python hall at BCB4. A lightning talk is a quick 5 minute talk. Usually there are a number of lightning talks one after another. The idea of the lightning talk is to give a quick introduction to a topic that might be new for the audience, with the discussions taken after the session.

It went of pretty well, one of the more fun sessions. It's really nice to see ideas bouncing off every five minutes, and with Kausik keeping strict time, the session flow was good.

After seeing it work nicely at the Python hall, I converted my Speed Geeking session into a lightning talk session. The reason was that there were about 20 people in the audience, which is too small for a speed geek, but good for lightning talks.

In this post I'll summarise the topics from the two lightning talk sessions. Click the links for more information on the topic.
  • Code like a Pythonista: Brad Allen from the Dallas Python User Group talked about David Goodger's tutorial, Code like a Pythonista.
  • Printing badges with Python: This was my session on how I used a python script to create attendee badges for Proto.in. If you attended Proto, you would have seen those badges. They were generated using a Python script.
  • Restructured Text: Restructured Text is another variant of text markup languages like Textile and Markdown. It is the standard markup language used in docstrings in Python.
  • Sudoku Solver: Anand had a talk on writing a sudoku solver. Very nice little program that uses a backtracking algorithm to solve sudoku puzzles.
  • pygoogle: pygoogle is a python interface to the Google web search API. This session showed how you can use it for search engine optimization.
  • Web.py: Demonstation of a quick web app written using the lightweight web.py framework. Web.py powers sites like Reddit and Open Library.
  • Wicket and JTrac: Peter Thomas gave a talk on his open source project, JTrac, which uses the Apache Wicket framework.
  • Agile Software Development: Agile software development explained in a few minutes!
  • Second Life: An intro to Second Life, with an emphasis on the Second Life economy.
  • Creative Commons: An intro to the CC philosophy.
  • ShowMeDo: ShowMeDo is a site for the sharing of technical material through the medium of screencasting.
  • Tempostand: Tempostand is a platform for independent artists to share their music under a Creative Commons license
Two sessions of thirty minutes each for a total of one hour of lightning talks. That one hour threw up these twelve topics. Good ideas and technologies to investigate in more detail. If you are going to be taking a session at an unconference, try out the lightning talk format.

Tanjong Rhu


Tanjong Rhu
Originally uploaded by Siddhi
Taken on Singapore National Day, August 9, 2006. This apartment complex is located opposite the stadium. I was just looking around and saw the beautiful sight of the moon rising over the apartments.

Thursday, August 09, 2007

Google Uses Crowdsourcing To Create Maps In India

Brady Forrest over at O'Reilly Radar has a post on how Google is using Crowdsourcing to create maps in India.

Google has been sending GPS kits to India that enable locals to make more detailed maps of their area. After the data has been uploaded and then verified against other participant's data it becomes a part of the map.

He quotes a speech by Michael T Jones, CTO of Google Earth, who in a talk said:

Now, everything you see here was created by people in Hyderabad. We have a pilot program running in India. We've done about 50 cities now, in their completeness, with driving directions and everything - completely done by having locals use some software we haven't released publicly to draw their city on top of our photo imagery.

Pretty interesting stuff. Read the whole post for more information.