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

5May/100

Χαρτογράφηση με OpenStreetMap (OSM) και Ελλάδα

Το έργο OpenStreetMap (OSM) φιλοδοξεί να φτιάξει ένα ελεύθερο χάρτη του πλανήτη. Όπως η Wikipedia είναι η μεγαλύτερη συμμετοχική εγκυκλοπέδια, έτσι το OpenStreetMap θέλει να γίνει ο μεγαλύτερος συμμετοχικός χάρτης.

Τμήμα χάρτη Ηλακλείου Κρήτης (OpenStreetMap)

Τα δεδομένα που εισάγονται στο OpenStreetMap διατίθενται με την άδεια Creative Commons Attribution-Share Alike.

Τμήμα χάρτη από το Ηράκλειο Κρήτης (Google Maps)

Γιατί χρειαζόμαστε το OpenStreetMap αφού το Google Maps είναι δωρεάν και σχετικά ολοκληρωμένο; Το ζήτημα είναι ότι το Google Maps, για το περισσότερο κόσμο και την Ελλάδα, χρησιμοποιεί δορυφορικές εικόνες και δεδομένα χαρτογράφησης που δεν είναι διαθέσιμα με ελεύθερες άδειες. Δείτε τους περιορισμούς χρήσης των χαρτών του Google Maps, ενότητα Restrictions on Use.

Το OpenStreetMap αποτελείται από τη βάση δεδομένων που περιλαμβάνει όλο το υλικό του χάρτη μαζί με το ιστορικό των ενημερώσεων. Αυτή τη στιγμή η βάση έχει φτάσει στα 8.6GB (αν συμπιεστεί) και υπάρχει διαθέσιμο αντίγραφο ασφαλείας ολόκληρης της βάσης που παράγεται κάθε εβδομάδα. Το αρχείο, planet-latest.osm.bz2, σε συμπιεσμένη μορφή (bz2), είναι διαθέσιμο από το http://planet.openstreetmap.org/ Στην πράξη, ένας τυπικός χρήστης μπορεί να χρησιμοποιήσει ειδικά εργαλεία όπου μπορεί να εξάγει το χάρτη του τμήματος του πλανήτη που ενδιαφέρει, με πιο εύκολο και γρήγορο τρόπο.

Όπως με τη Wikipedia, έτσι και με το OpenStreetMap, κάθε εθελοντής που προσφέρει πρέπει να παράγεια τα γεωγραφικά δεδομένα. Ο τυπικός τρόπος είναι με τη χρήση συσκευής GPS, όπου καταγράφουμε τις διαδρομές (tracks) και τα σημεία αναφοράς (Point Of Interest, POI).

Άφου φτιάξουμε λογαριασμό στο www.openstreetmap.org, είμαστε σε θέση να προσθέτουμε διαδρομές (tracks). Οι συσκευές GPS γενικά παρέχουν τη δυνατότητα καταγραφής της διαδρομής μας, καθώς και τη δυνατότητα εξαγωγής της διαδρομής. Η μορφή που δέχεται το OpenStreetMap είναι το .gpx, και υπάρχουν εργαλεία για μετατροπή από άλλες μορφές προς GPX.

Από τη στιγμή που έχουμε εισάγει τις ακατέργαστες διαδρομές στο OSM, είμαστε σε θέση να δημιουργήσουμε τους δρόμους και τα σημεία αναφοράς του χάρτη. Ένας τρόπος για να το κάνουμε αυτό είναι να χρησιμοποιήσουμε την επιλογή επεξεργασίας (Edit) του χάρτη, από το δικτυακό τόπο του OSM καθώς έχετε εντοπίσει την περιοχή που θέλετε να επεξεργαστείτε. Όλα αυτά γίνονται μέσα από το Firefox σας. Αυτή η εφαρμογή για επεξεργασία του OpenStreetMap  μέσω Web ονομάζεται Potlatch.

