Vouie-fie star canine

24. mai 2011

Salut à toi cher fidèle lecteur assidu de ce blog,

j’ai inscris ma gentille chienne à un concours de la Française des Jeux. Si tu veux la soutenir et par la même faire une belle action pour la sortir de l’enfer qu’elle vit chaque jour (elle n’a pas le droit de regarder la télé avant 20H et le canapé lui est interdit!!), c’est par là qu’il faut aller:

 

FDJ

Voui-Fie Consultez sa candidature

Voir conditions générales du casting sur www.casting-fdj.fr

 


Si elle gagne, je l’amène à la coding4Fun 2012!

PS: Vous pouvez voter tous les jours et avec plusieurs adresses mails…

Divers

L’art obscur de la présentation

11. mai 2011

J’assiste assez souvent à des présentations professionnelles en amphithéâtre.

J’anime également pas mal de conférences, d’autant plus depuis que je suis chez Microsoft.

Et force est de constater que nous ne sommes pas tous égaux en qualité.

Je vous livre ici dix tuyaux issus de mon expérience et qui n’ont strictement aucune prétention sinon vous transmettre ce que j’en pense:

  1. Connaissez votre audience : ne parlez pas de la recompilation en mode kernel à des débutants venus découvrir votre sujet
  2. Parler clairement et ne vous lancez pas de longues tirades au lyrisme mal contrôlé. Des phrases courtes, au présent, c’est bien, ça passe tout seul
  3. Ne trépignez pas sur scène : Vous pouvez vous déplacer, cela dynamise votre discours mais ne transmettez pas votre stress à la salle en dansant sur place
  4. N’utilisez pas “euuuh” comme une ponctuation : Votre flux doit être fluide et surtout ne doit pas apparaitre comme hésitant. Sinon vous transmettrez un message de flou et de non-maitrise de votre sujet
  5. Ne préparez pas de blagues à l’avance : L’humour réchauffé est un vrai métier. Soit c’est spontané soit cela ne l’est pas
  6. Ne soyez pas monotone : Même si ce que vous dites est passionnant, si vous bercez votre auditoire par un ton monocorde lancinant vous ne ferez pas passer votre message
  7. Souriez : Faire la gueule c’est la meilleure solution pour passer pour un pénible (ou pire…)
  8. Faites des slides  légers : Le but des slides n’est pas de faire un prompteur. Vous devez surtout donner des points clefs. J’aime beaucoup les slides “livres” ou on peut passer 15 minutes à tout lire. Du coup forcément on n’écoute que dalle à ce que vous racontez
  9. Faites des slides qui ont de la gueule : Pensez à la qualité visuelle générale. Il faut que ça donne une bonne image de votre discours. vous trouverez sur le net de nombreux articles sur la construction visuelle efficaces des slides. C’est important, je vous l’assure. Pour ma part, j’aime bien les slides dépouillés (un peu à la METRO comme sur WP7)
  10.   Soyez dynamique : Il faut sortir du “je lis mon slide, je passe au suivant”. Il faut essayer d’être interactif avec l’auditoire. Si possible, il faut ménager des périodes calmes puis des montées en puissance (à l’occasion d’une démo par exemple). Avec l’apothéose à la fin!

 

Alors bien sûr c’est tellement plus facile à dire qu’à faire. Mais c’est comme tout, on peut apprendre et progresser.

Et si vraiment vous voulez progresser d’un coup, il faut assister à la Coding4Fun des Techdays. C’es édifiant, je vous le garantis Sourire

Divers, Philo

Les mondes parallèles

24. avril 2011

Je viens de voir un film qui m’a mis le ravioli au court-bouillon : Code Source. Au vu du titre je me suis d’y que cela devait encore être un de ces films qui parlent d’informatiques avec des ordinateurs qui couinent et des utilisateurs qui bossent sans souris. Et comme je suis maso, je me suis empressé d’y aller afin de me moquer de la plèbe qui croit encore à ces histoires (on se fait plaisir comme on peut).

