Tag : bug

Ubuntu Font Beta and Greek

Update: All open bugs for this font at https://bugs.launchpad.net/ubuntufontbetatesting/+bugs File your bug. Currently there bugs relating to Greek, 1. Letter γ ((U03B3) has an untypical style 2.  In letters with YPOGEGRAMMENI, YPOGEGRAMMENI is expected to be under not on the right and 3. Many Greek small letters have untypical style

Here we see some samples of Greek with Ubuntu Font Beta.

Ubuntu Font supports both Greek and Greek Polytonic.

In the following we compare between DejaVu Sans (currently the default font in Ubuntu) and the proposed Ubuntu Font Beta.

Screenshot Waterfall DejaVuSans

This is DejaVu Sans, showing the Greek Unicode Block. This means, modern Greek and Coptic.

Screenshot Waterfall UbuntuBeta Greek

This is Ubuntu Font Beta, showing the Greek Unicode Block. Coptic is not covered as it was not part of the requirements for this version of the font (actually Coptic currently uses a separate new Unicode Block so the Coptic here are too low of a priority).

Screenshot-Waterfall DejaVu Polytonic

This is DejaVu Sans showing the Greek Polytonic Unicode Block coverage. We show the second part of the Unicode Block which has the most exotic characters with up to three accents.

Screenshot Waterfall UbuntuFont Beta Polytonic

Same thing with Ubuntu Font Beta.

Note that those characters that appear as empty boxes are characters that either were not designed by the font designers, or are reserved characters that have not been defined yet.

Antigoni text in DejaVu Sans and Ubuntu Font Beta (PDF, 12pt)

Antigoni text in DejaVu Sans and Ubuntu Font Beta (PDF, 10pt)

If there are things to be fixed, this is the time to do them. Post a comment and we can take if further.

Traditionally, the letters γ and ν tend to have a unique form. In this case, in Ubuntu Font Beta, γ looks different to what a Greek user is accustomed to. I attach an SVG file of γ; if you have suggestions for enhancement, please use Inkscape, this gamma_UbuntuBeta-Regular file and make your suggestion!

(see top of post for link to bug reports)

Προβληματικές συμπεριφορές στο adslgr.com/Forum του Linux

Παρακολουθώ μερικά forum και την ενότητα για Linux που έχουν, και αρκετές φορές απαντώ σε ερωτήματα χρηστών. Μερικά έχουν μικρή κίνηση, άλλα έχουν αρκετή και είναι πολύ ζωντανά. Ένα από τα forum αυτά είναι το ADSLGR.com @ Linux.

Ωστόσο υπάρχει ένα πρόβλημα συμπεριφοράς από μερικά από τα «παλιά» μέλη που χρησιμοποιούν τακτικές bullying για να περάσουν τις απόψεις τους. Είναι πραγματικά παράξενο να έχουμε τέτοια ζητήματα στο ελεύθερο λογισμικό. Ωστόσο έτσι φαίνεται να είναι.

Σε μια συζήτηση, για τα νεότερα στο GNOME 2.22,
http://www.adslgr.com/forum/showthread.php?t=184570 υπήρξαν σχόλια με ύψηλο flameability,

Α. «Ακομα πιο προηγμενο, τωρα ΚΑΙ με υποστηριξη για webcam. »
http://www.adslgr.com/forum/showpost…31&postcount=2

Β. «χαχαχα, μπήκε download notification στον epiphany.»
http://www.adslgr.com/forum/showpost…86&postcount=6

Γ. «Σε λίγο θα διαφημίσουν και το κουμπάκι “πίσω”, ε μα είναι πράγματα αυτα?»
http://www.adslgr.com/forum/showpost…13&postcount=9

Δ. « Αρχικό μήνυμα από simosx Διαβάζω όλα αυτά τα ειρωνικά σχόλια, όπως και στο άλλο thread με τον έξυπνο τίτλο gnome-vs-kde.
Ως ελληνική κοινότητα φαίνεται να είμαστε άσχετοι από τα τεκτενόμενα στο εξωτερικό. Είμαστε θεατές με επιφανειακή γνώση. »

««Συγγνώμη, για να εκφέρουμε άποψη πρέπει να συνεισφέρουμε πρώτα? Έλεος, διαφημίζουν τα αυτονόητα που υπάρχουν σε άλλους browsers εδώ και 10 χρόνια και καμαρώνουν κιόλας…?
Εντάξει, αφου πλέον μπορώ να βλεπω την ώρα στην Αυστραλία για να μην παρεξηγούμαι που δεν απαντάει στο msn η τουρ-τουρίστρια που γνώρισα πέρσυ, όλα καλά .»»
http://www.adslgr.com/forum/showpost…9&postcount=11

Ε. «Θα σου δώσει κατάλληλη απάντηση κάποιος καλοθελητής σε λίγο.»
http://www.adslgr.com/forum/showpost…3&postcount=13