Δείτε τον οδηγό για νέους χρήστες του OpenStreetMap στα ελληνικά.

Σε επόμενα άρθρα θα αναφερθούμε στην εφαρμογή JOSM, μια εφαρμογή σε Java, που επιτρέπει τη λήψη των δεδομένων τμήματος του χάρτη του OSM. Με το JOSM είμαστε σε θέση να κάνουμε κάθε είδους τροποποίηση στο χάρτη και είναι το βασικό εργαλείο.

Επιπλέον, ο χάρτης του OSM που εμφανίζεται στο πρώτο στιγμιότυπο παραπάνω είναι μια μόνο παραδοχή του χάρτη· είναι εφικτό να παράγουμε διαφορετικές μορφές του χάρτη (για παράδειγμα, στα αγγλικά ή ελληνικά, με έμφαση τα καταστήματα, με έμφαση χώρους για περίπατο, με έμφαση μόνο τα πρατήρια, κτλ).

Ακόμα, υπάρχει εφαρμογή J2ME (εφαρμογή Java για κινητά) όπου επιτρέπει τη συλλογή δεδομένων για διαδρομής και σημεία αναφοράς.

Τέλος, υπάρχει εφαρμογή που μπορεί να εξάγει το τμήμα του χάρτη που μάς ενδιαφέρει και να το εισάγει σε μια εφαρμογή J2ME (Java για κινητά) ώστε με το κινητό μας να έχουμε ένα ελεύθερο σύστημα πλοήγησης. Ναι, και με φωνή.

23Apr/100

