For Chinese Linux users, we may meet many mp3 files with GBK/BIG5 encoded ID3 tags, which are very time consuming to change them to UTF8 one by one.

Before using the following solution, please confirm that you won’t use media players on Windows that cannot handle UTF8 encoded ID3 tags correctly, and you won’t use MP3 players that don’t support it.

Firstly, install python-mutagen package. For Debian/Ubuntu, use:
$ sudo aptitude install python-mutagen
For Fedora and others, probably:
# yum install python-mutagen

Secondly go to the directory containing files need to be converted.
For files with GBK tags:
find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;
For files with BIG5 tags:
find . -iname "*.mp3" -execdir mid3iconv -e BIG5 {} \;
There is a good thing that the program could check if the encoding we selected is suitable, so when we convert GBK encoded files, the BIG5 ones won’t be changed. But please don’t use GB18030 option because it will cause problem when the file aren’t really GB18030 encoded.

If you need to edit tag text yourself, try easytag to help you. :P

Thanks to the great work done by the team, we can release this desktop course for spreading Ubuntu in Chinese.

Here is the project homepage:

We have released both HTML and PDF. Also, Docbook format is available.

Yesterday, we held a meeting about Ubuntu China LoCo Team resigning and nomination, and talked a lot about our LoCo team’s future activities.

Meeting minutes:
1.What is Ubuntu loco contact? [happyaron]
2.Vote for new loco contact, and the new contact decided is Eleanor Chen. (10 Pros, 0 Cons, 4 not voted)
3.Discussed about FullCircle China team’s work.
4.Made decisions about participating the Ubuntu Global Jam, and proposed for opening a classroom for teaching people who are interested in becoming an MOTU.
5.All participants agree with organizing more community activities, but not get a conclusion on when is the best time for starting a Ubuntu user group at Beijing.

Here is the meeting log (Chinese):

Covert flac to mp3


Some time we have to use mp3 format because our moveable devices commonly don’t support flac/ogg, thus I need to convert a .flac file to mp3. It’s very simple:
First of all, install flac and lame package from your distribution’s repository.
Then, using the following command to actually covert the file.
1.flac -d filename.flac
This will output an filename.wav in the same directory.
2.lame filename.wav
Now a fresh filename.mp3 is lying in the same directory.


Ubuntu China LoCo Community is going to host a party at 2:00 PM, on May 8th in the Traktirr Russian Restaurant, Beijing, in order to celebrate the release of Ubuntu 10.04 LTS. Everybody, from newbie to hacker, is warmly welcomed. We will invite some people to give lectures about Ubuntu, but what is truly important is, we hope that everybody can participate in the party! We sincerely wish that all of you can have fun here. Remember that there are a cake, some free CDs of Ubuntu 10.04 LTS and other souvenirs waiting for you!

After a period’s work, Ubuntu Desktop Course has been translated to Simplified Chinese, the content has already adapted to 9.10, most of them are ready for 10.04. We are happy to announce this to public and wish this course can help more people who speak Chinese enjoy and share Free Software.

HTML view:
PDF generation still have some problems.

This work is licensed under Creative Commons 3.0 Attribution No-Commercial Share-Alike .

It is a proven fact that Ubuntu, the Linux for Human Beings, is a great GNU/Linux distribution, which enables more and more people all over the world enjoy free software, share their knowledge and joys.

Being an user of Ubuntu, I must say all the work done by the community and Canonical is awesome; but as a contributor from a not English spoken country, I would be extremely happy to see we can launch localized edition Live CDs, in other words language specific edition Live CDs for users that have different languages and preferences.

For different languages there always be different cultures, and this caused to different user preferences. There are many people don’t have enough knowledge about English to use a not localized computer in this world. A user of this kind will find it essential to download and install many thing to complete their language support when they installed Ubuntu from our Live CD in the past and at present. Most of these users have some common usage of software, so install these “language preferred” software is another required task before the system is usable. Do you think such a thing is very annoying? Yes, users would be much happier when they find an operating system designed to be very considerate.

