Questions of The Day

  • If no information is deemed confidential, does that translate into the fact that everyone has access to data over and above their pay grade ?
  • How can one write mails containing words (a friend called them “Dilbert words” when used in official mail) like commitment, value when both the recipient and the sender know that the sender does not mean them and consider them worth adhering to ?

The oft asked question…

Long time back when a few of us used to be “demo-monkeys” for a Local Language LiveCD, the question that we often faced was “aren’t internationalization and localization the same thing ?” So, instead of trying to cook up a layman’s response, we used to have 2 slides that quoted from the gettext manual as:

By internationalization, one refers to the operation by which a program, or a set of programs turned into a package, is made aware of and able to support multiple languages. This is a generalization process, by which the programs are untied from calling only English strings or other English specific habits, and connected to generic ways of doing the same, instead. Program developers may use various techniques to internationalize their programs. Some of these have been standardized. GNU gettext offers one of these standards.

By localization, one means the operation by which, in a set of programs already internationalized, one gives the program all needed information so that it can adapt itself to handle its input and output in a fashion which is correct for some native language and cultural habits. This is a particularisation process, by which generic methods already implemented in an internationalized program are used in specific ways. The programming environment puts several functions to the programmers disposal which allow this runtime configuration. The formal description of specific set of cultural habits for some country, together with all associated translations targeted to the same native language, is called the locale for this language or country. Users achieve localization of programs by setting proper values to special environment variables, prior to executing those programs, identifying which locale should be used.

The rest of the manual is a fine document worth a read if the concepts appear a bit obtuse.

List of points

  • Venky says that “One OLPC is now in the Pune center of Red Hat where some of the localization will happen” – w00t !
  • Short of a miracle I don’t think we will be at this year. In short, we cannot afford the travel and given that the company generally shies away from travel sponsorships – there are not many options.
  • I am thinking of trying out Evolution as a Mail Client :) though the pain of a possible migration from the existing keeps me reconsidering the decision
  • There’s a call for volunteers for ListAdmins for LinuxChix India
  • I am thinking of giving up my subscription to Safari
  • The Project Day folks who have not yet sent in their reports do not get a toffee. You so do not r0ck…

It’s in the way you use it…

With due apologies to and acknowledgement of the lyrics archive, there is perhaps no other suitable title for this post. It is a bit of a contrived co-incidence that, at a time of what I can only cutely call a “loss of faith“, I stumbled upon this blog entry and thereon moved on to an interesting thread that I’ve been (re)reading for a while. And finding slightly amusing in the current scenario.

The supreme importance of individual velocity (metrics – call it whatever you can relate to) in a certain percentage of software development companies that I have seen stems from the somewhat honest intention of providing a proper means of predictability to the software development process. If a team lead can drill down to the velocity at the individual level, the logical afterthought is that a collation of such velocities would provide the manager with an insight into progress and additionally factor in cost and time overruns. Additionally, metrics allow creation of shiny and spiffy graphs which look awesome during slidedecks which get passed around on mail. The question that is never asked is: what do those numbers mean ? A follow-up question that never gets asked either is: what does the focus on individual velocity achieve ?

Any form of software development is built around a team and any team should bring diverse skillsets to the table. Thus, the way individual tasks are approached, collaboration happens between teams to achieve a consistently high standard of project delivery are not something that gets put into the numbers crunched to arrive at a datapoint. Some random examples could be, a high-profile customer has an issue which gets resolved within a business day through a sub-optimal fix, or, the same issue taking slightly longer than a earlier time but being fixed through a level of optimal code that is high quality, consistent and coherent with existing work. Or, what is a good indicator of content quality on a content management system: the number of lines/words put in or, the number edits that increase, enhance and maintain the quality of the content. Individual velocity driven metrics more often than not sacrifice quality at the expense of quantity. Since the latter is relatively easy to attempt, the system appears to be tuned towards providing better results for people who crunch rather than people who hunker down and produce good work.

The other glaring issue with individual velocities is that in the Indian context I have seen that been used for in-house politics. And that’s where the fallacy of focus on numbers just falls apart. All I see the numbers as generally encouraging participants in the system to be dumb, not apply thought processes and thus walk-the-line. This message perhaps aptly sums up the paradox.

From what I see task driven development which is measured solely by individual velocity with compensation tied to it does in no way encourage an all-round development of a contributor to do something that is of consistently high quality and that makes a difference.

Dear Lazyweb

I require a service that allows me to use irssi and screen somewhat along the lines of what provides. The latter seems to be unable to provide such service till it goes through a hardware upgrade. I would be using the account only to be on IRC and absolutely nothing else. Any pointers would be appreciated and mentioned on the blog.

sankarshan at randomink dot org

UPDATE: I’d like to thank the following fine folks: Gaurav Chaturvedi, Jeff Horelick, Anurag, Thomas Thurman and Eugene Teo for providing inputs and the first two for helping me resolve this issue. All of you rock … and I cannot thank you enough.