“The Thing about Volunteers and Civility” (#modernperlbooks.com)

I copy the post The Thing about Volunteers and Civility by chromatic on modernperlbooks.com. Though the text refers to aspects of the Perl community, I believe the message is more general. The formatting (numbered list, etc) is mine.

  1. The thing about volunteers is that they don’t have to do what they’re doing. If you’re getting paid to hang out in an IRC channel and answer questions all day, that’s one thing. If you’re hanging out on an IRC channel all day because you want to, that’s another.
  2. The thing about volunteers writing software is that they don’t have to do it. The same goes for volunteers writing documentation or reporting bugs or asking questions about how to use or install or configure that software.
  3. The thing about the Perl community is that almost no one gets paid solely for participating in the Perl community. Sure, you can volunteer for a while to earn the cachet and the right to apply for a TPF grant at a fraction of the going consulting rate to justify continuing to work on the unpleasant parts of a project, but you’re still effectively a volunteer.
  4. The thing about volunteers is if it’s not worth their time or energy or health or sanity or happiness to keep volunteering, they can walk away whenever they want. They have no obligation to continue to do what they do. Not even their sense of devotion or duty or guilt or community camaraderie should compel them to continue on projects that aren’t worth their investment of time, and that’s more than okay.
  5. The thing about volunteers is that you can’t force them to do anything. You can’t force them to have your priorities. You can’t force them to work to your schedule. You can’t force them to work on your project and you can’t force them to care about what you care about. They’ll do what they want to do when they want to do it and you either deal with it or you don’t.
  6. The thing about volunteers is that it’s rare to have too many and it’s far too common to have far too few. Thus healthy projects spend time and effort recruiting volunteers and keeping volunteers around and guiding the interests and energy and time of volunteers in productive ways, not only by making their projects pleasant and useful but by removing distractions and unpleasantness from their communities.
  7. The thing about volunteers is that for every one willing to take the abuse and hostility from a few people, you can’t tell how many orders of magnitude more potential volunteers find that hostility and abuse so distasteful that they refuse to consider the possibility that it’s worth their time to contribute.
  8. The thing about volunteers is that if you allow certain parts of the community to fester and to grow toxic, you’re well on your way to having fewer and fewer volunteers who grow more bitter and eventually become a tiny little cluster of angry, angry people who can’t do anything productive.
  9. The thing about volunteers is that it doesn’t have to be this way.
  1. Certain Perl IRC channels don’t have to be seething cauldrons of rage from burned out system administrators who castigate anyone who doesn’t know the secret rituals and wordings of arcane rituals to identify themselves as insiders.
  2. Certain Perl forums don’t have to devolve into arguments over whose web framework stole which idea from some other place, or whether it’s clear that anyone who does or does not use one CPAN dependency or another has parents with specific unpleasant characteristics.
  3. Certain Perl mailing lists don’t have to debate whether people who work on one version of Perl or another are hateful fools whose only goal in life is to destroy everything good and sunshiney and organic.
  4. Certain Perl blogs don’t have to have comments accusing other volunteers of being liars or thieves or people of negotiable affection because said volunteers disagree on project management styles.

I suppose it’s easier to destroy than to create, and it’s easier to prove that you’re right by demonstrating your scathing verbal wit with a keyboard, and it’s easier to believe that you’ve won an argument if you reduce the other person to a cardboard cutout of simplistic, ridiculous beliefs. It’s also easy to justify your decision to spread hostility if you can overlook the fact that the person you’re castigating is a human being with complex motivations, goals, dreams, aspirations, beliefs, and emotions.

The thing about volunteers is that they don’t owe you a thing.

If you want a Perl community full of hostile people who jump to hasty conclusions, who are willing to nitpick and debate the specific meaning of words than to understand what other people mean, and who are willing to throw wild accusations of crazy, hateful motives around, then you have an easy task. Just say nothing. Let it fester.

Me, I don’t think that’s the way to encourage a healthy community. After all, how silly is it to argue over how some other volunteer spends his or her time? Yet isn’t that what we’re doing?

Maybe if more of us speak up when we see this abuse and hostility, maybe we can discourage it. Maybe we can encourage people to try to understand and listen more, or at least to disagree politely if they must disagree. Maybe we can help people unwilling to be civil to find better hobbies than abusing other volunteers. Maybe we can make the Perl community and our IRC channels and our mailing lists and our forums and our comment sections places where potential volunteers want to participate because they know that we appreciate novices and we appreciate volunteers and we don’t all have to do the same things or want the same things or agree on the same things to treat each other with respect.

After all, we’re all trying to build great software to solve problems. Why should we borrow trouble?

22Jun/095

The bashrc bash configuration files

The default shell in most Linux distributions is the bash shell. Contrary to all the usability work that has been done to the GUI, the shell is most neglected area.

Current bashrc shell (shows prompt only)

Depicting a shell is not an easy task; in the screenshot above we only show the default prompt. It has the following disadvantages,

  1. It does not differentiate visually between the username and hostname.
  2. It shows the relative path only, making it difficult to realize quickly the full path for the current working directory.
  3. Cannot copy the path using the mouse by double-clicking on it. The ~ is not included in the highlighted text, that one needs to paste and add the remaining part of the path (such as /home/user/)
  4. The point of input changes position on the command line, depending on the size of the path. As you cd into directories, the point of input moves further to the right.

The bashrc project shell

This is the prompt with the bashrc project configuration files. It solves the problems described with the default configuration files found in Linux distributions.

Obviously, there are more to the shell’s configuration files than a usable prompt. For example,

  • the ability to show the partial matches when you press Tab for the first time
  • enabling the shopt options to reasonable values
  • have reasonable aliases for . .. … / -
  • adding –verbose, –interactive to basic utilities such as cp, mv, rm
  • show the exit value of an application if it is other than 0 ($?)

There is a EnhancedBash project for the Ubuntu Linux distribution which might be able to break apart and provide better default configuration files.

If you want to help and add more to the proposed configuration, visit http://github.com/simos/bashrc/

To use the bashrc shell, you need to

  1. Download the latest package from http://github.com/simos/bashrc/ (note the Download button).
  2. Extract the package, open a terminal window and enter the newly created directory.
  3. Run make install
  4. Open a new shell window. The new settings should be activated.
20Jun/090

Συνέδριο ΕΛΛΑΚ: Εξελληνισμός GNOME 2.26

Στις 19 Ιουνίου 2009 έγινε παρουσίαση του έργου εξελληνισμού του GNOME στο συνέδριο δημιουργών ΕΛ/ΛΑΚ.

Είχαμε την ευκαιρία να μιλήσουμε για το αποτέλεσμα του τελευταίου έργου εξελληνισμού του GNOME όπου ολοκληρώσαμε τη μετάφραση του GNOME 2.26 για το γραφικό περιβάλλον και την τεκμηρίωση στα ελληνικά.

Πριν ξεκινήσουμε στις αρχές της άνοιξης, είχαμε μεταφρασμένο ήδη το 32% της τεκμηρίωσης και το 87% του γραφικού περιβάλλοντος. Με το τέλος του έργου (πλήρης μετάφραση), για την τεκμηρίωση έχουμε μεταφράσει 343.000 λέξεις περίπου και για το γραφικό περιβάλλον 190.000 λέξεις.

Οι μεταφραστές που βοήθησαν στην έκδοση αυτή είναι

  • Μάριος Ζηντίλης
  • Τζένη Πετούμενου
  • Στέργιος Προσινικλής
  • Φώτης Τσάμης
  • Γιάννης Κατσαμπίρης
  • Μιχάλης Κοτσαρίνης
  • Βασίλης Κοντογιάννης
  • Σωκράτης Βαβύλης
  • Κώστας Παπαδήμας (pkst)
  • Νίκος Χαρωνιτάκης (frolix68)
  • Σίμος Ξενιτέλλης (simosx)
  • (κάποια μέλη δεν έδωσαν το πλήρες όνομά τους, παρακαλώ επικοινωνήστε)

Από τα μεγάλα πακέτα της τεκμηρίωσης, έχουμε τα

  • Οδηγός διαχείρισης (Τζένη)
  • Οδηγός προσιτότητας (Τζένη)
  • Τεκμηρίωση Evolution Mail (Μάριος)
  • Τεκμηρίωση Aisleriot (Τζένη)
  • Τεκμηρίωση gedit (Μιχάλης)
  • Τεκμηρίωση gdm (Στέργιος)

Το μεγαλύτερο μέρος από τα στιγμιότυπα οθόνης (screenshots) τα ανέλαβαν οι Φώτης Τσάμης και Μάριος Ζηντίλης.

Το παραδοτέο είναι διαθέσιμο στο http://www.gnome.gr/files/gnome226/ και οι συντονιστές έργου ήταν οι Τζένη Πετούμενου και Σίμος Ξενιτέλλης. Οι commiters ήταν οι Νίκος Χαρωνιτάκης, Κώστας Παπαδήμας και Σίμος Ξενιτέλλης.

Το αρχείο της τεκμηρίωσης είναι ELLAK_Conf2009-GNOME-L10n (.odp, για OpenOffice.org Impress).

23May/090

Try Firefox 3.5 (pre), with in-built video support (+subtitles)

You can try out Firefox 3.5 (not final yet) now and have a sneak preview of the new features.
Among the new features is the in-built support for video (there is a new video tag you can add to your (X)HTML pages)).

