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

8Jan/090

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).

http://www.google.com/xhtml/images/screenshots/gmail.gif

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

gmail.com/app

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.

29Feb/081

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.

13Feb/080

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.

18Apr/070

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!

4Nov/064

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 (???).

5May/0616

Mydomain sucks!

No, it’s not my domain that sucks, it’s mydomain.com sucks, a web-hosting company.

Last June I chose mydomain.com to move my website to, as they had a special offer for a domain transfer and webhosting. Since my needs for my Website were specific, I gladly accepted the offer.

Since then, the service was good; I did not have to bother them as everything was working ok and I could find my way with installing software on my site.

It was a Sunday near the end of April that when I tried to access my site, I found that I exceeded my monthly quota. Due to this, my Website gets blocked and any access was replaced with a generic “Blocked” page. This page has ads and makes money over my expense (the referenced links gain from the popularity of my Website when GoogleBot visits).

In one respect it is a compliment to have your Website become popular and exceed its bandwidth. However, before buying more bandwidth, I wanted to make sure when the new month starts and the bandwith is set to zero. Surprisingly, this information was not on the notification. By the way, notifications are not sent to you by e-mail; they are stored on the Web hosting administration pages, so if you do not visit that page you aremore than likely to miss it. At this point I noticed something strange; since my website was blocked, there was additional traffic arriving which was strange. No, the block page was a HTTP redirect to another web server so any traffic would be minimal (200 bytes per hit?). Due to my website being blocked, I was unable to connect with FTP to access my files either.

“No, we use a rolling 30-day period to calculate your monthly bandwidth. Therefore, there is no day after which your bandwith is set to zero”, I was told by the customer support. A rolling 30-day period simply means that every morning your bandwidth for the last 30 days is calculated. If it is under the limit, you get access today, else you are blocked. “So, this means that my 30-day bandwidth total will be smaller tomorrow and I may get access?”, I recounted. “No, it is actually possible that the bandwidth may increase and you will still be blocked”, he explained. “Can you tell me the daily bandwidth consumption for the last few days?”, I insisted. “No, we do not keep daily bandwidth consumption.”, he fired back. I don’t want to be pushy here, as a web hosting company you need to keep daily bandwidth consumption if you want to use the rolling 30-day period system; you need to know the bandwidth of the oldest day so that you take it off when a new day gets completed.
The following days had this pattern; I would see in the administrative pages of mydomain that the “Bandwidth Used this month” was increasing steadily. I would call the customer support and try to explain that this rolling 30-day period is not working. And no, I do not want to upgrade my bandwidth because something is wrong with your systems.

It is quite funny how ridiculous the situation became. The customer support would not accept that there is a problem with their system. They tried to be polite and professional but it did not work well. I got the “Oh, it’s you again” attitude and at some point I heard laughter in the background. Imagine this family conversation at bedtime, “Darling, how was job today?” “We had this crazy customer telling us we don’t know how to do our job”.

The customer support telephone number is 360-253-2210 which is in Vancouver, WA (US). And it was not outsourced to another country. The customer support explained that the web hosting business is in the same building as well.
Eventually they realised that I might have a point and they promised to investigate. They would send an e-mail to me about it. The next day comes and there was no e-mail (I never received an e-mail). However, my website was up and running. The administrative pages showed that I was given some extra bandwidth. On the other hand, the 30-day bandwidth value never decreased but kept increasing steadily. The access to my website was really good for me as I managed to back up every single bit of my files (and mysql database!). In addition, I grabbed a copy of the log files (the log files of the last 30 days, each day as an individual file).
I enjoyed the extra bandwidth bonanza for a while and when I was blocked again, I got back on the phone. “Bandwidth keeps increasing very quickly, and btw, I wrote a script that parses the log files and shows a substantial discrepancy between MY values and YOUR values”, I started. “Sir, you need to upgrade your bandwidth or change hosting plan” he repeated. Somehow I was not suggested this time to wait for my bandwidth to drop.

Eventually I managed to get them to admit that the system that checks the bandwidth is faulty,

“There does seem to be an issue with the bandwidth meter that is being looked into. Unfortuantely we do not have an eta (sic) as to when it will be fixed. We can go ahead and give you another 100mb of disk (sic) space at no charge, or you are more then welcome to upgrade to oen (sic) of our new hosting packages. Please let us know what you would like us to do. Thank you.”

As a customer I am not happy with this resolution. My monthly bandwidth is below the hosting plan limit so I should get full service. However, MyDomain does not acknowledge that.

I was quite happy to get the initial offer for a domain name and web hosting bundle last year. I would not mind to keep my webhosting there for the next year. However, this attitude is unacceptable.
We are in May now and I have already moved to a new webhosting company. This is a small company and there is a person behind it that you can contact and have a conversation. The Web hosting features are much more advanced and I have full access to all the features. I’ll write about this in a few weeks (if I encountered a problem or all are well). If you are on the technical side, you can find which company it is.

