Introduction to Open Street Map

Presentation slides of GeoHacker Sajjad Anwar talk on Open Street Map (OSM) Project.

Machine Translation Humor

Studying computational linguistics isn't dull. There is always something to laugh about, including the subject itself. Fuck computational linguists

Courtesy: xkcd #114

Lets look at that classic illustration of Machine Translation(MT) of the English phrase The spirit is willing, but the flesh is weak to Russian and back. Lets see what would we get if we try with Japanese today.

  • The spirit is willing, but the flesh is weak Let's start
  • 精神が、肉体が弱い喜んで into Japanese
  • Spirit, willing flesh weak back into English
  • 精神は、喜んで、肉は弱い back into Japanese
  • Spirit is willing, flesh is weak back into English
  • 精神、肉体が弱い喜んで back into Japanese
  • Spirit, I'd have a weak body back into English
  • 精神を、私は弱い体がしたい back into Japanese
  • Spirit, I want a weak body back into English
  • 精神を、私は、弱い体を back into Japanese
  • Spirit, I have a weak body back into English
  • 精神を、私は弱い肉体を持って back into Japanese
  • Spirit, I have a weak body back into English

View the complete results at Translation party.

OpenStreetMap Mapping Party at NIT Calicut

This weekend I travelled overnight for the first Open Street Map (OSM) mapping party in Calicut. The event was part of NIT Calicut's Tathva fest. When I reached Calicut I found Sajjad, Praveen and other geo hackers had been hacking late into night preparing for the party. Took a headdive by first fixing Sajjad's laptop and later helping out with few late minute tasks.

Getting the devices to work was a major pain. The Ubuntu Karmic laptop I had with me managed to detect the Openmoko Neo Freerunner and Android based G1, we could do upload GPS clients to the devices. But only one of OpenMoko's ending up being used at the party while others started rebooting whenever we launch GPS client. Bummer ! Praveen, Sajjad working on laptops GPS Tracker on Openmoko

After a quick Kerala style breakfast we headed to NIT Calicut campus some 20 kms from the city. Dressed up in white mapping party tshirts with 'Our Streets, Our Map' printed in bold letters in the back. We found the FLOSS Hall inside the campus already setup, the overhead projector was running endless Linux Foundation videos. :) But there very few people around. NIT Calicut campus On the other side of the room, several laptops were setup showcasing several Linux applications. Found that laptops running Linux games were most engaged through out the day. We quickly hooked up our Wifi access point to the wired network so that we could get online for uploading out geo mapping data.

Sajjad, Praveen and others gave a quick introduction to Open Street Map project and the idea behind a mapping party. The tools needed for mapping are a GPS device or a phone with GPS feature, a computer running JOSM - OpenStreetMap editor and a account on OSM servers to upload the your geo mapping data. Sajjad giving the lecture Praveen adding his ideas Introducing Openmoko

Later we divided into different groups, each with a GPS device and a different area of campus to map. I managed to get a sector with ladies hotel :P but failed to get someone with mapping experience into my team. We heading out under the hot sun to start mapping.

Assigning different sectors Assigning different area's to teams Tools for Mapping: Computer and GPS device 
Tools for Mapping: Computer and GPS device Walking around with GPS device Walking and mapping with a GPS device Garmin GPS Device Garmin GPS Device Download, edit and upload to OSM servers
Download, edit and upload to OSM servers Late Dinner Late Dinner Tried at the end of the day Give me a pillow, I'll sleep right here

Overall the event was a great learning experience for me. Later in the evening I interacted with team to see what worked and what didn't work at the party. I managed to share some ideas on creating a blueprint for such mapping parties or workshops around India before I left the city.

Apport disable ignore future crash reports

When a software application crashes on Ubuntu Linux Apport automatically collects program data, creates a crash report and submits this information to Ubuntu bug reporting system Launchpad. Such detailed crash reports are invaluable in fixing the software bugs.

For developers who run unstable and bleeding edge development systems, software crashes are more common than you think. Often its good to let apport ignore known bugs by checking 'Ignore future crashes of this program version'. When a newer version of application is released with bug fixes, its reasonable to let apport watch the application for new crashes. However the apport documentation doesn't mention anything about this. I posted a question on launchpad, but didn't get a satisfactory answer. Digging deeper into my system I realised the trick lies in the ~/.apport-ignore.xml file. As the name suggests apport ignores all applications listed in this file. Do you think editing this file is correct method. Any ideas?