With some extra Javascript, it is possible to top up the video playback with subtitles, in your language!

1. Therefore, grab a copy of Firefox 3.5 (pre).

2. When you run it, it is advised to run it as

./firefox -ProfileManager -no-remote

This asks you to select a different profile, so you can create a special profile just for testing Firefox 3.5. The -no-remote option helps you to have independent Firefox sessions from your normal Firefox you may be running.

3. Visit the Firefox 3.5 video demonstration page with subtitles.

4. Here is a version with translated subtitles for Greek.

Mozilla 3.5 demonstrating video with Greek subtitles

Note that Firefox supports the OGV video container format. Therefore, you may need to convert your videos to OGV.

5May/092

Migrate from Hotmail to GMail

So you have this Hotmail account and you want to migrate to GMail for all the obvious reasons. How can you do that?

A few months ago it was possible to forward your Hotmail e-mails to another e-mail account, which made it very easy to migrate to any other e-mail provider. However, Microsoft decided to limit this functionality so that you can only forward within the Microsoft e-mail services (such as hotmail.com, live.com, etc). This limitation looks like a desperate attempt to limit the drain of e-mail users.

Since mid-March, Microsoft provides POP3 access to your live.com or hotmail.com e-mail account. It looks like Microsoft had to let this go because users want to receive their e-mails to their mobile devices, etc.

