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.

Depicting a shell is not an easy task; in the screenshot above we only show the default prompt. It has the following disadvantages,
- It does not differentiate visually between the username and hostname.
- It shows the relative path only, making it difficult to realize quickly the full path for the current working directory.
- 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/)
- 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.

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
- Download the latest package from http://github.com/simos/bashrc/ (note the Download button).
- Extract the package, open a terminal window and enter the newly created directory.
- Run make install
- Open a new shell window. The new settings should be activated.
Συνέδριο ΕΛΛΑΚ: Εξελληνισμός 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).
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.

Note that Firefox supports the OGV video container format. Therefore, you may need to convert your videos to OGV.
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?
- In GMail, click on Settings→Accounts and scroll down to Get mail from other accounts.
- Click on Add a mail account you own.
-
-
- 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.
-
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.
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.
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).
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
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.
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.
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.
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.
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 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.
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,
- bottom left, when you press the key as is (key)
- top left, when you press the key with Shift (Shift + key)
- bottom right, when you press the key with AltGr (AltGr + key)
- top right, when you press the key with Shilft+AltGr (Shift + AltGr + 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.
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.
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!
Éńĥãǹčīṅǧ·ẗḧë·ẃṛīťıñĝ·ṩụṗṗọṙẗ·ıń·ǦŤḰ+
These are the presentation slides of my talk on improving the writing support in GTK+. It relates to several posts I have in my other (now not used anymore) blog at http://blogs.gnome.org/simos/2008/07/23/guadec-2008-presentation-slides/.
Enhancing the writing support in GTK+
Note: The title may not appear properly because I use a fancy effect that does not support the full range of Unicode characters. It’s a drawback of being trendy. The title says “Éńĥãǹčīṅǧ·ẗḧë·ẃṛīťıñĝ·ṩụṗṗọṙẗ·ıń·ǦŤḰ+”.






