NEW: For a prettier blog interface, see the Wordpress version!

Tasks

B0_Blog about eyeballs and general assemblies (nil)
B0_Reflect on last days: http://villageidiotsavant.blogspot.com/ (nil)
B2_Blog about social systems and first names (nil)
B0CReply about growing up: E-Mail from Harvey Chua (nil)
B1CPost clarification of plagiarism peeve: E-Mail from Sean Uy (nil)
AXReview 2004 (2004.12.31)
B0XBlog about family and gifts (2004.12.21)
B0XBlog about cults of personality: Torvalds: A Solaris skeptic</td><td>Newsmakers</td><td>CNET News.com (2004.12.22)
BXWrite a reflection on translation (2004.12.30)BXOn coping: E-Mail from Richi's server (2004.12.30)BXAsk Eric Pareja about translation (2004.12.30)B3XBlog about computer invisibility: E-Mail from Rex Ian Sayson (nil)

Notes

3. Yet another cool little Planner hack: really smart tab expansion

One of the greatest things Planner has done for me has been to make it easy to keep track of little tasks. Having lots of things on the shelf makes it far easier for me to take advantage of moments of inspiration and turn them into real code. I do my best thinking on the train, walking home, in the bath: wherever I can squeeze some reflection into a couple of minutes of waiting. Then I mentally run through whatever little tasks I have lying around, and if inspiration hits, I run with it.

Today was pll's lucky day. He asked for ways to easily hyperlink to people's records and to days like "tomorrow", "yesterday", and "today". I remember thinking, "Hey, that would be cute." The feature was really close to something I hacked together over a year ago, so I pulled up my old configuration, tweaked it a bit, and ended up creating this nifty tab expansion module that used hippie-expand to expand planner names in an intelligent way.

I _love_ hacks like that. I love making small and nearly insignificant tweaks to help people fit Planner to the way they want to work. People may or may not use that little tab completion thing. Browsing through my ../emacs/planner-config.el and ../emacs/emacs-wiki-config.el reveals a lot of cruft I wrote long ago but have since then forgotten. The point is, at least we experiment with these things. Planner makes it easy to experiment. Planner makes it easy to try things out.

A major part of my role as the maintainer of Planner is really just to keep track of people's wishes and see if we can kludge together some kind of attempt. While other software projects have awe-inspiring grand plans, we stumble along in the directions people want to go in--sometimes contradictory--and somehow or another, we manage to make an environment that fits us. Planner is not a one-size-fits-all personal information manager. Planner is crafted, tailored for each person. Planner grows just as much as you want it to.

Of course, this constant experimentation leads to rough spots if you track the development branch and try all the new features. There are bugs we still haven't tracked down, particularly the new code that's out there so that people can bang on it and experiment with it and hammer it into something that makes sense.

I think this development model works. That's why the mailing list is essential. That's why #emacs on irc.freenode.net is essential. That's why a constant stream of suggestions really really helps.

Perhaps one day Planner will get buried under features. It already seems to be overly complex at first glance; newbies who take one look at it run away screaming. ;) I think that is something that cannot quite be addressed by documentation or simplification or even reasonable defaults. I will not hide the complexity of Planner. I will not hide Lisp programming from Planner users. In fact, you are very much encouraged to try it out, and if this is your first introduction to Emacs Lisp programming, I think that it is quite good that your first hack is something you will use and benefit from daily.

How, then, are we to manage the complexity as Planner grows more and more features? How are hapless newbies supposed to get into this extremely wonderful thing? ;)

I think the answer lies with people. I learn most by asking people how they use their Planner. I learn by asking people what they want to be able to do with their Planner. I think it's silly to ask people to use all of Planner right away--_I_ don't use all of Planner. Even if you go through the manual, there's just so much information. There are just so many ways of doing things.

