What’s in a name?
What's in a name? That which we call a rose
By any other name would smell as sweet.— Romeo and Juliet (II, ii, 1-2)
This morning I learnt through Engadget that what was known until now as Project Natal is now called Kinect for Xbox 360, as revealed just before E3 by none other than a 76-person cast of Cirque du Soleil. I had two reactions:
- Why wasn’t I invited? :P
- Who came up with that horrible name?!
I guess the answer to the first question is obvious: someone messed up—but, please, don’t fire him or her, I wasn’t available anyway.
The answer to the second one is tougher. Natal was a nice name—or a nice code name to be precise. Why change it?
It can’t be easy naming products for a multinational such as Microsoft. You have to take into account that you are probably going to be selling and advertising all over the world (except if you’re selling Zunes, but that’s another story.) You want your name to be catchy, easy to pronounce and, very important, to not have any special connotations in any of the locales you are doing business in. And that’s exactly the problem with “natal.”
Natal, nadal, natale, nadâl, natali, natál; all mean the same thing: Christmas. And if there’s one thing that you do not want associated with a product that you want to sell as much as possible is religion.
Kinect, on the other hand, is, as far as I know, not a word in any language, but with its obvious roots in Greek κίνηση (kínisi), smart people will still get the meaning of movement behind it. It’s also easy to remember and, aside from Australia, there’ll probably be no copyright issues with the name (and even then…)
It’s still ugly.
But Microsoft’s not known for good naming. We all know Microsoft Windows, but do you know what its relationship is to Windows Live or Windows Live Essentials? What about Windows Phone 7 Series—which got renamed to Windows Phone 7—is it the same as Windows 7? And I once head of something called Virtual Earth, which was then renamed to Live Maps (Windows Live Maps?) and I think it’s now called Bing Maps (is Live dead?) but I haven’t checked in the last 24 hours.
It sure is easy to get lost fast.
“Easy” also come to mind when I think of certain products from other companies. Have you heard of the iPod, iPhone, iPad, iMac, iLife, iWorks, …? Those are easy to remember, catchy, not words from the dictionary in any language and unlikely to cause copyright issues. (Except for the new iOS, I don’t know how they’re getting away with that one.) Sure, in the case of the Xbox, the “x” brand is already quite saturated, but that only means that there’s an opportunity to find something original.
Anyway, I wouldn’t like to have to come up with real-world marketable names for a company such as Microsoft, so I do have quite a bit of admiration for all the people involved in the process. I do hope, though, that somebody within Microsoft realises that their names do not take the client into account, and that has to change.
There’s a parameter that stinks
Have you heard of parameter sniffing? I hadn’t either, so let me explain shortly.
The parameters of a SQL query determine often (if not always) the number of lines that it will have to handle. It is therefore logical that the database server—I’m currently working with SQL Server 2005 and 2008—would want to optimise them by studying their parameters before establishing an execution plan. This is what parameter sniffing is all about.
The problem
Parameter sniffing doesn’t always work as you’d expect.
Yesterday I spent the better part of my afternoon trying to figure out why an isolated query was very fast, while the same query, executed within a stored procedure was extremely slow. It just so happens that the server was sniffing parameters and ending up with an execution plan that was far from optimal.
The solution
The good news is that the solution to my problem was simple.
Instead of using the stored procedure’s parameters in the queries within it, all you have to do is store their values in local variables and use the latter instead.
If you have a stored procedure that is suddenly performing badly and that looks something like this:
CREATE PROCEDURE MySP
@UserName nvarchar(20)
AS
BEGIN
SELECT name, email
FROM Users
WHERE username = @UserName
END
All you have to do is a small change like this:
CREATE PROCEDURE MySP
@UserName nvarchar(20)
AS
BEGIN
DECLARE @UserNameLocal nvarchar(20)
SET @UserNameLocal = @UserName
SELECT name, email
FROM Users
WHERE username = @UserNameLocal
END
And problem solved!
However, this doesn’t mean that you should systematically use local variables in all of your stored procedures. Let the server do its work and use the tip above only if you have verified that you really know better.
If you want to test parameter sniffing by yourselves, I suggest you take a look at the blog of the SQL Server Query Optimization Team, in which you will find a very complete post with examples.
(Photo: StefanB)
Bill Gates annonce l’iPad en 2007, Jobs croît au PC
En 2007, Bill Gates et Steve Jobs décrivent l’avenir de l’informatique :
Pour ceux qui ne sauraient pas bien les distinguer, le premier qui parle c’est Bill Gates. Oui, oui, c’est bien lui qui décrit un appareil qui ressemble beaucoup à un iPad fonctionner de paire avec un appareil qui ressemble beaucoup à un iPhone. Voici ses mots :
Je ne pense pas que vous aurez un seul périphérique. Je pense qu’on aura un périphérique “plein écran” qu’on pourra transporter et sur lequel on lira considérablement plus… oui, je veux dire, je crois au format tablette. (...) On aura un moyen d’avoir un clavier matériel et un certain nombre de paramètres pour cela. Et puis il y aura le périphérique qui va dans la poche, dont toute la notion de quelles fonctions on va combiner dedans— vous savez, il y a des ordinateurs pour naviguer, les médias, le téléphone…
Et puis, en col roulé noir et décrivant la prévalence de l’ordinateur personnel (plus un peu de cloud peut-être), les paroles de Steve Jobs :
Ce sera le PC, peut-être utilisé un peu plus étroitement avec des services Internet en back-end et des choses comme ça. Et, bien entendu, les PC seront de plus en plus mobiles. Je pense donc que le PC va continuer. Ce dispositif d’usage général va continuer à exister avec nous et à se transformer avec nous, que ce soit une tablette, un ordinateur portable ou, vous savez, un grand ordinateur de bureau que vous aurez à la maison ou quelque chose d’autre. Je pense donc que ce sera quelque chose que la plupart des gens auront, au moins dans cette société. Dans d’autres, peut-être pas, mais certainement dans celle-ci. Cependant il y a une explosion qui commence à se produire dans ce que vous appelez périphériques post-PC, n’est-ce pas ? L’iPod en fait partie. Il y a beaucoup de choses qui ne le sont pas… Selon moi, il y a une catégorie de périphériques qui ne sont pas d’usage général, et qui sont plus axés sur des fonctionnalités spécifiques, que ce soit des téléphones, des iPods, des Zunes ou autres. Et je pense que cette catégorie de dispositifs va continuer à être très innovante et nous allons en voir beaucoup.
C’est curieux de voir comment seulement quelques mois plus tard, l’iPhone de Jobs change totalement sa vision.
Aussi marrant que cela puisse être de voir à quel point les visions de ces deux gourous il y a trois ans divergent de la réalité de leurs (anciennes) entreprises aujourd’hui, je trouve cela surtout dommage. Dommage que Microsoft ait eut la vision, mais pas ce qu’il faut pour la réaliser…
Entre temps, Apple a su innover et proposer au monde des expériences exceptionnelles. Je n’admire pas spécialement la culture d’entreprise d’Apple, mais je dois avouer que sur ce point-là, il y en a peu qui se débrouillent aussi bien.
(Via Gizmodo)
Jake Shimabukuro et son ukulele à TEDx Tokyo
J'avais déjà entendu Jake Shimabukuro quelque part, mais je n'arrive pas à me souvenir où. Je savais qu'il était bon, mais cette vidéo enregistrée à TEDx Tokyo m'a laissée bouche bée pendant 22 minutes.
Prenez le temps de regarder la vidéo en entier, ça vaut vraiment la peine :
Il joue 3 morceaux :
- Un "Flamenco ukulele" que, je pense, est une composition originale
- "Ave Maria" de Schubert, à l'ukulele !
- "While my guitar gently weeps" de George Harrison
Et une sorte de "encore" demandé par le maître de cérémonie et non pas le public :
- "In my life", encore une adaptation des Beatles qu'il a pu jouer aussi pour la Reine Elizabeth d'Angleterre
Un musicien remarquable, et un très bon présentateur—voire conteur—ce Jake.
Si quelqu'un sait d'un concert de lui à Paris, pensez à moi. C'est quelque chose que je n'aimerais pas rater ;)
Révéler les données d’une bande magnétique à l’aide de rouille
Je suis tombé sur cet article chez BoingBoing il y a quelques minutes qui décrit comment révéler les données stockées dans une bande magnétique—comme celles que l’on trouve derrière les cartes de crédit—à l’aide de la rouille (l’oxyde de fer, hein, pas la sauce) en poudre. Comme ça avait l’air sympa, je me suis dit que je reproduirais bien l’expérience à la maison.
Je suis donc allé chercher mon morceau d’acier rouillé (n’importe quel métal ferreux devrait marcher) et un morceau de papier de verre—j’avoue que parfois je m’étonne de ce que je garde dans mon petit 35m2—et j’ai procédé à la confection de rouille en poudre très fine.
Ensuite, je n’ai eu qu’à étaler un peu de cette poudre à l’aide d’un pinceau sur une bande magnétique d’une carte dans mon portefeuille et voilà le résultat :
La poudre révèle les ‘0s’ et ‘1s’ stockés dans la bande magnétique. On peut voir que ma carte ne possède qu’une seule piste avec des données, mais une carte un peu plus complexe, comme une carte de crédit, pourrait en contenir jusqu’à 3 ; les deux autres se trouveraient au dessus et en dessous. Chaque piste est capable de stocker quelque 80 bits par centimètre, mais vu que les données sont encodées de manière différente sur chacune des trois bandes, une carte de taille standard ne contient qu’environ 1000 bits ou 226 caractères, soit environ un SMS (1120 bits).
Ellen DeGeneres forcée de s’excuser auprès d’Apple
Ne vous inquiétez pas, je ne risque pas de devenir un blog consacré à Apple, mais les histoires récentes me font tellement halluciner que je ne peux pas ne pas les partager.
Tenez, par exemple, cette vidéo d’Ellen, qui a eu la terrible idée de faire une parodie des pubs iPhone :
Apple lui a demandé de s’excuser ! Parce que, je traduis grossièrement, “elle fait croire que l’utilisation de l’iPhone est difficile” !
Je ne sais pas quand est-ce que quelqu’un de Cupertino a mis les pieds dans un Apple Store pour la dernière fois ; personnellement, j’y étais aujourd’hui, et je peux vous dire que l’iPhone semble ne pas être évident pour une quantité de personnes assez impressionnant (pour qu’il n’y ait plus de rendez-vous au “Genius” bar un mercredi matin, par exemple). J’en déduis que :
- on a le droit de se moquer un peu de l’utilisation de l’iPhone parce que ça arrive qu’on ait du mal à s’en servir, ou…
- Apple considère que ces cas-là sont exceptionnels et qu’il s’agit tout simplement d’abroutis.
Je n’ai pas de réponse officielle d’Apple—et un employé de l’Apple Store a failli être frappé par la foudre lorsqu’il a voulu répondre à la question sans qu’un RP soit présent—mais je pense qu’ils n’hésiteraient pas à dire “réponse numéro 2”.
Keyboard shortcuts for Visual Studio 2010
For those of you who really appreciate the time gained by not moving your hand away from your keyboard and towards the mouse, Microsoft released 4 keybinding reference cards (cheet sheets if you will) for Visual Studio 2010 in the form of high-quality PDFs.
In these foldable cards you’ll find the default keyboard shortcuts for:
- Visual Basic .NET
- Visual C++
- Visual C#
- Visual F#
On Jobs’s thoughts on Flash
Yesterday, our favourite black turtleneck-wearing guru published a short essay detailing his Thoughts on Flash, where he details why Adobe’s Flash will never by supported on his iPhones and iPads.
Recommended reading, definitively! It’s just hilarious.
I obviously have to admit that the iPhone, new Macs, etc. have sent Jobs soaring through the stratosphere. Unfortunately, I’m afraid his brain is now lacking oxygen…
Take a look at some of Jobs’s points:
- Open: he’s basically saying “Flash is proprietary, that’s baaaad; we use open standards, we’re gooood”. But can you really call a draft a standard? What good is promoting the use of open “standards” on the web, when you explicitly strip developers from their most elemental rights, i.e. the choice of their development language?
- Reliability: “We also know first hand that Flash is the number one reason Macs crash.” I don’t know whether to be annoyed by such an unlikely statement, or by the fact that it’s the OS crashing even if it’s Flash’s fault…
- Battery life: again, I’m paraphrasing, “if you use Flash, you’ll only get 5 straight hours of video”. Man, he got me there! I’ve always wanted to sit through the extended versions of the three Lord of the Rings movies on my phone!
- Touch: “Flash apps are not touch-ready because of the rollover effect.” So are plenty of plain old HTML + CSS pages that use the :hover behaviour!
- And finally, some bla, bla about using Flash as a development environment for native iPhone applications: he has got to be kidding. Not allowing the developer to chose is a good thing? So what if native applications developed with CS5 do not support everything the platform does? That my crappy decision as the developer to make, not yours!
I’m having more and more trouble reconciling my love for shiny things with rounded corners that, I admit, work wonderfully, with who I really am: a developer who additionally likes to fiddle with whatever I can get my hands on—both profiles apparently loathed by Jobs.
I guess it’s too late to hope for Apple to come out and say that their site was hacked and that the essay is not real. In the meanwhile, my moral compass keeps strangely pointing away from any Apple Store in the vicinity.
PS: Fake Steve has a nice piece on the subject, too.
Un clavier virtuel pour vos recherches Google
Il m’est déjà arrivé de me retrouver, installées sur mon PC, plusieurs configurations de clavier : grecque, cyrillique, chinoise, coréenne, … Pourquoi ? Parce que je suis curieux et parce que j’aime bien les langues. Par contre, je vous l’accorde, ce ne sont pas des claviers que j’utilise tous les jours ; d’ailleurs, souvent je n’ai installé ces différents claviers que pour faire une ou deux recherches sur Internet.
Aujourd’hui Google sort une nouvelle fonctionnalité sur certains de ces sites qui rend cette manipulation inutile : des claviers virtuels pour des langues non-latines, telles que le grec, le russe, l’arabe, le thaï et bien d’autres. Regardez ce que ça donne :
Petite astuce : une fois le clavier virtuel ouvert, vous pouvez utiliser votre clavier physique pour activer les touches virtuelles !
Voici la liste non exhaustive de sites Google proposant les nouveaux claviers virtuels : Google Greece,Google Finland, Google Sweden, Google Iceland, Google Poland, Google Russia, Google Ukraine, Google Saudi Arabia, Google Thailand, Google Mongolia, Google India.
Visual Studio 2010 est RTM, mais ne l’installez pas !
Enfin, ne l’installez pas si vous avez déjà commencé à faire du développement pour Windows Phone 7.
Malheureusement, la CTP des outils pours les développeurs Windows Phone 7 (WP Developer Tools CTP) n’est pas compatible avec la version finale (RTM) de Visual Studio 2010. Une mise à jour devrait être disponible sous quelques semaines.
Entre temps, si vous installez la RTM par-dessus votre installation existante des Developer Tools (DT), l’installation marchera, mais vous ne pourrez plus compiler vos projets Windows Phone. En revanche, si vous essayez d’installer les DT sur la RTM de VS2010, l’installation échouera.
Que faire ?
Vous pouvez être patients, après tout, ça fait longtemps qu’on attend VS2010 ; quelques semaines de plus ne signifieront probablement pas la fin du monde. Vous pouvez aussi installer la RTM dans une machine virtuelle, mais pas les DT, ces derniers ne peuvent pas être virtualisés.
Je suis un peu en retard avec mes billets sur Windows Phone, mais ne vous inquiétez pas, je me rattraperai et, dans la foulée, je vous tiens au courant de l’évolution des outils.
UPDATE : Téléchargez les Windows Phone Developer Tools CTP (April 2010 Refresh) (lien direct vers l’installeur web) qui a encore des bugs (voire les release notes) mais qui marche avec la RTM de Visual Studio 2010.





Donec ipsum dui, pharetra viverra gravida cursus, rutrum ac lorem. Cras faucibus
lacus at dui semper mollis eu eu felis.