I was unable to complete demo server setup today, so you will have to wait longer for demo server availability. I hope I will manage this during weekend.
Server outage
I'm sorry for todays server outage, but it seems to be caused by some DOS attack. As a result of this I decided to temporary disable demo server, because it was target of this attack.
Demo will be back during tommorow, when I make some stricter restrictions on access to it.
Yet another dictionary for StarDict
I already do conversion of many dictionaries for StarDict and now my scripts are able to handle yet another dictionaries. Now you can also convert Dicts.info to StarDict format using my set of conversion scripts.
I can not provide prebuilt dictionaries as they do not allow redistribution.
Optimise your code
Especiall if there is chance it will be used on something like OpenWRT. Yesterday I installed Munin on my OpenWRT router. Now I can see that sometimes statistics drop to zero, because it didn't manage to catch them.
I looked for most CPU hungry plugins and those are df_inode
and processes
. I rememeber that I already had to rewrite df_inode
,
because it was damn slow, so I only used that version (it should be also
somewhere in their tracker, but I can not find it right now).
The processes
plugin was also quite easy to optimise, compare old and
new code:
# time find /proc -type d | grep [0-9]$ | tr -d "/proc/" | grep ^[0-9]*$ | wc -l
real 0m 0.77s
user 0m 0.28s
sys 0m 0.39s
# time ls -d /proc/[1-9]* | wc -l
real 0m 0.06s
user 0m 0.04s
sys 0m 0.00s
Munin and OpenWRT
This time it is reality and not only using SNMP. Thanks god that I sometimes follow backlinks, otherwise I'd miss that some brave guy ported Munin to OpenWRT and other one wrote about it.
Now I have fully featured stats from my router. The only thing I had to tweak was df plugins, which were fooled by too long devfs path to USB disk.
Call for translators
Do you know some non-English language and English as well? Do you want to improve Gammu? You can do it right now, by translating Gammu to your language!
There are only six translations right now and most of them are in poor state. You can be brave hero which saves them! This time it also includes Czech translation, which I manage myself for Wammu, but I don't have time to do this also for Gammu, sorry.
If you want to add new language, just write me to michal@cihar.com, it will be added immediately. Maybe you will also want full control over some translation, this can be also done, but for now I prefer quick translating using open (well you need to register) system.
PS: I see new testing release with improved localisation support in near future. Gettext version is working fine right now and it only needs some cleanup from unused code right now.
Switched to Epiphany
Today I got finally enough fed up with Firefox^WIceweasel and started to look for alternative. Konqueror might be a solution, but I don't use anything from KDE, so it would be paintful. So only browsers which remained were Gecko based. Not that big improvement, but at least I will get rid of some stupid ideas which were implemented when Firefox 2.0 came out.
As first I tried Gnome default browser - Epiphany. I already thought about using it several times, but I was never able to customize it to my needs. But now I have all needed functions after installing few plugins and bookmarklets. I especially like Python plugins, this way it is quite easy to write/change a bit some plugin, which does what you need.
The only thing I currently miss is some bookmark synchronisation, because I use browser on several computers. But I will hopefully find something soon.
Buggy phones
I played a bit with Gammu and my phone (Sony-Ericsson K750i) yesterday, and I found yet another firmware bug. Enabling call line identification over cable (or any connection) makes phone hang when you receive call. Don't know why it is not able to look up number, when it already shows it on the display…
Wiki has 20,000 unique visitors
When I talked last November about 10,000 visitors, I really didn't expect that in four months, wiki will double this value. Looks like it is useful source of information for users. Only thing a bit frightens me - there are only few contributors and almost none except developers and few well known users. This is wiki, feel free to edit it!
PS: Server with twice more memory serves pages much better, hopefully you also noticed this. Anyway further donations are welcome ;-).
Converting locales data
I already announced that Gammu translations were converted to gettext. Reasons for conversion were written already some time ago. Now I'd like to write about some technical details on conversion.
First I thought the conversion will be simple. Just convert one text file format to other. Unfortunately there were lots of typos in old translations, which I had to fix, because gettext is much stricter about syntax. This itself would be also good reason to switch - old localisations had several types of errors, most frequently bad escaped quotes or messed format strings. This sometimes lead to Gammu crash, because it confuses printf like functions.
Another thing which was broken in old translation were duplicates of some strings. There were about 20 duplicate messages, which only added work to translators and were never used, because Gammu used first string which matched.
After I spot common mistakes, it was quite easy to write conversion script which would handle them. It is written in Python and uses its ConfigParser module to read old localisations. Using already done modules makes thinks a lot easier :-). After reading them, they are fixed to avoid syntax errors in gettext and written in gettext format to new file. All this in 123 lines of code (well, many of this are comments and string constants).
PS: You can download conversion script here, maybe it will be usable also for some other project.