The trick, really, is to evolve from something small and comfortable to something slightly larger and perhaps just a little uncomfortable, but something that is still easy to get used to. Show people the bare minimum that they need in order to do their job (or to at least feel they're keeping track of the things they need to do their job), give them a glimpse of what's possible, and encourage them to think of other things they'd like to do.

That's where little hacks like pll's tab completion fit in. Planner encourages people to think about that next little hack as a "nice to have": not something to waste a lot of time thinking about, perhaps, but something to keep on a todo list somewhere just in case inspiration strikes.

2. Open Source Speaks Your Language

(title needs tweaking)

English is the language of education, business and government in the Philippines, but many people are not as fluent in English as they are in Tagalog and other dialects. As a result, they find it difficult to use English-only software, learning how to use programs through rote memorization and relying on icons and positions to find commands. This discourages them from exploring the computer or improving their skills on their own, and increases resistance to change.

With the rapid progress of volunteer efforts like the Debian Tagalog project, it would not be surprising if a full open source desktop in Tagalog and other dialects would be available in a few years' time. Because these programs are free to download and use, computer shops, cybercafes, schools, and offices would include them in standard installations. People would be free to explore computers and learn how to use them, not hampered by the dual barriers of language and technology.

The Philippine software market is too small for multinational companies like Microsoft to consider localization as economically viable. Piracy reduces the attractiveness of the market even further. Unlike other Asian countries, we do not require special alphabets or fonts in order to produce documents required by government and industry. Localization does not offer a competitive advantage that can be exploited by closed-source software.

On the other hand, open source is uniquely suited for localization efforts. Communities do not have to wait for companies to decide to produce localized versions. They can make the changes themselves. More importantly, they can use and distribute the modified software so that other people can benefit from their work, narrowing the digital divide and making technology available even for people who are not comfortable with English.

In this scenario, a number of issues present themselves. Would employers discriminate against experience in localized open source software on the grounds that those skills may not translate to English closed source software? Would the popularity of translated software result in the deterioration of functional English skills, making us less globally competitive? Would dialects further fragment our IT industry along regional boundaries while making it difficult for people to take advantage of worldwide resources?

Skill transference is an important consideration. Job advertisements specify "Microsoft Office experience." Employers may be hesitant to hire someone who doesn't have all the buzzwords listed. Schools train people in popular software so that new graduates can work right away. Business-minded students and professionals worry that their experience in open source alternatives like OpenOffice.org will not be recognized by employers. As open source software grows in features and compatibility, not only will transitioning to equivalent closed source software become easier, but using open source alternatives side-by-side with or even in lieu of closed source software will become more feasible.

What about the English language? Wouldn't promoting localized computing negatively affect English language skills and reduce one of our competitive advantages over other Asian nations? We promote the use of English in classrooms and offices. Wouldn't localization be a step back? Wouldn't people find it difficult to use non-localized software? On the contrary, localized software can help strengthen people's communication skills. With confidence based on their experience with native-language applications, people can then explore English applications with the benefit of having solid mental constructs to which they can then assign English terms.

With the wealth of regional dialects in the Philippines, wouldn't localization further divide our fledgling IT industry along regional boundaries? On the contrary, developing regional centers of excellence in computing will help the industry grow, and bring the benefits of IT to people previously excluded by their unfamiliarity with technical English. If the applications people use were available not only in English but also in regional dialects, then more people would be encouraged to explore how they can be more productive with computers. Knowledge is not trapped within a single community, but shared with other regions and the world through community members who are comfortable with English or multiple dialects.

Localization is one of the most powerful advantages offered by open source software. Open source is about freedom and choice, and translation efforts springing up around the country are a shining example of how the ability to modify software allows people to add value to it for their community. Volunteers working on translation and localization of open source software are not doing it for themselves, but rather to make it easier for their family, friends and townmates to learn more about computing and use computers to improve their lives. Through open source, Filipinos open doors.

Other interesting resources:

Debian Tagalog Translation Team http://banwa.upm.edu.ph/mailman/listinfo/debian-tl

Filipino Linux Documentation Project http://banwa.upm.edu.ph/mailman/listinfo/fldp

Ramil Sagum, aspell-tl http://ramil.sagum.net/item/aspell

Jan Alonzo, packaging aspell-tl for Debian http://www.unpluggable.com/foss/

Open source's local heroes http://www.economist.com/science/tq/displaystory.cfm?story_id=2246308

Web browser speaks Xhosa http://www.citi.org.za/Article/1000/1003/1219.html

1. Surrounding myself with ideas

If I had my own house, I'd scribble on its walls. Perhaps the walls will be made of glass backed by white paper so that I can paint and draw on it, washing off old work and doodling on new work. Perhaps they will be enormous whiteboards or blackboards set into the walls, with colored markers or chalk everywhere. I want to surround myself with ideas, mindmaps, little sketches, notes. I want a house that changes every day, a house that lets me be creative.

(Got that insight after reading about the real use of white ceilings as set out in On_Lying_In_Bed.txt)

Previous day | Next day

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .

Page: To Reflect on
Updated: 2005-02-10
NOTE: ANTI-SPAM MEASURE NOW IN PLACE. Please answer the following question with the right number in order to send me your comment.
What is two minus one? (hint: one ;) )
Name:
E-mail:
URL:
Comments: