Petit Zaurus a appris le Python !
Et voilà, petit Zaurus a terminé son apprentissage de Python. J'ai cross-compilé Python 2.5.1 depuis quelques semaines déjà, et maintenant je viens d'achever la compilation de PyQt sur le Zaurus lui-même (le module utilisant trop de référence à des chemins diverses pour que la cross-compilation soit aisée).Ce PyQt est lié à l'interface Qt embarqué qui est l'interface "native" avec la ROM d'origine de Sharp comme dans la ROM dérivé Cacko. Il est donc possible de développer des applis Zaurus graphiques entièrement en Python ! (Astuce : utiliser le module qtpe de PyQt pour avoir un rendu qui prenne en compte les paramètres de Cacko ; sinon on a un rendu Qt "de base" avec des polices minuscules qui ne tiennent pas compte de la taille de l'écran du Zaurus).
Comme d'habitude, les paquets sont ici.
Petit à petit, petit Zaurus deviendra grand !
Petit Zaurus toujours à l'école
Et voilà, petit Zaurus à commencer à apprendre le français. Désormais son bureau est dans la langue de Molière !
J'ai tout bien empaqueté dans des IPKG. Pour passer le bureau de la ROM Cacko en français, il suffit désormais d'installer les 4 paquets suivants (disponibles ici) :
fr-locales
fr-libqpe
fr-config
fr-translation-desktop
Et c'est tout ! Les paquets se chargent d'installer et de modifier les fichiers de configuration nécessaires.
Un seul détail : les icônes du bureau sont traduites lors de l'installation du paquet fr-desktop-translation. Donc les icônes des logiciels installés APRÈS ce paquet ne sont pas traduites. Dans ce cas, il faut désinstaller fr-desktop-translation et le réinstaller.
Pour repasser le Zaurus en anglais, il suffit de désinstaller les 4 paquets.
Petit Zaurus à l'école
Pas de vacances pour les petits Zaurus indisciplinés ! Aujourd'hui petit Zaurus à commencer à apprendre le français ; pas grand choses pour l'instant. Juste les "locales", qui permettent d'avoir les paramètres linguistiques du français (par exemple 0,1 au lieu de 0.1), ainsi que les traductions... si elles existent (ce qui n'est évidemment pas le cas pour l'instant).
Voilà la recette magique pour passer la ROM Cacko en locales françaises :
installer les locales françaises proprement dites qui sont ici.
éditer le fichier /home/zaurus/Settings/locale.conf, et remplacer "Language = en" par "Language = fr"
éditer /home/zaurus/.profile et /opt/QtPalmtop/qpe.sh, et ajouter dans ces deux fichiers :
export LANG=fr export LANGUAGE=fr export LC_ALL=fr
créer le répertoire /opt/QtPalmtop/i18n/fr, copier dedans le fichier /opt/QtPalmtop/i18n/en/libsl.qmid, et créer dedans un fichier .directory avec ceci :
[Desktop Entry] Name=French
à ce moment là, le Zaurus est paramétré en français... mais la police par défaut devient minuscule. C'est ici que tout le monde bloque... Après de longues recherches infructueuses, voici la recette pour les remettre normalement (ça vient d'un forum russe, encore un ! vous allez finir par croire que je parle russe mais pas du tout !) : il "suffit" de prendre le fichier /opt/QtPalmtop/lib/libqpe.so.1.5.0, de l'éditer avec un éditeur hexadécimal (genre khexedit) et de recherche "helvetica". Il y a un occurrence vers la fin du fichier, précédée de "en". On remplace "en" par "fr", on enregistre, et sur le zaurus, on supprime /opt/QtPalmtop/lib/libqpe.so.1.5.0 (qui est un lien vers un truc inamovible) et on le remplace par la version modifiée.
Et on a enfin le Zaurus en mode français. Bien sûr, si on le repasse en anglais, on aura les polices minuscules... mais quel intérêt de le remettre en anglais ?
Maintenant il reste à faire les traductions... vu que apparemment rien n'existe en matière de traduction en français... bref petit Zaurus a encore du boulot pour apprendre le français !
Petit Zaurus indiscipliné !
Lorsque j'ai adopté ce petit Zaurus (un PDA / mini ordi portable sous Linux), je m'attendais à avoir des problèmes avec le matériel : écran ou clavier trop petits, cartes mémoires ou cartes d'extension mal supportés,... éh bien non : on se fait vite à la taille de l'engin, même en étant très myope (la forte résolution de l'écran n'y est sans doute pas pour rien), et les problèmes de compatibilité matérielle ont été vite réglé par un reflashage de ma carte wifi.
En revanche, c'est le logiciel qui pose problème : le Zaurus est une petite machine têtue et indisciplinée ! Sharp a arrêté la production de Zaurus début 2007, depuis la moitié des sites oueb en relation avec le Zaurus sont morts (non seulement inanimés mais souvent "erreur 404"). Pour le logiciel, on a le choix entre plusieurs ROM (équivalent des distributions Linux). Il y a donc Cacko, une ROM stable et fonctionnelle mais pas remis à jour depuis 3 ans, et une demi-douzaine de ROM toutes plus instables les unes que les autres, mais avec la dernière version du noyau Linux... bref je me retrouve donc évidemment avec la première ROM, puisque je veux quelque chose qui marche !
Mais comme elle date de 3 ans, je suis obligé de compiler quelques logiciels récents. C'est là que l'enfer de la "cross-compilation" commence... Le Zaurus n'est pas assez puissant pour compiler ses propres logiciels, et il n'a pas les fichiers de développements nécessaires. C'est donc à "maman" de faire les compilations... dans un langage machine qui n'est pas le sien (le Zaurus ayant un processeur ARM). Ce qui est particulièrement délicat...
Du coup j'ai sorti l'artillerie lourde : une batterie de script Python ! Petit Zaurus indiscipliné, tu me feras tourner ton LyX et ton Python !
Mon ordinateur a fait des petits !
Pour Noël mon ordinateur a mis bas. Voici des photos de la maman et du bébé !
New Soya's GUI preview
I'm currently working on a new widget system for Soya.
It will feature advanced widgets such as scroll panes or flying windows, as well as a nice automatic dimensioning system, even better than GTK and Tk ones !
For now, I'm focusing on the widget's logic, and not on their graphical aspect.
The final goal being to add Soya's support to EditObj 2, in order to be able to generate dialog boxes in Soya for editing various game objects. Can be usefull for game editor but also for many complex games (roleplaying games, strategy games,...). I'm precisely thinking about new game projects in that area.
Here are some screenshots using various styles :
Songwrite 2 0.1.2
Songwrite 2 0.1.2 fixes a few bugs that were remaining in 0.1 and 0.1.1, namely :
Guitar pro importer was missing
Fix copy / paste of notes with alterations on staffs
Fix view name translation
Fix "AttributeError: 'ObjectPack' object has no attribute 'song'" when selecting notes
Fix copy-paste between different windows
You can get it there.
Songwrite 2 0.1
Here is a first stable release of Songwrite 2!
Songwrite 2 is a tablature editor for Linux, written in Python with GTK and Cairo. A tablature is a guitar partition ; Songwrite 2 supports many string instruments in addition to traditional staffs.
With Songwrite 2 you can...
... edit tablatures (guitar, bass, banjo,...) and staff, and add lyrics to write your own songs !
...create your own songbook
... play your partitions
... print your partitions and your songs
...convert automatically staffs to tablatures and tablatures to staffs
...export your songs into many formats (PDF, Midi, ASCII tablatures, GNU Lilypond, LaTeX, PostScript,...)
... import Guitar Pro 3 / 4 file (experimental)
Songwrite 2 is a complete rewrite of Songwrite 1 with :
A new interface based on Gtk 2 and Cairo, with anti-aliasing
A new staff rendering engine, now handling tonality and alteration correctly
A new plugin system
A new documentation
Printing support updated for recent version of Lilypond (2.11.20 and above)
EditObj 2 0.1rc1 is out !
This is the very first release of EditObj 2.
It is a full rewrite of EditObj 1, and it now supports both Tk and Gtk 2.
Songwrite 2 0.1rc1
Voici la toute première version de Songwrite 2 !
Il s'agit d'une réécriture complète de Songwrite 1, avec une nouvelle interface en Gtk 2 et Cairo. À essayer de toute urgence !
Towards Songwrite 2 !
Here is a screenshot of an in-development version of Songwrite 2. The interface is totally rewritten.
Technically speaking, it uses GTK2 and Cairo, along with EditObj 2 (an improved version of EditObj which support GTK in addition to Tk).
Graphically speaking, it features antialiased text and graphics, funny icons, and four edition modes corresponding to the four tabs at the bottom of the window : Song mode, Partition mode, Time mode, and Note mode. The notebook automatically displays the attributes of the selected object(s) (possibly several of them).
Hope to release that soon ;-)
EditObj 2
EditObj 2, le retour du générateur de boîte de dialogue universelle en Python ! Inspiré par les Java Beans, EditObj2 pousse le concept beaucoup plus loin. En cours de codage :
Multi-GUI (GTK et TK pour l'instant)
Liste des attributs des objects
Arbre des objets
Jolis barre avec titre et icône, totalement inutile sinon pour prouver que les boîtes de dialogues générées ont aussi le droit d'être belles
Annulation multiple
Mise à jour automatique lorsque les objets sont modifiés
Et le détail qui tue : l'édition de plusieurs objets combinés en un "pack" :
Appel à voter -- Enjeu pour le second tour
Vote utile ou vote tout court ?
Contraitement au premier tour, ne pas voter Ségolène ne permet pas de voter pour quelqu'un d'autre. Voter pour Ségolène au second tour, ce n'est pas un vote utile, c'est un vote tout court.
Le vote blanc, ça ne compte pas !
Les votes blancs n'étant pas comptabilisés, voter blanc revient à voter nul.
Le vote nul, c'est nul !
Certains ont pour mot d'ordre "voter Bové aux deux tours". Qu'y gagneront-ils sinon l'éphémère satisfaction de leur égo personnel ?
Et si 80% des électeurs voteraient Bové au second tour ? Éh bien ces votes nuls ne comptent pas, et le candidat élu (a priori Sarkosy vu que les votes de gauche se seraient gaspillés en votes nuls) gouvernerait pendant 5 ans d'une main de fer. Ce n'est pas démocratique ? Mais l'élection de Chirac en 2002 était-elle démocratique ? Est-ce que ça l'a empêcher de gouverner jusqu'au bout ?
Abstention, piège à con !
On dit que les élections sont des pièges à con. C'est vrai. Mais le piège à con, ce sont bien les élections, et pas le fait d'aller voter. Ceux qui s'abstiennent tombent tout autant dans le piège : quel que soit le candidat élu, il sera le président de tous les français, même de ceux qui se seront abstenus. Le jeu de l'abstention est dangereux : voir par exemple ce qui s'est passé récemment au Mexique (la gauche radicale appelle à l'abstention, le candidat de gauche molle échoue de peu face à la droite, les deux gauches s'unissent dans la rue, le soufflé retombe, la droite dure a gagné).
Enfin, s'abstenir alors que des milliers d'immigrés rêveraient de pouvoir voter ? Ce serait faire preuve d'un incroyable mépris à leur égard. Pourquoi ne pas proposer à un jeune immigré de voter à sa place pour le candidat de son choix ? Ce serait un acte de désobéissance civique en faveur du droit de vote des étrangers !
Faire perdre Ségolène ?
Nous sommes des militants, nous avons des papiers et le droit de vote. Nous sommes des privilégiés. Avons-nous le droit de cracher dans la soupe ? Tandis que d'autres seraient aux premières loges pour en subir les conséquences, ceux qui n'ont pas le droit de vote et que l'on arrête à la sortie des écoles, ceux qui ne sont pas des militants et qui, contrairement à d'autres, n'ont pas les réseaux, les connaissances ou la débrouillardise qui permettront de survivre à cinq ans de droite très dure.
Si Sarkosy est élu ?
Si Sarkosy est élu, on peut lui faire confiance pour tenir parole : généralisation des OGM, construction de nouveaux EPR, légalisation des brevets logiciels, politique ultra-libérale et ultra-répressive.
Si Sarkosy est élu, il n'y aura pas de recomposition de la gauche dans le sens qui nous est favorable : en 2012, il y aura une très large coalition pour chasser Sarkosy, qui ira de l'UDF au PCF voire à la LCR. Cette coalition se fera sur une position de gauche très libérale, par exemple derrière Bayrou. C'est ce qui s'est produit en Italie pour chasser Berlusconi.
Enfin, si Sarkosy joue les dictateurs, je ne suis pas certain qu'il y aura une nouvelle élection présidentielle en 2012... ou alors sur des machines à voter truquées !
Et si Sarkosy est vaincu ?
Il ne vit que pour être président. Et si, au dernier moment, la place lui échappait ? Il péterait les plombs ! Et si cela a lieu devant les caméras, il pourrait bien discréditer durablement non seulement sa personne mais aussi son parti et ses idées...
Si Ségolène est élue ?
Il reste un peu de rose au PS. Il y a un clivage libéraux- antilibéraux, et Ségolène comme Sarkosy sont des libéraux. Mais il y a d'autres clivages : le traditionnel clivage droite-gauche, qui sépare plus ou moins les deux candidats. Le clivage entre les écologistes et les non-écologistes. Et puis il y a le clivage entre la démocratie et les fachos... Ne prendre en compte qu'un seul de ces clivages serait absurde.
Parmi les points positifs du programme de Ségolène : une 6ème république avec "une dose" de proportionnelle aux législatives (ce qui permettra la représentation de la gauche antilibérale à l'Assemblée), un moratoire sur les OGM et sur l'EPR, le refus des brevets logiciels,... Certe c'est insuffisant, et les promesses ne seront sans doute pas toutes tenues.
Ségolène peut être élue : lors du premier tour, 53,32% des électeurs se sont prononcés pour un candidat prônant une 6ème république parlementaire. Tout comme aujourd'hui, le Front Populaire râtissait très large, du PCF au centre (les "radicaux"), il s'opposait à une droite très dure voire fasciste, et il était dirigé par un modéré (Léon Blum). Si Ségolène est élue, un nouveau Front peut naître, poussé par une nouvelle opposition antilibérale unie à sa gauche.