skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

samedi 14 décembre 2013

Vandalisme sanitaire

Publié par Infinite Loop, à 13 h 44 0 commentaire

Bien que la photo ait été prise par moi, je ne suis pas l'auteur de cette plaisanterie ;-)


Vu dans les toilettes du Chicago History Museum.


Tags: Humour

mercredi 11 décembre 2013

35,78%

Publié par Infinite Loop, à 21 h 22 3 commentaires

Quand j'étais petit, mes parents avaient tout juste assez d'argent pour payer le nécessaire, avec parfois des fins de mois plus précaires. Alors que je voyais des amis de mon entourage se faire récompenser pour tout et pour rien à coup de cadeaux dispendieux, il était impossible pour mes parents d'en faire autant. Étant jeune, je me souviens avoir été furieux de ne pas recevoir autant que les autres, comme si je ne l'avais pas mérité autant qu'eux. Puis, j'ai vite compris que si je voulais quelque chose, je devais moi-même prendre les choses en main. À ma manière (et en toute légalité!).

Rapidement, je suis devenu le mouton noir de la famille. Lorsque j'avais un objectif en tête, rien ne m'empêchait de l'atteindre. À maintes reprises, j'ai croisé des gens qui me reprochaient de ne pas me conformer à la masse et qui jugeaient mes choix de vie. Un de mes premiers employeurs m'a même dit que j'avais un problème d'attitude et que je n'irais nulle part. Si seulement il voyait à quel point je ris dans ma barbe en écrivant ces lignes...

Pendant des années, j'ai travaillé d'arrache-pied pour obtenir ce que je voulais, en ayant constamment l'impression de devoir en faire plus pour obtenir la même chose que ce que certains avaient tout cuit dans le bec. Clairement, je valorisais la méritocratie et le fait de ne devoir qu'à soi-même son succès. J'ai eu la chance d'avoir des expériences professionnelles enrichissantes et j'ai toujours su créer mes propres opportunités. Après mes études, j'ai continué de me mettre le nez dans les livres, pour le plaisir. Et la récompense fût exponentielle.

Lorsque j'ai acheté ma première voiture usagée, j'étais fier de pouvoir la payer comptant. Lorsque j'ai acheté ma première voiture neuve, j'étais le premier surpris de constater que j'avais l'argent en banque. Je pourrais la changer pour une plus luxueuse mais à quoi bon ?

Il y a 3 ans, j'achetais ma première maison. Et parce que je suis du genre à détester le trafic, j'ai opté pour une maison à Montréal, plus petite et beaucoup plus chère que ce que j'aurais pu obtenir en banlieue, au grand dam de certaines personnes de mon entourage qui croyaient que je courrais à ma perte dans la métropole de la perdition et de tous les défauts du monde. Parce qu'on le sait, le bonheur est si abondant dans les banlieues du consumérisme et de la pelouse bien coupée ;-)

Avant de signer mon hypothèque, mon conseiller financier a insisté pour que je fasse mon budget. Il me connaissait plutôt mal. La troisième fois que je suis allé faire un remboursement anticipé sur la maison, il savait à qui il avait affaire.

Pourtant, n'allez pas croire que j'ai droit à un salaire démesuré. Je gagne bien ma vie et j'ai quand même souvent la crainte de manquer d'argent alors que je ne me suis jamais privé de rien. Parce que l'important n'est pas tant combien on gagne mais bien ce qu'on fait de son argent. Il y a une différence énorme entre s'habituer à vivre sur le crédit versus attendre d'avoir l'argent pour s'offrir quelque chose. Parce que quand tu as travaillé pour, tu le mérites, tout simplement.

Je disais à l'instant que ça faisait trois ans que j'étais propriétaire de la maison. Vous vous doutez bien que je ne l'ai pas payé en totalité. Par contre, comme l'annonçait le titre de ce billet, j'ai bel et bien remboursé 35,78% du prêt durant cette même période. C'est ma petite fierté et mon pied de nez à ceux qui doutaient de moi. De plus, selon le rôle foncier, la valeur de la propriété s'est appréciée de près de 60 000$ depuis que je suis propriétaire (hausse de 21%). Si l'inspecteur de la ville était passé pour constater les rénovations (cuisine refaite à neuf), gageons que ça aurait été plus. Jamais un placement n'a été aussi rentable.