I just checked the mydomain bandwidth quota. Obviously it is not increasing anymore (I moved away from them) but it did not drop a tiny bit.
The customer support number 360-253-2210 corresponds to several companies, namely Dotster, Hostlane, 000domains, SignatureDomains, and NameZero, to name a few. That is, it looks that all these companies are the same with different fronts so that they capture more customers. Therefore, be prepared when calling their customer support number.

28Feb/062

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).

24Feb/05Off

Γράψιμο ελληνικών μέσα από GNOME

Ενημέρωση 2010: Δείτε τις νεώτερες οδηγίες στο How to type Greek, Greek Polytonic in Linux. Το να γράψουμε τώρα ελληνικά σε Linux είναι ό,τι πιο εύκολο.

Οι παρακάτω οδηγίες είναι για πολύ παλιά έκδοση του Linux και δεν τις συνιστούμε πια.

Υπάρχουν διάφοροι τρόποι να γράψει κανείς ελληνικά στο X.org. Εδώ θα δούμε τον τρόπο μέσα από το γραφικό περιβάλλον GNOME. Οι δοκιμές έγιναν σε Fefora Core 2.

Θεωρούμε ότι έχουμε καθορίσει το ελληνικό locale, δηλαδή:

$ locale
LANG=el_GR.UTF-8
LC_CTYPE="el_GR.UTF-8"
LC_NUMERIC="el_GR.UTF-8"
LC_TIME="el_GR.UTF-8"
LC_COLLATE="el_GR.UTF-8"
LC_MONETARY="el_GR.UTF-8"
LC_MESSAGES="el_GR.UTF-8"
LC_PAPER="el_GR.UTF-8"
LC_NAME="el_GR.UTF-8"
LC_ADDRESS="el_GR.UTF-8"
LC_TELEPHONE="el_GR.UTF-8"
LC_MEASUREMENT="el_GR.UTF-8"
LC_IDENTIFICATION="el_GR.UTF-8"
LC_ALL=

Όχι, el_GR δεν είναι ίδιο με el_GR.UTF-8. Είναι σημαντικό να εμφανίζεται el_GR.UTF-8. Δείτε την τεκμηρίωση της διανομής σας για να αλλάξετε το locale. Ακόμα, η χρήση του προγράμματος setxkbmap επηρεάζει αυτό που δοκιμάζουμε εδώ, οπότε μην το εκτελέσετε.


Κάνουμε δεξί κλικ στο ταμπλώ της επιφάνειας εργασίας.


Επιλέγουμε Ενδείκτη Πληκτρολογίου.


Στο ταμπλώ θα εμφανιστεί η προεπιλεγμένη γλώσσα, Αγγλικά Πληκτρολογίου USA.


Κάνουμε δεξί κλικ στο εφαρμογίδιο του Ενδείκτη Πληκτρολογίου (πάνω στο USA) και επιλέγουμε Άνοιγμα Προτιμήσεων Πληκτρολογίου.


Εμφανίζεται ο διάλογος των προτιμήσεων.


Κάνουμε κλικ στις διατάξεις. Προεπιλεγμένη είναι η διάταξη Αγγλικά Αμερικανικού Πληκτρολογίου. Τα ονόματα των διατάξεων έχουν πλέον μεταφραστεί και θα εμφανιστούν στα ελληνικά σε επόμενη έκδοση της διανομής σας.


Προσθέτουμε ελληνικά στις διατάξεις και μεταβαίνουμε στις Επιλογές Διάταξης.


Εδώ επιλέγουμε τον συνδιασμό πλήκτρων για την μεταφορά μεταξύ της αγγλικής και ελληνικής κατάστασης πληκτρολογίου. Λόγω ενός σφάλματος που διερευνούμε, δε λειτουργούν σωστά οι συνδιασμοί Alt-Shift, Ctrl-Shift κτλ. Ο συνδιασμός Left-Shift+Right-Shift λειτουργεί κανονικά και τον επιλέγουμε. Έπειτα πατάμε Κλείσιμο.


Ανοίγουμε τον επεξεργαστή κειμένου του GNOME και δοκιμάζουμε να γράψουμε κάτι στα ελληνικά.


Προσθέτουμε την διάταξη Greek Polytonic για να δοκιμάσουμε τη γραφή πολυτονικού.

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


Κάνουμε δεξί κλικ πάνω στο παράθυρο του επεξεργαστή κειμένου του GNOME και ελέγχουμε την Μέθοδο Εισαγωγής. Είναι Προεπιλογή.


Το αλλάζουμε σε Μέθοδο Εισαγωγής Χ.


Τώρα γράφουμε πολυτονικά.


Το πρόγραμμα αλλαγής πληκτρολογίου που χρησιμοποιήσαμε το έγραψε ο Sergey Oudaltsov.


Η μετάφραση έγινε από τα εικονιζόμενα άτομα.

   

Switch to our mobile site