Archive pour mai 2008

23
mai

Le nouvel obs est simplement navrant…

Je me suis ré-abonné dernièrement pour 6 mois seulement car j’avais de sérieux doute quand à l’attitude à adopter suite à l’annonce de la prise de fonction de Denis Olivennes à la direction du nouvel obs… Pour ceux qui ne connaîtraient pas le bonhomme : il s’agit de l’ancien pdg de la FNAC et le rédacteur du rapport éponyme proposant la suspension de l’accès internet pour les internautes téléchargeants des contenus illégaux.

A l’époque de ce réabonnement, je ne lisais déjà quasiement plus les pages exaspérantes* sur la politique française. Et pourtant je me sens plutôt en phase avec la ligne éditoriale de gauche de cet hebdo.

Depuis mon réabonnement il y a eu l’histoire - digne de closer - du SMS de Nicolas à Cécilia avant le mariage.

Et hier je tombe sur un article dans libé qui évoque les propos en question que l’on pourrait qualifier de virils et que seul le nouvel observateur aurait entendu.

Aujourd’hui j’ai la confirmation dans Le monde, et demain je peux vous l’assurer on ne m’y reprendra pas à renouveler mon abonnement.

Je pense que courrier international pourrait-être une bonne alternative ? En attendant, je ne peux que saluer les versions online de libération et Le Monde que je trouve très complémentaires.

* exaspérante car trop souvent aussi engagées que la ligne éditoriale de Marianne.

22
mai

Loi Hadopi

Parce que je suis contre l’idée de surveiller les internautes et de mettre en place des ripostes automatiques, comme la coupure de l’accès internet.

Je propose aujourd’hui qu’on jette un oeil à cette pétition organisée (ou relayée ?) par SVM.

http://www.svmlemag.fr/petition_riposte_graduee

Notez que l’infâme Didier Super fait partie des artistes signataires. Ne vous laissez pas hypnotiser par cette prise de position, ça ne change en rien le sérieux de cette action.

20
mai

Interactions d’une méthode en Java

En java - comme la plupart des langages - il est très important de bien maîtriser les différents résultats d’une méthode.

De primes abord rien ne parraît plus trivial puisque la méthode déclare le type du paramètre retourné comme dans ce cas de figure :

public int ajouter (int a, int b)

Cependant, ça se corse un peu dès lors qu’on retourne un objet :

public String getParticipantName (int participantId)

En effet ce cas de figure peut retourner le nom du participant sous forme d’un objet String mais il peut également retourner null si aucun participant ne correspond à l’id donné en param.

Dans ce cas, il faudra tester obligatoirement que le résultat est différent de null avant de faire une quelconque opération dessus. Pour le développeur, de la méthode, retourner null signifie “je n’ai pas trouvé” ce qu’on me demande et me parraît être une valeur plus adéquat qu’une chaîne vide.

Si l’objet retourné est un tableau :

public ArrayList getParticipants(int epreuveId)

Dans ce cas de figure, je conseillerais au développeur implémentant cette méthode de retourner dans tous les cas un tableau même si celui-ci est vide. Ce qui signifierait texto : voici la liste demandée, elle est vide, plutôt que je n’ai rien à retourner. (dans ce cas je me demande s’il ne faudrait pas retourner la liste vide si c’est le cas et null dans le cas où on se rend compte que l’epreuveId est incohérent ?).

En tout état de cause lorsqu’on parcourera ensuite la variable retournée, on n’aura pas la mauvaise surprise de déclencher un NullPointerException.

Cas des RuntimeException :

private int divise (int a, int b)

La division pose un problème bien connu : celui de la division par 0. Cependant on peut imaginer - vu que la méthode est privée - qu’avant d’utiliser cette méthode, on aura au préalable géré les pré-conditions à son appel. Dans ce cas le développeur ne veut pas avoir a gérer un try catch alors qu’il sait que les paramètres sont déjà vérifiés. Toutefois si notre méthode divise venait à être utilisée dans le cas interdit, il faudrait lever une exception de type RuntimeException. Cette Exception ne nécessite pas d’être déclarée mais pourra cependant signaler la mauvaise utilisation de la méthode.

Cas des Exceptions :

public int divise (int a, int b) throws Exception

Ici, notre méthode devra pouvoir lever une Exception dans le cas où il y aurait une division par 0. En effet cette méthode est visible par tout le monde et on ne sera pas certain que tout ses utilisateurs auront vérifié les pré-conditions à son utilisation. La seule issue possible est le déclenchement de l’exception adéquate que l’utilisateur de la méthode devra obligatoirement prendre en compte.

Cas des arguments modifiés par référence :

