Du stage, de l’essouflement et de mon nouveau jouet

Posted on mai 9, 2010 by admin.
Categories: je suis hot..

Première semaine de mon stage terminée… Awesomement. Comme certains d’entre vous le savent, je stagie chez Ericsson Montréal, et je suis retourné dans les mêmes fonctions. Certains diront que je me torture, mais je trouve que c’est pour une bonne cause! Un SCM efficace, chers geeks, est très apprécié et facilite la tâche de testing :D

Mais bon, reste que je suis essouflé de faire ce job, la danse (qui est aussi awesome – moar later), me transporter de Le Gardeur vers St-Laurent (coin 40w et Décarie)… avec un rhume en bonus. Si j’attrape le coupable qui m’a filé ça, je lui fais boire du Vicks!

De deux, le système de type HTPC, auquel j’ai fait allusion dans mon précédent billet d’un peu moins d’un an déjà, roule tout aussi awesomement. Grâce entre autres à la carte vidéo intégrée, au fait que je ne fais que du multimédia, et que l’ordi est au sous-sol, tout le monde est content, l’utilise, il est pas sollicité trop trop, et il convient à la demande :D Bon ok je vais probablement lui mettre un 2téras de plus ainsi que 512mb+2gb de ram additionnels (512 en une barette pour la carte graphique, et 2gb de plus pour la virtualisation. Je ne laisserai pas un bicoeur 3gHz pourrir là, tout de même! Je suis un développeur multiplateformes, alors je vais multiplateformer en grand!)

Et finalement: jouet! Un tout nouveau tout beau tout shiny Nexus One de Google :D Bon je sais, ça n’a pas la class naturelle d’un Milestone, mais au moins j’ai les updates de versions directement lorsque Gougle les rend disponibles, MOI. Mais bon, il roule très bien sur Bell, le clavier virtuel est très comparable à celui des iGogosses (ai tapé ce billet dessus, c’est tout dire), qualité audio très acceptable, se prend bien en main, etc… Bref, pour mon premier ordinaphone « high-end », je suis comblé.

Personal notes on my HTPC setup

Posted on novembre 7, 2009 by admin.
Categories: Linux, Matériel, je suis hot..

System:

Intel Core2 Duo E8400, 3.0gHz
2Gb RAM
1Tb Hard Disk
Asus P5N7A-VM Motherboard with:

  • nForce 710i All-integrated Chipset
  • GeForce 9300M Graphics Card compatible with nVidia CUDA, PhysX and VDPAU
  • 4 video outputs: VGA, DVI, HDMI and DisplayPort (sadly, DP is video-only here)

This is my personal basic HTPC system. Not exactly the latest tech, nor the roaring beast some of us geeks may dream to have, but it decodes 1080p x264-compressed, 5.1-channel video files without so much as a hiccup… if configured correctly. And it wasn’t a walk in the park, more like a good hike with some slippery rocks here and there.

First: VDPAU is a b*tch. It requires pretty new drivers, which are, fortunately, already available for the karma-filled Karmic Koala Ubuntu distribution. Before even -trying- to HTPCize the setup, you need the video drivers and the VDPAU extensions. Look for vdpau in synaptic.

Second: VDPAU is a b*tch, the return! XBMC, my personal favorite HTPC software stack, supports VDPAU stably with the nightly builds; you need to use a Personal Package Archive because of this. Add

deb http://ppa.launchpad.net/team-xbmc-svn/ubuntu karmic main

to your repositories so that you can apt-get the latest XBMC build.

Third: Don’t approach PulseAudio with a 10-foot pole!

Fourth: To get sound outputted to your receiver or TV through the HDMI plug without losing quality, put this in your /etc/asound.conf file:

pcm.!default {
  type plug
   slave {
       pcm "hdmi"
   }
}

You’ll also have to tell XBMC to use the default sound card and force sound output through hdmi (note the no-caps). That’s in XBMC’s system settings, for the audio hardware. Poke around and find it… If you’re here reading this, it means you know your way through computer stuff :P

Fifth: Install

xbmc-standalone

so you can use XBMC as your desktop environment. That way, your system can dedicate everything to its media centre tasks.

There we go. That covers the basics of my currently-working setup that pushes a DTS-enabled compressed movie’s DTS feed directly to my receiver. Feel free to contact me for more info.

EndNote: Yes, Eric, you pwned me. You get a beer and a cookie next time you’re in Montreal.

Une façon d’utiliser QSignalMapper efficacement

Posted on mars 29, 2009 by admin.
Categories: Eclipse, Koro, Programmation, Qt, je suis hot..

