Dokuwiki on Debian

dokuwikiWent through my n+1 installation of my preferred wiki, dokuwiki on a Debian server and for the first time run into a small error, a warning actually, that would systematically be displayed on the wiki page header:
Warning: mb_strrpos() [function.mb-strrpos]: Empty haystack in /../../inc/pageutils.php line 142
Warning: mb_strrpos() [function.mb-strrpos]: Empty haystack in /../../inc/pageutils.php line 155

The error was there whether I used aptitude or manual install and I couldn’t find anything online or in the bug tracker about it. Finally went under Dokuwiki IRC channel and with the help of “Chris–S” narrowed down the problem to either mb_string overloading or stricter error checking.

The fix? Changing:
mbstring.func_overload = 7
to
mbstring.func_overload = 0
in php.ini and restarting Apache. This is a system wide change, there is also a way to change it per site using a .htaccess file. Hope that helps someone.

Gdium One Laptop Per Hacker Program

gdiumSeems like this Christmas will bring me a great gift: my time back! As you might have noticed I haven’t been able to write much, nor was I able to attend any of the last 6 months BLUG meetings or even spend time with my lovely girlfriend! All this time was not wasted, I have in fact joined a great new project managed by Dexxon, the company making the Gdium, which goal is to “provide access to information affordable to all, so that all can exercise their right to education”. So we’re building a 10″ MIPS based netbook (Loongson based to be precise – the Chinese CPU) running a customized version of Mandriva Linux (MS Windows won’t run on it) and developing an online platform to promote Open Education and provide the means to use Open Source Software and the community to build sufficient resources to make this dream come true. The “Gdium.com” foundation is being set up to manage the resources and ensure the durability and non-profit side of the project. 3% of all Gdium sales will go to finance that foundation. Of course we want to involve the community and developers straight from the beginning and as such are starting the “One Laptop Per Hacker” program where one can purchase an early release of the Gdium (with some known issues) at 250 €. So if you’re feeling like helping out and making this dream happen, please join us!

Meeting with Shanghai LUGs

Software Freedom Day

Time just flies! August meant a lot of travelling for me, as well as getting my hands dirty with the making of the Gdium and shipping out all the Software Freedom Day goodies. Yes Software Freedom Day is just around the corner, on Saturday September 20th and from what I can read on the mailing list everybody is hard working on its preparation.

Nevertheless I had the opportunity to visit Lemote office twice, get some special deals for the Beijing LUG and on my last trip to Shanghai even stop there and meet the nice people from Shanghai LUG and the Dining Philosophers.

It was for me the opportunity to see in real Lullideath with whom we regularly converse on IRC (and discover she was a girl…), meet again with Geek, one of the founders and core members of the Shanghai LUG and a few other great and enthusiastic people from Shanghai. Amazingly there was even a French guy who used to teach Mandriva at Supinfo in Qingdao! Among the many topics we discussed one was about Software Freedom Day in Shanghai and trying to get both LUGs coordinate and do something together, the other one was about regular monthly meetings in Shanghai which today are not so regular. Shanghai LUG has been increasing its meeting frequency from twice a year to quarterly events this year and the Dining Philosophers do meet monthly but not at regular dates. I do believe one of the success of Beijing LUG has been to be regular on our meetings and have a stable meeting date and point: every second Tuesday of the month at the same place. Location tend to be difficult to find and keep, and we have had to change yearly based on group size, budget and convenience. I sincerely hope Shanghai LUG and Dining Philosophers can join forces to have those regular meetings. It can start as just dinners and evolve into something more technical down the road. With companies such as Intel, Lemote, ST Microelctronics, HP, raincity, PowerE2E and many others it should be fairly simple to find speakers and topics that attracts the Shanghai Linux and Open Source crowd.

So good luck to you guys and hopefully I can return for your next regular monthly meeting!

Switched to Mandriva…

Mandriva Linux

I finally did it! Been talking about ditching Ubuntu for ages and never found the time (you know… backup, new install, restore, get familiar, etc.). It turns out that last Thursday while extending my /home partition with a LiveCD, for some reasons something went wrong and I ended it with my bigger partition having the same remaining free space as before being extended (I had a 20GiB unused space on the disk initially). Thinking I had been lucky not to lose anything, I backed up and installed Mandriva One. It’s a bit like going back to my first love Mandrake (second actually, started Linux with Red Hat when it was free many years ago)! Of course I preferred the name back then, but for obvious reasons they couldn’t keep it.

So Mandriva has actually a specific ISO file for Asia which can be downloaded from a Chinese mirror maintained by our good friend Funda. It includes all the necessary files to support Chinese, Japanese, Korean, Indonesian, Malay and a few more languages I think. Installation was almost ok, couldn’t do it in 3D mode but hey, I can live with that (the install button just wouldn’t click).