Il n'y a pas de recette magique au succès. C'est à nous de choisir le chemin qui mène à lui, peu importe les obstacles à franchir ou ce qu'en disent les autres.

Pour Noël, j'ai demandé à mes parents de ne pas recevoir de cadeau. Je passe mon tour pour cette année.


Tags: Le coin du geek

samedi 9 novembre 2013

Savoir réparer sa gaffe

Publié par Infinite Loop, à 10 h 51 0 commentaire

Mes collègues voulaient voir la nouvelle guitare que je venais de terminer. J'avais convenu avec eux d'une date où j'apporterais ma guitare mais aussi un module multi-effets pour qu'ils puissent l'essayer. La veille, à la toute dernière minute, j'ai voulu corriger deux petits défauts pour qu'elle soit parfaite. Je n'aurais jamais dû y toucher.

Ma première erreur a été de vouloir nettoyer la colle laissée en résidu par le ruban à masquer sur la bordure plastique. J'ai utilisé de l'acétone et un coton-tige (Q-Tips) pour frotter doucement les parties en cause. Mais en le pressant contre le plastique, le coton a laissé échapper une goutte sur le fini laqué et en a fait dissoudre l'acrylique de la finition sur sa trajectoire.

Pour corriger le tir et lui redonner son lustre, j'ai pensé vaporiser une couche de laque Watco en aérosol et en profiter pour faire d'autres petites retouches. Le problème avec l'aérosol, c'est qu'il faut constamment bouger la trajectoire du jet pour que l'application soit uniforme et il suffit de rester un peu trop longtemps au même endroit pour que la laque s'accumule et forme des coulisses en séchant. C'est exactement la situation qui s'est produite et par réflexe, j'ai fait la pire chose à faire dans cette situation : essuyer l'excédent avec un chiffon.

Je n'y avais pas pensé et pourtant, je l'avais observé, c'est comme si l'application d'une couche de laque par dessus une existante finissait par se fusionner avec la précédente en donnant l'impression qu'elles ramollissent au contact de la nouvelle couche liquide. En essuyant ce que je pensais être la seule couche non-durcie, c'est plutôt plusieurs épaisseurs qui ont été retirées, donnant une impression visuelle d'un creux formé par l'absence de laque. Lorsque ça arrive, c'est pratiquement irrécupérable et esthétiquement, on préférera que la partie exposée de la guitare soit parfaite. Dans ce cas, je n'avais d'autres choix que de recommencer la finition. Je vous rappelle que j'avais promis de l'apporter le lendemain...

Ce jeudi soir là, j'ai entrepris de relever le défi de décaper la table du dessus et de refaire la finition, avec pour objectif qu'elle soit terminée le lundi matin. J'ai pris du décapant pour meubles Heirloom pour dissoudre le vernis-laque et j'ai sablé le dessus puis j'ai utldu diluant à peinture pour retirer le maximum de teinture.

Comme une image vaut mille mots :

Application du décapant avec un chiffon, ça ressemble à du gel qu'il faut appliquer en généreuse quantité.
Diluant à peinture et sablage.
Application d'une base diluée de teinture noire pour foncir le veinage.

Teinture rouge.
Application de la laque en aérosol.
Après quelques couches de laque.
Après coup, je remarque que j'ai corrigé d'autres défauts au bas du corps qui ne sont plus visibles
(réf. Billet du making-of).
Comme une neuve!
Au final, je crois que je suis plus satisfait du look de celle-ci que celle d'origine. J'espérais être capable de la récupérer et il semble que ce soit mission accomplie.


Tags: Musique

vendredi 25 octobre 2013

Après une journée passée en réunion...

Publié par Infinite Loop, à 17 h 06 0 commentaire

Une collègue n'a pas verrouillé son ordinateur portable lorsqu'elle s'est absentée de la réunion. Nous en avons profité pour écrire une niaiserie dans son document électronique.

À son retour, elle demanda qui avait écrit ça. Nous avons fait mine de ne pas savoir.

Un autre collègue répondit que de toute façon, ça ne ressemblait pas à son écriture.

À mon tour, j'ai ajouté que ça ne pouvait pas être moi car la mienne ressemble davantage à du Verdana.