We have spent lots of man power on improving the process of installation including language support, and a GNU/Linux distribution always ships not only a system but also a set of selected applications, but I think things are still not perfect for us. Microsoft and Apple make their operating systems have different language’s editions, and as a non-native English speaker, I ‘d like to say it worth. Users prefer to have a fully localized environment in every corner they can see from the very beginning. But for Ubuntu we can only add translations of software that used during installation. The live session is an exciting feature, but I always here somebody ask “why are those all in English?””is there a fully translated Ubuntu available?” I’ve explained our current situation times by times, and these people always return to say “Ubuntu is great, but if there is a fully translated one, things will be even better.” The way to solve such problem, is having a language specific edition.

So there are teams and individuals appear to make their distributions based on Ubuntu, or we are regarding them as Ubuntu Derivatives. The existence of these derivatives help us spread our distribution in the positive side, but there are really negative side, it’s not just a problem on user choice, like between Fedora and Ubuntu, but something influence our build of community. Those derivatives always not only ship language packs but also some small tweaks for specific user groups (not like Mint, which makes some bigger differences). Due to many reasons, there always be breakages and bugs that never existed in official Live CD. Users have to choose a provider that he or she can trust when they are about to turn to Ubuntu but can hardly accept to start from a global edition Live CD with minor support of his or her language. But who can make sure the quality of these derivatives? Perhaps nobody can tell. For the derivatives provided by non-profit organizations, situations are better than those profit-driven teams. I know some editions have changes that bring security holes, ship Ads (e.g. hard change on Firefox home page which point to a site full of Ads), and of course some of them refused to open there changes. Yes, users are able to drop those unwilling changes, but why he or she tries a derivative if they like to deal with such issues? We may still say it doesn’t matter a lot up to here. Then, most of those derivative’s authors don’t supply support even though some of them have make changes and cause problems, and even some of them push the support work to local community deliberately. Apart from general questions, these users always ask about problems caused by derivative’s changes. It is an annoying and overwhelming job to answer, even just tell them “to use the official one” can be an awful thing that few people like to do. This lead to discount to our community, and those users may think Ubuntu and our community are not friendly because most of them don’t know the real situation exactly.

Making official localized Live CDs can also lead to a new stage of Live CD usage. A Live CD can be used as a demo, a rescue system, or even a temporary working environment, the live session is a feature that many users like very much. As mentioned before, a not English spoken user can find some very limited support in the current Live CD. We need to admit it can hardly be used to do anything other than run a installation. Even for a demo purpose, other will always ask about the nearly all English environment. I’ve said in the beginning of this piece, users prefer to seeing that every corner he or she can reach is localized. To achieve a better usage of Live CD, a full localization is critical for these users. As for languages that need input method to input characters, for instance CJK languages (Chinese, Japanese and Korean), without a full featured input method, their usage of Live CD can be even more limited. It is really hard to input these complex scripts, though we have ibus with general m17n support by default, but you can only type characters one by one, such thing look very ridiculous for nowadays input method development and usage. When you cannot input a sentence, how can you make it even if you just want to search the web for some articles via live session?

Apart from the meanings of official localized Live CDs above, users can save time on downloading and installing language support and perhaps other common software using a localized Live CD. For example, to complete a basic language support of Chinese needs around 100MiB to be downloaded, such a size only count in the language packs and input method without pulling in any other common software like StarDict to land on the system. With a localized Live CD, users can have a usable environment to be installed when they can’t access a fast Internet connection, or even without a connection, such feature is obviously welcomed by many users who have desired it for long. With a fully localized environment, we can simplify user’s configuration process, and make it really almost ready-to-use once installed.

Making the localized Live CDs don’t need any changes on our most infrastructures, it is just a matter of default selection of software in the CD. This will cause some more work for CD image team, translation exportation and our ISO building facilities, but I think it worth it. The intention of default package sets and some QA work can be done by the LoCo teams.

We can’t provide Live CDs for all languages, especially at the very beginning, but starting with having a try for some languages that have special need of care and a big amount of potential users is worthwhile. We can accumulate experience and make the process better. Windows and Macs can have language specific editions, why we can’t?

