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

Qui veut des Mango?

13. avril 2011

Plusieurs sessions du Mix2011 sur le sujet de Windows Phone étaient marquées TBA (sans doute pour To Be Annonced).

La liste vient d’être mise à jour et il y a du lourd:

  • What’s Coming Next to the Windows Phone Application Platform
  • Going Mobile with Your Site on Internet Explorer 9 and Windows Phone 7
  • Mini-Session: Get Ready for Fast Application Switching in Windows Phone
  • What’s New in the Windows Phone Developer Tools?
  • Windows Phone Multitasking
  • Multitasking in the Next Version of Windows Phone, Part II: Using Background Agents
  • Sensor Access in the Next Version of Windows Phone
  • What’s New for Windows Phone Development with Silverlight?
  • Windows Phone Architecture – Deep Dive
  • What’s New for Windows Phone Development with the XNA Framework?
  • Enhanced Push Notifications & Live Tiles for Windows Phone
  • New Data Access Features Coming to Windows Phone

 

On peut donc voir apparaitre plusieurs fonctionnalités pour la future version de Windows Phone (Mango) qui font plaisir:

  • Amélioration (centralisation?) de l’accès aux senseurs
  • Support du multitasking et de l’application switching
  • Améliorations des outils de développement
  • Nouveautés autour de XNA (peut-être la possibilité de faire du Silverlight ET du XNA dans la même application)
  • Accès aux données

 

Bref du lourd comme on aime. Je suis déjà un grand fan du développement WP7 alors si en plus on m’offre de nouveaux jouets…

Divers, Mix2011, Windows Phone

Mix2011–Keynote–Day 1

12. avril 2011

Le premier keynote vient de se terminer et je voudrais livrer ici différentes choses qui me sont venues à l’esprit.

Tout d’abord et sans être exhaustif, voici en gros ce sur quoi à porter ce premier keynote (orienté web):

  • Petit retour sur IE9 et son support avancé de HTML5 et CSS3 (les performances !)
  • Annonce d’Internet Explorer 10 avec encore plus de performances, de HTML5 et de CSS3 (tiens doncSmile). La Platform Preview 1 est d’ailleurs disponible ici : http://ietestdrive.com
  • Annonce de la prochaine conférence technique (sans doute la PDC) à Anaheim (en Californie chez Blizzard!!!) du 13 au 16 septembre 2011 (m’est avis que ca parlera du futur Windows…)
  • Une démo sympa sur Entity Framework 4.1 (disponible dès aujourd’hui ici) avec notamment la nouvelle notion de Code First.
  • Quelques démos autour d’ASP.NET MVC3(et Razor) ainsi qu’autour de jQuery, Modernizr (un framework de compatibilité pour pourvoir faire du HTML5 même si le navigateur ne le supporte pas nativement). Tous ces frameworks sont bien sûr récupérable par Nuget.
  • Une démo sympa de WebMatrix qui donne bien envie de s’en servir. D’ailleurs je suis en train de le télécharger pour essayer de développer pour mon blog avec.
  • On a même parler de Orchard (le CMS gratuit de Microsoft) et franchement il y a eu du boulot depuis les premières alphas
  • Quelques mots sur Azure mais rien de bien nouveau

Au regard de tout cela, je trouve sincèrement que les outils pour développer sur le web ont vraiment pris un gros coup de boost et moi qui ne suit pas du tout intéressé par le web, cela me donne (presque) envie de m’y mettre. C’est sans doute la principale force de Microsoft par rapport à la concurrence : cette intégration poussée et efficace entre les technologies et les outils (que ce soit Visual Studio ou WebMatrix en l’occurrence).

Pour autant, on sent une légère retenue dans les annonces car je pense que de nombreuses choses dépendent du futur Windows et c’est sans doute à la conférence de septembre que tout cela va bouger (je sens fortement que IE10 va faire parti de manière profonde du système)

Un truc amusant également: Pour démontrer les capacités de rendu accéléré de IE9 et IE10, les speakers ont fait de nombreuses démos avec comparaison avec la dernière build de Chrome 12 (démos qui bien sur sont largement à l’avantage des Internet Explorer ^^). Et à un moment, ils ont indiqué que en plus cela tournait sur un nouveau PC portable ultra léger (de chez Samsung je crois). Or, il se trouve que ce dernier tournait sur un processeur ARM à 1Ghz! Or, Windows 7 ne gère pas ce processeur. De là à déduire que nous étions sur une build du futur Windows (qui lui gèrera les processeurs x86, x64, Itanium ET ARM).

Divers, Mix2011