ΣΤ. «Χρησιμοποιώ και gnome ενίοτε αλλά με τέτοιες μπαρούφες που κάθονται και του βάζουν…»
http://www.adslgr.com/forum/showpost…7&postcount=31

Ζ. «το μόνο σίγουρο είναι πως κάναμε hijacked το θέμα του gnome
έτσι κι αλλιώς δεν έχει ενδιαφέρον »
http://www.adslgr.com/forum/showpost…5&postcount=47

Η. « Αρχικό μήνυμα από no_logo το μόνο σίγουρο είναι πως κάναμε hijacked το θέμα του gnome
έτσι κι αλλιώς δεν έχει ενδιαφέρον
Ποιος το λέει ; Ο καθοδηγητής μήπως ; »
http://www.adslgr.com/forum/showpost…9&postcount=50

Θ. « Αρχικό μήνυμα από midnightsun Ποιος το λέει ; Ο καθοδηγητής μήπως ;
η πραγματικότητα 1 σελίδα είναι η “είδηση” για το gnome, οι υπόλοιπες είναι bashing από kde χρήστες και το πρόβλημα του ATC
Πάρε μάτι το νήμα του kde 4 που ενώ δεν έχει βγει ακόμα μαζικά έχουν γραφτεί σελίδες επι σελίδων
Αυτή είναι η διαφορά, ψοφοδεής κοινότητα από την μια vs την ζωντανή και ενεργητική κοινότητα του kde »
http://www.adslgr.com/forum/showpost…8&postcount=51

(σταματώ στη σελίδα 5 του νήματος· πάει μέχρι το 8)

Αυτό που βλέπω είναι ότι η αρνητική συμπεριφορά δεν είναι μεμονωμένη, και υπάρχουν και moderators που λαμβάνουν μέρος.

Αν μια διανομή είναι καλύτερη ή όχι από μια άλλη, αυτό δεν μπορεί να είναι αίτια για τέτοιες αρνητικές συμπεριφορές. Στην πραγματικότητα, οι διανομές/γραφικά περιβάλλοντα αποτελούν απλά αφορμή, κάτι το επιφανειακό.

Ένα άλλο χαρακτηριστικό είναι η κομπλεξική συμπεριφορά και η χρήση γραφικών εκφράσεων όπως «μυκητίαση» ή «μούχλα» (σε κάποια βίντεο κατά την αναπαραγωγή φαίνονται κάποιες περιοχές σε πράσινο χρώμα· πρώτη φορά το ακούω, και η λύση ίσως να είναι ένα απλό «περίμενε να ολοκληρωθεί το torrent»). Ο τίτλος της συζήτησης ήταν «18 μήνες έχει κλείσει αδιόρθωτο το bug της μούχλας του Xine».

Άλλες εκφράσεις συμπεριλαμβάνουν «άθλιο», που είναι μια γενική περιγραφή για τα προγράμματα που δεν καταλαβαίνουμε πως δουλεύουν.

Ένα ακόμα μήνυμα που βλέπουμε να περνάει από το adslgr.com/Linux είναι ότι στο ελεύθερο λογισμικό υπάρχουν κάποιοι «άλλοι» που έχουν υποχρέωση να κάνουν τη δουλειά, και αν δεν την κάνουν σωστά είναι άθλιοι. Αυτοί οι άλλοι είναι ταπεινοί υπηρέτες μας. Εδώ πρέπει να υπάρχει μια υποβόσκουσα σύνδεση στη σειρά Lost και τους Άλλους. (Ωχ, και εγώ κατάντησα να λέω μακίες).

Τι προβλήματα δημιουργεί αυτή η αρνητική συμπεριφορά;

  • Είναι ιδιαίτερα επιβλαβής στην ελληνική κοινότητα ελεύθερου λογισμικού. Η κοινότητα βασίζεται στην «ελεύθερη οργάνωση» που σημαίνει ότι δεν υπάρχουν επίσημες δομές στήριξης που θα περίμενε κάποιος σε ένα επιχειρηματικό περιβάλλον. Αν κάποιος νέος χρήστης τύχει να περάσει πρώτα από το ADSLGR.com για να μάθει για το Linux, τότε η κοινότητα έχει πιθανότατα χάσει ένα μέλος.
  • Τα μέλη διαιωνίζουν την αρνητική συμπεριφορά και σε άλλους χώρους.
  • Προκαλούν burnout (κούραση, μειωμένο ενδιαφέρον) στα άτομα που πραγματικά βοηθάνε. Μερικά από τα άτομα αυτά έχουν ήδη γίνει ban (!) διότι δεν ακολουθούν τη γραμμή των μπούληδων. Πάντως σε τελική ανάλυση κάτι τέτοιο είναι θετικό μιας και δεν ασχολούνται πια με το φόρουμ αυτό.