Thus, how do you migrate from Hotmail.com or Live.com to GMail?

  1. In GMail, click on Settings→Accounts and scroll down to Get mail from other accounts.
  2. Click on Add a mail account you own.
  3. GMail Add your account

  4. GMail My account Settings

  5. When you click on Add Account », GMail will check on the spot if it can access the Hotmail account. If there is a problem, you will be prompted with the precise error. For example, I noticed that Hotmail does not like logging on in POP3 twice with 15 minutes. So, when you add two Hotmail accounts, space it out to over a quarter of an hour.
  6. GMail Identity

    On the next screen, you are prompted if you want GMail to setup an e-mail identity for this Hotmail account. What this does is that it allows you to reply to the received e-mails using your Hotmail e-mail address while you are inside GMail! Here I recommend to enable this feature, but select your GMail address in the Reply-To field. This means that by default, when you reply to your Hotmail mails, the sender will be your GMail account. However, on demand, you have the option to select the identity of your Hotmail e-mail account when composing a new e-mail. This process helps in your contacts learning gradually that your e-mail address is actually your GMail one. For those that continue to send mails to your Hotmail.com account you can remind them which is your current address.

16Feb/091

Google Street View enters Europe

Google Street View has entered Europe. The Wikipedia article has up to date information on the countries covered already (France, Italy, Spain). In addition, there is information of the countries that will get covered in the future.

Google Street View (Europe)

The colored areas are the areas that Google Street View data is available. These areas appear when you drag the yellow doll from the zoom area at the left, and you hover it over the map.

Apparently, the privacy concerns did not stop Street View from entering Europe. The faces of the people and the car number plates are blurred in most cases. If you search a bit, it is possible to find cases that a traffic plate or face have not been blurred (example, example).

Tagged as: , , , , , , 1 Comment
16Feb/090

Dreamhost coupons for free domains

When you register to Dreamhost for your new webhosting plan, you can choose the following coupons in order to get free domains. The domains are free for the lifetime of your account with them.

TWODOMAINSFREE, you get two free domains in total

THREEDOMAINSFREE, you get three free domains in total

Tagged as: , No Comments
7Jan/090

Playing with Git

Git is a version control system (VCS) software that is used for source code management (SCM). There are several examples of VCS software, such as CVS and SVN. What makes Git different is that it is a distributed VCS, that is, a DVCS.

Being a DVCS, when you use Git you create fully capable local repositories that can be used for offline work. When you get the files of a repository, you actually grab the full information (this makes the initial creation of local repositories out of a remote repository slower, and the repositories are bigger).

You can install git by installing the git package. You can test it by opening a terminal window, and running

git clone git://github.com/schacon/whygitisbetter.git

The files appear in a directory called whygitisbetter. In a subdirectory called .git/,git stores all the controlling information it requires to manage the local repository. When you enter the repository directory (whygitisbetter in our case), you can issue commands that will figure out what’s going on because of the info in .git/.

With git, we create local copies of repositories by cloning. If you have used CVS or SVN, this is somewhat equivalent to the checkout command. By cloning, you create a full local repository. When you checkout with CVS or SVN, you get the latest snapshot only of the source code.

