Category Archives: Catchall Scribbles

Those jottings which could not be clipped with any other papers…

Notes from the Leonidas Release Party at Pune

This Saturday (04-July-09) we had a Release Party at Pune. It was fun ! And, the one vein of feedback that we received was “we need to do this more often, and, have regular meetings”. Fine enough, we can see to that. The organizers did a wonderful job of getting the show on the road and, helping wrap things up – a strong start and, a strong finish made it a wonderful experience. We had around 50 people turning up and, with the number of Red Hat folks walk-in, that number would be well over 65. The DVDs were available throughout the meet and, they sure came in handy as folks requested extra media to pass around as well. Towards the end of the meeting, Ramakrishna took off for Bhaskaracharya Pratisthan where around 100 teachers had gathered to talk about curriculum and Open Source and, he ensured that he had enough media to hand around and, notes to show off things.

The party is on !Prasad talking about how he got into FOSS development

Photos are available with the tag “Fedora Release Party” The day kicked off with a short welcome address by Rahul Sundaram and, we dived into showing off some videos. Particularly, we got a strong response around the Red Hat Way. It moved into the new items that are in Fedora 11 and, predictably enough, there were plenty of questions around filesystems (ext4) and virtualization (libvirt and KVM). Rahul passed the mic to Rakesh who talked about Package Management, PackageKit, RPM (including a somewhat quick run-down of the RPM internals). It was time for Prasad to step-up and, talk about his projects and how, he got into FOSS and, learnt new languages by devising projects. There were moments of hilarity as the demo instance of pem was using Kushal’s expenses and, we sort of opened up Kushal’s accounts for the participants to ogle at 🙂 Kushal showed off Sugar on a Stick and, talked about Sugar in specific and Sugar-Fedora parts in general. The pizzas (link to image) provided an opportunity to get the interaction going. Especially since there were students in the crowd and, that generally leads to lots of discussions and rapid-fire Q/A.

Post lunch, we had a demonstration by Satish of the work-in-progress Moblin Spin based on Fedora and, a quick introduction to Spins by Rahul. The latter was aimed at taking in feedback about what spins/remixes are worth investing time and effort on and, also an extension to the “what package is missing” survey that he conducted some time back. And, with that it was a wrap. It was wonderful to meet new people. watch the infrequent Fedora T-Shirt in the crowd allowing folks to take note of the communication means (web-page and IRC channels).

There are things we could have done better. Some observations are as:

  • Having a discussion about localization and, internationalization specifically aimed at understanding how content in local language could be produced using Fedora.
  • Quick means to contribution – we barely touched about easy areas to become a contributor
  • Documentation – we should talk more about it
  • Virtualization – with the number of folks interested in questions around v12n, it would have been nice to talk about v12n
  • LiveUSB Creator – we did not anticipate questions around that tool and, there were use cases aplenty. Note to other organizers, never underestimate the power of a sleekly done UI wrapped around a “rock-my-world” tool
  • Project 389 – would have been lovely to have a show-n-tell around this
  • Predicting the footfall – always good to have more folks, but we sure did not anticipate 50+ folks over a weekend. Lesson there about using this momentum to have some form of regular meetings

The post is brought to you by lekhonee v0.6

For the win !

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

Random bits about community

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

A trail over the weekend

Yesterday a couple of us (well, 11 of us actually) took a trail organized by Trek’Di to the Tamhini Forest. It was something I have not done before and, the completely different nature of sounds within the forest took me by surprise. Some photographs are here. There were elements of fun as well which is bound to happen in a diverse group of folks. The photographs have been from mobile phone cameras mostly, an indication of showers (which were heavy) did not encourage me to take the usual point-n-shoot along

Crowdsourcing at the very best Image(355) Another view of the tree-line

One browser too many

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.

তুমি কেমন করে গান করো হে গুণী,
আমি অবাক্ হয়ে শুনি কেবল শুনি ।।
সুরের আলো ভুবন ফেলে ছেয়ে,
সুরের হাওয়া চলে গগন বেয়ে,
পাষাণ টুটে ব্যাকুল বেগে ধেয়ে
বহিয়া যায় সুরের সুরধুনী ।।
মনে করি অমনি সুরে গাই,
কন্ঠে আমার সুর খুঁজে না পাই ।
কইতে কী চাই, কইতে কথা বাধে —
হার মেনে যে পরান আমার কাঁদে,
আমায় তুমি ফেলেছ কোন্ ফাঁদে
চৌদিকে মোর সুরের জাল বুনি

