Archives par mot-clé : Microsoft

Offres de stockage en ligne

Le cloud est le mot à la mode, mais cela fait plus de dix ans que l’on confie ses données à des prestataires externes afin d’y accéder à la demande. Pour moi, c’était avec Gmail.

Il est possible de faire la même chose avec tous ses documents, pas seulement les e-mails. Les offres de disque en ligne sont devenues très abordables – voire gratuites pour les usages peu intensifs – et de plus en plus complètes, avec traitement de texte, tableur, éditeur photo, etc. en ligne.

Aujourd’hui, il n’y a plus de raison de perdre de données quand son disque-dur rend l’âme ou quand on une clé USB.

Mais la récente affaire de fuite de photos de célébrités sur iCloud rappelle à quel point ils est important de sécuriser l’accès à ses documents. Pour cela, la solution la plus efficace est l’authentification à deux facteurs : pour se connecter, il faut un mot de passe et un appareil sécurisé.
Continuer la lecture de Offres de stockage en ligne

Windows Live Messenger supporte (enfin) XMPP

J’étais passé à côté de cette excellente nouvelle: Microsoft a (enfin) ouvert msn Windows Live Messenger avec le protocole XMPP1.

Cela signifie que tout client XMPP peut pourra se connecter sur Windows Live Messenger et rejoindre ses 300 millions d’utilisateurs 🙂
Continuer la lecture de Windows Live Messenger supporte (enfin) XMPP

  1. Extensible Messaging and Presence Protocol []

Stop using Bing, it’s a limited version of Google

We suddenly grasp why Microsoft can claim that Bing works better and better.

Bing steals results from Google

When Bing has no search result for a query, it googles and adds Google’s first result in its index. This is proved by the experiment that Google conducted:

We created about 100 “synthetic queries”—queries that you would never expect a user to type, such as [hiybbprqag]. As a one-time experiment, for each synthetic query we inserted as Google’s top result a unique (real) webpage which had nothing to do with the query. […] We were surprised that within a couple weeks of starting this experiment, our inserted results started appearing in Bing.

Bottom line

some Bing results increasingly look like an incomplete, stale version of Google results—a cheap imitation.

C# Bug in WebRequest

I have discovered what I think is a bug in the C# framework.

I have a simple code that sends a Http webdav request

  1. req = (HttpWebRequest)WebRequest.Create(url);
  2. req.Method = "PROPFIND";
  3. req.Headers = new WebHeaderCollection();
  4. // I dunno what's for, but Sharepoint throws error 404 if it is not set
  5. req.Headers.Set("translate", "f");
  6. req.Headers.Set("Depth", depth.ToString());
  7.  
  8. // encode en UTF8 le corp de message à transmettre
  9. byte[] bytes = Encoding.UTF8.GetBytes((string)query);
  10.  
  11. req.ContentType = "text/xml";
  12. req.ContentLength = bytes.LongLength;
  13.  
  14. RequestStream = req.GetRequestStream();
  15. RequestStream.Write(bytes, 0, bytes.Length);
  16. RequestStream.Close();
  17. HttpWebResponse webResp = (HttpWebResponse)req.GetResponse();
  18. // Note : C# has no constant for http status code WEBDAV_MULTI
  19. if (((int)webResp.StatusCode) == 207)
  20.     {
  21.  // handle web response
  22.      }

Everything works fine most of the time.

This is a typical http dump

PROPFIND /path/to/foo.bar HTTP/1.1
translate: f
Depth: 0
Content-Type: text/xml
Host: httpserver
Content-Length: 90
Expect: 100-continue
HTTP/1.1 100 Continue
< ?xml version="1.0" encoding="UTF-8"?><d:propfind xmlns:d='DAV:'><d:allprop /></d:propfind>HTTP/1.1 207 Multi-Status
Date: Mon, 27 Dec 2010 09:42:27 GMT
Server: IBM_HTTP_Server/2.0.47.1 Apache/2.0.47 (Unix) DAV/2
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"

37b
< ?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns: D="DAV:" xmlns:ns0="DAV:">
<d:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
<d:href>/path/to/foo.bar</d:href>
<d:propstat>
<d:prop>
<lp1:resourcetype />
<lp1:creationdate>2010-12-21T15:07:41Z</lp1:creationdate>
<lp1:getcontentlength>2269</lp1:getcontentlength>
<lp1:getlastmodified>Tue, 21 Dec 2010 15:07:41 GMT</lp1:getlastmodified>
<lp1:getetag>"4cc6-8dd-ff786940"</lp1:getetag>
<lp2:executable>F</lp2:executable>
<d:supportedlock>
<d:lockentry>
<d:lockscope><d:exclusive /></d:lockscope>
<d:locktype><d:write /></d:locktype>
</d:lockentry>
<d:lockentry>
<d:lockscope><d:shared /></d:lockscope>
<d:locktype><d:write /></d:locktype>
</d:lockentry>
</d:supportedlock>
<d:lockdiscovery />
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>

Now, sometimes, C# hangs on

PROPFIND /path/to/foo.bar HTTP/1.1
translate: f
Depth: 0
Content-Type: text/xml
Host: httpserver
Content-Length: 90
Expect: 100-continue
HTTP/1.1 100 Continue

It is only 100 seconds afterwards that the IBM http server sends a timeout.

Why is the request never send? Mironelli gives a workaround

  1. req.ServicePoint.Expect100Continue = false;

That way, the request contains the full body from the beginning, instead of a check for the server capabilities.

Utiliser firefox en intranet

La plupart des intranets « tout Microsoft » utilisent NTLM pour authentifier les utilisateurs sur les sites.

Si Firefox supporte bien le NTLM, par défaut, il faut saisir son mot de passe à chaque visite. C’est parce que Firefox ne fait pas confiance au site qui demande le jeton NTLM. Pour que Firefox ait confiance, il suffit d’ajouter le site dans network.automatic-ntlm-auth.trusted-uris

Pour cela, visiter la page « about:config », accepter l’avertissement.

Chercher « ntlm » pour trouver le paramètre network.automatic-ntlm-auth.trusted-uris. Indiquer ici les sites visités, séparés par des virgules.