What you downloaded above is the source code for the http://www.whygitisbetterthanx.com/ website. It describes the relative advantages of git compared to other VCS and DVCS systems.

Among the different sources of documentation for git, I think one of the easiest to read is the Git Community Book. It is consise and easy to follow, and it comes with video casting (videos that show different tasks, with audio guidance).

You can create local repositories on your system. If you want to have a remote repository, you can create an account at GitHub, an attractive start-up that offers 100MB free space for your git repository. Therefore, you can host your pet project on github quite easily.

GitHub combines source code management with social networking, no matter how strange that may look like. It comes with tools that allows to maintain your own copies of repositories (for example, from other github users), and helps with the communication. For example, if I create my own copy of the whygitisbetter repository and add something nice to the book, I can send a pull request (with the click of a button) to the maintainer to grab my changes!

If you have already used another SCM tool (non-distributed), it takes some time to get used to the new way of git. It is a good skill to have, and the effort should pay off quickly. There is a SVN to Git crash course available.

If you have never used an SCM, it is cool to go for git. There is nothing to unlearn, and you will get a new skill.

Git is used for the developement of the Linux kernel, the Perl language, Ruby On Rails, and others.

11Dec/080

Upgraded to WordPress 2.7

I used the WPAU (WordPress Automatic Update), found at http://wordpress.org/extend/plugins/wordpress-automatic-upgrade/ which lets you perform the upgrade from the UI (it’s not an unattended automatic upgrade, but rather Assisted upgrade).
I am posting this using the QuickPress feature in 2.7.
WPAU may not be good for you depending on what weird security features have been enabled by your webhosting provider.

Tagged as: , No Comments
12Nov/082

Ubuntu 8.10, PulseAudio and Skype Problem

You installed Ubuntu 8.10, then added Skype, you try out Skype and you notice that the microphone does not work.

What’s wrong? If you search the lists, you can find some indications, however no proper explanation of what’s the source of the problem. Without having the Skype Linux developers explain, it’s difficult to know what is goind on.

Some instructions advise to disable PulseAudio. That is not a proper solution, so we ignore. We aim forward not backwards.

Some other instructions suggest to remove the pulseaudio package, then add it back again. I do not understand how that helps over /etc/init.d/pulseaudio restart.

Skype sound device settings

Skype sound device settings

The workaround that works for me is to keep the settings to pulse and set Sound In to HDA Intel (hw:Intel, 0).

Recording does not go through PulseAudio but it interfaces directly to the sound card.

Remember that before trying to troubleshoot Skype, make sure that recording and playback works with Applications▶Sound&Video▶Sound Recorder.

3Oct/082

The Keyboard Layout Editor

(this entry is a repost, the original was lost in a database mishap.)

As part of the 2008 GSoC program, I worked on a Keyboard Layout Editor for the X.Org Foundation.

The Keyboard Layout Editor (KLE) is an application that allows you to create keyboard layouts for the X.Org server, commonly found in the Linux, OpenSolaris, *BSD, etc Desktops.

My mentor was Sergey Udaltsov, maintainer of xkeyboard-config, the Keyboard Indicator applet in GNOME, supporting libraries for keyboard layouts and much more. I had great help and Sergey was very supportive. Highly recommended mentor for your GSoC’09 project.

The Keyboard Layout Editor showing a layout

The Keyboard Layout Editor showing a layout

The screenshot above shows the main window of the program; a keyboard with blank layout (keys are empty), a section Add to layout with items that can be used to populate the layout, and a section for the description of the layout (Layout details).

There are typically two workflows; first you start off with a blank layout and you add Unicode characters, dead keys, include files, then you save.

The other workflow is to start with an appropriate existing layout as a base, then add more characters, make changes, etc.

It might be strange to talk about different workflows, but in terms of usability it’s important provide assistance for such cases. For example, having tooltips is important when a person starts off with a new layout.

Using the Keyboard Layout Editor

Using the Keyboard Layout Editor

