Mi blog lah! Το ιστολόγιό μου


Πάροχοι mobile internet (3G) στην Ελλάδα και GNOME/Linux

Ο Dan Williams είναι ο βασικός προγραμματιστής για τα NetworkManager και ModemManager.

Πρόσφατα ανακοίνωσε τις νέες δυνατότητες που έχει ο NetworkManager 0.8.

Για να είναι σε θέση να γνωρίζει η διανομής σας όλες τις ιδιαιτερότητες του πάροχού σας για το mobile internet, μπορείτε να καταχωρήσετε τα στοιχεία ρυθμίσεων.

Τα στοιχεία που υπάρχουν ήδη για Ελλάδα είναι

<!-- Greece -->
<country code="gr">
			<network-id mcc="202" mnc="01"/>
			<apn value="3g-internet">
			<network-id mcc="202" mnc="05"/>
			<apn value="internet">
			<apn value="web.session">
				<name>Mobile Broadband On Demand</name>
			<network-id mcc="202" mnc="09"/>
			<network-id mcc="202" mnc="10"/>
			<apn value="gint.b-online.gr">

Πηγή: http://git.gnome.org/browse/mobile-broadband-provider-info/tree/serviceproviders.xml

Αν υπάρχουν άλλοι πάροχοι ή αν οι παραπάνω πληροφορίες θέλουν ανανέωση, είναι σημαντικό να γίνει τώρα. Τυχόν διορθώσεις που θα γίνουν σύντομα θα μπουν κατά πάσα πιθανότητα σε Ubuntu 10.04.1 (αλλιώς στο 10.10) και στη Fedora 13.

Ενημέρωση - Wind «;»: ρυθμίσεις WAP και Internet

Ενημέρωση - Q Telecom «Οικονομική καρτοκινητή»: ρυθμίσεις WAP και Internet

Ενημέρωση - Q Telecom «Συμβόλαιο»: ; (είναι ίδιο με παραπάνω;)

Ενημέρωση - Cosmote «»: ρυθμίσεις WAP+GPRS

Ενημέρωση - Cosmote «Internet On The Go»: ρυθμίσεις


GMail J2ME application for your mobile phone

We talked a couple of years ago about the Google J2ME (Java for Mobile devices such as mobile phones) application that you can download and install on your phone. With this application, you can run GMail on you mobile phone, and access your e-mails with your data plan (GPRS, EDGE or 3G).


To install the J2ME application, visit (with your mobile phone) the URL


If GMail recognises that you are using a compatible mobile phone, it will direct you to download and install the application to your phone. The current version of the application is about 260KB.

If you want to save some of your data bandwidth, you can change the User-Agent string of your Firefox (use the User Agent Switcher Firefox Extension) to one of a mobile phone, then visit with your browser. In this case, you can get the application from googlemail-nokia.jar (version 2.0.6/L2). If you can afford it however, it is better to install from gmail.com/app, because this would set a list of reasonable defaults.


Writing J2ME applications in Linux

Here is an interesting article on writing J2ME applications in Linux. ;-)

J2ME applications is software that runs on mobile phones that support Java applications. Most phones support such Java applications, and it's good to get your phone to run at least your own Hello, World! program.


Droid fonts from Google (Android SDK)

Update 10Feb2009: The Droid fonts are now available from android.git.kernel.org (Download tar.gz archive), under the Apache License, Version 2.0. Ascender (the company who created Droid), has now a dedicated website at http://www.droidfonts.com/ (thanks Rex!). At this dedicated website, Ascender presents the Droid Pro family which has several additions to Droid. For the open-source crowd, it is important to have the initial Droid font family dual-licensed under the “OpenFont License”, which would enable the best use with the rest of the OFL licensed fonts.

Two years ago, Google bought a start-up called Android in order to deliver an open platform for mobile applications. A few days ago the Android SDK has been released and you can develop now Android applications that can run in the emulator. Android handsets are expected at some point next year.

Even if you do not plan to develop applications for Android, you can still run the emulator which is functional, includes quite a few samples, and comes with a browser shown above. To get it, download the Android SDK for your system, uncompress it and run