On est con comme ça en fin de journée :-)


Tags: Le coin du geek

jeudi 24 octobre 2013

Pourquoi Global, pourquoi ?

Publié par Infinite Loop, à 19 h 52 4 commentaires

Je viens de terminer l'intégration d'une solution de paiement en ligne pour un client. Comme celui-ci possédait déjà un compte à la Banque Nationale du Canada, la solution retenue fût celle du fournisseur Global Payments auquel elle est affiliée.

Avant d'amorcer le travail, j'ai eu à communiquer avec Global pour ouvrir un compte sandbox afin de faire des tests de programmation et simuler les transactions. Pour obtenir des renseignements et la documentation technique, j'ai eu à laisser un message à trois personnes dont seule la dernière retourna mon appel.

Le vendeur qui m'a rappelé n'avait aucune notion technique et se préoccupait davantage me promouvoir les différents services plutôt que de répondre à mon besoin. Au bureau de Global Payments au Québec, je me suis fait dire par une autre employé que le seul technicien qui pouvait m'aider était en vacances et que je devais attendre son retour(!). Lui non plus n'a pas donné suite à ma requête.

C'est si difficile d'obtenir une réponse facilement ? J'ai donc poussé ma chance plus loin et je crois m'être retrouvé à parler à quelqu'un au bureau régional en Ontario qui m'a dit d'envoyer un courriel au support technique, puis j'ai échangé des communications avec des gens de l'entité GlobalPay (selon l'adresse courriel) pour enfin obtenir l'accès par l'intermédiaire d'une autre entité nommée CRESecure située à Atlanta aux États-Unis... C'est vrai que c'est la période de l'année où débute la série Mondiale de baseball mais ce n'est pas une raison pour que tout le monde se relance la balle.

Je croyais que mes ennuis s'arrêteraient là mais non. Lors de la phase de développement, j'intégrais la solution nommée SecureForm qui permet à un hébergeur qui n'a pas de certification PCI (Payment Card Industry) de déléguer la responsabilité de saisir les informations de la carte de crédit à une passerelle hébergée chez un fournisseur accrédité comme Global Payments, sans jamais que le site marchand ne manipule le numéro de la carte de crédit sur ses serveurs.

Or la documentation m'a fait rager car elle comporte son lot d'erreurs. Par exemple, à la page 36 de 55 du document PDF Global Transport Secure Form Implementation Guide v.1.pdf, sous la section intitulée Global Transport Secure Direct Services, j'ai compté trois erreurs techniques. La dernière révision date pourtant de juillet 2013...

À titre de référence, voyez la capture ci-dessous.

 
Cliquez pour agrandir


Erreur # 1 : URL de l'environnement de développement (sandbox)

Cliquez pour agrandir

Pour valider une transaction auprès de Global, on prend la peine d'indiquer explicitement une note comme quoi l'URL à appeler ne doit pas se terminer par une barre oblique lorsqu'on est en mode test. Jusqu'à ce que je me rende compte par Fiddler que Global a eu la brillante idée de faire une redirection 301 vers la nouvelle URL qui comprend le slash...

Erreur # 2 : GET ou POST ?

Cliquez pour agrandir

La validation doit se faire par une requête POST. Est-ce que je rêve ou l'exemple montre une requête GET ? Après tests, je confirme que la méthode à utiliser est bien un POST.


Erreur # 3 : Paramètre de validation

Cliquez pour agrandir

Celle-ci est la pire de toutes car elle n'est pas évidente à trouver mais j'ai pu la déduire. Alors que la requête de validation ne fonctionnait pas, j'avais remarqué que les noms des paramètres ne suivaient aucun standard de nommage, passant du camelCase (CRESecureId) à l'underscore (total_amt). Après avoir bidouillé un peu et essayé de comprendre pourquoi le paramètre orderId n'était pas pris en considération (validation échouée), je me suis risqué à renommer le paramètre passé à order_id pour voir, juste au cas-où. Et ça s'est mis à fonctionner à merveille.

Une fois tout le processus fonctionnel, je me suis dit que j'allais leur rendre service en leur adressant un courriel pour communiquer les erratums du document. La réponse que j'ai reçu m'invita à m'adresser à un autre département.

