Posts

Showing posts from August, 2007

Are You Ready for Live ID?

Communism doesn't work because people like to own stuff. - Frank Zappa Microsoft has rolled out its Live ID Web Authentication SDK and from some of the forum posts I've seen, developers are already misunderstanding what they really have to work with. You see comments like "hey, but it won't give me their email", or "Useless!", etc. Wrong! Windows Live ID is the authentication used by Microsoft’s web sites and services - for example, Hotmail and Live.com. Windows Live ID is the evolution of the original Passport Service -- the name change ostensibly to focus on Window Live services and its ability to federate in a multi-property, multi-service identity world. If you don't believe this is big, let me give you one number: currently, more than 380 million users have credentials that work with Windows Live ID. D00d, that -- is big! Oh, and by the way - it's not just for the web. There is also a Windows Live ID Client SDK. Mostly the offering has be...

Dr. Dotnetsky's All time Grammar Pet Peeves

Is your server "loosing" Session State? Is your "Web Sight" not getting enought traffic? Why you should pay attention to your grammar, since it's a direct reflection of your professionalism on the web. The worst offenders, explained in plain English, with examples. read more | digg story

SEO: Does Yahoo Get It With Site Indexing? NOT!

Not only is there no God, but try getting a plumber on weekends. - Woody Allen After a lot of pain, contacts and fixing, I'm not sure that they do. I am not going to name names or point fingers, but really, Yahoo seems to have completely lost it in the search engine wars. You put up a new website, create a sitemap, submit it to Google, Yahoo, and MSN ("live.com"), and you do everything right, including adding the new accepted "sitemap" directive to your robots file. Google jumps right on it. Within a day or so, virtually every entry in your sitemap is going to get indexed. If you ping them via the various RPC Ping server addresses and you have engineered the ability to update and use their Webmaster tools, the googlebot doesn't seem to have any trouble at all indexing your "stuff". That's coolio with me, because over a range of websites, I've found that the Googly Bear is responsible for 90% of my search engine traffic to the site. And -...

Ultimate Developer Tool List and WSSF Woes

I first met Scott Hanselman at the bus stop outside the W Hotel in Seattle. A group of devs including Rob Howard, Scott and I were waiting to go the the Mother Ship to have our brains crammed full of Geek Food. This guy is a ball of fire, I'm not sure if he ever sleeps (Scott Guthrie is another one of those). N.B. -Hanselman is walking to fight Diabetes and you can help! Anyway, Scott has come out with his 2007 version " Ultimate Developer and Power Users Tool List ". Once again he features my litle UrlKicker tray tool that will band-aid broken copied urls together and take you there, search on a number of providers with a copied search phrase to the clipboard, and even has a little "notes" facility that enables you to make notes and view them. WSSF Woes One of the problems you may encounter when using GAT packages and framework - generation wizards like the WSSF (Web Services Software Factory) is that the wizards don't always want to allow you to do "...

Not so Random Coin Toss: Mersenne Twister

“The generation of random numbers is too important to be left to chance.” — Robert R. Coveyou Often when confronted with difficult decisions, I resort to a simple coin toss to "get objective". But, flipping a coin may not be the fairest way to settle disputes. About 13 years ago, statistician Persi Diaconis started to wonder if the outcome of a coin flip really is just a matter of chance. He had Harvard University engineers build him a mechanical coin flipper. Diaconis, now at Stanford University, found that if a coin is launched exactly the same way, it lands exactly the same way. The randomness in a coin toss, it appears, is introduced by us sloppy humans. Each human-generated flip has a different height and speed, and is caught at a different angle, giving different outcomes. But using high speed cameras and equations, Diaconis and colleagues have now found that even though humans are largely unpredictable coin flippers, there's still a bias built in: If a coin star...

Developer Evangelists Unite!

Last Thursday, August 23 2007, I had the pleasure to get paid time off from my employer to attend a local Orlando MSDN Developer Evangelist event hosted by Russ Fustino , our Florida MS Developer Evangelist, in Orlando. I was both pleased and excited to see a real turnout of new faces I've never seen before, as well as good friends and several other MVPs who made the trip, either as attendees or presenters. Russ Fustino surprised me. Although Russ and his MS cohort Joe Healy and I have become friends because of our almost constant interaction at various developer events (Code Camps, MVP Summits, PDCs, Tech-Eds and even local developer user groups like our OneTug Orlando .NET User Group) I had never seen Russ do a full presentation. Bottom line, Russ is an expert presenter. This guy did four hours of "stuff" -- all by himself -- and I gave him an 8 out of 10. I've done some presentations at public user group meetings, and I intend to do more in the coming months. I ...

Visual Studio 2005: Project / Properties Display Errors

The quickest way of ending a war is to lose it. -- George Orwell I'm posting this fix because it is extremely difficult to find on the web. In certain situations, the underlying COM dll's or type libraries that "help" the Visual Studio IDE perform its various functions get unregistered, causing any number of different symptoms. This can happen for example if you've installed an Orcas Beta (which does it's own set of "stuff"), then uninstalled or done a repair or upgrade on Visual Studio 2005 on the same machine. Most of these COM Server "helper" dlls and tlbs can be found here: C:\Program Files\Microsoft Visual Studio 8\Common7\IDE You need to re-register those of these that are COM Servers. Of course, you cannot know which are and which are not, but running REGSVR32.EXE on all of them cannot hurt anything. What I did to make this easy is first to create a list of all of them. You can do this from a DOS window with the command: dir /b *.dl...