An interesting aspect of Android is that it comes with a set of fonts that have been specially designed for mobile devices, the Droid fonts. The fonts are embedded in the Android image, in android_sdk_linux_m3-rc20a/tools/lib/images/system.img, a clever guy managed to extract them and a modest guy corrected me (Damien's blog to download).

The fonts are probably licensed under the same license as the SDK (Apache License), however it is better to hear from Google first.

In the meantime, here is a screenshot of Ubuntu 7.10 with Droid.

Update: To extract the fonts from the SDK, run the emulator with the -console parameter. The emulator starts and at the same time you get a shell to the filesystem of the running emulator. You can locate the fonts in system/fonts/. Once located the full path of a file, you can extract with ./adb pull system/fonts/DroidSans.ttf /tmp/DroidSans.ttf (thanks cosmix for the tip).


Update on planet.ellak.gr

Planet EL/LAK (πλανήτης) is a blog aggregator of Greek-speaking users that work on free and open-source software. Though the users speak Greek, it is OK to write in English as well.

We started in 2004 at http://xnum.sourceforge.net/PlanetHellas/ and quickly realised we had to move somewhere else. We enjoyed hosting at hellug.gr and in February 2007 we moved to the current location, planet.ellak.gr.

In the free and open-source communities, the purpose of a planet is to provide a common location where one can read what the people behind the community are doing, thinking, and so on.

In planet.ellak.gr we use the venus variation of the Planet software. Quite shortly, venus will become the official Planet software.

The planet's feed is being managed by Feedburner. When you access http://planet.ellak.gr/rss20.xml, you get a normalised feed from Feedburner.

The last three blogs added are

  1. Blog of Δημήτρης Τυπάλδος
  2. New blog of Athanasios Lefteris
  3. MyDrupal.gr Greek Drupal Community, (welcome to planet!)

We use Google Coop as a means to search the websites and blogs that are shown here. At the top-right of the planet you can see the special search box. If you read something interesting on the planet at some point in time, you can search it through this search box.

Our latest stats for August show that 50% of our visitors use free and open-source software.

Mozilla Firefox has a 80% lead and is the most popular browser. IE is down at 11% and the rest is distributed to many open-source browsers and also accesses from mobile devices.

The vast majority of the visitors (84%) come directly here (either bookmark, or just typing planet.ellak.gr or they just disabled referrers). 8% comes from search engines and the last 8% come from friendly websites (top referrers include www.ellak.gr and BizWriter (Greek). Top keywords are greek, ubuntu and cyprus.

We maintain this planet in an open fashion; see the Planet-ELLAK Google Group, for past discussions, and information on getting your blog/community listed on planet.ellak.gr.


Important MO file optimisation for en_* locales, and partly others

During GUADEC, Tomas Frydrych gave a talk on exmap-console, a cut-down version of exmap that can work well on mobile devices.

During the presentation, Tomas showed how to use the tool to find the culprits in memory (ab)use on the GNOME desktop. One issue that came up was that the MO files taking up space though the desktop showed English. Why would the MO translation files loaded in memory be so big in size?

gtk20.mo                             : VM   61440  B, M   61440  B, S   61440  B

atk10.mo                      	     : VM    8192  B, M    8192  B, S    8192  B

libgnome-2.0.mo			: VM   28672  B, M   24576  B, S   24576  B

glib20.mo			     : VM   20480  B, M   16384  B, S   16384  B

gtk20-properties.mo           : VM     128 KB, M     116 KB, S     116 KB

launchpad-integration.mo  : VM    4096  B, M    4096  B, S    4096  B

A translation file looks like

msgid "File"

msgstr ""

When translated to Greek it is

msgid "File"

msgstr "Αρχείο"

In the English UK translation it would be

msgid "File"

msgstr "File"

This actually is not necessary because if you leave those messags untranslated, the system will use the original messages that are embedded in the executable file.

However, for the purposes of the English UK, English Canadian, etc teams, it makes sense to copy the same messages in the translated field because it would be an indication that the message was examined by the translation. Any new messages would appear as untranslated and the same process would continue.

Now, the problem is that the gettext tools are not smart enough when they compile such translation files; they replicate without need those messages occupying space in the generated MO file.

Apart from the English variants, this issue is also present in other languages when the message looks like

msgid "GConf"

msgstr "GConf"

Here, it does not make much sense to translate the message in the locale language. However, the generated MO file contains now more than 10 bytes (5+5) , plus some space for the index.

Therefore, what's the solution for this issue?

One solution is to add to msgattrib the option to preprocess a PO file and remove those unneeded copies. Here is a patch,

--- src.ORIGINAL/msgattrib.c 2007-07-18 17:17:08.000000000 +0100
+++ src/msgattrib.c 2007-07-23 01:20:35.000000000 +0100
@@ -61,7 +61,8 @@
REMOVE_FUZZY = 1 << 2,
+ REMOVE_COPIED = 1 << 6
static int to_remove;

@@ -90,6 +91,7 @@
{ "help", no_argument, NULL, 'h' },
{ "ignore-file", required_argument, NULL, CHAR_MAX + 15 },
{ "indent", no_argument, NULL, 'i' },
+ { "no-copied", no_argument, NULL, CHAR_MAX + 19 },
{ "no-escape", no_argument, NULL, 'e' },
{ "no-fuzzy", no_argument, NULL, CHAR_MAX + 3 },
{ "no-location", no_argument, &line_comment, 0 },
@@ -314,6 +316,10 @@
to_change |= REMOVE_PREV;

+ case CHAR_MAX + 19: /* --no-copied */
+ to_remove |= REMOVE_COPIED;
+ break;
@@ -436,6 +442,8 @@
--no-obsolete remove obsolete #~ messages\n"));
printf (_("\
--only-obsolete keep obsolete #~ messages\n"));
+ printf (_("\
+ --no-copied remove copied messages\n"));
printf ("\n");
printf (_("\
Attribute manipulation:\n"));
@@ -536,6 +544,21 @@
: to_remove & REMOVE_NONOBSOLETE))
return false;