Για το που πάει το forum αυτό, ας δούμε μια πρόσφατη εγγραφή στο ίδιο φόρουμ κάποιου χρήστη, για τη διανομή Ubuntu (emphasis mine).

Θέμα: Ubuntu 8.04: Κάθε πέρυσι και καλύτερα?

Θα ήθελα τη γνώμη των χρηστών που εγκατέστησαν – δοκίμασαν την πιο πρόσφατη έκδοση της Ubuntu. Θα ήθελα να ξέρω αν, παρά τις διθυραμβικές κριτικές που είχα διαβάσει πριν την έλευσή της σε διάφορα τεχνολογικά sites, έχετε την ίδια αίσθηση με μένα: ΑΠΟΓΟΗΤΕΥΣΗ!
Κατ’ αρχάς να πω ότι το τελευταίο εξάμηνο χρησιμοποιούσα αρχικά την Feisty και ακολούθως την Gutsy. Συγκρίνοντας τις δύο μεταξύ τους θεωρούσα ότι υπήρχε μία αργή αλλά σταθερή βελτίωση στις διανομές. Στο laptop και οι δύο λειτουργούσαν θαυμάσια (ένα Sony Vaio) αλλά στο deskotp η Feisty αρνιόταν να αναγνωρίσει μία ασύρματη κάρτα Linksys WMP54g 4.1. Το πρόβλημα λύθηκε (σχεδόν) με την έλευση της Gutsy οπότε και με μερικά τρικ κατάφερα να εγκαταστήσω επιτυχώς Ubuntu και στο desktop. Το upgrade δε από Feisty σε Gutsy ήταν απλά άψογο.
Για να έρθουμε στην τελευταία έκδοση, Hardy Heron. Κατ’ αρχάς το upgrade και στα δύο μηχανήματα δημιούργησε προβλήματα και αναγκάστηκα να κάνω clean install κρατώντας σταθερό το home. Στο laptop είχα πρόβλημα στην εναλλαγή των layouts στο πληκτρολόγιο, καθώς έπρεπε να το ορίσω σε κάθε boot για να δουλέψει. Επίσης πρόβλημα παρουσιάστηκε στην ομαλή λειτουργία του openoffice (περίεργα κωλύματα που δεν είχα ξανασυναντήσει στην προηγούμενη έκδοση) και στη λειτουργία του emerald theme manager. Στο desktop δεν είχα το πρόβλημα με τα layouts του πληκτρολογίου αλλά είχα τα ίδια με το openoffice και το emerald, ενώ η σταγόνα που ξεχείλισε το ποτήρι ήταν ότι δε δούλευε το number keypad του πληκτρολογίου που δούλευε μία χαρά στην προηγούμενη έκδοση.
Για να μη σας κουράσω, έχω πλέον ξαναγυρίσει στην gutsy και στα δύο μου μηχανήματα. Το ερώτημα: είχατε αντίστοιχα προβλήματα? Και η αγωνία: θα είναι η 8.10 καλύτερη ή χειρότερη (η 8.04 είναι και LTS τρομάρα τους!)
To ADSLGR.com ως δικτυακός τόπος είναι σημαντικός και προσφέρει αρκετά στη γενικότερη κοινότητα. Το θέμα είναι ότι το κομμάτι που έχει να κάνει με το Linux είναι προβληματικό, και κάποιοι από τους συντονιστές διαιωνίζουν αντί να διορθώνουν την κατάσταση.
Αυτό που θα ήθελα να προτείνω στους χρήστες είναι να αποφεύγουν το ADSLGR.com/Linux για το άμεσο μέλλον, μέχρι τουλάχιστον να αλλάξει η κατάσταση.
Ενημέρωση: Όχι άλλα σχόλια πια. Μπορείτε να συνεχίσετε τα σχόλιά σας στο http://adslgr-critics.blogspot.com/.

Timezones, clock applet and marketing dangers

It is great to receive feedback from users that try out the development versions of distributions (such as Ubuntu and Fedora). Usually, these are small bugs that can easily get fixed. However, there is this bug that looks potent to lead to political dissatisfaction and bad publicity to GNOME.

The clock applet (gnome-panel) now shows the timezones of cities that one selects. You click on the Edit button, you select the city (it comes from Locations.xml – libgweather, which has the coordinates of each city entry), and the applet makes a guess of what is your timezone (each timezone comes with longitude information).

So, if a city is far away from the capital city of your country (and closer to the capital city of a neighboring country), then the applet often proposes the wrong timezone. Considering that in some (=many) cases there is some animosity between neighboring countries, this makes users unhappy.

Launchpad bug report: Bug #185190, Clock applet chooses wrong timezone for many cities (eg Pittsburgh, Beijing)

