Jan/100
[Links] 26 January 2010
Allez zou, je reposte un peu ici les liens amassés sur le web lors de ma veille. Plutôt visuel aujourd'hui, ce ne sera pas toujours comme ça ;)
Stenka
Je connaissais Luvgalz depuis un petit moment, j'avais déjà vu le nom de Stenka là bas sans jeter un coup d'oeil à son portfolio. Pourtant, j'aurais dû, c'est beau et il viens juste de sortir une quatrième version.
Stranger Project
Vu sur Fubiz, Stranger Project shoot le portrait de gens normaux avec un style particulièrement agréable.
Fin de NoLife
Je savais que ça n'allait pas fort, mais c'est officiel. Et ya même une petite vidéo pour célébrer ça (et comme ça vous verrez le bêta player de Dailymotion qui est assez classe quand même)
Pleure pas petit
envoyé par Mr_Poulpe. - Regardez la dernière sélection musicale.
Jan/100
C’est peut-être ce que vous croyez…
On parlait de Metallica et la pochette de Death Magnetic mais quelques années avant Shora avait déjà fait quelque chose de plus explicite.

Nov/092
Une autre manière de faire un singleton en Java
Je sais, le singleton nuit gravement à la santé de votre code comme certains disent. Mais pour les besoins de ma boîte, je suis en train de développer une nouvelle version de l'API de connection à notre base de donnée préférée (XediX1) et pour des raisons de performance le singleton est préférable.
Habituellement tel qu'on nous l'apprends, ça ressemble plus à ça :
public class MySingleton { private static MySingleton instance; private MySingleton(){} private static MySingleton getInstance(){ if(MySingleton.instance == null) MySingleton.instance = new Singleton(); return MySingleton.instance; } }
En Java il existe un autre moyen plus propre et plus adapté je trouve :
public class MyNewSingleton { private static MyNewSingleton instance; static { MyNewSingleton.instance = new Singleton(); } private MyNewSingleton(){} private static MyNewSingleton getInstance(){ return MyNewSingleton.instance; } }
Lors de l'appel d'une méthode de la classe MyNewSingleton, la machine virtuelle va d'abord s'occuper du code placé à l'intérieur de l'instruction static {} puis va executer le code de la méthode appelé. Ce n'est pas un énorme changement, mais ça évite une condition qui ne m'avait jamais branché (je n'aime malheureusement pas les conditions, dommage pour un développeur).
- Base de donnée XML native développée par le CEA, qui fera certainement l'objet d'un prochain article [↩]
Jul/090
L’été, c’est mal
En tout cas, pour les concerts et ici, ça a bien l'air douloureux. Je ne sais pas s'il s'agit de l'ambiance voulue, mais je remarque que les concerts se font dans des ambiances de plus en plus intimiste. Ce soir, dans la salle microscopique et surchauffée d'un bar du centre, je n'ai vu quasiment que des têtes déjà connues. Et ce n'est pas la première fois.
Avec le recul, je me demande s'il s'agit vraiment d'intimisme. L'été joue certainement, mais j'ai aussi l'impression que la petite scène Lavaloise s'essouffle un peu à force de passer toujours le même genre de chose. Et en allant plus loin dans cette réflexion, j'ai également l'impression que la créativité des gens aussi. Je n'ai pas vu de nouveaux groupes extraordinaire se monter ces dernières années du côté hardcore. Ou alors j'suis has been et plus au courant de ce qui se fait ou encore c'est plus à la mode (bonne nouvelle ? pas tellement...)
C'est marrant, ce doit être la deuxième fois en deux ans que je fais ce genre de post. J'dois devenir vieux, j'me plains beaucoup en ce moment.
Jul/094
Ma conception d’une boite cool
La majorité du temps, les entreprises me déçoivent. Trop mauvaises, trop en retard, trop strictes, trop classique. Et pourtant je pense avoir pas mal cherché, mais rien d'innovant dans ma région point de vue web, juste quelques web-agency rigolotes mais manquant un peu de punch et de décalage.
Certes, je parle de Laval, petit pays que je décris souvent à ceux qui ne connaissent pas comme "presque breton" malheureusement drainé entre trois villes, Rennes, Angers et Le Mans. J'y suis tombé presque par hasard il y a 6 ans, lors d'une remise en question/changement de voie, moins scientifique, plus artistique, histoire de ne pas renier mes origines (mais aussi d'être en accord avec moi même). Après avoir connu les extrêmes parisiens et campagne profonde, c'est en fait ce dont j'avais besoins je pense.
Tout ça, c'était pour remplacer le contexte. Viennent mes années DUT et leurs lots de connaissances toutes aussi intéressantes que passionnantes, puis la LP (qui l'aura peut-être été un peu moins) et le stage. Après être tombé sur de sombres crétins pensant avoir des idées révolutionnaires en s'inspirant de Google Maps ou Nomao et m'être dit que "c'était vraiment de la merde", je me suis conforté dans cette idée.
Mais dans une certaine précipitation pour retrouver de quoi finir, je suis tombé sur l'entreprise faisant un sans faute sur les points clés me paraissant important. Ambiance, ambition, qualité, matériel, etc...
Aujourd'hui, je suis développeur principal sur un projet passionnant et ma conception d'une boîte cool, c'est celle-ci.
Jun/092
On travaille maintenant ?

Mon nouveau bureau
Ca c'est fait. Alors finalement, c'est un Samsung SyncMaster 2433BW que j'ai pris. Il est eye-candy, salissant (plein de poussière après une journée) et niveau couleur comparé à l'iMac que j'ai au boulot c'est quand même moins bien (bien qu'après avoir trifouiller les réglages et le profil colorimétrique, j'arrive a avoir quelque chose de plutôt cool).
Reste plus qu'a rédiger le mémoire si l'envie m'en prends.
*fier*
May/094
Where we do what we do
D'ici quelques jours, je vais devoir me mettre à travailler sérieusement le fond de mon mémoire pour un rendu situé mi-juin. Depuis un peu plus de deux ans, je suis équipé de mon valeureux MacBook Pro mid-2007 auquel j'ai adjoint l'écran LCD de mon ancienne machine, un 17" dont l'age commence à se faire sentir via des baisses d'intensité lumineuses pas toujours agréables.
Etant donné que je vais signer un contrat à durée indéterminée à la fin du mois de juin, je prends un petit peu d'avance histoire de pouvoir travailler tranquillement. Niveau écran, je pense m'être fixé sur un Iiyama 24", le PLB2409HDS-B1 (ouch) qui est visiblement pas mal du tout, après une petite séance de calibrage. J'aimerais quand même savoir si seul son réglage en hauteur et sa fonction de pivot justifient les 30€ qui le séparent du PLE2407HDS-B1 ou si cela cache d'autres nouveauté. Parce que dans le pire des cas, je ne pense pas beaucoup me servir du pivot.

Iiyama PLB2409HDS-B1
Ensuite, depuis que la 6800m GT de ma machine m'a lâchée (et entraînant un retour SAV pour changement de la carte mère), je porte une attention toute particulière à sa température. J'hésite entre une plaque de refroidissement classique, équipée de ventilateurs (de ce type par exemple) ou bien un refroidissement passif de type stand comme le Griffin Laptop Stand ou le stand de Rain Design qui trône souvent sur les bureaux de wherewedowhatwedo.com.

mStand de Rain Design
Problème direct à tout ceci, la nécessité d'acheter un clavier. Et là mon coeur balance entre Apple Keyboard Bluetooth ou USB. A 30€ le wireless, je ne sais pas quoi choisir. J'ai déjà une MX Revolution (donc sans fil) et je me dit que la logique voudrait que je continue dans le sans fil.
Reste une dernière chose à prévoir, un hub USB classe.
Et ouais, j'suis une pétasse à ma façon moi aussi.
Apr/091
Test brouillon de Tweetie
Allez hop, petit truc fait rapidement mais que j'avais envie de poster. Promis la prochaine fois je m'applique et on entendra ma jolie voix.
Screenflow & Tweetie test from Thibault Lacroux on Vimeo.
(Au moins, ScreenFlow a arrêté de prendre la poussière sur mon disque dur. Et j'peux faire voir Tweetie qui rosque quand même !)
Apr/090
URL Rewriting avec Stripes
Dans le cadre de mon stage, j'ai dû me mettre à Stripes afin de comprendre le fonctionnement de la plateforme actuelle.
Je souhaitait faire de la réécriture d'URL dans mes applications J2EE. Au cours de ma veille, je suis tombé sur UrlRewriteFilter, mais j'étais embêté du fait de devoir utiliser un filtre de plus sur mon application. Finalement, j'étais passé à côté de l'annotation @UrlBinding qui permettait de faire quasiment ce que je souhaitais au détail prêt que je devais terminé mes URLs par .action.
En fouillant un peu dans mon web.xml, j'étais tombé sur cette partie là :
1 2 3 4 | <servlet-mapping> <servlet-name>StripesDispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> |
Pas de problèmes, je remplace la ligne 3 par
<url-pattern>/*</url-pattern>
Or, petits problèmes en perspective, plantage du serveur, redirections en boucle sur les mêmes pages. Owned.
Petite recherche de la part d'un collègue et j'apprends l'existence de DynamicMappingFilter dans Stripes. On reprends notre web.xml et on copie ceci :
1 2 3 4 5 6 7 8 9 10 11 | <filter> <filter-name>DynamicMappingFilter</filter-name> <filter-class>net.sourceforge.stripes.controller.DynamicMappingFilter</filter-class> </filter> <filter-mapping> <filter-name>DynamicMappingFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> |
Et voilà, je peux mettre ce que je veux dans mes URLs !
Prochaine étape, pouvoir mettre des variables dans les @UrlBinding sans tout casser >_<
Apr/094
Connaître le nombre de ligne de code dans un dossier
J'inaugure une nouvelle catégorie dans laquelle je noterais les différentes réponses à des problèmes que j'ai rencontré dans mes petites aventures journalières.
Aujourd'hui, j'ai dû apprendre à compter le nombre de ligne de code dans un projet Java et ne voyant pas comment faire sous Eclipse (et puis compter, ça semblait un peu compliqué :p), j'ai gentiment demandé sur Twitter et la réponse est apparue quelques instant plus tard (merci @Patoch_ ;))
La réponse était ici, soit :
find . -type f | xargs cat | wc -l
Vous pouvez bien entendu utiliser tous les arguments de find pour préciser votre recherche, par exemple pour compter uniquement les fichiers dont l'extension est .java :
find . -type f -name "*.java" | xargs cat | wc -l