Et ce fût le choc, le film est une tuerie, et n’a aucun rapport avec l’informatique (bon si quand même un peu. On voit même des écrans avec pleins de trucs en 3D qui bougent à fond afin que cela soit bien parfaitement inutile mais tellement hype).

Le thème sous-jacent sans trop déflorer l’intrigue concerne les mondes parallèles. D’ailleurs c’est amusant de les appeler ainsi, car si ils sont parallèles on ne peut donc jamais les croiser (petit rappel : deux lignes parallèles ne se rejoignent jamais). Bon dans le film ils sont pseudo-parallèles on va dire.

Le truc qui me plait dans le concept c’est que forcément on touche à la croyance plus qu’à la science car si mondes parallèles il y a, personne n’a pu (à ma connaissance) y aller ou en revenir. Un peu comme la mort. Etrangement.

D’ailleurs si j’étais un papa de la science (loin de moi cette idée, je ne fais que des petits machins en 3D qui tournent vite, pas plus) et que fatigué de chercher la matière [noire/perdue/ pas trouvée/qui n’existe que pour faire marcher ces cons d’équations/qu’on appelle aussi “je sais foutrement rien”] (rayer les mentions inutiles), je voulais essayer un truc, je me lancerai dans la recherche de ces mondes parallèles. On sait jamais peut être que leur poids plus le nôtre permettraient de valider les théories actuelles (plutôt que d’en chercher d’autres, faut pas déconner non plus).

Pour mémoire, la matière noire c’est des éléments neutres et donc insensibles aux forces électromagnétiques (la belle affaire, du coup ils sont aussi invisibles et comblent du luxe ils auraient une pression négative. Je rajouterai qu’ils comprennent les écrans en 3D qui vont très vite, mais c’est personnel. D’ailleurs si vous aussi vous avez des responsabilités à leur refourguer allez-y ils ne sont pas bavards) mais qui existent forcément sinon il manque du monde pour faire marcher nos équations. Il manque même pas mal de monde puisque cette chère matière noire (et sa copine l’énergie noire. Tiens si ca se trouve Georges avait raison, c’est la Force!!) représente juste 96% de notre univers.

Pourtant certains commencent à proposer de modifier la théorie plutôt que de modifier le réel : la théorie MOND et la théorie TeVeS (vous noterez que au mieux ils passent pour des cons).

D’autant plus qu’avec toute la meilleure volonté, nos éminents scientifiques en chient des ronds de flans pour prouver que cette matière existe. On dispose au mieux de preuves indirectes assez controversées (un ami d’un ami qui connait un voisin dont le chien en aurait peut être vu un de nuit. Mais c’est pas sûr)

Bon, bien sûr je suis un fichu ignare dans toutes ces théories et de manière générale, les pauvres malheureux qui proposent des alternatives se font vite défoncer. Et je me mets à la place de nos grands scientifiques devant une bien difficile équation : soit on a tord soit on a un truc sous le nez que l’on ne trouve pas.

A leur place j’aurai choisi la même conclusion, on n’est pas non plus là pour s’emmerder Smile.

Philo

Le webcast de la Coding4Fun 2011

22. avril 2011

Le webcast tant attendu est enfin disponible dans sa version quasi-non censurée!!!

Enjoy it.

Blogs.msdn.com

21. avril 2011

Et c’est parti, j’ai enfin mon blog sur msdn.com.

Les posts techniques se feront désormais sur http://blogs.msdn.com/b/eternalcoding/.

Il faut donc mettre à jour vos abonnements RSS Smile.

Dans la mesure du possible je continuerai à faire des blogs ici sur les parties plus philosophiques.

Microsoft

Evénement à ne pas manquer!

20. avril 2011

Vous avez envie de découvrir XNA et ses différents portages sur PC, Silverlight ou encore Windows Phone 7?