GNOME Bugzilla bug report: Bug 519823 – Cities associated with wrong timezone

Updated (8Apr2008): The bug has been fixed upstream (thanks Dan!) and most likely makes it in GNOME 2.22.1, which means Ubuntu 8.04 and other distributions will get the update as well. Some countries with regions that have more than one timezone may want to check that the correct timezone is selected for each region.

FOSDEM ’08, summary and comments

I attended FOSDEM ’08 which took place on the 23rd and 24th of February in Brussels.

Compared to other events, FOSDEM is a big event with over 4000 (?) participants and over 200 lectures (from lightning talks to keynotes). It occupied three buildings at a local university. Many sessions were taking place at the same time and you had to switch from one room to another. What follows is what I remember from the talks. Remember, people recollect <8% of the material they hear in a talk.

The first keynote was by Robin Rowe and Gabrielle Pantera, on using Linux in the motion picture industry. They showed a huge list of movies that were created using Linux farms. The first big item in the list was the movie Titanic (1997). The list stopped at around 2005 and the reason was that since then any significant movie that employs digital editing or 3D animation is created on Linux systems. They showed trailers from popular movies and explained how technology advanced to create realistic scenes. Part of being realistic, a generated scene may need to be blurred so that it does not look too crisp.

Next, Robert Watson gave a keynote on FreeBSD and the development community. He explained lots of things from the community that someone who is not using the distribution does not know about. FreeBSD apparently has a close-knit community, with people having specific roles. To become a developer, you go through a structured mentoring process which is great. I did not see such structured approach described in other open-source projects.

Pieter Hintjens, the former president of the FFII, talked about software patents. Software patents are bad because they describe ideas and not some concrete invention. This has been the view so that the target of the FFII effort fits on software patents. However, Pieter thinks that patents in general are bad, and it would be good to push this idea.

CMake is a build system, similar to what one gets with automake/autoconf/makefile. I have not seen this project before, and from what I saw, they look quite ambitious. Apparently it is very easy to get your compilation results on the web when you use CMake. In order to make their project more visible, they should make effort on migration of existing projects to using CMake. I did not see yet a major open-source package being developed with CMake, apart from CMake itself.

Richard Hughes talked about PackageKit, a layer that removes the complexity of packaging systems. You have GNOME and your distribution is either Debian, Ubuntu, Fedora or something else. PackageKit allows to have a common interface, and simplifies the workflow of managing the installation of packages and the updates.

In the Virtualisation tracks, two talks were really amazing. Xen and VirtualBox. Virtualisation is hot property and both companies were bought recently by Citrix and Sun Microsystems respectively. Xen is a Type 1 (native, bare metal) hypervisor while VirtualBox is a Type 2 (hosted) hypervisor. You would typically use Xen if you want to supply different services on a fast server. VirtualBox is amazingly good when you want to have a desktop running on your computer.

Ian Pratt (Xen) explained well the advantages of using a hypervisor, going into many details. For example, if you have a service that is single-threaded, then it makes sense to use Xen and install it on a dual-core system. Then, you can install some other services on the same system, increasing the utilisation of your investment.

Achim Hasenmueller gave an amazing talk. He started with a joke; I have recently been demoted. From CEO to head of virtualisation department (name?) at Sun Microsystems. He walked through the audience on the steps of his company. The first virtualisation product of his company was sold to Connectix, which then was sold to Microsoft as VirtualPC. Around 2005, he started a new company, Innotek and the product VirtualBox. The first customers were government agencies in Germany and only recently (2007) they started selling to end-users.

Virtualisation is quite complex, and it becomes more complex if your offering is cross platform. They manage the complexity by making VirtualBox modular.

VirtualBox comes in two versions; an open-source version and a binary edition. The difference is that with the binary edition you get USB support and you can use RDP to access the host. If you installed VirtualBox from the repository of your distribution, there is no USB support. He did not commit whether the USB/RDP support would make it to the open-source version, though it might happen since Sun Microsystems bought the company. I think that if enough people request it, then it might happen.

VirtualBox uses QT 3.3 as the cross platform toolkit, and there is a plan to migrate to QT 4.0. GTK+ was considered, though it was not chosen because it does not provide yet good support in Win32 (applications do not look very native on Windows). wxWidgets were considered as well, but also rejected. Apparently, moving from QT 3.3 to QT 4.0 is a lot of effort.

Zeeshan Ali demonstrated GUPnP, a library that allows applications to use the UPnP (Universal Plug n Play) protocol. This protocol is used when your computer tells your ADSL model to open a port so that an external computer can communicate directly with you (bypassing firewall/NAT). UPnP can also be used to access the content of your media station. The gupnp library comes with two interesting tools; gupnp-universal-cp and gupnp-network-light. The first is a browser of UPnP devices; it can show you what devices are available, what functionality they export, and you can control said devices. For example, you can use GUPnP to open a port on your router; when someone connects from the Internet to port 22 on your modem, he is redirected to your server, at port 22.