Come on Global Payments, c'est quoi ce niaisage ?


Tags: Programmation

jeudi 3 octobre 2013

Making-of de ma 2ème guitare électrique (galerie photos)

Publié par Infinite Loop, à 07 h 09 0 commentaire

Lorsque j'ai complété l'assemblage de ma toute première guitare artisanale, j'annonçais déjà que j'en entamais une deuxième. Toujours de type Les Paul, car c'est le modèle le plus prestigieux à mes yeux et que j'apprécie l'élégance de son architecture.

Je vous propose donc de suivre l'évolution de sa finition par cet album photos dont les étapes s’échelonnent sur 6 semaines de travail. Croyez-moi, le résultat dépasse largement celui de la précédente.

Aussi, contrairement à la première où j'utilisais un fini protecteur à base d'huile d'abrasin (tung oil), j'ai opté cette fois pour la lacque, ce qui donne un résultat beaucoup plus professionnel mais comportant plus de risques à l'application.

Cliquez sur les photos pour les voir agrandies.

Corps en tilleul (basswood) avec un dessus en érable flammé.


Calcul et tracé pour positionner le bridge et tailpiece aux bons endroits.


Premier perçage avec comme guide le tailpiece centré.


Une fois les trous percés avec une mèche standard, on peut les utiliser comme guide pour centrer la mèche à façonner.

 

Mèche à façonner de type Forstner, dimension 7/16". Le diamètre du trou doit être à peine plus étroit que la pièce métallique à enfoncer par pression (elle ne ressortira plus jamais).


Perforation au bon diamètre par la mèche Forstner.


L'ancre métallique s'installe en deux pièces : la première sous pression, la deuxième se visse à la première.


Les ancres doivent êtres installés parfaitement perpendiculaires. Le tailpiece prêt à être installé.


Le tailpiece est mobile, il ne fait qu'être retenu en place par la pression des cordes lorsqu'elles seront installées.


Installation des deux cordes de E (mi) aux extrémités pour valider que le bridge est bien centré avant son installation.


Retrait des pièces métalliques et application de la teinture à l'eau de marque Saman, couleur cerise #113.


Dos de la guitare


Teinture séchée, une seule couche nécessaire.


Application d'une 1ère couche de laque.


J'ai utilisé une laque lustrée en aérosol de marque Watco (2 bouteilles). Ce produit a une forte odeur et je recommande fortement l'utilisation d'un masque et d'ouvrir la fenêtre. Évitez de le faire à l'extérieur et à un endroit où de la poussière pourrait coller à la laque pendant le séchage (au moins les 30 premières minutes).


L'important est d'appliquer plusieurs couches minces pour obtenir un meilleur fini (sur la photo, la laque n'est pas encore sèche).


3ème couche de laque (il est suggéré d'en appliquer au moins 4, j'en ai appliqué 6 ou 7 sur le dessus!)


La laque perd de son lustre en séchant.


Laque sèche.


Application de la laque au dos de la guitare. La laque en aérosol reste un peu liquide dans les 10 premières minutes et il est important de protéger les rebords contre les coulisses qu'elle peut former en coulant lentement sur le rebord du top en érable (croyez-moi, vous voulez éviter ça à tout prix).


Aperçu du dessus de la guitare terminé avant la pose du manche et de la quincaillerie.


Comme pour la 1ère guitare, j'ai eu à tailler le haut du manche pour lui donner la courbe caractéristique à la Les Paul. Puis je l'ai teint avec le même rouge.


Protection du fingerboard avant l'application de la laque.


Installation des clés.



Le manche doit être collé puis maintenu en place avec des serres pendant 24 heures pour assurer la meilleure adhérence possible.


La colle Titebond Original est reconnue comme étant si puissante que si on forçait le manche, le bois risque de fendre avant que la colle cède.


Installation du bridge et du tailpiece.


Installation des humbuckers et passage du filage électrique.


Un peu d'organisation dans le filage n'est pas un luxe :-)


Le chef d'oeuvre prend forme... Les humbuckers tiennent en place avec du ruban à masquer, le temps de percer les trous pour les visser au corps. J'adore la couleur qui change selon l'angle de la lumière.


Le chef d'oeuvre enfin terminé avec les cordes installées!