The first 6 hours using Mandriva where a bit challenging in the sense that I had to get familiar with urpmi and how to do things. They do have a great Linux Control Center (mcc) where you can find all the things to be configured in one single location. Their network manager is also very powerful and has all the options one should expect from such a tool. Had a little rendering problem with my Chinese fonts (using English desktop with Chinese enabled) which was due to a conflict with the Japanese fonts. Well in short after two days of discussion with Patrick who visit us regularly, Funda and Freeflying on #mandrivacn I got everything fixed, missing applications from the repositories backported and a service that really impressed me: Kudos to Mandriva and its community.

Now an other reason for supporting Mandriva is that they’ve been trying to build a community here, have hired people to improve Chinese support and are even building the operating system that will run on the Gdium (the Loongson based general purpose Chinese CPU). So definitely an interesting distribution worth following and encouraging.

I again extend a big thank you to Funda, Freeflying and Patrick for their help, and recommend everyone to give it a try.

Starting to get SFD schwag samples

Thanks to our successful Software Freedom Day event last year I am now a Software Freedom International board member. SFI is the non-profit organization behind Software Freedom Day, the group of people helping each of the now 400+ teams worldwide making the event happening at the same date (3rd Saturday of September – 20th this year) every year since 2004!

And every year SFI, thanks to the help of its sponsors, sends schwags to each team for free. This year I was the lucky one picked to manage the making of those schwags. As you can see we are starting to receive samples, comparing them to last year schwag, making sure the balloons inflate well, that colors are right and printing is on par with our expectations. A big thank you to Pockey and Jennifer for their help on managing this, and Jason for helping out with artwork modifications.

In about a week time I hope we’ll be able to start shipping and I’ll ask for the generosity of my preferred community, the Beijing LUG, to give a helping hand to count and pack the almost 300 boxes we’ll be sending all over the world!

One more application fully localized, one started!

Still actually working on that new project of mine, we (Pockey and I) finished Gcompris localization in Chinese last Saturday. Ok, most of the work was done with 98% completed, which shows a huge increase from 6 months ago actually where less than half was translated into Chinese. Gcompris is an educational software suite which proposes different activities to children from 2 to 10 years old. Gcompris po files are available from the Gnome website where you can find a few other languages that need completion. Coordinating the Gnome Chinese translation effort it is worth mentioning that you can find BLUG member and occasional presenter Funda Wang (Yeah BLUG again).

This being said we have also started localizing Hex-a-hop, a puzzle game with 100 levels. The internationalization process was completed last year in July by Jens Seidel, who has developed the patches for making it work with SDLPango and to support all the spectrum of Unicode characters. With debian packages, the process of getting the po file is a big more “complicated”. In fact there are two ways, one given to me by Miriam Ruiz (Hex-a-hop maintainer at debian) and one by Anthony Fok (BLUG member among so many other things, and great Linux contributor). So here we go (for those who would like to actually translate other debian projects):

miriam@miriam:~/tmp$ apt-get source hex-a-hop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 1020kB of source archives.
Get:1 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (dsc) [1004B]
Get:2 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (tar) [892kB]
Get:3 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (diff) [127kB]
Fetched 1020kB in 1s (577kB/s)
dpkg-source: extracting hex-a-hop in hex-a-hop-0.0.20070315
dpkg-source: info: unpacking hex-a-hop_0.0.20070315.orig.tar.gz
dpkg-source: info: applying hex-a-hop_0.0.20070315-6.diff.gz
miriam@miriam:~/tmp$ find . -name "*.po"
./hex-a-hop-0.0.20070315/debian/i18n/bg.po
./hex-a-hop-0.0.20070315/debian/i18n/ru.po
./hex-a-hop-0.0.20070315/debian/i18n/ja.po
./hex-a-hop-0.0.20070315/debian/i18n/vi.po
./hex-a-hop-0.0.20070315/debian/i18n/ta.po
./hex-a-hop-0.0.20070315/debian/i18n/pl.po
./hex-a-hop-0.0.20070315/debian/i18n/nl.po
./hex-a-hop-0.0.20070315/debian/i18n/es.po
./hex-a-hop-0.0.20070315/debian/i18n/de.po
miriam@miriam:~/tmp$ find . -name "*.pot"
./hex-a-hop-0.0.20070315/debian/i18n/hex-a-hop.pot

Then you just need to open the .pot file with poedit. Second method is to convert the .mo file which you can get from the binary deb file back into a .po file typing:

wget http://ftp.tw.debian.org/debian/pool/main/h/hex-a-hop/hex-a-hop_0.0.20070315-6_i386.deb
dpkg-deb -x hex-a-hop_0.0.20070315-6_i386.deb testdir
cd testdir/usr/share/locale/de/LC_MESSAGES
msgunfmt hex-a-hop.mo > hex-a-hop.po

Now there is a good explanation here on the translation process used in FOSS for those of you wanting to understand more. Should you want to join us and help, please don’t hesitate to contact me. If you want to translate other applications that you feel should be in your language but are having problems with it, I won’t mind helping out neither.

First stone to the edifice