You can also use the same tool to figure out what port mapping took place already on your modem.

The demo with the network light is that you run the browser on one computer and the network light on another, both on the local LAN (this thing works only on the local LAN). Then, you can use the browser to switch on/off the light using the UPnP protocol.

Dimitris Glezos gave a talk on transifex, the translation management framework that is currently used in Fedora. Translating software is a tedious task, and currently translators spent time on management tasks that have little to do with translation. We see several people dropping from translations due to this. Transifex is an evolving platform to make the work of the translator easier.

Dimitris talked about a command-line version of transifex coming out soon. Apparently, you can use this tool to grab the Greek translation of package gedit, branch HEAD. Do the translation and upload back the file.

What I would like to see here is a tool that you can instruct it to grab all PO files from a collection of projects (such as GNOME 2.22, UI Translations), and then you translate with your scripts/tools/etc. Then, you can use transifex to upload all those files using your SVN account.

The workflow would be something like

$ tfx --project=gnome-2.22 --collection=gnome-desktop --action=get
Reading from http://svn.gnome.org/svn/damned-lies/trunk/releases.xml.in... done.
Getting alacarte... done.
Getting bug-buddy... done.
...
Completed in 4:11s.
$ _

Now we translate any of the files we downloaded, and we push back upstream (of course, only those files that were changed).

$ tfx --project=gnome-2.22 --collection=gnome-desktop --user=simos --action=send
 Reading local files...
Found 6 changed files.
Uploading alacarte... done.
...
Completed uploading translation files to gnome-2.22.
$ _

Berend Cornelius talked about creating OpenOffice.org Wizards. You get such wizards when you click on File/Wizards…, and you can use them to fill in entries in a template document (such as your name, address, etc in a letter), or use to install the spellchecker files. Actually, one of the most common uses is to get those spellchecker files installed.

A wizard is actually an OpenOffice.org extension; once you write it and install it (Tools/Extensions…), you can have it appear as a button on a toolbar or a menu item among other menus.

You write wizards in C++, and one would normally work on an existing wizard as base for new ones.

When people type in a word-processor, they typically abuse it (that’s my statement, not Berend’s) by omitting the use of styles and formatting. This makes documents difficult to maintain. Having a wizard teach a new user how to write a structured document would be a good idea.

Perry Ismangil talked about pjsip, the portable open-source SIP and media stack. This means that you can have Internet telephony on different devices. Considering that Internet Telephony is a commodity, this is very cool. He demonstrated pjsip running two small devices, a Nintendo DS and an iPhone. Apparently pjsip can go on your OpenWRT router as well, giving you many more exciting opportunities.

Clutter is a library to create fast animations and other effects on the GNOME desktop. It uses hardware acceleration to make up for the speed. You don’t need to learn OpenGL stuff; Clutter is there to provide the glue.

Gutsy has Clutter 0.4.0 in the repositories and the latest version is 0.6.0. To try out, you need at least the clutter tarball from the Clutter website. To start programming for your desktop, you need to try some of the bindings packages.

I had the chance to spend time with the DejaVu guys (Hi Denis, Ben!). Also met up with Alexios, Dimitris x2, Serafeim, Markos and others from the Greek mission.

Overall, FOSDEM is a cool event. In two days there is so much material and interesting talks. It’s a recommended technical event.

Localisation issues in home directory folders (xdg-user-dirs)

In new distributions such as Ubuntu 7.10 there is now support for folder names of personal data in your local language. What this means is that ~/Desktop can now be called ~/Επιφάνεια εργασίας. You also get a few more default folders, including ~/Music, ~/Documents, ~/Pictures and so on.

This functionality of localised home folders has become available thanks to a new FreeDesktop standard, XDG-USER-DIRS. xdg-user-dirs can be localised, and the current localisations are available at xdg-user-dirs/po.

A potential issue arises when a user logs in with different locales; how does the system switch between the localised versions of the folder names? For GNOME there is a migration tool; as soon as you login into your account with a different locale, the system will prompt whether you wish to switch the names from one language to another. This is available through the xdg-user-dirs-gtk application.

Another issue is with users who use the command line quite often; switching between two languages (for those languages that use a script other than latin) tends to become cumbersome, especially if you have not setup your shell for intelligent completion. In addition, when you connect remotely using SSH, you may not be able to type in the local language at the initial computer which would make work very annoying.

Furthermore, there have been reports with KDE applications not working; if someone can bug report it and post the link it would be great. The impression I got was that some installations of KDE did not read off the filesystem in UTF-8 but in a legacy 8-bit encoding. This requires further investigation.