Here we started with a blank layout; we click on Start Character Map, then locate the characters you need, and drag and drop them to the appropriate keys. Each key is composed of four parts, and we number these from 1 to 4. The way we count is quite peculiar,

  1. bottom left, when you press the key as is (key)
  2. top left, when you press the key with Shift (Shift + key)
  3. bottom right, when you press the key with AltGr (AltGr + key)
  4. top right, when you press the key with Shilft+AltGr (Shift + AltGr + key)
Analysis of a key

Analysis of a key

This is my entry to the most engineered diagram competition.

The dead keys relate to diacritic marks such as grave and acute. Since they are too small to see, we present them next to a D letter (D for Dead key). In some cases I could not find a character equivalent to the diacritic mark, so I put ?, therefore it looks like D?. If you put the mouse pointer over the key, you can see the full details in the tooltip.

Including files

Including files

In many cases, there exist layouts/variants that contain most of the characters you want to add. In this case, you add and enable in the Include files section. You can then override any of those characters by dragging and dropping to the layout.

At this stage in the blog post, it is important to clarify the notions of a layout and a variant. The two are quite similar and the distinction is messy when trying to explain to the end-user. The French layout file is fr, which contains several variants (distinct groups of mappings of physical keys to Unicode characters). When you are actually talking about a French keyboard layout, you are actually referring to the default variant of the «fr» file. Oftentimes people refer to the «fr» file as a whole as the French layout. You can also pick a non-default variant of the layout file, and call it your layout.

The way I would like to define layout and variant is this: a layout refers to the default variant of the layout file. This is consistent to the fact that distributions pick the default variant in the settings so it’s what get the most visibility, or when users select a new layout, they are presented with the default setting first. Regarding layouts in general, it is important for different languages/scripts to make effort that the default layout is updated and includes extra useful and relevant characters.

The new Greek keyboard layout

The new Greek keyboard layout

This is the updated Greek keyboard layout, and is the near-final version that we are planning to submit to xkeyboard-config. It adds Greek Polytonic to the existing Greek layout.  It does not make changes to the previous default layout, so users will not be unpleasantly surprised. It also adds all sort of characters that are found in the Greek Unicode block.

In this post I simplified some of the terms/description. If I went a bit too far, please correct me and I’ll update in-place.

Update 8th Sep 08: What are the plans for further development of the layout editor;

  • Increase the user base and get more people trying out the editor. This requires some more cleanup of the code, more instructions on how to run it youselves, and get people to provide feedback. An open-source project without users is not a successful project.
  • Make it easier for developers to contribute on the project. If you use Eclipse, you can install pydev, antlr3ide, mylyn, subclipse, and you can do the full development from within the cozy Eclipse environment. These need documentation.
  • The Issues page at the project has about ten items. This list needs to be reduced.
  • The natural place for users of the layout editor is the http://listserv.bat.ru/xkb/List.html mailing list. We need to promote the editor there, and get examples of users actually using it to maintain layouts.
  • An issue that plagues some users is when they need compose sequences to generate characters that no pre-composed forms exist. If users really need this (mainly Latin and Cyrillic scripts, complex scripts), it can be adapted to the UI.
  • It is technically easy to adapt the editor so that it produces XML layouts. Considering the state of XKB-atkins, this may not be a top priority at the moment. libxml2 comes with the MIT license, so in license terms it would be OK. Not sure if it is OK to link libxml2 to the X.org server. It might actually solve the slow parsing of the configurations files and the issues of xkbcomp.
  • At the moment the default geometry is a somewhat generic keyboard. In addition, I deactivated several keys (such as the function keys), in order not to confuse users (you can activate with a small change in the code). The keyboard can be expanded to a full 105-keys style. A related project would be to figure out an efficient way to edit those geometry files, and make the keyboard customised. If people start creating layouts with the editor, they will certainly love to edit geometry files!

Switch to our mobile site