Michal Čihař - Blog Archives for English

Learning graphviz

While working on new Gammu documentation I came to need to include some graphs showing some workflows. Looking into Sphinx documentation (which is used for the documentation for Gammu), I've discovered nice integration with graphviz.

Fortunately it was pretty easy to learn the basics, though I've never used it before and here it comes - message processing workflows for SMSD.

Bugged by duplicity file matching

I always wondered why backups of my sever using duplicity are so huge, but simply looking at list of files to include seemed to be correct. However I should really spend more time by reading documentation, because now it was obvious to me that the file list is simply wrong.

What a small difference in file list:

- /var/lib/vservers/
+ /var/lib

Versus the old one:

+ /var/lib
- /var/lib/vservers/

Changing network at home

Spending almost whole day on network infrastructure at home. I decided to say good bye to commercial provider and move to JM-Net, which is local community network. I bought EapStation earlier this week and tested the setup, but what was left was to install the device permanently and connect it to my home (OpenWRT based) router.

Everything went quite smoothly and I now use new connection. It's faster, lower latencies and cheaper than what I used to have. Plus as a bonus it should have soon native IPv6.

The only little issue I've faced is how to add additional IP address to otherwise DHCP interface in OpenWRT. Googling did not reveal much, however this seem to do the trick:

cat > /etc/hotplug.d/iface/40-second-ip << EOT
#!/bin/sh
[ "$ACTION" = "ifup" -a "$INTERFACE" = "eth0.1" ] && ip a add 192.168.1.100/24 dev eth0.1
EOT

New blog engine

I was quite unhappy with nanoblogger which I was using for quite some time on this blog. Not that it is bad, but it really scales bad. Having more than 600 of blog posts is something which it really has troubles to handle.

So I decided to go somewhere else. After looking and testing some ready solutions, I rather decided to implement my own engine using Django. The implementation took exactly one evening including script to migrate old posts, so it was really an easy task. As a bonus I get quite easily reusable components once I decide to change my main website to Django as well.

Also while doing this change, I changed the look quite a lot, hopefully this one is easier to navigate and it did not lose any of old functionality.

Let's try flattr too

It looks like quite popular thing on Planet Debian to start using flattr. I registered most of software on which I'm involved already week ago, but I did not have much time publicizing it. Surprisingly people have found things just on flattr without any external links. You can see all of them listed on my flattr profile.

Today I decided to add my blog as a thing and integrated it to my blog, so you can now see flattr button under each post. I decided not to spread this into RSS, at least for now :-).

If you have not yet heard about flattr it is social micropayment site (lot of buzzwords included, so it has to be cool, right?), where you need to register, put there little amount of money and it will be spread each month among projects you "flattr". Sounds like a nice idea for appreciating free software.

phpMyAdmin GSoC 2010 summary

GSoC 2010 is over for some time and I should write some summary how students projects ended up. The very short summary is that all five students were successful and their work got merged. Follows description of the project in no particular order.

Thanks to Martynas Mickevicius you can now get charts out of various parts of phpMyAdmin. They are used on server status pages or you can get query results in form of several charts. It seems to work pretty well at least what I've tried so far.

Ankit Gupta was working on Visual Query Builder for phpMyAdmin. Unfortunately this is only project which is not yet merged to master branch, mostly because some UI things were not yet finished. But hopefully it will be merged soon.

Adnan Mughal was converting our schema export feature from PDF to support multiple formats. You can now get the schema as SVG, DIA or even Visio formats, some of them will require a little bit of tuning still, because the scaling is not perfect.

Ninad Pundalik did a lot of work on AJAXifying phpMyAdmin. His changes touched quite a lot of places and there are still some rough edges (as you can see in our bug tracker), but this is definitely welcome improvement and I hope it will get stable soon.

Piotr Przybylski basically continued in his effort two years ago when he had reimplemented setup script and now he had focused on user configuration. It can be stored in session, browser local storage (HTML 5 feature) or in separate table in phpMyAdmin configuration storage (that's new name for pmadb). This is something what people were requesting for very long time and I'm happy we can finally bring this feature.

And last but not least is Lorikeet Lee, who spend lot of time on tuning user interface of phpMyAdmin. The most visible changes are on export and import pages, which now should be less scaring for new users, but there are other changes in lot of other places, for example the main page.

Generally it was a great summer and I hope we will be so successful also next year.

PS: You can try all these features on http://demo.phpmyadmin.net/.

Great things on providing web based translation

Quite recently (just when migrating to gettext), it is possible to translate phpMyAdmin using web interface, which is powered by great software called Pootle. Thanks to this new interface, we've attracted quite a lot of translators and lot of languages are now much improved. Yesterday I also implemented way to backport these translations to old PHP based translation system which is still being used in 3.3 branch, so that even upcoming releases from this branch will benefit from this translation boost.

Yet another great think which happened thanks to l10n.cihar.com, is availability of German version of Wammu website, where enormous amount of work has happened in last few days.

Kudos to all people who are working there.

Playing with numbers and social networks

I'we just launched website (well it's quite pretentious name for few pages), which shows debts for politics when they were in government in Czech Republic. We're still not in situation like in Greece, but it can quite easily happen that we would be in few years and it's good to show some numbers describing what was happening in past.

It took just few hours of coding yesterday evening using Django. Domain has been registered and it is online now.

While doing such thing, I decided to make more fun for me and publish the link just on social networks (Identi.ca, Twitter, Facebook, LinkedIn) and follow if (and how) the link will spread. So no, you will not find link in this blog post :-).

Let the fun begin

We've yesterday announced students accepted this year to Google Summer of Code. The number of our projects is increasing every year and the number of applications grows even more. So it was hard to choose this year knowing that we can mentor only limited amount of students (we would happily do two or three more projects, but we simply lack manpower to mentor them).

So the students are chosen and I hope they will produce good results and all phpMyAdmin users will benefit from their contributions. If you want to follow the projects more closely, Planet phpMyAdmin is the right place, first student blog posts are already appearing there.

FOSDEM todo list for phpMyAdmin completed

On FOSDEM 2010 we agreed on several bigger changes in phpMyAdmin. The two of them were my proposals and I had to take care of them - migration to Git and start to use Gettext based system for translating phpMyAdmin.

The migration to Git was quite straightforward and went alive on 11th of March. There were few tiny issues afterwards, but I think everything went quite smoothly and we can happily use it right now (I especially enjoy using feature branches). I've also written little guideline to document best practices to use in our repository

After we went to Git, I immediately started on another big transition - the goal is to use standard po files for translations. The obvious solution is to use gettext for that, however the one in PHP is not really in good shape to use, so we went with php-gettext. Today I just merged gettext branch to master so it is also done (see information for developers and translators for more details regarding this).

So now these big tasks are done and I can focus on daily issues connected with GSoC and other areas.