Moreover, OpenOffice.org requires some integration work to follow the xdg-user-dirs standard; apparently it has its own option as to which folder it will save into any newly created files. I believe this will be resolved in the near future.

Now, if we just installed Ubuntu 7.10 or Fedora 8, and we got, by default, localised subfolders in our home directory (which we may not prefer), what can we do to revert to non-localised folders?

The lazy way is to logout, choose an English locale as the default locale for the system and log in. You will be presented with the xdg-user-dirs-gtk migration tool (shown above) that will give you the option to switch to English folder names for those personal folders.

Clarification: It is implied for this workaround (logout and login thing), you then log out again, set the language to the localised one (i.e. Greek) and log in. This time, when the system asks to rename the personal folders, you simply answer no, and you end up with a localised desktop but personal folders in English. Mission really accomplished.

If you are of the tinkering type, the files to change manually are

$ cat ~/.config/user-dirs.locale

el_GR

$

and

$ cat ~/.config/user-dirs.dirs

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you’re
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR=”$HOME/yyy”, where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR=”/yyy”, where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR=”$HOME/Επιφάνεια εργασίας”
XDG_DOWNLOAD_DIR=”$HOME/Επιφάνεια εργασίας”
XDG_TEMPLATES_DIR=”$HOME/Πρότυπα”
XDG_PUBLICSHARE_DIR=”$HOME/δημόσιο”
XDG_DOCUMENTS_DIR=”$HOME/Έγγραφα”
XDG_MUSIC_DIR=”$HOME/Μουσική”
XDG_PICTURES_DIR=”$HOME/Εικόνες”
XDG_VIDEOS_DIR=”$HOME/Βίντεο”

Personally I believe that having localised names appear under the home folder is good for the majority of users, as they will be able to match what is shown in Locations with the actual names on the filesystem.

There will be cases that software has to be updated and bugs fixed (such as in backup tools). As we proceed with more advanced internationalisation/localisation support in Linux, it is desirable to follow forward, and fix problematic software.

However, if enough popular support arises with clear arguments (am referring to Greek-speaking users and a current discussion) for default folder names in the English languages, we could follow the popular demand.

Also see the relevant blog post New Dirs in Gutsy: Documents, Music, Pictures, Blah, Blah by Moving to Freedom.

Cannot write Greek Polytonic in Linux

For up to date instructions for Greek and Greek Polytonic see How to type Greek, Greek Polytonic in Linux.

The following text is kept for historical purposes. Greek and Greek Polytonic now works in Linux, using the default Greek layout.

General Update: If you have Ubuntu 8.10, Fedora 10 or a similarly new distribution, then Greek Polytonic works out-of-the-box. Simply select the Greek Polytonic layout. For more information, see the recent Greek Polytonic post.

Update 3rd May 2008: If you have Ubuntu 8.04 (probably applies to other recent Linux distributions as well), you simply need to add GTK_IM_MODULE=xim to /etc/environment. Start a Terminal (Applications/Accessories/Terminal) and type the commands (the first command makes a backup copy of the configuration file, and the second opens the configuration file with administrative priviliges, so that you can edit and save):

$ gksudo cp /etc/environment /etc/environment.ORIGINAL
$ gksudo gedit /etc/environment

then append

GTK_IM_MODULE=xim

save, and restart your computer. It should work now. Try to test with the standard Text editor, found in Accessories.

In Ubuntu 8.10 (autumn 2008), it should work out of the box, just by enabling the Greek Polytonic layout.

Update 20th June 2008: If still some accents/breathings/aspirations do not work, then this is probably related to your system locale (whether it is Greek or not). It works better when it is Greek. If you are affected and you do not use the Greek locale, there is one more thing to do.

$ gksudo cp /usr/share/X11/locale/en_US.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose.ORIGINAL
$ gksudo cp /usr/share/X11/locale/el_GR.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose

The first command makes a backup copy of your original en_US Compose file (assuming you run an English locale; if in doubt, read /usr/share/X11/locale/locale.dir). The second command copies the Greek compose file over the English one. You then logout and login again.

End of updates

To write Greek Polytonic in Linux, a special file is used, which is called the compose file. There is a bit of complication here in the sense that the compose file depends on the current system locale.

To find out which compose file is active on your system, have a look at

/usr/share/X11/locale/compose.dir

Let’s assume your system locale is en_US.UTF-8 (Start Applications/Accessories/Terminal and type locale).

In the compose.dir file it says

en_US.UTF-8/Compose: en_US.UTF-8

Note that the locale is the second field. If you have a different system locale, match on the second field. Many people make a mistake here. Actually, I think be faster for the system to locate the entry if the compose.dir file was sorted by locale.

Therefore, the compose file is

/usr/share/X11/locale/en_US.UTF-8/Compose

So, what’s the problem then?

Well, for the Greek locale (el_GR.UTF-8) we have a different compose file, a compose file in which Greek Polytonic actually works ;-).

