<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    
    <title></title>
    <link>http://abderrahim.arablug.org/blog/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.5 - http://www.s9y.org/</generator>
    <pubDate>Wed, 23 Nov 2011 05:53:39 GMT</pubDate>

    <image>
        <url>http://abderrahim.arablug.org/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS:  - </title>
        <link>http://abderrahim.arablug.org/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>On trimming down translations</title>
    <link>http://abderrahim.arablug.org/blog/archives/22-On-trimming-down-translations.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/22-On-trimming-down-translations.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=22</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Small translation teams always have problems prioritizing translations: you are faced with a huge file to translate and don&#039;t know where to start and get discouraged rapidly. Seeing the main interface translated after translating only 100 strings (something an inexperienced translator can do in an evening) can be a rewarding experience and encourages one to go further.&lt;br /&gt;
&lt;br /&gt;
A few days ago, someone popped out on our mailing list and wanted to help translating gnucash (4098 strings, 26322 words; that&#039;s about the same size as evolution, the biggest file in the base gnome moduleset). After telling him to send the file back every 100--200 strings (both for reviewing for newbie mistakes, and to help him not losing motivation), I then looked at an old attempt to hack a little LD_PRELOAD library that catches calls to gettext to generate a POT file containing only the strings actually used when the software is run.&lt;br /&gt;
&lt;br /&gt;
After some hacking, I got it to the point I could generate a small POT file for our new translator. Right now, it is very fragile; it needs some &quot;postprocessing&quot;, ignores plurals and message contexts, and may well work only on my machine, but I hope it could be useful. The code is available &lt;a href=&quot;https://gist.github.com/1330536&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It uses a library I&#039;ve found with gettext (preloadable_libintl.so) that looks like it was made specifically for this purpose, I wouldn&#039;t be surprised that I&#039;m reinventing some wheel here. (UPDATE: this is exactly &lt;a href=&quot;http://www.gnu.org/s/hello/manual/gettext/Prioritizing-messages.html&quot;&gt;the purpose of preloadable_libintl.so&lt;/a&gt;, but the output is a bit different, so I&#039;m keeping my version as well)&lt;br /&gt;
&lt;br /&gt;
To compile:&lt;br /&gt;
	valac -C poextract.vala&lt;br /&gt;
	gcc -shared `pkg-config --cflags --libs glib-2.0` -o libpoextract.so poextract.c&lt;br /&gt;
&lt;br /&gt;
and then run like this:&lt;br /&gt;
	LD_PRELOAD=./libpoextract.so:/usr/lib/preloadable_libintl.so gnucash&lt;br /&gt;
&lt;br /&gt;
This will generate a gnucash.pot file in the current directory. The following will remove duplicates and bring in locations and comments from the original po.&lt;br /&gt;
&lt;br /&gt;
	msguniq gnucash.pot | msgmerge ~/Downloads/gnucash-2.4.7.pot - &gt; gnucash.reduced.pot&lt;br /&gt;
&lt;br /&gt;
Now the question is, how can we take advantage of this to prioritize translations? My first idea is to take different common use cases to translate (for example, first-run, everyday use, configuration). This will both reduce the load on a small team, and improve their confidence that they are doing something useful.  
    </content:encoded>

    <pubDate>Tue, 01 Nov 2011 14:55:31 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/22-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>To bépo or not to bépo</title>
    <link>http://abderrahim.arablug.org/blog/archives/21-To-bepo-or-not-to-bepo.html</link>
    
    <comments>http://abderrahim.arablug.org/blog/archives/21-To-bepo-or-not-to-bepo.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=21</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    (to those who can&#039;t read french: I&#039;m switching to bépo, a dvorak-style keyboard made specially for french)&lt;br /&gt;
&lt;br /&gt;
Et un billet en français pour mes lecteurs francophones.&lt;br /&gt;
&lt;br /&gt;
Il y a quelques mois, je lisais sur le blog de Lionel Dricot (alias ploum) &lt;a href=&quot;http://ploum.net/post/216-le-bepo-sur-le-bout-des-doigts&quot;&gt;un billet sur la disposition de clavier bépo&lt;/a&gt; ; cela m&#039;a paru intéressant mais je n&#039;avais pas vraiment le courage de changer car j&#039;avais un mémoire à rédiger. Début aout, j&#039;avais terminé le plus gros de mon travail et j&#039;ai commencé les exercices sur klavaro, 5 à 10 minutes, 1 à 3 fois par jour.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://ploum.net/images/b%C3%A9po_logo.png&quot; alt=&quot;plus de mots, moins de maux&quot; style=&quot;display: block;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Comme je venais d&#039;acheter un ordinateur et qu&#039;il y avait un clavier avec le boitier, j&#039;ai essayé de suivre le conseil de ploum et d&#039;utiliser le nouveau clavier pour le bépo et garder l&#039;ancien pour l&#039;azerty. Ça n&#039;a pas marché comme je le voulais car le nouveau clavier n&#039;était pas bien différent de l&#039;ancien, et j&#039;ai dû renoncer.&lt;br /&gt;
&lt;br /&gt;
La raison principale pour laquelle j&#039;ai décidé de changer est que je n&#039;arrivais pas à apprendre à taper correctement en azerty : je connaissais très bien le clavier, je tapais beaucoup plus vite à 6 doigts (en regardant le clavier, bien sûr) et je ne pouvais pas m&#039;efforcer à taper à 10 doigts tout le temps. C&#039;était plus confortable pour taper un long texte, mais pour taper rapidement une commande simple dans un terminal, j&#039;avais terminé à 6 doigts en moins de temps qu&#039;il ne fallait pour positionner mes doigts correctement.&lt;br /&gt;
&lt;br /&gt;
Dès que j&#039;avais terminé le cours de base la première partie dans klavaro, j&#039;ai commencé à essayer de taper en bépo dès que j&#039;avais un texte court à écrire ; cela m&#039;a permis de voir les progrès que je faisais au fur et à mesure. À un certain moment, et parce que j&#039;ai mis trop de temps à faire le saut, j&#039;ai décidé de ne plus taper à dix doigts en azerty. Cela m&#039;a permis de continuer à m&#039;entrainer au bépo sans pour autant ralentir mon travail. Cela ne me dérangeait pas trop de changer entre les dispositions clavier vu que je devais de toute façon utiliser un clavier arabe en plus. Je ne pense pas que cela pourrait marcher pour tout le monde, mais j&#039;espère que ça peut servir.&lt;br /&gt;
&lt;br /&gt;
Il restait cependant un gros point d&#039;interrogation : les raccourcis clavier. Il faut aussi tout réapprendre. Le problème est qu&#039;il est difficile de reconnaitre les touches. La solution que j&#039;ai trouvé est d&#039;utiliser les raccourcis en mode 10 doigts. Je m&#039;explique : j&#039;ai trouvé un &lt;a href=&quot;http://xahlee.org/emacs/emacs_pinky.html&quot;&gt;article sur internet qui suggère d&#039;utiliser la paume de sa main pour la touche contrôle&lt;/a&gt; ; cela permet de ne pas trop tendre l&#039;auriculaire et donc un meilleur confort mais aussi d&#039;utiliser des raccourcis comme C-a sans bouger les doigts de la position initiale (je ne peux pas atteindre la touche contrôle droite sur mon clavier sans quitter la position initiale, je songe à l&#039;échanger avec la touche menu).&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://ploum.net/images/b%C3%A9po_simple.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette position, je trouve même que les raccourcis de déplacement d&#039;emacs sont bien (je ne les connais pas encore par cœur mais je les apprécie déjà). Les fans de vi vont me dire que hjkl sont plus efficaces, mais je préfère emacs pour deux raisons : je n&#039;ai jamais compris comment fonctionne vi (j&#039;ai essayé d&#039;apprendre vi d&#039;abord vu la réputation qu&#039;avait emacs, mais j&#039;ai très vite abandonné) ; et les raccourcis d&#039;emacs sont souvent des mnémoniques et s&#039;appliquent quelque soit la disposition utilisée.&lt;br /&gt;
&lt;br /&gt;
La seule chose que j&#039;ai ajouté à la configuration d&#039;emacs est&lt;br /&gt;
&lt;br /&gt;
(global-set-key (kbd &quot;C-ç&quot;) ctl-x-map)&lt;br /&gt;
&lt;br /&gt;
ce qui me permet d&#039;utiliser C-ç comme un deuxième C-x. Ceci est plus pratique vu que la plupart des lettres qui s&#039;utilisent avec C-x sont à droite (c s f).&lt;br /&gt;
&lt;br /&gt;
Bien sûr, tout ce billet a été entièrement écrit en bépo, pas mal pour un débutant. On verra ce que cela donnera avec le temps. Pour le moment j&#039;ai une vitesse raisonnable, donc je ne pense pas que je risque d&#039;abandonner.  
    </content:encoded>

    <pubDate>Sun, 23 Oct 2011 22:32:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/21-guid.html</guid>
    <category>bépo</category>
<category>français</category>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>On extracting data from windows files</title>
    <link>http://abderrahim.arablug.org/blog/archives/20-On-extracting-data-from-windows-files.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/20-On-extracting-data-from-windows-files.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    Hello, readers of my blog&lt;br /&gt;
(what, there are no more readers? then I&#039;ll write it for myself)&lt;br /&gt;
&lt;br /&gt;
From time to time, you need to extract some data from a &quot;legacy windows file format&quot; (In my case, it was a JET database). Often, the data is encoded using the (windows-specific) cp1256 encoding (or something similar), but the tool you use assumes cp1252 (or latin1, they are mostly compatible, unlike say cp1256 and iso-8859-6) and you end up with a text containing &quot;arcane&quot; latin characters like:&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
Â ÇáÃáÝ ÊÃúáíÝåÇ ãä åãÒÉ æáÇã æÝÇÁ&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
While it should read&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
آ الألف تأْليفها من همزة ولام وفاء&lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
Previously, I thought that after such (incorrect) conversions, it would be mostly damaged beyond repair But yesterday, as I met this problem again, I thought I could try to get something out of it (even if it is a bit broken), so I fired up &lt;a href=&quot;http://ipython.org/&quot;&gt;ipython&lt;/a&gt; and after a few trials I found this:&lt;br /&gt;
&lt;pre&gt;
f = file(&#039;file.in&#039;).read()
print &gt;&gt; open(&#039;file.out&#039;, &quot;w&quot;), f.decode(&#039;utf8&#039;).encode(&#039;latin1&#039;).decode(&#039;cp1256&#039;).encode(&#039;utf8&#039;)
&lt;/pre&gt;&lt;br /&gt;
and got the text in a readable form as you can see above. I hope someone finds this useful (by replacing cp1256 by some other encoding).&lt;br /&gt;
  
    </content:encoded>

    <pubDate>Tue, 16 Aug 2011 18:33:00 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/20-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>
<item>
    <title>GNOME 3.0</title>
    <link>http://abderrahim.arablug.org/blog/archives/19-GNOME-3.0.html</link>
            <category>english</category>
    
    <comments>http://abderrahim.arablug.org/blog/archives/19-GNOME-3.0.html#comments</comments>
    <wfw:comment>http://abderrahim.arablug.org/blog/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://abderrahim.arablug.org/blog/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Abderrahim Kitouni)</author>
    <content:encoded>
    It&#039;s been a long time since I haven&#039;t blogged. I haven&#039;t contributed much to the Shell after my previous post (because all I have now is my unichrome integrated graphics, which barely runs 3D apps, and I can&#039;t seem to find an AGP card, so no shell for me).&lt;br /&gt;
&lt;br /&gt;
So I wasn&#039;t able to fix all the RTL-locale bugs, but I think &lt;a href=&quot;http://blogs.gnome.org/fmuellner/&quot;&gt;Florian Müllner&lt;/a&gt; did. Nevertheless, it&#039;s great to be part of this new release ...&lt;br /&gt;
&lt;a title=&quot;Help promote GNOME 3!&quot; href=&quot;https://live.gnome.org/ThreePointZero/Promote&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;I am GNOME&quot; src=&quot;http://www.gnome.org/wp-content/uploads/2011/04/iamgnome.png&quot;/&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
One more thing: &lt;a href=&quot;http://mail.gnome.org/archives/gnome-i18n/2011-April/msg00168.html&quot;&gt;I&#039;m going to be the coordinator for the Arabic translation team&lt;/a&gt;, so I&#039;m even more GNOME &lt;img src=&quot;http://abderrahim.arablug.org/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;d also like to thank &lt;a href=&quot;http://www.khaledhosny.org&quot;&gt;Khaled Hosny&lt;/a&gt; (the former coordinator) who did a good job so far (and even ended up translating alone at some point).  
    </content:encoded>

    <pubDate>Sun, 10 Apr 2011 23:06:25 -0700</pubDate>
    <guid isPermaLink="false">http://abderrahim.arablug.org/blog/archives/19-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
</item>

</channel>
</rss>