Bon, je ne m’en cacherai pas, je suis un addict de la programmation. J’adore programmer, j’en mange, j’en rêve (ou presque), etc… Et je travaille aussi présentement (avec Cyphermox pour ne nommer que celui-là) sur un projet personnel qui ne décolle pas encore, mais qui a du potentiel… Enfin bref. L’une de mes décisions de conception est d’utiliser un système de fonctionnalités par greffons (plugins), de façon à plus ou moins forcer une bonne division encapsulée des fonctions par objet. Cette approche a le mérite d’économiser un peu sur la mémoire et de ne pas avoir à rechanger le programme au complet parce que y’a un programmeur naze qui a mal compilé la dernière version de la librairie et que ça envoie un password en texte clair sur paypal. Cette décision m’a permis de développer une expertise côté chargement de greffons avec Qt… Mais qu’en est-il du déchargement de greffons? Y a-t-il un moyen de décharger des greffons de la mémoire tout en gardant le greffon dans la totale ignorance de son parent? … Eh bien oui! J’ai utilisé une fonctionnalité de Qt appelée QSignalMapper pour réussir à assigner une fonction de déchargement unique à chaque greffon chargé en mémoire. Fun times, mais ce n’est pas de tout repos.

Tout premièrement, sachez que QSignalMapper est awesome.

Deuxièmement, mon approche pour utiliser QSignalMapper a été de faire un objet d’ »attribution de signaux ». Il possède un constructeur qui prend en entrée un pointeur vers l’objet de « cleanup »; un pointeur char* vers la fonction à appeler pour se débarasser des objets qui lui seront attribués; et le classique pointeur vers le parent, présent dans tout QObject. Après, pour la destruction des objets en tant que tel, il y a une fonction qui prend en entrée une Action (de menu ou de bouton, tant que le signal « triggered() » est lancé) et un pointeur QObject vers l’objet à détruire. Cette-dite fonction créera un AUTRE objet, que j’ai appelé « ActionPluginBridge », et qui est là pour les besoins de « pureté » et de mémoire des signaux à attribuer. De cette façon, je peux « nettoyer » le QSignalMapper au complet à chaque nouvelle attribution. En faisant ça, c’est autrement plus facile d’être sûr que c’est bien attribué et à toutes fins pratiques stable (vive les foreach, soi dit en passant).

Vous avez maintenant ci-haut la structure que j’ai utilisée pour utiliser une même fonction plusieurs fois en gardant l’encapsulation intacte et en ne me faisant pas c…à écrire du code superflu. Là faut juste que je réussisse à faire déguerpir les objets sans crahser… ;)

Code available on request. Évidemment sous GPL, bande de capitalissssssss.

Commentaires spéciaux:

Patrick K. Gauthier: C’est peut-être « impur » comme approche mais je suis comme tu le sais obsédé par le platform-neutre, donc chut. Et ça va compiler sur Linux, Darwin et Windows, donc DOUBLE-chut.

Tablettes, convertibles et autres portables à écran tactile

Posted on janvier 19, 2009 by admin.
Categories: Matériel, Programmation, je suis hot..

Bon, finalement, je prends le temps de m’arrêter à écrire ce billet. Ça fait très longtemps que l’idée des TabletPC (de tous genres, évidemment) me trotte dans la tête, depuis les ardoises classiques (un ordinateur complet avec seulement un écran tactile pour le contrôler) jusqu’aux convertibles, à la mode depuis quelques années, qui sont des ordinateurs portables classiques avec un écran (tactile, évidemment) qui se tourne et se replie sur le clavier pour donner une « feuille » sur laquelle on écrit. Je trouve la deuxième option intéressante, car elle offre deux façons distinctes d’utiliser l’ordinateur. Alors, je commence ce billet, un peu le fruit de mes réflexions et désirs d’acquisition :P

Premièrement, comme énoncé plus tôt, l’idée des tablettes m’intéresse depuis que j’ai découvert que la technologie existait – il y a donc de cela un peu moins de 5 ans. Pouvoir prendre des notes de cours sur un bloc-notes électroniques qui n’est aucunement salissant, a une empreinte écologique un peu moins dommageable que d’utiliser un bloc-notes papier+crayon+taille-crayon (disons qu’à la longue ça fait assez gros comme feuilles à recycler à l’université) et sur lequel on peut écrire relativement n’importe où (c’est dur en dessous, pas comme un bloc-notes classique, il FAUT une surface dure pour eux!) est assez intéressant comme principe. De ce fait, la prochaine acquisition que je planifie comme ordinateur portable personnel sera une tablette « lettre US » – non une tablette basée « netbook », car celles-ci sont en planification présentement.

Status update (encore? wtf…)

Posted on novembre 11, 2008 by admin.
Categories: Linux, Uncategorized, je suis hot., meuh.

1- Yeah, STAGE. J’ai un stage chez Ericsson Canada… Et il est de 8 mois! NICE. Je vais essayer de me faire un nom tiens :)

2- je suis en fusil contre Linux, blog post à venir.

3- J’ai finalement changé ma atheros AR5418agn pour une intel 4965agn. Mieux pour linux. Surtout avec les sleepmode. Là faut juste que je réussisse à ce que la souris se soumette à ma volonté – va pas être facile ça!

Un test de japo PWNÉ.

Posted on février 13, 2008 by admin.
Categories: je suis hot..

J’étais inconscient pendant le test – presque littéralement. Note: 93%. Je = Leet.