Therefore, there are numerous workarounds here to get Greek Polytonic working.

For example,

  • If you speak modern Greek, you can install the Greek locale.
  • You can edit /usr/share/X11/locale/compose.dir so that for your locale, the compose file is the Greek one, /usr/share/X11/locale/el_GR.UTF-8/Compose.
  • You can edit the Greek compose file, take the Greek Polytonic section and update the Greek Polytonic section of en_US.UTF-8/Compose.
  • You can copy the Greek compose file in your home directory under the name .XCompose. I did not try this one, and also you may be affected by this bug. (not tested)

Of course the proper solution is to update en_US.UTF-8/Compose with the updated Greek Polytonic compose sequences. There is a tendency to add the compose sequences of all languages to en_US.UTF-8/Compose, and this actually is happening now. In this respect, it would make sense to rename en_US.UTF-8/Compose into something like general/Compose.

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_NONFUZZY = 1 << 3,
REMOVE_OBSOLETE = 1 << 4,
– REMOVE_NONOBSOLETE = 1 << 5
+ REMOVE_NONOBSOLETE = 1 << 5,
+ 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;
break;

+ case CHAR_MAX + 19: /* –no-copied */
+ to_remove |= REMOVE_COPIED;
+ break;
+
default:
usage (EXIT_FAILURE);
/* NOTREACHED */
@@ -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”
“Unknown”
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.

Say No to OOXML

Click on the image above to visit the petition page.

I copy here the terms of the petition to say no on the standardisation of MSOOXML at ISO.

I ask the national members of ISO to vote “NO” in the ballot of ISO DIS 29500 (Office OpenXML or OOXML format) for the following reasons:

  1. There is already a standard ISO26300 named Open Document Format (ODF): a dual standard adds costs, uncertainty and confusion to industry, government and citizens;
  2. There is no provable implementation of the OOXML specification: Microsoft Office 2007 produces a special version of OOXML, not a file format which complies with the OOXML specification;
  3. There is missing information from the specification document, for example how to do a autoSpaceLikeWord95 or useWord97LineBreakRules;
  4. More than 10% of the examples mentioned in the proposed standard do not validate as XML;
  5. There is no guarantee that anybody can write a software that fully or partially implements the OOXML specification without being liable to patent damages or patent license fees by Microsoft;
  6. This standard proposal conflicts with other ISO standards, such as ISO 8601 (Representation of dates and times), ISO 639 (Codes for the Representation of Names and Languages) or ISO/IEC 10118-3 (cryptographic hash);
  7. There is a bug in the spreadsheet file format which forbids to enter any date before the year 1900: such bugs affects the OOXML specification as well as software versions such as Microsoft Excel 2000, XP, 2003 or 2007.
  8. This standard proposal has not been created by bringing together the experience and expertise of all interested parties (such as the producers, sellers, buyers, users and regulators), but by Microsoft alone.

This project is an initiative by the Foundation for a Free Information Infrastructure (FFII), the non-profit that helped achieve the rejection of the EU software patent directive in July 2005.

Update #1: Currently (26Jun07 – noon) there are 8805 signatures.
Update #2: Currently (26Jun07 – evening) there are 9481 signatures.
Update #3:

IT IS URGENT THAT YOU CONTACT YOUR STANDARDISATION BODY IN YOUR COUNTRY AND EXPLAIN THEM WHY OOXML IS BROKEN; SENDING A NICE LETTER TO YOUR STANDARDISATION BODY IN YOUR COUNTRY IS MORE IMPORTANT THEN SIGNING THE PETITION

Mentoring facility available in Launchpad, Ubuntu

Is there a bug report in Launchpad.net (Ubuntu) that you are confident you can help someone to fix but do not have the time to fix yourself?
Now Launchpad provides the facility for contributors to offer mentoring support to bug reports and blueprints, so that users can apply and receive mentoring. With mentoring you help someone else solve a problem. Ubuntu is benefited, and also the new user gets help in resolving bugs.

For the Greek language there is an Ubuntu team called Ubuntu Greek Testers. Users interested for the Greek language in Ubuntu can subscribe to team. Then, for any bug report that relates to the Greek language support, we subscribe the team as a member. The system is configured in such a way so that any activity on those bug reports is mailed to each member. This makes it easy to track the status of reports.

You can see the current list of pending reports for the Greek language in Ubuntu.

One of the bug reports is about the Broken context-sensitive spell check in evolution (Greek, Russian, etc) GNOME #344008.
This report has been there for around 2 years and it should be fixed soon. I am not sure what the best course of action should be. Well, the typical course of action would be to compile GNOME manually (jhbuild), locate the code in Evolution that deals with gnome-spell and put printf()s that show what’s going on when this part of the code is reached. Any takers?