Providing official localized editions can be a big step forward on spreading Ubuntu and free software to the world. The progress of making it out is another try on the cooperation of development community and local communities. Ubuntu is Linux for Human Beings, I think such an action is really to that point, which will benefit a lot of users throughout the world.

Ubuntu Tweak is a magical tool for users to configure Ubuntu easier, it has a growing amount of users. I propose to make some enhancement to provide better PPA and key security.
We need to have a GPG key pair to sign and verify texts to make sure the key hash list is credible. And I prefer SHA128/256 to be our hash for key file fingerprints because some users are considering MD5/SHA1 is not so reliable today. We are just verify some key files, so such performance degradation is bearable.
Now I will describe what will it do actually when a user install/upgrade a Ubuntu Tweak.
We need to prompt to import a GPG public key to users keyring for the first time a user start Ubuntu Tweak and go to the PPA tunning section, or when he deleted or changed the key in his keyring. Every time the application should check current user’s keyring to find the a key’s fingerprint, and the key ID is our preshipped version in our program(do not worry about someone has changed this value, we have the procedure to verify it).
Then prompt the user we need to update our application data online, including PPA and their key definitions. And UTCOM need to provide a LATEST version file as well as the current version of data. We UT checks for update, it compare the LATEST version and determine whether it need to update the data. Such action can be done once a week or twice (of course the first run we need do it as well).
The data pack should contain the following content:
1.Public key fingerprint which we have mentioned before, this is used to verify the key once the data pack has been extracted.
2.source.list.d entries
3.PPA keys
4.PPA key fingerprint (hash, sha256 perhaps)

When download finishes, the application first verify the data package with its signature (can be achieve with another text file contains the tar file’s hash, and sign that text with GPG method). If everything goes correct, extract the package and find out the GPG key fingerprint and compare it with the system installed one (what we used to verify the tar pack just now), when the verify works, we can believe the data is reliable, and check hash of other key files.

Every time Ubuntu Tweak add a PPA, it should check the PPA list it downloaded and verified, so we can believe the program won’t add PPA that we haven’t check.

When Ubuntu 9.10 releases, pppoe connection via NetworkManager is impossible because some bug in it. So I switched to the traditional but workable way – pppoeconf, now the problem seems to be solved when using nm team PPA, so I plan to turn back.
But during my process, there are some other problems. Firstly nm cannot handle the connections automatically; secondly we cannot edit connections system wide.

Here are the correct steps:

First, add “NetworkManager daily trunk builds for ubuntu” PPA:

deb karmic main
deb-src karmic main

Second, comment out line “exec pppd call dsl-provider” in /etc/ppp/pppoe_on_boot, that is to say disable my previous “pppoe on boot” setting which is configured by pppoeconf.

Third, rename /etc/network/interfaces to backup file. NetworkManager will only handle connections which haven’t declared in interfaces, if you didn’t any tunning on such file, you can delete it, but backup before doing any change is a good habit, :)

Forth, edit /usr/share/polkit-1/actions/ , find out the line contains “System policy prevents modification of system settings”, and below it there is a “auth_admin_keep“, change it to “yes“. This will enable you to edit a system wide connection. If you consider this will do harm to your security, then revert the change once you have set up your connection correctly.

Fifth, reboot your system, because these settings won’t take effects even though you have run “sudo services network-manager restart” and “sudo services networking restart”.

Now it is working on my system, cheers!

This time I read the guide on ConTeXt Wiki and learned some basic commands doing quotation.
Not very much today in fact.
1.single quotes (‘):

\quote{some text}

2.double quotes (“):

\quotation{some text}

3.long quote sections:
For single quote:

\startquote ... \stopquote

For double quotes:

\startquotation ... \stopquotation

4.Nested quotations:
Add following lines first:


Then try with:

Testing, \quotation{A long quotation in which one character says,
\quotation{Eh? What am I supposed to say? Something like, \quotation
{Quotations in this sentence are nested}?}} testing, 1, 2, 3.