Vous êtes sur Paris le 13 mai 2011?

Venez donc assister dans ce cas-là à l’après midi du développement qui aura lieu chez Microsoft le 13/05/2011.

Pour vous inscrire c’est par ici:
http://msdn.microsoft.com/fr-fr/les-apres-midi-du-developpement.aspx

 

Les après-midi du développement

Microsoft, XNA

Silverlight 5 3D

15. avril 2011

Vous l’aurez compris, il s’agit pour moi de la meilleure fonctionnalité de Silverlight 5 Smile et je risque d’en parler plus d’une fois sur ce blog.

Je vous rappelle d’ailleurs que vous pouvez voir un exemple de moteur 3D que j’ai écris pour Silverlight 5 juste ici.

image

 

De plus, si vous avez raté la session “Silverlight 5 3D” du Mix, voici pour vous une chance de la revoir sur le site du Mix. Durant cette session, Aaron Oneal (le program manager de Silverlight 3D) revient de sa voix suave sur les concepts de base applicables à Silverlight 3D et présente également le fonctionnement général de ce dernier. A noter la présence de mon petit moteur 3D en début de session Smile.

Mix2011, Silverlight ,

What about Silverlight 5 ?

13. avril 2011

Le second keynote vient de se terminer et ce fut un grand moment. Un des meilleurs keynotes que j’ai été appelé à suivre.

Je ne reviendrai pas sur la partie Windows Phone 7 et sa nouvelle mise à jour (nom de code Mango) qui est brillamment couverte par Pierre Cauchois.

La partie qui m’intéresse ici est bien évidemment l’annonce de Silverlight 5 et de ses nouveautés (Le SDK est en plus déjà disponible ici!)

Support de la 3D accélérée

Parmi ces dernières, celle qui me fait le plus plaisir est bien sûr l’intégration de la 3D accélérée basée sur l’API XNA. J’ai d’ailleurs eu l’insigne honneur de réaliser une des démos qui a été montré au keynote par John Papa (ca fait tout chose de voir sa démo sur un événement de cette importance, d’autant plus qu’elle sera réutilisée lors de la session sur Silverlight 3D par Aaron Oneal).

image

Vous pouvez la retrouver en live ici (Il faudra bien sûr installer Silverlight 5).

La 3D dans Silverlight est donc basée sur l’API XNA avec le support des shaders 2.0 (et sans doute des 3.0 en mode out of browser). C’est ceci dit une version allégée avec notamment l’absence de la classe Effect, ce qui implique la compilation offline des shaders pour embarquer le code binaire. De même, il n’y a pas e support du DDS et si vous voulez décoder des images (JPG, PNG) pour générer des textures, vous devrez le faire à la main (pas de Texture.FromStream en gros). L’idée derrière ces restrictions est de fournir une API légère et surtout de la sortir dans les temps.

Pour le reste c’est du bonheur avec un alignement quasi-militaire avec XNA 4.0 notamment en ce qui concerne la gestion des états (states). Si vous connaissez le développement en XNA vous n’aurez donc aucun problème pour faire du Silverlight 3D.

XAML binding debugging

Une autre fonctionnalité vraiment excellente est la possibilité dans Visual Studio 2010 de pouvoir mettre un breakpoint au niveau d’un binding dans le XAML. Cela va vraiment être utile et va apporter un vrai gain de productivité car le binding est assez obscur au niveau de ses erreurs.

Ancestor RelativeSource + DataContextChanged

Comme son grand frère WPF, Silverlight 5 propose désormais un évènement lorsque l’on change le DataContext. De même, on peut désormais dans un binding indiquer que l’on souhaite se brancher sur un contrôle ancestre via le RelativeSource de type Ancestor.

PivotViewer Control

Le PivotViewer qui au préalable était un contrôle autonome est maintenant directement intégré dans le SDK.

Implicit data templates

Afin de faciliter la mise en place de thèmes, il sera désormais possible de définir des Data Templates qui affecteront par défaut un type de contrôles (comme en WPF) sans avoir besoin de faire une  référence avec un StaticResource.

Inter-Layout Transitions

Grâce à ce mécanisme, il est possible d’appliquer des animations  quand des éléments sont ajoutés, supprimés ou réorganiser au sein d’un layout. L’idée est vraiment de se rapprocher de ce que l’on peut voir avec Metro sur WP7 ou il existe de nombreuses petites animations qui donnent une belle expérience utilisateur de fluidité.

Background thread for networking

Une bonne réduction de la latence réseau va être mise en œuvre en utilisant un thread en tâche de fond pour gérer le réseau. Cela permettra de ne pas perturber le thread de rendu et donc de garder (encore une fois) une interface fluide.

Rendu direct sur le GPU

Toujours dans l’idée de faire un système fluide, il sera possible de faire directement des rendus 2D sur le GPU (à la mode DirectDraw/DirectWrite). C’est ce que l’on appelle un mode immédiat (lorsque l’on pilote directement le dessin sur le GPU).

Multi-click support

Amusant, mais il aura fallu attendre la version 5 de Silverlight pour pouvoir gérer le double (ou plus) clic sur la souris Smile.

Binding dans les styles

Autre notion importante pour définir de belles UI, il sera désormais possible de définir des Bindings au sein des styles (toujours comme en WPF).

Impression vectorisée

Silverlight 5 pourra imprimer en utilisant le Postscript vectorisé pour obtenir une qualité parfaite (avec même la possibilité de faire un aperçu avant impression virtuel).

Media Hardware decode and TrickPlay

Silverlight saura utiliser le GPU pour décoder les vidéos(H264) et pourra faire du trick-playing (à savoir accélérer ou ralentir la vitesse de lecture des médias).

SoundEffect

Cette nouvelle classe permet de charger un stream contenant un son (sans doute au format WAV) et de le jouer sans avoir à instancier un MediaElement. Très utile pour jouer des sons rapidement (genre lorsque l’on clique sur un bouton…)

Pixel snapping

Le support de l’alignement des pixels permettra (comme en WPF) d’avoir une meilleure lisibilité des fontes à l’écran.

Possibilité de créer des fenêtre autonomes (Multiple windows)

En mode Out of Browser, il sera possible de générer des fenêtres (top level) au sens système (OS) du terme. A ne pas confondre avec des ChildWindows.

En fait la classe System.Windows.Window est désormais instanciable.De plus, il n’y a plus de restriction sur le titre des fenêtres ou sur leur placement.

Performance (64 bits and faster application startup)

Le parser XAML a été optimisé pour permettre un lancement plus rapide des applications. De plus, le plugin Silverlight pourra dorénavant fonctionner en 64 bits nativement sur les systèmes 64 bits (alors que jusqu’alors c’était la version 32 bits qui s’exécutait même sur un OS 64 bits).

Mode Trusted App In-Browser

Il sera possible via un certificat et une validation par un administrateur de rendre les applications Silverlight 5 certifié en mode In-Browser. Ces applications auront accès au niveau maximal de sécurité tout en restant dans le navigateur.

Support grandement amélioré du P/Invoke et de l’interopérabilité.

Il sera possible (en mode trusted) de faire du P/Invoke de code natif comme dans le framework .NET (via l’attribut DllImport).Il faut toutefois faire attention avec ce genre de fonctionnalité car cela engagera fortement la portabilité de l’application (Elle ne fonctionnera plus que sur Windows et dans un contexte certifié qui plus est).

De plus il sera possible, toujours dans une application certifiée d’accéder à tout le système de fichier (et non pas uniquement ce qu’il y avait dans “Mes documents”)

Intégration du WebBrower même en mode In-Browser

En Silverlight 4, pour utiliser le WebBrowser il fallait être en mode Out Of Browser. En Silverlight 5, le WebBrowser fonctionnera même en mode In-Browser.

