Random thoughts and serendipity

A collection of jottings on various issues that excite no one else

Archive for the ‘Free/Libre/OpenSource Software’ Category

For the win !

without comments

What does it take to be good at something at which failure is so easy,so effortless ? ” : a quote from Better: A Surgeon’s Notes on Performance by Atul Gawande which is a highly recommended reading for those who have not read it yet (that’s a link to the flipkart.com entry for those who are local).

Last evening over dinner, among other things, Runa and me got talking about translations and, translation quality. That is one of our favorite shop-talk items and, since the morning blog had bits about my performance with spellings, it was a bit more significant. It is a somewhat known issue that most translation teams measure the length of the sprint, that is, how many strings were completed or, the percentage of the coverage for a particular project. Some projects attach badges like “supported” / “unsupported“, “main” / “beta” to the coverage and thus make the rush to the tape more important. At some point in time, it is important for the teams to sit down, understand and make notes about the quality of translations. Left to itself, the phrase “quality of translations” doesn’t mean anything does it ? For example, if the phrase was “Disconnect from VPN…” and, you were required to translate it – how wrong can you go ?

It seems you can go wrong, and, most often do.

  • One of the reasons that I have observed is that translating strings in application and, translating content like documentation/release_notes/guides require different kind of mind patterns.
  • The second reason is the lack of fluency in the source language. So, if you are a translator/reviewer for any language, if you are using English source files (as most of us do), you need to be extremely proficient in the language. The way the sentences, phrases and sub-phrases arrange themselves in English may or may not lend themselves to direct translations
  • The third reason is that most translators do not take time out to first use the application in English (or, read the documentation completely in English) and, use it again (or, read it again) after translation. That is a recipe for disaster. English is a funny language and, sometimes, due to the structure of the source files, the context of the content is lost. What does look like a simple word might have a funny implication if the comprehension about how it is placed within the UI or, the user-interaction flow is not made a note of.

Now that most projects have some kind of “localization steering committees” it would be a good small project to observe which locales are coming up with the highest quality of translations and, attempting to understand what they are doing. Asking the language teams about the reasons that inhibit them from maintaining a high quality would also enable deeper understanding of how a project can help itself become a better one (in a somewhat strange loop way). Such discussions would enable coming up with Guidelines for Quality which are important to have. I firmly believe that all developers desire that their applications be consumed by the largest number of audience possible and, at heart, they are willing to sit down and listen to constructive suggestions about how best they can help the localization teams make it happen. That is the sweet spot the “LSCo” folks need to converge on and get going. In fact, for projects like OLPC, where a lot of new paradigms are being created, understanding translation processes and, chipping away at improving translation quality is highly requested.

Translation is still an activity that requires a fanatical attention to detail and, that little bit of ingenuity. There is something not right about committing a translation that smacks of a “letting go of the disciplined focus on detail” and, does not contain anything new. The job is made somewhat more hard when it comes to documentation. One cannot (and, perhaps should not) go beyond what the author has written and yet, it has to be made available in the local language after “stepping into the shoes” (or, “getting into the mind”) of the original author while making it aligned with the natural flow of the target language. This is also the place where the “translator memory”, as opposed to the “Translation Memory” becomes important. The mind should be supple enough to recall how similar idioms were translated earlier or, if an error that was already reported has cropped up again. Translators have a significant bit to contribute towards making the translation source files better, cleaner, well-maintained and, well documented. And, they have to do it right every time.

All this would come together to produce high quality translations and, wider usage of applications and documentation. Collaboration for the win !

The post is brought to you by lekhonee v0.6

Written by sankarshan

July 4th, 2009 at 7:26 am

Have fun at GUADEC !

without comments

I had submitted a talk for the GUADEC which was accepted. However, in light of this blog entry, my decidedly infrequent contributions to GNOME and, an inability to travel using my own finances, I decided that there was no glory in asking for travel+lodging assistance. So, once again, I am not going to be at GUADEC ! Some day I will make it though.

One of the reasons that GCDS was interesting for me was the chance to talk about localization in terms of improving the context of the localization-ready content. During translations, one often encounters sentence construction which does not have context and, providing a means to overcome the issue in a gradual manner would make for much nicer localized UIs. Additionally, learning about improvements to the GNOME L10n infrastructure was a secondary goal. The ulterior motive was also to know about the project’s plans to outreach to groups of students beyond the obvious GSoC and, how to use the project’s knowledge to teach open source.

Meanwhile, let me go back to doing some more translations. They seem to be improving my vocabulary by leaps and bounds. Although, my reviewer says that my spelling is atrocious ;)