public void removeTokensFromString(String stringToParse, String tokenToBeRemoved)

Imaginons que cette fonction doive parser la chaine “stringToParse” afin d’enlever toutes les occurences de “tokenToBeRemoved”, dans cas cas là certains développeurs n’hésitent pas à utiliser la possibilité du passage par référence pour manipuler directement le contenu de stringToParse.

Je reste persuadé qu’il faudra toujours préférer écrire ce genre de fonction de la manière suivante :

public String removeTokensFromString(String stringToParse, String tokenToBeRemoved)

et l’utiliser de la façon suivante:

String chaineToParse = “les avions sont dans le ciel bleu”;

chaineToParse = removeTokensFromString(chaineToPars, “bleu”);

plutôt que la première méthode qui s’écrirait :

String chaineToParse = “les avions sont dans le ciel bleu”;

removeTokensFromString(chaineToPars, “bleu”);

Voyez-vous des cas où cette deuxième façon d’écrire pourrait ne pas être appliquée ?

Quoiqu’il en soit l’utilisation et l’implémentation d’une méthode en java peut avoir maintes et maintes interractions sur l’exécution logique de votre code, il est donc primordial d’avoir conscience de tous ces principes.

15
mai

Splashtop, Linux, et Microsoft ?

SplashtopJe découvre sur silicon.fr que désormais toutes les cartes mères Asus intégreront Linux nativement. Il s’agit en fait d’intégrer un OS Linux de taille minimal afin d’exécuter des applications prédéfinies comme un navigeteur web ou skype. L’intéret étant une disponibilité quasi-instantanée de la plate-forme matérielle là où le chargement d’un OS complet serait pénalisant.

Ce qu’il manque à Windows actuellement c’est la modularité et si l’on en croit cette information clubic, la version 7 devrait s’améliorer de ce côté là. Le modèle tout en un de windows qui a permis d’imposer IE et Media Player dans tous les foyers me parraît peu pèrrène. D’ailleurs vu le manque d’adhésion des utilisateurs à Vista on se rend compte que la remise en question est impérative pour la firme de Redmond. Je doute de plus que la plate-forme windows Mobile puisse combler a elle seule cette problématique.

Du côté de Linux, il existe les petites distributions telles que damn small (environ 50Mo) qui ne s’en tirent pas mal du côté des fonctionnalités finales (traitement de texte, gravure de CD, navigation Web). Il y a également le marché des mobiles qui permet aux inititatives comme Android (pour google) ou la LiMo foundation évoquée par Tristan d’être promues à un avenir certain.

Pour Apple, c’est au prix d’une R&D très performante en matière de design et surtout d’ergonomie qu’on arrive à grignoter des parts de marché sur chaque plateforme technique. En effet, l’expérience utilisateur sur un iPod ou iPhone (que ce soit avec la molette ou avec les deux doigts sur l’écran tactile) ou sur un mac justifie clairement l’adoption de l’OS et le surplus financier.

Pourrait-on conclure en disant que les trois principaux acteurs en matière d’OS correspondent chacun aux valeurs suivantes :

Mac OS –> ergonomie et expérience utilisateur

Microsoft –> environnement intégré

Linux –> modularité

N.B. Pour microsoft il faut noter également qu’il existe une initiative qui vise à ajouter un écran LCD d’appoint sur le capot d’un portable afin d’accéder à des informations telles que les photos, fichiers MP3 et mails. Cependant je n’arrive pas à me rappeler du nom et je reste convaincu que ce n’est pas aussi stratégique que splashtop.

12
mai

I’m back from Paris

Rue de RivoliCe pont du 8 mai m’a fait un plus grand bien et je ne saurais que trop vous recommander la visite des trois monuments que sont :le louvre, le musée d’Orsay et le centre Georges Pompidou.

En attendant je vous ai ramené une petite photo de la rue de Rivoli entre chiens et loups voitures, motos et scooters.

02
mai

Les agrocarburants

Des epis de maïs en vracLu dans le nouvel observateur à propos des crises alimentaires qui se généralisent dans le monde :

[...] un seul plein pour un 4×4 avec ce carburant alternatif [nds : 60 millions de tonnes de maïs consacrés à la fabrication d'éthanol aux Etats-unis] représente la consommation annuelle de maïs d’un Mexicain.

J’en reviens toujours au même constat : le problème de fond ce n’est pas le carburant, c’est la quantité d’énergie qu’il faut pour mouvoir une voiture d’une tonne alors que la charge utile à déplacer est en moyenne de 70kg (le poid du bonhomme). Et la seule solution à l’échelle planétaire c’est de réduire nos déplacements motorisés.