SEO Friendly Paging with ASP.NET 2.0 Data Controls

ASP.NET has lots of "out of the box" features that make the display of data easy, including pageable GridViews and DataGrids with little or no code. But the stock paging mechanism uses javascript to cause the postback, and the url of the new "page" doesn't change. This is not "SEO friendly", because the Googlebot won't index each page. Here's a fix in my recent article on eggheadcafe.com. read more digg story

ASP.NET: REGEX Parse the RSS / ATOM Feed Url from a Page

2 is not equal to 3, not even for large values of 2. - Grabel's Law I've been scraping again, I confess. Just can't resist it. One of the things I've run into when grabbing a bunch of web pages in a threadpool callback is how to determine if the page sports the autodiscovery tags (e.g. there is a feed for the site). Here is one way to do this with a little bit of REGEX: using System.Text.RegularExpressions; namespace WebLogsSearcher { public static class Matcher { public static string Parse(string htmldata) { Regex linkregex = new Regex(@"<link\s*(?:(?:\b(\w-)+\b\s*(?:=\s*(?:""[^""]*""'" + @"[^']*'[^""'<> ]+)\s*)?)*)/?\s*>", RegexOptions.IgnoreCase RegexOptions.ExplicitCapture); string url = ""; foreach (Match linkmatch in linkregex.Matches(htmldata)) { bool ok = false; Regex sublinkregex = new Regex(@"(?<name>\b(\w-)+\b)\" + @"s*=\s*(""(?<...

Analysis: Should You Publish Full or Partial RSS Feeds?

"After silence, that which comes nearest to expressing the inexpressible is music." -- Aldous Huxley This is an argument that comes up frequently among those who author content of any kind and publish RSS feeds of same - which is better - to publish the full content in the description field, or just a summary with say, a "read more" link that forces interested readers to go directly to the site to read all of it? I've done some research on the subject, as well as having some actual data of my own with which to make comparisons, and I am of the opinion that publishing the full content is the best way to go. There are basically two concerns that webmasters have that target this subject: 1. Since with a full feed RSS Subscribers will get to read the full blog content inside their newsreader, they would not visit the actual site - meaning lower pageviews would impact advertising revenue negatively. 2. A more ominous threat is from blog plagiarists and "Made F...

ASP.NET: Loss of Session / Cookies with Frames

Imagine if every Thursday your shoes exploded if you tied them the usual way. This happens to us all the time with computers, and nobody thinks of complaining. -- Jef Raskin Recently we had a forum question on eggheadcafe.com where the user indicated they were losing Session because of the use of FRAMESET or an IFRAME. If you implement a FRAMESET where frames point to other Web sites on the networks of your partners or inside your network, but you use different top-level domain names, you may notice in Internet Explorer 6 that any cookies you try to set in those frames are lost. This is most frequently experienced as a loss of session state in an Active Server Pages (ASP) or ASP.NET Web application. You try to access a variable in the Session object that you expect to exist, and it is null. You can also see this problem in a FRAMEs context if your Web pages alternate between the use of Domain Name System (DNS) names and the use of Internet Protocol (IP) addresses. The fix is very si...

Windows Vista "Pre -SP1" Performance and Reliability Update

There's stuff out now that apparently has punched MS's Hotbutton enough times so that they are releasing the fixes now -- before Service Pack 1 comes out. We got some real chemistry here -- I felt it! The info and download page for this is here . This isn't a very long list of "Fixes", but the ones I list here (assuming they work!) will make me feel better: When you copy or move a large file, the "estimated time remaining" takes a long time to be calculated and displayed. Zzzzzzzzzzzzzzzzzzz.... say what? After you resume the computer from hibernation, it takes a long time to display the logon screen. After you resume the computer from hibernation, the computer loses its default gateway address. Poor memory management performance occurs. You gotta just love that last one "Poor memory management performance occurs" - man if that isn't the biggest catch-all for whatever Vista ailment you've got! Did you know that over 50% of Windows Vista...

Windows Live Folders debut

Looks like Microsoft has opened up its Windows Live Folders offering here . Nothing earth-shaking, but it has a nice clean user interface and offers 500MB of free storage. You can store documents, music etc. in various folders, send links to friends, make it public, private or shared only to certain people. You can also control read or contribute settings on a folder for others. Standard HTTPInputFile control uploads, no fancy ActiveX or other junk to bomb-out your browser. Here is an example link to a file I have in one of my "public" folders: http://cid-683c01ce35fb357d.skydrive.live.com/self.aspx/Public/pondpic.jpg BTW -- they have an IFRAME snippet that "embeds" a Live Drive (yep - they've changed the name already) item in your page. You want to be very careful about using these - I had one in this post and then every time I'd load this UnBlog in my browser, the little booger would take control and redirect everybody to the Live Drive page. DOH! I...

WSSF: Software Factories and You (or "Help, I've Fallen...")

"If it really were 1985 and you were writing Windows, you wouldn't even be doing it in C ... Windows itself was written in 8086 Assembly Language" -- Charles Petzold First - what's a Software Factory? In software engineering and enterprise software architecture, a software factory is defined as a software organization structured such that software projects are built in discrete "work centers". These generally represent, or specialize in, certain software disciplines such as architecture, design, construction, integration, test, maintenance, packaging, release, etc. Much like a true manufacturing facility, software factories require clearly defined product creation and management processes. By utilizing the same fundamentals as industrial manufacturing, a true Software Factory can achieve a superior level of application assembly even when assembling new or horizontal solutions. This can provide benefits in terms of economies of scale, geographic distributio...