The post is brought to you by lekhonee v0.5

Written by sankarshan

July 3rd, 2009 at 10:17 am

Fedora 11 Release Party at Pune on 04-July-2009

without comments

This weekend we are organizing a small gathering at Pune for the Fedora faithful. Details about the Release Party are here. Besides getting the Fedora folks to hang out together and share notes, we hope to have some fun, get some show-n-tell going. Photographs and event reports would eventually follow as well.

As an aside, I am posting this using gscribble – a yet another offline client for Wordpress blogs being developed by Roshan. I had to rebuild it to get it working for F11 and, the truly bleeding rpms are here

Written by sankarshan

July 2nd, 2009 at 3:18 pm

Random bits about community

with one comment

Of late there has been a significant increase in the number of texts talking about “community”. This could well be a perception bias as well, since I have been looking around trying to see what others are writing or, thinking about groups of people, communes and so forth.

Some of the common aspects of the texts I have stumbled across include attempts to have a model defined, description of a rudimentary framework of tasks, an analysis of infrastructure that facilitates collaboration and, a broad overview of the character of a community. Either way, I am a bit tired about “community” as a word and, I feel that it is beginning to suffer from over-use and under-statement. A primary driver for that feeling is the tendency to look at “communities” as if they were thriving specimens on a petri-dish, isolated and unperturbed in their own imaginative evolutionary cycle. That is simply untenable as a hypothesis and, impossible in real life. Communities are constituted by groups of people and, people react to the push-pull of daily life around them – the political issues, the personal issues and, the social intricacies. As much as communities try, other than a basic tenet that binds them together, there isn’t much difference between the growth of a community and, the evolution of family. The same basic principles of Belief, Responsibility, Accountability and Trust ensure that the forward momentum is not stalled.

The paradox is that having stated the above, I ended up attempting to box-in the “community” into some nice tangible parameters so as to enable explanation. Fun !

The decline of a community or, even a sub-aspect of a community can also be traced to a larger sense of hubris and, a lack of plan in terms of moving forward to embrace change. The hubris part is perhaps derived from moving away from a central core idea that was the genesis of the community and, attaining a false sense of being indestructible to external forces. Statistics are important – but statistics are external representations of symptoms – for example, wiki edits; commits to version control; activity on mailing lists; number of contributors; mass of consumers all these indicate how the community (or, tribe) is moving forward. They do not capture whether the general direction is based on the central core theme and, is moving across a wider spectrum without getting too diluted.

Why can’t “communities” be replaced by “tribes” ? Makes for a better understanding of the complexity of interaction that ensures a sustaining environment for a group of people who perceive a need to exist. And, would be able to come together to arrive at decisions that ensure sustenance. Most communities/tribes are specialized formations of people who find a common space to talk about and extend their areas of interest. As such, the need to “fabricate” a community is somewhat redundant while the need to work on providing a “commons” is important.

ps :The post is rambling in essence, at some point I’d like to re-visit this and, collate the other thoughts.

The post is brought to you by lekhonee v0.4.1

Written by sankarshan

June 30th, 2009 at 5:53 pm

One browser too many

with 5 comments

It struck me this morning that I end up using too many browsers. For example, at this precise moment, I have Firefox, Chromium, Seamonkey, Epiphany and Opera being used for all the content that I need to take a peek at. Which is a far cry from the days of having shell access and, using the console to browse. These days, I tend to complain about the browser experience on my e71 more than on the Maemo. Which says a lot about what I am using to be online.

And, all because at some point in time I had a kickstart that pulled in Firefox, Epiphany and Seamonkey. Chromium looks to be a decent enough browser in spite of that annoying bit about not being able to handle Complex Text Layout. Remember to read this fine blog post if you want to set it up for Leonidas/Fedora 11.

Speaking of Firefox, at some point recently, I was using a boatload of add-ons to aid my browsing habits. The one that did come in handy was the Tree Style Tab add-on. It did reveal interesting patterns in the paths that I follow while browsing. Another nifty add-on is the Split Browser one, couple it with Tabs Open Relative and, you have a much more intuitive experience while browsing.

Update: The comments led me to Feedly, which I find to be awesome.

Written by sankarshan

June 24th, 2009 at 6:03 am

Elections, candidates and questions

without comments