Update: Just offered mentorship for https://bugs.launchpad.net/evolution/+bug/10713 🙂 I understand the direction to work on but do not know what exactly is going on.

Firefox shortcuts in Linux on non-us keyboard layout, and Greek

You tried to use the common keyboard shortcuts in the Linux version of Firefox, with a keyboard layout other than us, and you realised they do not work. For example, Ctrl-C does not work when the Greek keyboard layout is active because Firefox receives Ctrl-Ψ (which is undefined).
This is a well-known problem affecting keyboard shortcuts in many languages.
How can someone solve the problem; Should Firefox for Linux be configured so that internally it would consider Ctrl-C and Ctrl-Ψ correspond to the same keyboard shortcut (perhaps in the language pack)? Well, the problem is that one would prefer a solution that is independent of the keyboard layout. You might be running a Greek localisation of Firefox with an active layout for Hindi.
The optimal solution is to have Firefox associate the keyboard shortcuts to physical keys (whatever that means) instead of the characters they are producing. Bug #69230/Mozilla has been there for quite some time although an acceptable solution is available in both GTK+ (GNOME) and OpenOffice.org. For example, in a GNOME application, both Ctrl-C and Ctrl-Ψ are equivalent.
So, what can we do now with the Linux versions of Firefox? Well, it is possible to write a Firefox extension that would intercept keys being pressed in a local layout and convert to the standard keyboard shortcuts Firefox likes.
Such a workaround is available for the Greek language, written by Athanasios Lefteris, at Mozilla και συντομεύσεις πληκτρολογίου σε Linux.
Currently the extension exists in the sandbox of the Mozilla add-ons, meaning that you are required to register (free) and also configure your profile to allow the view of sandboxed extensions (=in early stage of development, about to get accepted). It is desired to to try out the extension and write a short review. This will help to get the extension accepted as official add-on to the masses.

Many thanks to Athanasios!

p.s.
There is an existing Russian version of the extension. It is expected that other languages will follow.

Multimedia support in Ubuntu Linux 6.10

This is a follow-up to the article Multimedia support in Ubuntu Linux 6.06 on how to add extended multimedia support to the Ubuntu Linux distribution.

The new version of Ubuntu Linux, 7.04, has a new functionality to help add multimedia support in a seamless way; when you try to play a media file that requires a new codec, you will be asked to install it at that time. The new functionality was made available thanks to the work on the gstreamer multimedia library (bug #161922 – script to provide plugin installation info), and work with the Ubuntu distribution. It is important to note that the new version of Fedora Linux 7 has a similar mechanism of automatic multimedia support installation.

In Ubuntu 6.10, start System/Administration/Synaptic Package Manager. Under Settings/Repositories, select the universe and multiverse repositories. Click ok, then Reload to update your package cache.

Subsequently, click on Search and type in

gstreamer-0.10

You will get quite a few results; you can install packages found apart from those which names end with -dev (development packages, not normally required) and -dbg (debug packages, not normally required).

Finally, the w32codecs package (do a new search for this) adds support to other binary codecs that no native Linux software exists yet.

Video playback problems (black) after installing Beryl (or Compiz)

Note: Here we describe a workaround. The proper solution is to fix the graphics drivers and the X.Org X server. Such work is taking place, and for several cases you do not need this workaround. Especially with newer versions of Linux.

You just installed your 3D Linux desktop and you are really enthusiastic about it. But when you try to play some videos, you get a strange black output. What’s going on?
The common software video players that come with the Linux desktop are able to display the video stream to several types of output devices. This includes several types of output for the graphical interface, and also obscure output devices such as text mode, using ASCII characters.
The default output device is XVideo (or Xv) for players such as those based on GStreamer (totem) and VLC.
As you guessed, there is a bug with XVideo when using Beryl/Compiz. Therefore, to fix, you need to switch to another output device that works.
For GStreamer players (such as totem, the default movie player in GNOME, Ubuntu and so on), you need to run from the command line the command
gstreamer-properties
(with older distributions such as Ubuntu 6.06 there is an option in System/Preferences for this).
and pick
Video, then for Default Video Plugin choose X Window System (No Xv). Click on test to verify that it actually works. Click Close and you are set.
VLC is not installed by default in Ubuntu 6.10. You need to install manually using the Synaptic Package Manager (under System/Administration), once you have activated the Universe repository in Repositories.
Start VLC and click on Settings, then Preferences. Expand Video and then expand Output modules. You will notice several options for output device. How do we actually choose which one should be the active output device? Well, it appears it’s a bit tricky. Select the item Output modules, and notice the checkbox at the bottom right that says Advanced options. Check the box, and now you have the option to select a different output device. Pick X11 video output, click on Save and you are set!

Update (17 Jun 2007): Added section at UbuntuGuide.org, How do I fix black windows during video playback.