Tuesday, March 27, 2012

RubyConf India, 2012

This was my/the 3rd RubyConf, first time in Pune. Like last year, I couldn't/wouldn't submit a talk. But I did manage to buy a ticket in time, before they got sold out. My friends were over, and very dear to me that they are, we stayed up Friday night playing UNO, until it was 7am. 8am I was up and reached the Hyatt Regency venue by 9.

Day 1

After the Welcome speech, it was Charles @headius Nutter with his keynote on JRuby and other Ruby VMs. It was great to know how the other ruby VMs were coming along, and how IronRuby was dying. Next was a recorded video keynote by Matz. I started missing the first RubyConf India, where we had the opportunity of having Matz on a Skype video conference. Matz said one place Ruby lags behind Python is SciPy and NumPy, and they would focus on having that in Ruby in the next few years.

After a coffee-break I was attending Ruby CLI talk byNikhil Mungel and Shishir Das. I was a bit put off on having to see only slides in a talk which could have made more interesting by throwing in some cool CLI demos. Next I was attending Tejas Dinkar and Jasim A Basheer's talk on Sandboxing Ruby Code, where they discussed their experiences on developing rubymonk.com.

As usual, lunch was awesome. I met lots of people, unlike my previous RubyConfs, where I operated as a lone shark.

Post lunch (and a bit drowsy) I was attending the Everything Ruby talk by Ajay Gore. It wasn't very interesting. Next up during the Clojure talk by Steven Deobald, I was feeling a bit lost. Noticing nothing interesting lined up next, I headed home.

Day 2

Next morning's keynote was by Mikel Lindsaar. It was a motivational speech, which talked about purpose and value exchange in software development and life in general.

Post coffee, I attended Sou Sheong's talk on Sex, Money and Evolution. That was one of the most interesting talks I have ever seen. He took some virtual bots called roids, and simulated a culture of them after adding external parameters like energy (money), reproduction (sex) and natural selection (evolution). The result was a beautiful visualization of life. Most of it was written using Ruby and R, so I would have been a happy puppy has he demonstrated some of his code. But the source code is on github, so I could have a look at it later. The session was very interactive.

I tried attending the next talk titled "What lies beneath the beautiful code", but the sheer uninterestingness, and the fact that people started walking out ensured I followed suit.

Lunch, again, was full of #win.

Post lunch I attended "Smells and patterns in test/spec code", by Sidu Ponnappa and Aninda Kundu. It talked about the anti-patterns while writing tests. After that I spent some time in the Hack Room discussing some list archive crawler ideas with Anurag, and clicking photos, which I won't publish. No.
Later I found myself in the method_missing should be recursive talk by Matthew Kirk.

Post a couple_of_cutting_chai_and_sandwiches, I was attending the lighting talks. Highlights were nursery_rhymes.rb by Shakthi Kannan and Users == Bugs by Charles Nutter. And that was how RubyConf India 2012 ended.

Some observations

The quality of talks this time wasn't really upto the mark. Some talks were really great, but some were just downright bad. Most of the talks were unrelated to the Ruby language. And many failed to excite the audience. I know it's easy to criticize when I myself didn't submit a talk, but then I will make sure that doesn't happen in RubyConf India 2013.

Monday, March 19, 2012

A translation editor for DTD resources


I am Shreyank and I will be mentoring the project "A translation editor for DTD resources" under Ankur India.
Since Ankur India has been accepted as a GSoC Organisation, I am hoping to get a lot of queries on what the project is really about. If you are reading this post, it is possible that you have asked me a query, the answer to which I have here.


Although Ankur India deals mostly with issues relating to the Bengali language, this project idea is not specific to Bengali.

A very common translation workflow consists of translating po files, which in turn are used within applications using gettext. One can use tools like lokalize, gtranslator etc which reads the po files, provides a GUI to help translate the strings and save them back to language specific po files. Thus a file relating to Bengali strings would go into a file called bn_IN.po.


Although a lot of translation use cases are covered by po files, some aren't. For example, Mozilla uses DTD and properties files for the purpose. The idea is to extend the existing localisation tool(s) to cover these type of data files.

A logical first step would be to write an engine which is able to read dtd/properties files, take user input for translations and write a new language specific file. This program should be modular and API driven so that it can be quickly used to extend with any existing localisation tool, desktop or web based. On the other hand one should be able to quickly extend the engine to work with other similar data files.

Once that is ready it should be integrated with an existing translation tool, preferably a desktop app so that we have a proof of concept and a finished product which can be used by translators.

The application should be platform independent and can be written in the programmers choice of language, keeping in mind the scalability and portability.

With the above points clear, I'm open to any other suggestions on how to best approach the problem. In case you have any further doubts mail me at shreyankg AT gmail DOT com and I'll be happy to take up questions.