The final list of candidates for the GNOME Foundation 2009 Elections are out. The statement(s) from each of the candidates are somewhat shorter than what they used to be. However, given that it is as good a time as any to ask questions to the candidates, I figured a couple of them below (the appropriate forum has the questions already) would not be out of order:

  • What are the specific areas of the Foundation’s focus and strategy where you think you can contribute as a change agent ?
  • What, in your view, are the top 5 requirements (from a strategic perspective) of the GNOME communities/tribes/groups world-wide ?

As always, it would be an interesting year for the Foundation with lots of coolness coming up.

Written by sankarshan

May 26th, 2009 at 1:13 pm

pem and the art of expense management

with 2 comments

I was looking for an alternative to keeping track of expenses via a spreadsheet. Given that it isn’t too intuitive, the alternative was scribbling it on pieces of paper and then collating them when I have time.

Somewhere along the way came pem. This command line tool is elegantly simple to use. Having the developer nearby also means that I can “demand” features in the software. Prasad has blogged about his recent release. I just love the fact that it allows me to publish a simple report of expenses by category. Comes in very handy to produce a report for Max. I have been using it for a while to keep track of the “Community Architecture” related expenses that I am accountable for.

Highly recommended. By the way, this blog entry is being written with the offline client for Wordpress called Lekhonee. If you have been using Wordpress and, desired an offline client, give this a try. The developer could do with some feedback as well.

ps: Contrary to rumour, pem isn’t pjp expense manager ;)

Written by sankarshan

May 12th, 2009 at 11:56 am

I know what happens each summer

with 7 comments

The onset of summer is generally characterized by stifling heat, mangoes and, a rush of CVs from students who want to do summer internship projects. That is, GSoC notwithstanding. It happens each summer, unfailingly and inevitably. There are two specific trends that are observed in the CVs:

  • most of them are from students pursuing some form of Computer Science and Engineering or Information Technology
  • a larger percentage of them would be making their first contributions to the world of FOSS if they end up working on a FOSS project

The first part is an area that sometimes make wonder if we cannot reach out to folks from other streams to spend their summers productively. There is an increasing need to have cross-discipline interaction and, while CompSci and IT may be an easier path to matchmaking, how do we end up getting other people interested as well. For example, say folks from the Arts and Fine Arts, other Engineering disciplines etc. Ideas and comments welcome on that.

The way to solve the second part of the problem is somewhat simpler – devise a very “high touch” mentor-protege driven system wherein the first_time_participant is given an intensive orientation in the basics of how to participate in a project, how to provide bug reports, how to create patches etc. Additionally, teaching them the basics of using FOSS infrastructure bits like mailing lists, IRC, version control systems and so forth. The point of failure in this path is of course when there is a project/task to be identified and handed over to the student to attempt to solve. The following issues come up:

  • most upstream projects do not seem to have bugs/tasks marked with something like “student project” which makes it a somewhat tedious job to sift through a whole lot of possibilities before hitting on a particular cache of tasks
  • there are no ‘defined’ upstream mentors for the tasks, so, even though a student might be able to deliver most of the tasks by {him|her}self, there is a lack of upstream ‘buy-in’
  • the above two couple together to the conclusion that there is no proper assessment of the time estimate for a task/project

I often hear the question that “if there isn’t any interest from upstreams, why not get them working on projects that are relevant for problems at hand ?” And, the answer to that is something along the lines of “having first time participants contributing to upstream projects is a quicker means to coach them into good citizens than having them think up, design and deliver their own projects”. There are days I wish that each upstream had something like “summerprojects.upstream.domain” kind of filtered view of tasks/projects with a mentor who could provide a bit of abstract/summary of what that task means. It isn’t really a big ask – and a little bit of push from the bodies that oversee the project could make this happen.

And, since the upstreams are nothing but what their contributors make them out to be, I keep on doing my bit to coax and cajole them into seeing the value in this. Especially so because with each passing summer I notice that the caliber of the students are somewhat on the upside of the scale.

Written by sankarshan

April 23rd, 2009 at 10:10 am

Digital Content in Local Languages: Technology Challenges

with one comment

I was reading through an article of the same name by Vasudeva Varma. Barring a whopper of a statement, the author does a reasonable job of pointing out some of the areas that needs to be worked on. To begin with however, let’s take that statement:

For example, Hindi is rendered properly only on Windows XP and beyond. Though there are some efforts to create Indic versions of the Linux, largely there is very little support for Indian languages.

It is a bit out out of context but nevertheless it is worth pointing out that one would have expected a bit more accuracy from the author. Especially because availability of Indian languages and their ease of use on Linux distributions have improved significantly. And, folks who use the Indian language Linux desktop on a regular basis for their usual workflow are somewhat unanimous that “things do work”. In fact, it would have been nicer if the author had taken the time to test out a few Linux distributions in the native language mode to identify the weak points. Most of the upstream projects do have very active native language projects with a significant quantum of participants from Indian language communities. For example, translate.fedoraproject.org, l10n.gnome.org, l10n.kde.org etc are the ones that come to mind immediately.