<?xml version="1.0" ?> <apport> <ignore mtime="1249941982" program="/usr/lib/gvfs/gvfsd-trash"/> <ignore mtime="1249661853" program="/usr/bin/indicator-messages-service"/> <ignore mtime="1241703827" program="/usr/bin/sugar-ui-check"/> <ignore mtime="1247782974" program="/usr/bin/update-notifier"/> <ignore mtime="1249944683" program="/usr/bin/file-roller"/> <ignore mtime="1249927702" program="/usr/bin/gnome-keyring-daemon"/> <ignore mtime="1241703827" program="/usr/bin/sugar-session"/> <ignore mtime="1250707118" program="/usr/bin/evince"/> <ignore mtime="1249941982" program="/usr/lib/gvfs/gvfs-gdu-volume-monitor"/> <ignore mtime="1251154362" program="/usr/bin/accerciser"/> </apport>

Getting Started with Mallard Help Documentation

Gnome 3.0 help documentation is based on the new topic-based Mallard documentation format created by Shaun McCance. The Yelp help browser and Gnome documentation utilities already support Mallard format.

Creating a Mallard Document

In this post we will use Shaun's Ten Minute Tour to create a multi-page Mallard document.Mallard documents use a '.page' extension. The 'Beanstalk' application help needs a guide page (index.page) and a topic page (planting.page). Make a new directory named 'beanstalk' and create the two files with following content using your favorite text editor.

# index.page <page xmlns="http://projectmallard.org/1.0/" type="guide" id="index"> <title>Beanstalk Help</title> </page> # planting.page <page xmlns="http://projectmallard.org/1.0/" type="topic" id="planting"> <info> <link type="guide" xref="index"/> </info> <title>Planting Beans</title> <p>By the end of this page, you will be able to plant your magic beans and nurture them into a bean sprout.</p> <steps> <item><p>Dig a hole 5cm deep.</p></item> <item><p>Place your magic beans in the hole.</p></item> <item><p>Fill the hole with clean dirt and pat it level.</p></item> <item><p>Water daily.</p></item> </steps> </page>

Now use Yelp help browser to view the files. Open a terminal and type the following command. $yelp file:///tmp/beanstalk/ Yelp help window of Beanstalk Yelp help window showing planting page

Adding to Gnome Help system

The next step is make it part of the Gnome help system. Here we are copying the beanstalk help files manually to folder where gnome help file are stored. $ sudo mkdir /usr/share/gnome/help/beanstalk $ sudo mkdir /usr/share/gnome/help/beanstalk/C $ sudo cp beanstalk/ /usr/share/gnome/help/beanstalk/C/ -rfv `beanstalk/' -> `/usr/share/gnome/help/beanstalk/C' `beanstalk/index.page' -> `/usr/share/gnome/help/beanstalk/C/index.page' `beanstalk/planting.page' -> `/usr/share/gnome/help/beanstalk/C/planting.page' We are done! You can now access beanstalk help by calling 'yelp ghelp:beanstalk' from your application or via Yelp search.

The Life and Death of a Mobile

Watching The Life and Death of a Mobile Phone on BBC Four reminds me of my first mobile. I didn't have enough money to buy a sleeker Nokia model so I brought this chunky Motorola. When I showed to my friend Kaushal he told me that its bulky but it will serve you well and it did. My first mobile hack was done on this, I would send a hundreds of SMS's (its used to be free! ) and it outlasted most of the other newer phones I would buy later on. In death too it proved useful, a friend practised mobile repairing on this handset. Amen!

Motorala Mobile handset

PyCon India 2009

Most action happens on conference sidelines PyCon India 2009 is no expection. You can always watch the recordings of talks later on. Catching up with friends comes first. Sharing ideas about projects, events and just talking all things geek. Good to hear that Santhosh was interested about integrating dhvani with speech dispatcher for Orca screen reader. Sharing experiences of working with non-profits with Sayamindu and talking about accessibility issues on OLPC SUGAR. And exploring possibilities of doing Ubuntu Karmic release parties in Chennai and Bangalore with Parthan (technofreak), Renuka and Debayan.

I did catch few of the lectures of Ramakrishna on Enterprise Linux, Parthan and the presentation by the FOSSEE team.

Parthan Python newbie talk The Mallu Gang ! Praveen shows his Android G2 Baij T-shirt with topsy turvy logo What's Reappy ? Jinesh checking out Samsung mobile (Q2?) Hiran hacking my T-shirt with a pen :) The Food was Good! Where are the crowds ? Ah! 75 students took off to see the city! Prabhu Ramchandran charms the crowds The feedback !

At National Workshop on Web Accessibility in Trivandrum

Delivered a lecture about Ubuntu accessibility features and Orca screen reader at the National Workshop on Web Accessibility here in Trivandrum. I had to wrap up the usually hour long talk quickly so that I can catch the train to Bangalore to be at the Pycon India 2009 the next day.


The two day Web Accessibility workshop hosted by SPACE and Centre for Internet and Society concluded at Christ Nagar International School today. 43 participants from various Government departments and private firms took part in the workshop. The aim of the workshop was to educate web developers of Government and non Government agencies on how to develop websites that are equally accessible to people with disabilities.
Read More