+ if (to_remove & REMOVE_COPIED)
+ {
+ if (!strcmp(mp->msgid, mp->msgstr) && strlen(mp->msgstr)+1 >= mp->msgstr_len)
+ {
+ return false;
+ }
+ else if ( strlen(mp->msgstr)+1 < mp->msgstr_len )
+ {
+ if ( !strcmp(mp->msgstr + strlen(mp->msgstr)+1, mp->msgid_plural) )
+ {
+ return false;
+ }
+ }
+ }
return true;
However, if we only change msgattrib, we would need to adapt the build system for all packages.

Apparently, it would make sense to change the default behaviour of msgfmt, the program that compiles PO files into MO files.

An e-mail was sent to the email address for the development team of gettext regarding the issue. The development team does not appear to have a Bugzilla to record these issues. If you know of an alternative contact point, please notify me.

Update #1 (23Jul07): As an indication of the file size savings, the en_GB locale on Ubuntu in the installation CD occupies about 424KB where in practice it should have been 48KB.

A full installation of Ubuntu with some basic KDE packages (only for the basic libraries, i.e. KBabel - (ls k* | wc -l = 499)) occupies about 26MB of space just for the translation files. When optimising in the MO files, the translation files occupy only 7MB. This is quite important because when someone installs for example the en_CA locale, all en_?? locales are added.

The reason why the reduction is more has to do with the message types that KDE uses. For example,

msgid ""
"_: Unknown State\n"
msgstr "Unknown"

I cannot see a portable way to code the gettext-tools so that they understand that the above message can be easily omitted. For the above reduction to 7MB, KDE applications (k*) occupy 3.6MB. The non-KDE applications include GNOME, XFCE and GNU traditional tools. The biggest culprits in KDE are kstars (386KB) and kgeography (345KB).

Update #2 (23Jul07): (Thanks Deniz for the comment below on gweather!) The po-locations translations (gnome-applets/gweather) of all languages are combined together to generate a big XML file that can be found at usr/share/gnome-applets/gweather/Locations.xml (~15MB).

This file is not kept in memory while the gweather applet is running.
However, the file is parsed when the user opens the properties dialog to change the location.
I would say that the main problem here is the file size (15.8MB) that can be easily reduced when stripping copied messages. This file is included in any Linux distribution, whatever the locale.

The po-locations directory currently occupies 107MB and when copied messages are eliminated it occupies 78MB (a difference of 30MB). The generated XML file is in any case smaller (15.8MB without optimisation) because it does not include repeatedly the msgid lines for each language.

I regenerated the Locations.xml file with the optimised PO files and the resulting file is 7.6MB. This is a good reduction in file space and also in packaging size.

Update #3 (25Jul07): Posted a patch for gettext-tools/msgattrib.c. Sent an e-mail to the kde-i18n-doc mailing list and got good response and a valid argument for the proposed changes. Specifically, there is a case when one gives custom values to the LANGUAGE variable. This happens when someone uses the LANGUAGE variable with a value such as "es:fr" which means show me messages in Spanish and if something is untranslated show me in French. If a message has msgid==msgstr for Spanish but not for French, then it would show in French if we go along with the proposed optimisation.


Connecting to Bluetooth devices between Linux and Windows

A common issue that arises when you connect your laptop to your Bluetooth device (such as mobile phone), is that the device forges a unique authentication with the Bluetooth stack of the operating system. What that means is that if I pair my laptop with my phone in Linux, the pairing works only in Linux. When I boot in Windows, I have to remove the pairing from the phone and establish it again in Windows. Then, when I connect to Linux I need to remove the pairing and establish it again, and so on.

The reason for this problem is that we use a single USB device (whether a dongle or module) that has a single MAC address. The mobile phone differentiates between pairings based on the MAC address.

