lundi 6 décembre 2010

Marre du RER A

Tous les jours c'est la même galère. Ils nous prennent vraiment pour des imbéciles ....

RER A, Marre des problèmes quotidiens sur cette ligne !

vendredi 3 décembre 2010

Colorisation synthaxique dans Blogger

Comme d'habitude, j'adore les idées reçues sur un sujet...

Il fut un temps ou je cherchais un système de blog, et j'avais déjà remarqué Blogger. Bien sûr, j'en avais parlé autour de moi et les premières remarques que l'on me fit furent :
- "bof, y'a pas la syntax color sur blogspot, c'est nul"
- "ce n'est pas référencé par les autres blogs qui parlent de code"

Personnellement, le référencement si j'en veux, je sais comment faire et je n'ai certainement pas besoin d'attendre qu'un autre blog me référence.
Pour la colorisation synthaxique, 2 recherches sur Google plus tard et je trouvais SyntaxHighlighter (http://alexgorbatchev.com/SyntaxHighlighter/) qui permet d'en faire, assez simplement je dois dire. Il suffit juste d'avoir un endroit sur le net où pouvoir mettre les scripts et les styles.

Et de fait et par l'exemple :

if (this.globalMood == 'Je suis bète')
    this.say("y'a pas de syntax color sur blogspot haaan..");
else
    this.say("trop facile avec syntaxhighlighter !");

mardi 23 novembre 2010

textarea : selection d'une portion de texte

Récemment j'ai eu besoin de faire de la validation de format de contenu dans un champ de type TEXTAREA en HTML. La validation dépend bien évidemment du format, mais il me semblait intéressant d'indiquer à l'utilisateur où se trouve l'erreur et de bien lui montrer en surlignant (sélectionnant) la portion de texte qui n'est pas validée.
Un peu de javascript s'impose forcément et j'ai trouvé ce "trick" dans un forum

var form = document.forms[0];

/* Selection trick */
var erreurIndex = form.text.value.indexOf(item);
form.text.focus();
form.text.setSelectionRange(erreurIndex, erreurIndex + 1);
var evt = document.createEvent('KeyEvents');
evt.initKeyEvent('keypress', true, true, window, false, false, false, false, 0, form.text.value.charCodeAt(erreurIndex));
form.text.dispatchEvent(evt);
form.text.setSelectionRange(erreurIndex, erreurIndex + item.length);
En espérant que cela puisse en aider certains ... car personnellement j'ai eu du mal à trouver le code. :)

P.S. : ce code fonctionne avec Firefox, pour IE, il y a quelques lignes à rajouter :)

lundi 22 novembre 2010

RER A, dans tout ces états

Depuis que j'habite sur la ligne A du RER, j'ai pu voir différents états de la ligne. Et depuis les grèves sur les retraites, la ligne A subit régulièrement, voir journalièrement, des problèmes techniques : avaries, problèmes d'aiguillage, avaries .... hm... quoi ? je l'ai déjà dit ? j'ai du oublié les avaries matérielles aussi ??
Bref, comment partir tôt le matin et arriver bien bieeeeen en retard.
Merci pour la prise d'otages journalières !

samedi 20 novembre 2010

Comment signaler un bug efficacement

Je ne suis pas le dépositaire de l'article, mais comme il l'est bien indiqué dedans c'est un article à lire !
Qui n'a jamais rencontré un client qui lui rapporte un bug, qui au final n'en était pas un ...

A lire (en plusieurs langues) : http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html

Frameworks, librairies, modules ...

posted May 11, 2010 9:27 AM by Guillaume BIBAUT   [ updated Jul 7, 2010 3:45 PM ]