Et bien d’autres encore…

D’autres évolutions mineures sont également annoncées et je ne manquerai pas de revenir dessus dès que j’aurai de la visibilité sur le sujet.

Call to action!

On peut le voir, Silverlight 5 est une belle nouvelle version avec énormément d’améliorations. Je reviendrai plus en détail sur certaines de ces nouveautés dans le futur. Il ne vous reste plus maintenant qu’à installer le SDK et vous lancer à l’aventure!

Mix2011, Silverlight ,

Le graphic recording

13. avril 2011

C’est une technique très intéressante que j’ai découvert lors du premier keynote du Mix2011.

Deux jeunes femmes devant un tableau banc dessinent la conceptualisation de ce que présentent les speakers. Bon forcément dit comme ça, cela fait très “pouet pouet l’intellectuel” mais dans les faits c’est assez sympathique.

En gros, si le speaker parle de l’importance croissance de HTML 5 (au hasard), la dessinatrice va faire cela:

image

On se retrouve donc avec des tableaux entiers représentant le keynote mais au format visuel. ce concept est utile puisque les principaux messages se retrouvent “graver dans le marbre” dans un style amusant et schématique. Les mots-clefs peuvent être mis en avant et servir de support à la compréhension de l’auditoire.

Pour l’exemple, le premier keynote pourrait donc se suivre ainsi:

WP_000042

 WP_000043

WP_000044

WP_000044 (2)

WP_000046

C’est la société ImageThink qui a réalisé ces œuvres. Elles sont d’autant plus intéressantes qu’elles fourmillent de détails et donnent finalement une lecture résumé différente du keynote. C’est une vraie histoire à suivre qui peut en plus par la suite servir de support à des discussions.

j’imagine que le second keynote aura aussi droit à sa version graphique et je ne manquerai pas de vous la mettre en ligne ici même.

Divers, Mix2011

Ressources supplémentaires autour de la première journée du Mix2011

13. avril 2011

Lors du keynote de la première journée, Scott Hanselman (portant son beau tee-shirt EF 4.1) a réalisé une démo comme je les aime : claire, didactique, parfaitement minutée et préparée (une démo digne d’une session Coding4Fun pour les TechDays ^^)

image

Cette démo portait sur notre (bon j’admet encore avoir du mal à dire “notre” mais j’y travaille ^^)plateforme Web (ASP.NET MVC 3 et WebMatrix) associée aux derniers outils intégrés à Visual Studio 2010 SP1 (Entity Framework 4.1 Code first notamment).

En exactement 8 minutes et avec humour, il a réalisé deux projets (dont un avec WebMatrix).

L’objectif du premier projet était la réalisation d’un partie d’administration pour un site présentant des podcasts (http://www.thisdeveloperslife.com/):

Ici le message tourne autour de la principale nouveauté d’Entity Framework 4.1 : Le mécanisme de Code First.
En gros, on ne se préoccupe pas du tout de la base de données. On définit nos entités (nos classes) et avec l’aide de quelques attributs et de l’assistant d’ajout de controlleurs de Visual Studio 2010 SP1, Entity Framework, va générer le mécanisme de sérialisation dans une base de données locale (ici du SQL Server CE 4.0) en créant pour nous le contexte et toute la tuyauterie nécessaire.

Le second projet quand à lui consiste à mettre en place le frontal de ce même site en utilisant WebMatrix.
Ici tout se passe à base de templates et d’assistants car l’objectif de WebMatrix est la mise en place rapide et efficace de sites webs. Il reste bien sûr possible de faire du code (via Razor) directement dans les pages du projet (pas de code behind par contre) pour par exemple gérer la connexion aux sources de données.
This Developer's Life Site - Cheesy Bakery Edition

Au final et grâce à la magie d’Internet, vous pouvez d’ores et déjà retrouver le script complet et toute les ressources sur le site de Mister Hanselman.

Divers, Mix2011