Java plugin 64-bit, now available.
Sun Microsystems announced the 64-bit version of the JRE, which includes the Java Plugin.
This means that if you have a 64-bit version of a Linux distribution, you can now have Java applets running in your Firefox.
Download at https://jdk6.dev.java.net/6uNea.html
You can install in /usr/local/
Then, you need to make a symbolic link, (it's OK if Firefox is still running)
ln -s /usr/local/jre1.6.0_12/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
Then, in Firefox, visit about:plugins and check if the new plugin is recognised. You should see the text below.
libnpjp2.so
- Όνομα αρχείου: /usr/local/jre1.6.0_12/lib/amd64/libnpjp2.so
| Τύπος MIME | Περιγραφή | Επιθέματα | Ενεργές |
|---|---|---|---|
| application/x-java-vm | Java | Ναι | |
| application/x-java-applet | Java | Ναι | |
| application/x-java-applet;version=1.1 | Java | Ναι |
Finally, test your browser with the demo applets at http://java.sun.com/applets/jdk/1.4/index.html
I do not know how well some complicated Java applications will behave. If you do not see the applet starting up (there is no loading indication), have a look at ~/.xsession-errors for any hints of a failed applet.
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.
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 (???).
Unofficial Ubuntu 5.10 (Breezy Badger) Starter Guide
Ο οδηγός του Ubuntu 5.10 είναι διαθέσιμος από την ιστοσελίδα http://easylinux.info/wiki/UbuntuΑποτελεί ενημέρωση του ubuntuguide.org του Chua Wen Kiat.
Πρόσθεσα τα
How to add keyboard layouts for other languages
How to add the Keyboard Layout Indicator applet
How to type extended characters
Τι περισσότερο μπορεί να μπει στον οδηγό;
Έτοιμη η προέκδοση της διανομής Ubuntu Linux 5.04 (Hoary Hedgehog)
Και διαθέσιμη εδώ.
Η διανομή Ubuntu Linux αυτή τη στιγμή είναι πολύ σημαντική, μιας και είναι πολύ φιλική στον τελικό χρήστη, έχει αυξανόμενη υποστήριξη από την κοινότητα που δημιουργεί και τέλος βασίζεται στο γραφικό περιβάλλον εργασίας και ανάπτυξης λογισμικού GNOME.
Ακόμα, επιτρέπουν την δωρεάν αποστολή CD με τη διανομή και είναι καλό για μοίρασμα σε εκδηλώσεις/workshop/κτλ.
Αν έχει κάποιος την δυνατότητα να την δοκιμάσει άμεσα, θα ήθελα να επιβεβαιωθεί αν το εφαρμογίδιο ένδειξης καιρικών συνθηκών (gweather) λειτουργεί στα ελληνικά. Ενναλακτικά, να εξάγει κάποιoς από το πακέτο με τις ελληνικές μεταφράσεις το αρχείο gnome-applets-2.0.mo, από το οποίο θα προκύψει αν έχει μπει μια συγκεκριμένη διόρθωση. Η πλήρης διαδρομή του αρχείου αυτού πρέπει να είναι /usr/share/locale/el/LC_MESSAGES/gnome-applets-2.0.mo
Τι καιρό κάνει;
Το gweather, το πρόγραμμα εμφάνισης καιρικών συνθηκών στο GNOME έχει ανανεωθεί και επιτρέπει την μετάφραση των ονομάτων των πόλεων (κάθε αεροδρόμιο στον κόσμο πρέπει να διαθέτει στο κοινό πληροφορίες για τις καιρικές συνθήκες που επικρατούν. το gweather λαμβάνει αυτές τις δημόσιες πληροφορίες). Δείτε εδώ για το BUG 89746.
Για την Ελλάδα έχουμε την παρακάτω λίστα. Όποιος είναι διαθέσιμος, παρακαλώ να μεταφράσει. Ίσως χρειαστεί λίγη έρευνα για το που είναι μερικά αεροδρόμια (LGXX, LGPR;;;). Η λίστα αποτελείται από το επίσημο όνομα του αεροδρομίου κατά ICAO και την κωδική της ονομασία τεσσάρων γραμμάτων.
Name ICAO ID
AGRINION (MIL) LGAG ALEXANDROUPOLIS/DIMOKRITOS LGAL ANDRAVIDA (MIL) LGAD ARAXOS (MIL) LGRX ASTYPALAIA LGPL ATHINAI (ACC,FIC,FIR,UIR) LGGG ATHINAI/ELEFTHERIOS VENIZELOS LGAV ATHINAI/HELLINIKON LGAT CHANIA/LOANNIS DASKALOGIANNIS LGSA CHIOS LGHI DEKELIA/TATOI (MIL) LGTT ELEFSIS (MIL) LGEL IKARIA LGIK IOANNINA LGIO IRAKLION/NIKOS KAZANTZAKIS LGIR KALAMATA (MIL) LGKL KARPATHOS LGKP KASOS LGKS KASTELI(MIL) LGTL KASTELORIZO LGKJ KASTORIA/ARISTOTELIS LGKA KAVALA MEGAS ALEXANDROS LGKV KEFALLINIA LGKF KERKIRA/IOANNIS KAPODISTRIAS LGKR KITHIRA LGKC KOS/IPPOKRATIS LGKO KOZANI/FILIPPOS LGKZ LARISA (MIL) LGLR LEROS LGLE LGPR "S" LGPR LGXX "M" LGXX LIMNOS LGLM MAKEDONIA (ACC,FIC) LGMD MARATHON LGMR MARATHON/KOTRONI (MIL) LGKN MEGARA (MIL) LGMG MIKONOS LGMK MILOS LGML MITILINI/ODYSSEAS ELITIS LGMT NAXOS LGNX NEA ANCHIALOS (MIL) LGBL PAROS LGPA PORTO CHELI LGHL PREVEZA/AKTION (MIL) LGPZ RODOS/DIAGORAS LGRP RODOS/MARITSA LGRD SAMOS LGSM SANTORINI LGSR SITIA LGST SKIATHOS LGSK SKIROS (MIL) LGSY SPARTI LGSP SYROS LGSO TANAGRA (MIL) LGTG THESSALONIKI/MAKEDONIA LGTS TRIPOLIS (MIL) LGTP ZAKINTHOS/DIONISIOS SOLOMOS LGZA
Ο αρχικός συγγραφέας του gweather είναι ο Σπύρος Παπαδημητρίου.