Therefore, how can we solve this issue? A search with Google shows that it is a known issue with no answer yet. There are two avenues to fix this problem;

  1. get the Linux bluetooth stack to change the MAC address so that a second pairing will be possible. I am not sure if it is possible as some of the security functions probably take place on the Bluetooth hardware. Currently hciconfig does not offer an option similar to ifconfig eth0 hw ether 00:11:22:33:44:55.
  2. find the authentication data of the pairing on Windows and convert to the format that the Linux stack understands and accepts. In this way, a single pairing will work for both operating systes.

I do not have a solution yet. If someone can looking into these it would be great!


International Call for Artists’ film and video


Generous European Culture2000 funding enables ISIS Arts (UK) and it’s
international project partners BEK (Norway), InterSpace (Bulgaria) and
RIXC (Latvia) to curate a NEW SCREENING PROGRAMME around the theme of
European Identity for the Big M, ISIS Art’s inflatable touring space.

Daily, more and more European people decide to live in other European
countries. With a shifting concept of nationality it becomes
increasingly important to consider what it means to be European. Is
there such a thing as European Identity and how does it relate to
national identity?
For this programme we invite submissions of films or video works on this
theme from artists of any nationality.

Selected works will become part of the new screening programme which
will tour to the four partnering countries between May 2007 and
September 2007.
Work will be selected through open submission. In order to be considered
individual works must:

  • Have a running time of 5 minutes or less
  • Be single channel and non interactive
  • Address the project theme

Selected artists will receive an exhibition fee of € 300 (The Big M is
not a commercial venture and admission is free). Copyright remains
solely with the artist.

The Big M is a highly stylised inflatable structure that functions as a
temporary and mobile venue for the presentation of video and digital
media. Unique in both design and function, the Big M provides an
alternative to the conventional gallery setting and exhibits work by
emerging and established artists to diverse audiences.
See: http://www.isisarts.org.uk/index2.html

To submit pieces for consideration please send work on DVD, CD Rom (720x
576 dpi QuickTime movie) or mini DV, titled and with a synopsis of 50
words maximum, a CV and a stamped addressed envelope (if you want your
materials returned) to:

C Sundtsg 55
9. etage
5004 Bergen

Deadline for receipt of submissions is the 3rd of February 2007

Further inquiries to isis at isisarts dot org dot uk

Further project information can be found on


GMail J2ME application for your phone

Update 2010: Link to .jar file (if you want to install using phone cable or Bluetooth): http://m.google.com/mail/download/binaries/L1/2.0.6/mail_n60-3.jar

Older post continues...

Google started offering a new service for GMail users; you can download a J2ME application to your mobile phone and start browsing your mails. You do not need to connect through the web interface.
You can install the J2ME applicaiton by visiting (through your phone's browser) the URL http://gmail.com/app/. This page will automatically detect which phone you are using (from the User-Agent string) and redirect to the correct .jad file so that the installation can take place.
If you want to install the J2ME application the traditional way, you can go directly to the URL http://gmail.com/app/v1.0.0/en/gmail-nokia-g.jar. (Of course, this URL is for a specific bunch of Nokia phones).
Quite strangely, the application gives me the error java.lang.IllegalStateException: Cause unknown, which does not help a lot.
Did anyone manage to install the thing?

Update (26Nov06): I managed to get the applet to work on my phone. Apparently my first mobile operator uses a strange proxy configuration that alters downloaded files (???).


February stats (Planet FLOSS Cyprus/Greece)

February has been a good month for Planet FOSS Cyprus/Greece.

Over 2100 unique visitors visited, producing over 18000 page hits and taking up 3.2GB of bandwidth.
Most of the visitors arrive early in the afternoon with some big peaks between 15:00 and 18:00.

The majority of the visitors come from Greece (around 50%)  while a good proportion visits from Cyprus.

This month's unique domain name captured in the stats is an .aero domain.

The top two search engine bots were GoogleBot and the one from Inktomi.

165 visitors arrived to the page about setting up the keyboard in GNOME, though only 117 had Flash installed :). There is a mirror now at GNOME.gr.

Still there are visitors that view the old Hoary tutorials to get Greek support. Most of these hacks have been fixed in Ubuntu, so they the tutorials are not very valid anymore. I added some comments on the pages on this.

Windows users account to half of the visitors. Linux users are the remaining one third. I think I can also see Giorgos Keramidas visiting with FreeBSD. There is a person connecting with his/her Solaris box and some credits were spent on a Symbian-powered mobile phone too.

The lizard is reinging with over 60%; the IE share is a mere 19%. A Motorola and a Nokia phone were detected, as well as a phone/PDA that uses the WebCollage browser (?).

Biggest referers have been http://bizwriter.blogspot.com and http://www.ellak.gr.

Among the strange search engine strings given to come here, I encountered μαμά μην τρέχεις κύπρος (mum, don't drive fast), freefont mazda and τροχοσπιτα (caravans).


Switch to our mobile site