RUR-PLEJust as I am talking about my new project, last weekend, Pockey and I have already localized a great educational application called RUR-PLE. RUR-PLE is an environment designed to help kids learn computer programming using the Python language. Teaching kids algorithm are without any doubts going to enhance their problem solving abilities, analytical skills and passion to create things out of nothing.

The whole process of localizing this application took half a day as the author, André Roberge, had already internationalized its software. So basically it was just a matter of installing PoEdit, finding the po files in the right directly and just providing the Chinese version.

There are 48 lessons (not all are online, but they come with the package) bundled with RUR-PLE which are in HTML format. Now those have not been internationalized and we have so far only localized the main pages and the documentation. I am therefore starting to dive into the process of HTML internationalizing and I have much to learn. From what Freeflying told me I had to look into XML and DocBook for that. At first sight it does appear fairly complicated, so if anyone has the time to give me a crash course on the ABC’s of HTML internationalization and localization, please feel free to contact me.

What you can remember of this article however is that to port something as useful as RUR-PLE only took one afternoon! So if you want to help and join our efforts do come and visit our group.

Full speed into my new project

As some of you know, I have decided to resign from the Beijing LUG presidency in order to have more time to do things that I feel more useful for Open Source in China. To continue on the topic actually, I think it will be good for the BLUG to have a new leadership. It was a very rewarding experience for me and I am really glad it happened.

So just as I feel so free I am getting myself into pushing Linux to schools, and building something useful for that purpose. I already had one opportunity last summer (July 2007) in Qingdao and unfortunately the lack of good solution in Chinese killed the project. Early this year a second opportunity arose and I have decided not to let it vanish again. Benjamin Cooperman, teacher at BISS, brought this one on a tray and we now “just need to execute”.

For those not familiar with the details, we’re collecting old PCs from schools or companies, refurbishing them, installing a light weight Linux distribution with a suite of usable educational applications in Chinese and donating those to poor schools as well as providing training to the teachers.

The project wants to be distribution agnostic and (as the OLPC project should have been – I hope you sense my disappointment now) about providing the right tools for teachers and students to be successful.

First phase will be based on PuppyLinux as we have hardware limitations but ultimately we’ll have a software stack easily installable for a few distributions. CECC, one of the main Chinese contributor to E-pup, the Chinese PuppyLinux, is helping us in our endeavor and of course a few BLUG members as well.

More information on the BLUG wiki. We will need translators and people with experience in internationalization. Should you feel interested please do join our group, or contact me.

Riding the small dog

For those of you regularly reading the Beijing LUG site (or even participating in our events) you might remember our Old PCs Refurbishing Party lead by Ben from BISS and held early March of this year. After struggling with various flavors of Ubuntu because of bad Chinese support and heavy resource usage, we settled on 256MB of ram as a minimum requirement and had to manually customize every single install we did.

Not satisfied we decided to study other options such as mastering our own light-weight derivative distribution with the right packages and good Chinese support. We did get a lot of positive supporting offers from ThizLinux, Mandriva and Novell and it’s nice to feel you’re part of a group of great people.

After a few weeks, Ben pointed out a few Puppylinux variants and I am now playing with it: IMPRESSIVE! I am testing it on an old Thinkpad X30 with 256MB of ram with a Pentium III: so fast, so flexible. All the necessary applications are available, it’s very easy to make your own build (actually 2 ways of doing it) and you can even install deb packages (experimental feature).

We still have a long way to go, but it really seems we’ve solved our first issue: small footprint and easy setup. Puppylinux has also a very active IRC channel on freenode (#puppylinux) and a fairly good documentation. I’m almost considering using it as my full time distribution!

So whatever distribution we use at the end, I’m quite pleased to have had to dive into Puppylinux. It’ll give us a base to chose the right applications and do our own customization in order to get the project rolling!

Golden Bull Award

For those of you reading the Beijing LUG site you already know we received an award last Saturday: the Golden Bull Award. I tend to be overly emotional in these kind of situations (no, I didn’t cry but hey, it was intense) and really felt proud to be representing our community, what we have done during the past year together and how fun it has been. It’s also a good feeling to be acknowledged by the leading Chinese IT community and developer magazine, us, a bunch of “laowai” who initially just wanted to have a couple of beers together and talk about Linux. We’re now a very mixed group of both Chinese and foreigners doing our best to continue to have fun while making a difference. On top of that there is a great article on ZDNet Asia front page where Peter blogs about Open Source and China, the direct link to this article is here and it talks about what we did in 2007 under the BLUG and basically why we got this award. I could add a lot to the article such as the Chuan committee, the openLibrary, the quadcopter group and all the guys who help us for each and every single project. It’s going to be soon a year that I am the BLUG President and I am so proud to be a member of this group – you guys are so easy to represent! I wanted to let you know that I wouldn’t have done it without all of you, all the work, passion, energy and support you showed. That really helped me to continue giving time (and money sometimes), and I truly hope you will give me more of the same this year 😉 A proud Beijing Linux User Group member.