À ce moment-ci, c'est le moment pour un soundcheck bien mérité­. Après quelques ajustements pour la touche et le bridge, le son est étonnant pour un produit artisanal. C'est aussi le moment de vérifier si le toggle switch treble/rhythm est placé correctement par rapport au raccordement du filage des pickups et de tester les contrôles du volume et du tone de chacun.


Terminé ? Non, il ne manque que le pickguard!


Look final avec le pickguard. À vrai dire, il manque le toggle switch tip blanc sur la photo car j'en avais seulement un beige. Je l'ai teint avec une peinture à plastique en aérosol.


Si vous avez des questions sur sa conception ou besoin de conseils, n'hésitez pas à me contacter. C'est un projet qui n'est pas si compliqué à faire, il faut seulement beaucoup de patience et être prêt à investir un peu d'argent si on n'est pas très outillé. Au final, l'avoir fait soi-même et qu'elle soit unique est la récompense ultime. La preuve, demandez-moi si j'en ferai une troisième :-)


Tags: Le coin du geek, Musique

dimanche 22 septembre 2013

Citation no.162 sur le courage

Publié par Infinite Loop, à 08 h 33 0 commentaire

Soyez courageux. Même si ce n'est pas le cas, faites semblant de l'être. Personne ne peut faire la différence.

- Anonyme


Tags: Citations

samedi 21 septembre 2013

Photo d'une queue de gecko qui repousse

Publié par Infinite Loop, à 09 h 12 0 commentaire

Je suis allergique aux animaux à poils comme les chiens et les chats. Surtout ceux dont les propriétaires m'assurent qu'ils sont hypoallergènes. Comme je réagis à coup sûr à ces bibittes poilues, mes animaux de compagnie sont des reptiles. Deux d'entre eux sont des geckos qui partagent le même terrarium.


Lorsque je suis parti en voyage cet été, je les ai amené en pension dans une boutique spécialisée en reptiles où ils séjournaient dans des bacs séparés. À mon retour chez moi, je les ai réunis et peu de temps après, ces petits chasseurs se sont livrés une guerre de territoire pour leur nourriture et l'un s'est attaqué à la queue de l'autre, pour lui arracher... Disons que c'est triste et épeurant de se réveiller un matin et de constater que son appendice repose à l'opposé du reste de son corps estropié.

Ce qu'il faut savoir, c'est que les geckos léopards stockent leurs réserves de graisse dans cette partie du corps et que dans la nature, c'est sans doute la seule partie intéressante à se mettre sous la dent pour un prédateur. Si le lézard est attaqué et se sent menacé, il a la capacité de laisser tomber sa queue, créant une distraction pour lui laisser le temps de se sauver pendant que son prédateur s'acharne sur son festin. Dans mon cas, malgré qu'ils vivent ensemble depuis 3 ans, l'autre gecko semble seulement l'avoir mordu au bon endroit car il n'a trouvé aucun intérêt à dévorer les lipides à sa disposition.

Heureusement, la biologie des geckos est impressionnante car ils sont la capacité de laisser repousser leur queue suite à l'incident, sans toutefois qu'elle reprenne sa pleine forme et longueur. Depuis quelques semaines, je l'ai aidé à reprendre ses graisses en lui donnant des vers cirés et goliath et on commence à voir le résultat. Cette photo a été prise ce matin.


On verra dans les semaines à venir comment ça se développe, si les couleurs et le pattern reviendront. Pour l'instant, c'est impressionnant de suivre l'évolution au jour le jour et soyez sans crainte, le gecko se porte très bien et est traité aux petits oignons.


Tags: Curiosités, Le coin du geek, Saviez-vous que

Messages plus récents Messages plus anciens Accueil
S'abonner à : Messages (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (56)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ▼  2013 (53)
      • ▼  décembre 2013 (2)
        • Vandalisme sanitaire
        • 35,78%
      • ►  novembre 2013 (1)
        • Savoir réparer sa gaffe
      • ►  octobre 2013 (3)
        • Après une journée passée en réunion...
        • Pourquoi Global, pourquoi ?
        • Making-of de ma 2ème guitare électrique (galerie p...
      • ►  septembre 2013 (2)
        • Citation no.162 sur le courage
        • Photo d'une queue de gecko qui repousse
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (430)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (37)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft