A pedant that hangs out in the dark corner-cases of the web.

Tuesday, July 28, 2009

Internet Explorer User Agent Spam

Update: No more! IEBlog : Introducing IE9’s User Agent String

  • Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)
  • Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Embedded Web Browser from: http://bsalsa.com/; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)
  • Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727; IEMB3; Windows-Media-Player/10.00.00.3990; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; eMusic DLM/3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; WWTClient2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; IEMB3; AskTB5.3)
  • Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MSN Optimized;US; .NET CLR 3.0.04506.648; Zune 3.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSN Optimized;US; AskTB5.4)
  • Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Comcast Install 1.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; Media Center PC 3.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)

Why are the .NET CLR details cluttering up the user agent string? I can't figure out how the information is relevant in the web environment.

We've got user agent strings pushing past FOUR HUNDRED CHARACTERS in length.

If Microsoft is trying to communicate browser capabilities, there's a header for that: HTTP Accept.

The same goes for Zune, MSN Optimized, Media Center PC, InfoPath, OfficeLiveConnector, OfficeLivePatch, and MSN Optimized, and probably dozens of others.

Microsoft is filling up our logs, and congesting the tubes with what can only be considered SPAM.

My web logs are not the place for Microsoft advertising!

Also: It's past time to get rid of the "Mozilla/4.0 (compatible;" nonsense.

I propose a protest: include the three longest MSIE user agent strings from your server logs at the top of all comments and communications to Microsoft.

Tuesday, July 07, 2009

Web-based UML diagramming apps

If you need to quickly create a UML diagram, I've found a couple of sites provide a simple way to convert simple text representations into nice, attractive UML diagrams.

WebSequenceDiagrams.com

This site is great for creating UML sequence diagrams.

Alice->Bob: Authentication Request
note right of Bob: Bob thinks about it.
Bob-->Alice: Authentication Response
WebSequenceDiagrams.com example

yUML

yUML.me easily creates both class and use case UML diagrams.

[Customer]+1->*[Order]
[Order]++1-items >*[LineItem]
[Order]-0..1>[PaymentMethod]
yUML class diagram example
[User]-(Login)
[User]-(Logout)
(Login)<(Reminder)
(Login)>(Captcha)
yUML use case diagram example

For more, see my diagram bookmarks.

Wednesday, July 01, 2009

Best Registry Hack Ever: MaximizeApps

This registry hack maximizes windows by default when they open! For years, I've been using a superfluous freeware program for this. I wish I'd known about this much sooner, or that Microsoft had provided some UI for this option (at least in the old TweakUI).

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"MaximizeApps"=dword:00000001

Update: Here's how to set it in PowerShell ( ` is the line-continuation character):

New-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer `
-Name MaximizeApps -Value 1 -PropertyType DWORD