Older blog entries for roozbeh (starting at number 70)

i18n and L10n: Apparently, this diary reaches places that email can’t. So I am reposting my and Danilo’s recent announcement here:

We have created a list for discussing of locale-related functionality in
GNOME, and creating a library, mostly using the Unicode CLDR
information, which is not available in glibc locale files. The CLDR data
is currently used in Sun's OpenOffice.Org, IBM's ICU, and Apple's Mac
This was needed because most of these things were happening in translations instead of proper locales, mostly for two things:
1) The glibc locale data and functionality is limited to what it is, and does not include some features users would require in some locales, including genitive dates for Slavic languages and alternative calendars for middle eastern countries.
Also, glibc data doesn't include what many applications could use for better functionality, like locale-specific exemplar characters, quotation marks, country, language, locale, and timezone names, extended currency info, text direction, holiday info, and general data about which script a language is written in, in which countries there are a commercially important number of speakers, and how countries should be divided to avoid a flat list.
2) Getting any patch into glibc locale data files or subsystem would require spending a lot of time, most of in waiting. (While we understand some of the reasons behind that, we can't usually wait that much.)
The basic plan is to create a nice and clean API, and then providing easy access to commonly desired functionality such as date and time formatting, per-user customisation and broader support for locale data. We also hope that library resulting from this effort will find its use beyond Gnome, so we invite everybody else to help us define and develop it.
The list is at:
You can find about the CLDR project at:
For the discussion that led to the creation of the list, see:
Looking forward to your feedback and help,
Roozbeh Pournader, Danilo Šegan
9 Aug 2005 (updated 9 Aug 2005 at 14:14 UTC) »
GNOME: Did something more than pushing translations in the CVS after a long while, updating Pango to Unicode 4.1.

i18n: Bush signed the Energy Policy Act of 2005 today, which would require to change daylight saving time in the United States:

      (a) Amendment- Section 3(a) of the Uniform Time Act of 1966 (15 U.S.C. 260a(a)) is amended--

            (1) by striking `first Sunday of April' and inserting `second Sunday of March'; and

            (2) by striking `last Sunday of October' and inserting `first Sunday of November'.

      (b) Effective Date- Subsection (a) shall take effect 1 year after the date of enactment of this Act or March 1, 2007, whichever is later.

      (c) Report to Congress- Not later than 9 months after the effective date stated in subsection (b), the Secretary shall report to Congress on the impact of this section on energy consumption in the United States.

      (d) Right to Revert- Congress retains the right to revert the Daylight Saving Time back to the 2005 time schedules once the Department study is complete.

In short, from March 1, 2007, those parts of the US observing daylight saving time, will have two more months of daylight saving.

Since US timezone is becoming complex (if you wish your software/meetings/etc. to be right during both 2006 and 2007 in the United States, you will need a complex year-dependant rule), I believe it's a good time (after GNOME 2.12 release, of course) to make sure Evolution handles the more complex timezones properly, including the Iranian one (which is based on our own calendar, which may change a day or two each year, based on the spring equinox). Some old info about the matter is here.

6 Aug 2005 (updated 4 Oct 2005 at 14:00 UTC) »

Long time, no post...

Iranian politics: We are still in a waiting mode. Not much is happening but ceremonies. Ahmadinejad became full president finally, after taking the vow in Majlis. Apparently he has a nice voice, but not really a nice face. He has been joking that "It's hard to sign it", refering to the vow. He also received a big hug from someone (I guess a parliament representative), after he stepped down from the podium.

Moving the offices: We are completing our leave from the university campus. Most of us are now established in the new office, which is about 150 square meters. It's very much near the campus, only a minute or two walking from one of the university gates.

I also updated my curriculum vitae today. It's still incomplete in some ways (not much about out non-"free software" work). I guess I should take care to update it from now on, every time something important happens: it took a long time to find some of the dates, and some of them may be very inaccurate.

16 Jul 2005 (updated 16 Jul 2005 at 13:40 UTC) »
Zaheer, while there is copyright protection in Iran, for art, literature, music, and software, it does not include any work "first published outside Iran", since Iran has not signed any of those international copyright conventions. Also, since EULAs are not binding in Iran (only signatures are), they can't restrict any copying either.

In other words, one is legally allowed to freely copy software of non-Iranian origin in Iran. As for software of Iranian origin, we even have a special software copyright law, which in practice includes changes made to software "first published outside Iran". In other words, software first published outside Iran is like public domain.

The situation has led to some companies offering Linux solutions to their customers without the source code: the GPL won't hold if the copyright doesn't.

In answer, we have taken to make sure we have patches here and there, under our own copyright, first giving a copy of the patch to someone in Iran. So, when someone sells a product including some of our code (like GNOME or Mozilla), we can theoretically claim copyright infringement and ask for following the license.

I am open for questions about the legal situation in Iran, but let me assure you that your friend will be doing a very legal thing copying non-Iranian software in Iran. But as for importing that into another country, you should check the laws of that country.

Behdad, you rock! BTW, I love a corpus where the first thing after پروژه (project) is فارسی‌وب (FarsiWeb)...

Discworld: Regarding a previous post, I just finished reading Small Gods , and it suddenly appeared to me that the format Ogg Vorbis is very probably named after Discworld characters. Apparently, Ogg is not named after Discworld (although it happens to be the name of a character, Nanny Ogg), while Vorbis is named after a discworld character.
9 Jul 2005 (updated 9 Jul 2005 at 16:15 UTC) »
Iranian president: I seem to be obsessed by out president-elect Mahmoud Ahmadinezhad. After checking in a Persian translation by Masoud Ahmadzadeh, I have written his name as Masoud Ahmadnezhad!

Terrorism: I hate bombings etc. Specially when the western governments/media have made people autmatically think of Iranians etc when they hear the news or the world "terrorist". We, the innocent people living in hardline countries, were doomed when we were born, doomed to be considered terrorists, doomed to be considered second class citizens, both in our own countries and the world in general.

Google maps: It's been a while since Google's satellite coverage of many more countries, and even the level of detail has increased to some degree since then. So for the first time I can show people were in Tehran I live. It's right in the center of this photo. Zoom out (and shift left a little) to get some idea of how large the gray and polluted metropolis is.

I am now sitting there, at our rented home of EUR 200 per month, which we are planning to change after the one-year rent finishes a month from now. The thing we don't know yet, is for how long we should rent a new place, as it's very hard to plan in a life now full of undecidables, specially since our President-elect has become a personal nightmare. I can't even sleep before going over all the local political news, specially ones like Rooz (English articles) and Gooya, news sources that are published outside Iran and so avoid the usual censors.

6 Jul 2005 (updated 6 Jul 2005 at 16:30 UTC) »
Cultural differences: In a recent meeting, someone (the person who first told me about Unicode in 1997 or so) was telling me that how his western customers could not understand our social situation. He was telling me about a colleague's father's funeral, and how it was not understandable for the contact person in the western customer organization that the colleague would need two weeks off for that, because of things that Iranian people expect when someone dies, which includes five ceremonies (one as soon as possible, one on the third night of death, one on the seventh, one on the fortieth, and one the next year) which usually have a mosque version open for all and then sometimes a limited one after the mosque usually in the dead person's home. That is apart from the burial ceremony, when people nearer to the dead person are expected to be present during the whole process, which included washing the body. It's also apart from what is called The First Eid, which is the first public celebration (about ten in a year for Shia Iranians) after the fortieth day of one's death, where the family is supposed to take out the black clothes, and everyone comes and visits them.

But it also happens the other way: I remember the first time I read the LaTeX manual, and how it used gnus, etc. all over the xamples. I didn't know there was a GNU project then, and didn't get the jokes that talked about "a big animal". But that could have happened to everyone. The best examples are references to The Lord of the Rings or, worse than that, the Discworld series, or the worst of all, The Monty Python. How is a reader of an English technical books outside the western mindset is supposed to have heard about Monty Python or be able to understand its jokes (it was sometimes very hard for me the get the jokes when we were watching them at Michael's home in Dublin, which resulted in Michael pausing the movie several times and explaining the cultural background), let alone having seen the movies a few times and recalling the jokes when one is reading a technical book. (Update: I didn't mean that the references to LoTR, Discworld, and Monty Python were in the LaTeX manual. They were spread in several different books. I don't necessary remember all the cases, but since I have only recently read Discworld, I was recently attracted to mentions of "Rincewind" and "Unseen University" in The LaTeX Graphics Companion.)

The basic effect is that when one (in the third world, or the east) reads those technical books, he doesn't get any of the niceties. He misses the psychological hints that helps him learn about the technical matter and remember them later.

You know the number of Iranians (living in Iran) I know who have read any of the Discworld books? One, myself. (I've read about seven of them, I guess.) I don't think I am not well connected to the science fiction and fantasy community in Iran, but I don't even know many people in that community who have even heard of Pratchett. They're probably ten or so. As a hardcore Iranian SFF fan, do you know how much I knew about any Tolkien thing when I borrowed The Hobbit (in English) about six or seven years ago? I had never heard his name. Do you know when I could finally get my hand on The Fellowship of the Ring? In 2001, when I first travelled outside Iran independently.

But let's get back to the main thread. I really have no clue how we can overcome these cultural burdens. But believe me, learing the language is not enough. People like me are forced to live the culture. And that's too high a price to pay for simply being efficient in today's world and be able to work outside borders.

I really hope I will not be forced to live more than the two that I'm currently living. My short contacts with the Indians and the Chinese were shocking, but well, I guess I can understand Brazilians to some degree.

4 Jul 2005 (updated 4 Jul 2005 at 14:17 UTC) »

Almost a month ago I told about a security bug I found and I was very excited about. Since enough time has passed, and the involved package, HelixPlayer, has now been released, I believe I can mention it now. The Red Hat guys told me they have fixed the issue, but they preferred that I keep my mouth shut about it until they release the updated HelixPlayer.

The problem was with the CVS system of Fedora Core, and the way it and related policies was implemented. In short, it was like this:

In Fedora Core, only the distro-related patches are kept in the CVS, and the upstream tarballs for the packages are kept somewhere else behind an HTTP server. There is anonymous access to the CVS, but through a little weird setup and directory hierarchy which is very probably not the same as what the people with commit access see. The tarballs are then supposed to be downloaded by a makefile system that reads a file (available in the CVS) called "sources" which has filenames and MD5 sums for them. They are downloaded through an HTTP server specially configured for this, which would only give you the file if you give it the right filename, package name, and checksum.

The problem was with the CVS commits mailing list. I was browsing through the list and suddenly found that there are a few emails about commits to branches called "FC3-embargo" and "FC4-embargo", which I tried several ways to access using the CVS, to no avail. Being the ignorant guy I am about the software security processes, I even had no clue what the hell "embargo" could mean.

Anyway, after searching the Red Hat site and the Google over those two branch tags, and coming to nothing, I tried the "embargo" word, and after lots of confusion found what it really means. (It is a term for cases when a security bug is known to the maintainer of the software but he doesn't tell the public about it and doesn't commit a patch to the CVS either, but tells the vendors, mostly distro people, about it and they arrange a time for simultaneous release of patches and keep everything secret before that.)

When I found it, I thought "Fine, it's a security thing, and I probably shouldn't know about it". But I suddenly thought "But weren't the committed patch about a new version, 1.0.5? If there is a new upstream tarball, maybe I could get it and feed the curiosity?" Helping the curiosity was that it was committed by GNOME's J5, who I had assumed could read Han characters when I met him in Norway, based on his face, which I am still ashamed of (he is half Italian-half Thai, IIRC), who had made the commit.

After playing a little with the HTTP server, and seeing that I can get nowhere without the MD5 sum, I suddenly realized that may be the changes to the "sources" file are also in the emails. Yes, they were there. So I constructed the URL and got the tarball easily. I had an embargoed tarball in my hands.

I tried to find J5 on the IRC, couldn't find him, tried the Red Hat bugzilla, found that there is no security checkbox for bugs related to Fedora Core infrastructure, but found the link there about security bugs and Red Hat's "secalert" team. Imported their GPG key and emailed them about it. (The sad thing is that I can no longer read the email I sent, because evolution keeps it under secalerts' chain and lock.) They confirmed the issue, fixed it to some degree, and asked me very politely (but with lots of rechecking to make sure I understand them) to not disclose the issue until the new HelixPlayer (the package I tried) is released.

The lessons I learned: Be curious and try things, apart from the educational benefits it may prove good for lots of other people. You never know when you have found a security issue. Several other people may have overseen it by simply thinking the way they do and not thinking the way you do. Don't underestimate your own eyeball.

TeX: Wow! Thanks to the recent log I just found that the great Karl Berry, a TeX guru and president of TUG, has a blog on advogato.

61 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!