At a larger level, I would whole heartedly agree with the author that there exists gaps which need to be filled up. For example, with the desktop and applications getting localized, there is an urgent need to have “Cookbook” like documentation in native languages primarily for desktop applications. There is a greater need to improve existing work on the following:

  • spell checkers
  • dictionaries
  • OCR

for the various Indic languages so as to enable a more wholesome usage of desktop applications. Sadly enough, a large bulk of the work around the above three bits are still “in captivity” at the various R&D initiatives across institutes in India with not much hope of being made available under an appropriate license allowing integration into FOSS applications.

The other part of the equation are folks who create content or, collate content ie. the writers and the publishers. To a large extent, there is a dearth of large volume of local language content on the Internet. And while it could have been said that the difficulty with Linux and Indian languages was a show stopper, it isn’t really so any more. “Better search” has been a buzzword that has been around for a while, but till the time a quantification of better does happen, it isn’t impossible to get along with what is available right now. The primary barriers to input methods, display/rendering and printing have been largely overcome and, the tools that allow content to be created in Indian languages are somewhat more encoding aware than before. With projects like Firefox taking an active interest in getting things going around Indic, I would hazard a guess that things would get better.

Which brings us to the Desktop Publishing folks. I have talked about them and the need to figure out their requirements a lot of times. Suffice to state, the DTP tools need to be able to handle Indic stuff far better than they do now. And, probably we do have the work cut out there.

Written by sankarshan

April 22nd, 2009 at 9:37 am

Google Summer of Code 09 etc

without comments

This time around, the variety of proposals which have been selected for The Fedora Project & JBoss.org combination are awesomely nice. Congratulations to all those who did make it and, for those who could not – I’d say that this is a learning opportunity and, we would look forward to your continued participation and contributions to the project. There is plenty we can learn from each other and, these are the times to make use of the opportunities

Turns out that India has the second highest number of accepted proposals. I recall reading earlier that the number of proposals/applications from India was significantly high as well. However, I’d say that this is just a beginning and 101 isn’t really a number to be going to town about. Sure it is better than where we were 3 years ago. But, the world has also progressed since then and, we just cannot keep on benchmarking without adjusting for that change. There are certain trends which are nice though. Things like second time applicants, applicants turned mentors. These indicate the willingness to participate, to contribute, to collaborate and to coach – all important ingredients in the great rush to become a better FOSS citizen.

It is a privilege to be a mentor because it gives one a chance to read the proposals before hand, help in scrubbing and polishing them and, to take a dipstick test into the trends of FOSS adoption and awareness in the country. And, the T-Shirt is a nice incentive ;) Among the few things that do come to mind include the need by all the projects to lay frameworks that can coach the young participants more effectively – work towards bringing them up to speed throughout the year and, show them how to think. The last point was hammered home in a number of proposals that seemed to have a distinct lack of originality. While we rejoice and blog triumphantly about the increase in India’s contribution, we need to keep in mind that this is just a start of the contribution process and, the virtuous cycle ends when the contributors of today become confident enough to take the role of mentors of tomorrow.

I am sure that the following have been written again and again, but I’d say it is never enough. For those who want to participate in GSoC and work towards a good application, it would be nice to keep in mind some of the following.

  • Participate early, participate continuously – a project can become confident of the student’s ability to deliver if there exist proof that the student has what it takes to take the idea from a concept stage to a deliverable. So, do not land up on a project during GSoC, give it some deep thought and engage in a structured fashion much earlier so that the developers know who you are and what you can do.
  • Think, don’t just read – if there is constant participation, anticipating a potential GSoC project becomes much easier. Thinking about it in the perspective of relevance and value to the project gives it the much needed shine. This also means that it is easy to write a proposal around an idea than just verbatim copy of the text of the idea into the proposal
  • Talk, don’t just write – it is important to indulge in public discussion of the ideas, the proposed paths and initiate discussion. GSoC proposals are not fire-n-forget type documents. They need constant attention
  • Listen, don’t just talk – a good proposal is one that discusses it with potential mentors and, can evolve through discussions and suggestions. Keeping eyes and ears open to good ideas also demonstrate a willingness on part of the candidate to become a better contributor and a good participant

Written by sankarshan

April 21st, 2009 at 5:31 pm