De nos jours, on voit de plus en plus de technologies apparaitre, je ne saurais en citer quelques unes, car le but n'est pas d'en pénaliser.
De ces technologies se forment des communautés de développeurs, bien souvent provenant eux-même de différents horizons, différentes cultures, différentes façons de pensées. Chacune de ces communautés tente bien souvent de tirer le meilleur parti de ces technologies et propose dans le meilleur des cas des frameworks, ou des ensembles de librairies/modules, ainsi que des Best Practices (les meilleures pratiques d'utilisation).


Bien heureux celui qui y trouve rapidement son compte, mais bien souvent et malheureusement pour ceux qui tentent de trouver, d'utiliser certains de ces frameworks, on se retrouve vite avec des ensembles de classes qui font bien plus que ce qu'elles devraient faire.
De fait, nait de ces frameworks une complexité qu'il est difficile d'appréhender car au départ, chacun de nous part avec un besoin simple :


"Comment faire ceci de manière simple ? si j'y pense et que la technologie en question existe depuis un moment, je vais certainement trouver sur internet des réponses à mes questions, voir des frameworks m'aidant à faire ce que je veux de manière simple."

Personnellement et d'expérience, je suis rarement tombé sur la solution simple qui permet de faire une action tout aussi simple à exprimer, et ceci dans plusieurs langages de programmation. J'ai plutôt découvert bien souvent que là où une idée simple pouvait s'exprimer, une complexité sans pareille pouvait naître et rendre fastidieuse son utilisation.
C'est à s'en demander comment les personnes qui ont fournit ces frameworks en sont arrivées là.


Certes dans les technologies que nous utilisons en 2010, en existent certaines qui peuvent paraitre difficile à appréhender car elles sont grandement configurable, mais se dégage d'elles un schéma directeur qui est bien souvent simple.
Pourquoi ne pas se dire : "Cette idée n'existe pas dans ce langage de programmation, mais les classes disponibles dans celui-ci me permettent de reproduire telle utilisation, tel modèle. Comment puis-je rendre utilisable cet utilisation, ce modèle, de manière simple ?".
Ce que je comprend depuis maintenant un moment, c'est que ces personnes qui ont produits des frameworks bien complexe à utiliser n'ont saisi que la complexité de ce modèle, et donc ont rendu encore plus fastidieuse l'utilisation du modèle. Là où une chose simple aurait du naitre, une multitude d'autres choses
sont nées et celles-ci tentent de faire tout en même temps. C'est là où je me dis que ces personnes ont raté là où elles auraient du réussir.
Comment ? En ayant elles-mêmes les idées claires en se dégageant de la complexité, en rendant accessible ce qui ne l'est pas.


Une personne que je connais bien m'a dit il n'y a pas très longtemps, en remaniant un peu et en essayant de rester simple :


"Pour faire ceci, j'ai besoin de tout ça. Seulement, tout faire en même temps pour avoir mon résultat le rend bien trop complexe. J'ai donc décidé de tout scinder en actions beaucoup plus simples et autonomes.".

Ici, je parle des frameworks disponibles pour les différents langages de
programmation, mais il est possible d'appliquer le même raisonnement pour les projets informatiques. Pour exemple, certains d'entre eux deviennent bien souvent des "usines à gaz", comme on les
nomme si bien, car ces projets ont voulu tout faire au lieu de faire
juste ce à quoi elles auraient du être conçu.
On connait tous cette phrase, ou bien nous l'avons déjà entendu : "Il faut diviser pour mieux régner". Il me semble que la plupart des projets informatiques se sont fourvoyés car ils sont bien plus complexes que ce qu'il ne devraient être car :
  1. L'idée de base, bien que simple, n'a pas été comprise, ou n'a pas su être transmise de manière simple
  2. Les interlocuteurs ont eu peur de dire qu'ils ne comprenaient pas car c'est leur métier de "comprendre"
  3. Ces interlocuteurs ont produits nombres de documents tentant de répondre à une idée mal comprise, mal transmise
  4. Ces idées ont elles-même eu du mal à être assimilées par les intervenants du projet
Le résultat : une application qui fait plus que ce qu'elle aurait du faire, et qui embarque en plus de la complexité là où les actions sont pourtant simples.


Pour rendre une idée simple et la garder simple, il faut savoir l'exprimer avec des mots simples de sorte que l'on soit sûr de la faire comprendre. De la simplicité nait la simplicité.

High-school Of The Dead

[originally posted Sep 13, 2010 10:18 PM by yom   [ updated Sep 13, 2010 10:25 PM ]]


HIGHSCHOOL OF THE DEAD
Vocals: Kisida Kyodan & The Akebosi Rockets
Lyrics: Kisida
Composition: Kisida
Arrangement: Kisida Kyodan & The Akebosi Rockets
While I’ve lost my shaken sense of reality
Where will my sentiments, piling up like rubble, go?
Holding a crushed hope, I brushed the red rain off and ran in a trance
At the end of crumbled emotions, what do I see? What exists? I still don’t know
All fleeting futures simply kept spreading silently in front of my eyes
Light and shadows vanished; what the last words
Wished for was tomorrow alone; where does it exist in this reality?
Gazing at the crushed present, I ran in the middle of the red rain unhesitatingly
Over the crumbling scenery, what do I know? What do I hear? I can’t see anymore
I’ll simply keep silently choosing the single fleeting future in front of my eyes
At the end of crumbled emotions, what do I see? What exists? I still don’t know
All fleeting futures simply kept spreading silently in front of my eyes


HIGHSCHOOL OF THE DEAD
Vocals: Kisida Kyodan & The Akebosi Rockets
Yureta   genjitsukan   nakushita mama de
Gareki no you ni   tsumikasanaru   kono kanshou wa doko e yuku?
Tsuieta kibou kakae   akai ame o harai hashitta   muchuu ni
Kuzureta   kanjou no hate ni   nani o miru? Nani ga aru? Mada shiranai
Hakanai   subete no mirai wa   tada mugon ni   me no mae ni   hirogaritsuzuketa
Kieta   hikari to kage   saigo no kotoba
Nozonda no wa   tada asu dake   kono genjitsu wa doko ni aru?
Tsuieta ima o mitsume   akai ame no naka o hashitta   mayowazu
Kuzureru   fuukei o koete   nani o shiru? Nani o kiku? Mou mienai
Hakanai   hitotsu no mirai o   tada mugon ni   me no mae de   erabitsuzukeyou
Kuzureta   kanjou no hate ni   nani o miru? Nani ga aru? Mada shiranai
Hakanai   subete no mirai wa   tada mugon ni   me no mae ni   hirogaritsuzuketa

Nouveau blog

Hé voilà !
Mon nouveau blog, chez blogspot (Blogger). Il faut que je vois ce que je peux récupérer de mon Google Site. Ici ce sera quand même bien plus approprié pour écrire des blogs et puis contrairement à mon ancien "blog", ici les gens pourront poster des commentaires ! :p (en tout cas pour le moment gnéhéhé)