pem and the art of expense management

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 😉

A letter for Sayamindu

Dear Sayamindu,

It is good to see you blogging after a break. Now that you have got the rant off your chest, I hope you are feeling better. Catharsis does work.

You ask, somewhat rhetorically, as to why you should bother ? There are a lot of layers to that question really. Should you bother about coaching your peers and juniors in the “right” things ? Or, should you be bothered about the employment bits that make all the education and years spent so irrelevant ?

I firmly believe that you should bother. In fact, I hold on to the theory that you should get agitated enough to be bothered more than you are currently. There is no escaping the fact that the world is changing and, with it, the patterns of employment. Traditionally, Indian IT companies of the SWITCH and now TWITCH group have hired freshly minted software engineers by the ark-load. In fact, there are times when I have wondered about how do they end up managing the task of the massive hires. When you hire at that quantum, the focus is less on skills and, more on whether there is “aptitude” as measured by some tests devised by the departments involved. And, since there is an extensive “training” of the new hires involved as part of the cycle, it is comfortable for them to assume that basic knowledge would be drilled into them eventually.

It isn’t really about Python. I guess the issue here is do the folks whom you guide and, for a very valid reason, feel responsible for, realize and accept that there are opportunities outside of the traditional TWITCH group ? Or, that, given accomplishments, they can actually be spoilt for choice in terms of assignments they land up with ? Sadly enough, my experiences have been somewhat negative. Since getting into a services sector job hasn’t been too difficult, students seem to have become complacent (and, yes, I know that this is a grossly general statement) and, decided not to exercise their choice to “be excellent”.

Choosing to become a zombie is an easy decision. Choosing not to and thus striking out a path for themselves requires courage. So, the question I ask is – what can we do to instill that courage in the folks we encounter ? What can be done so that they can be brave enough to reject a call to mediocrity and, embrace the discipline and strength needed to really “innovate” ?

It is a sad fact of life that B players generally hire Cs. So that they can appear smart to the outside world. How can we coach the students to aspire for nothing less then being an A and, demand the very best of their employers ?

So, the question isn’t really “Why should I bother ?” – it is “What can we do to change the system ?”

The number of comments on your blog does prove that there are a large group of people unhappy with the current state of things. The larger that group is, and, the more work that gets done, would be the starting point of things changing.

~sankarshan

ps: Be bothered. That’s the only path to sanity.

Of books again

Spent a greater part of the day reading A Better India, A Better World by Narayan Murthy. And, for better or, for worse, re-read a few parts of Imagining India: Ideas For The New Century by Nandan Nilekani.

There is nothing much to be said about the book from N Murthy. A collection or, more aptly, a collation of his speeches and writings these are collected around various themes. A basic point which the publishers might have considered is the selection of font and size. A book that is wholly text matter based requires a much pleasant font and comfortable spacing rather than the close-spaced result that one sees in the book. There are a few things that stand out when one reads the collection:

  • his speeches tend to have repeated imagery and quotes and, a bit of sameness that becomes jarring if the book is read as a whole
  • while the speeches employ rhetorical flourishes, the writings, especially in the columns of business journals have a much sharper edge and clarity
  • “Be the change you want to see” is a theme oft repeated and, provided for via various examples. And, I did end up liking a number of the anecdotes.
  • The sections on Values, Leadership and, various addresses to the students are worth a re-read.

All said, I had a different set of expectations from the book. Probably, that was one reason I ended up re-reading segments from Nandan Nilekani’s book. Narayan Murthy has been somewhat “up there” and, expecting a bit more insight in terms of vision isn’t asking for the moon. So, whereas Nilekani’s book does a thorough overview of a situation and digs dip down into nuts and bolts operational parts, Murthy’s writings tend to remain a bit on the “preachy” side. And, somewhat dispassionate. The book is worth reading if one has heard or, read him infrequently, else, borrow a copy to read up the section on Values. Might be worth it.

I know what happens each summer

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.