SharePoint v3: Turn On Friendly Error Messages

By hagrin - Posted on 08 February 2007

Anyone who has worked with SharePoint extensively knows that when troubleshooting SharePoint errors you will be confornted with some of the most meaningless, generic error messages of any major application around. However, thanks to articles like this (which is where I first read this tip), SharePoint developers and administrators can turn on more descriptive, "friendly" error messages by making two changes to your web applications web.config file -

  1. Set customErrors=off
  2. Set CallStack="true"

Making these two changes in your development environment will really help your SharePoint developers and admins troubleshoot technical issues.

SharePoint v3: Recreating the Quick Launch Menu

By hagrin - Posted on 07 February 2007

UPDATE: 2009 June 17th - Please see the comment by David in the comments section. His fix is the best fix I have seen for this problem.

If you see any improvements that I can make, let me know by leaving me a comment. Hope this helps someone.


  1. Version 1.2 - (2009 June 17) - Much better solution posted in comments by user David.
  2. Version 1.1 - (2007 May 2) - Bug fixes which include:
    • Applying Quick Launch logic that is used in the SharePoint WSS 40 Free Application templates.
    • Wrapping data retreived from the database and other sources in System.Web.HttpUtility.UrlPathEncode() to prepare for URL formation and usage.
    • Colorized the comments (I'm looking for a Drupal module to automatically do this for me)
  3. Version 1.0 - (2007 Feb 7) - Original Article on recreating the SharePoint v3 Quick Launch through a Web Part

Microsoft Releases Live Search SOAP API 1.0

By hagrin - Posted on 06 February 2007

Microsoft announced their Live Search SOAP API 1.0 is out of beta and has been rebranded to reflect the name of their search engine. The Live Search SOAP API excites programmers like me because, while Google has removed any future access to their SOAP API, Microsoft is enhancing theirs and providing more power to the programmers of the world. A quick comparison of the Google SOAP API and the Live Search SOAP API shows the following:

  • The Live Search SOAP API is still being actively developed by Microsoft while Google has stopped releasing SOAP API keys and support to the servers handling the API requests.
  • The Google SOAP API allows for 1,000 queries per day where the Live Search SOAP API allows for up to 10,000 queries per day. The higher number of maximum daily queries would allow for companies to more accurately track their performance and track more keywords and phrases.
  • The Google SOAP API allows you to only pull the first 100 results for a particular search phrase while the Live Search SOAP API can return up to the first 1,000 results for a term.

In addition to the comparison with Google, the Live Search SOAP API has added features such as additional language support, enhancing search tag results, improving local search, phone book results and improved their documentation with additional code samples. Remember, you will Visual Studio 2005 and the .Net 2.0 Framework to utilize this API.

The only problem I see with the new Live Search SOAP API? It can't query the Google index.


By hagrin - Posted on 05 February 2007

Many of my close personal friends know that when Google came out and then again shortly after (my ex will testify that when it was at the 150 range that I said in the car to her that she should buy it because it would go to 400), I told everyone that this was the can't miss stock of our time. I, and many others, was proven right.

Now, I will give you the next big stock to invest in and hold onto for about 5-10 years: SHLD.

Sears Holdings Corporation, led by Chairman Edward S. Lampert, is described as a "broadline retailer", but many investors will call SHLD a "virtual hedge fund". To understand why this is important, we need a quick history lesson. For ease, I will quote this MarketWatch story:

Sears Holdings Chief Executive Edward Lampert is regarded as one of the top five hedge-fund managers in the United States. He has a stellar track record with an average annual return of about 29%, before fees, since he went out on his own with ESL Investments in 1988. In 2005, he became the first hedge-fund manager ever to breach the $1 billion mark in income, according to Alpha magazine. If Lampert can generate returns anywhere approaching that by turning the retail behemoth's heavy cash flow into yet more money, then why not, argues Deutsche Bank analyst Bill Dreher. Like Buffett -- who Lampert follows closely and often quotes -- Lampert may be able to turn an iconic American name into a monolithic investment stock, though his approach to retail would be considered nontraditional.


To get in on Lampert's hedge fund, an investor must first be invited and then commit a minimum of $20 million -- plus have the stomach to forget about it during the five-year lockup period. Sears Holdings shares, on the other hand, are trading for about a mere $180 a piece, so 100 shares would cost $18,000 -- a pittance in comparison, and you can get out at any time. In fact, you could call Sears Holdings a working-man's hedge fund. "Why would you invest in ESL when you can invest in Sears Holdings and you don't have to pay a 2% management fee; you don't have to give him 20% of the profits," said Dreher. "Everything he's doing with Sears Holdings investments goes right back to the shareholders."

So, he has the track record, the experience and the price is affordable to the common man. However, at around 175-180 dollars a share, isn't it priced out already? Not so if you believe Lampert who describes SHLD as a "$55 billion startup." How many startups do you know that have 55 billion dollars in assets to play with at its "inception"? In addition, the options market is generally a "big money" game led by those with the most to win and lose. When looking at option pricing, you can see that the 1 year and 2 year pricing targets are in the 200+ dollar range meaning at least a 10% increase in the next year or two. That's a pretty good ROI with a stock that has a Beta value of -0.13.

SHLD marks the first entry into the Virtual Stock Picks tracker. I locked in my pick at the beginning of the day at 178 so we have -

Pick #1
Buy @ 178 on 2/5/2007
Strategy: Long-term Hold

We'll track the performance of my picks over time and see if we can make some people some money. And yes, I do plan on investing my own real money in my picks so my money does back these wild speculations.

Google Inbound Links Tool

By hagrin - Posted on 05 February 2007

The Official Google Blog announced a new tool that shows webmasters their inbound links through Google Webmaster Central. This tool replaces the broken link: operator and is thoroughly explained on the Google Webmaster Blog here.

The tool provides links differentiated by external and internal links. External links are links that direct to your site that are located outside of your domain. Internal links are links that direct to pages on your site and are located on your domain. A new "Links" tab was added within the Webmaster Central tool which allows you to see external and internal as well as links to specific pages on your site. This data can also be downloaded through the Webmaster interface.

Thank you Google for providing us with a valuable tool to evaluate link information.

Best Super Bowl Commercial

By hagrin - Posted on 04 February 2007

99% of the world thinks he's a no talent, money grubbing, poor, white trash excuse for a human being, but Mr. Kevin Federline stole the Super Bowl commercial competition with his Nationwide advertisement tonight. Self-deprecating humor always works best and he pulls it off to perfection.

Digg Removes Top Diggers List

By hagrin - Posted on 02 February 2007

Kevin Rose announced today that Digg will be removing their "Top Diggers" list in order to combat Digg gaming.

First, let's praise Digg and Kevin Rose for being open enough to admit that Digg gaming is a serious problem if only in perception. Admitting that there is a potential problem definitely deserves credit and talking about the issue in a public manner shows a level of corporate transparency that I appreciate (I wish more companies could follow suit *ahem* Google *ahem*). Although many will debate exactly what the impact of the decision will be, it's definitely a step in the right direction because ranking systems always end up creating a competitive atmosphere leading to mass submissions (creating signal to noise ratio issues), potential Digg gaming and the ability of the few to influence the masses.

However, there's a lot to be concerned about when Digg's founders state that they "strongly believe attempts to game Digg are ineffective". I'm sorry, but the evidence that Digg followers have gathered about friends Digging other people's stories 100% of the time, domains being unfairly banned through over submission, top diggers getting duplicates promoted when others have submitted the same story and other issues show that Digg can be successfully gamed. I have seen SEO forum posts where post creators ask for readers to exchange diggs for certain articles. For Digg to acknowledge the issue and then proclaim it a non-factor should definitely raise red flags to the attentive reader.

What are the impacts of this change?

First, whenever you remove a "competitive incentive", you'll see user contribution decline - not exactly a desired effect when dealing with a social news website. This effect probably will be negligible, but it will occur as people can't see their name on the Top Diggers list. Second, users will no longer be able to blindly add Top Diggers to their friends list and will probably be more encouraged to befriend those users that have similar beliefs and viewpoints. However, Top Diggers from before this move will still have their loyal following so long as they still contribute to Digg, they will be able to influence which stories receive Front Page prosperity. Third, there will be very little effect in terms of eliminating Digg gaming. Many Digg applications have been developed such as average user comment ratings so Digg page scraping is already occurring (Digg APIs are floating around that make it easy for the average programmer to provide this information). Therefore, it's forseeable that those intending to game Digg will be able to still identify volume submitters and potentially influence which stories they submit and digg. In addition, top diggers weren't necessarily the "gaming" problem source as it was more with the lower users and networks built through communities outside of Digg.

With all these things being said, it's still the right move by the Digg leadership. With social news sites where a single voice should be able to influence what readers see, taking out "competition" between users will definitely end up a step in the right direction. Digg will be able to find other ways to offer incentives to their power users in the future that will be more beneficial than publically displaying their Digg rank. I look forward to seeing how Digg rewards its power users (disclosure: I am not one of the power users) and the overall, long-run impact of this change.

Google to Offer Real-Time Stock Quotes

By hagrin - Posted on 12 January 2007

And this is why I love Google.

Google announced that they will be offering free real-time stock quotes once the SEC approves their proposal. Now, this isn't a done deal; however, the progress being made in the financial data area is very exciting. Hopefully, this deal gets done and the information not only becomes accessible to the public, but available through a Google Financial Data API.

However, what's the moral of this story? What do you read between the lines?

I would point to this as an example of the potential power of corporate blogging. When was the last time a company put its "cards on the table" before a final deal was struck? Google is putting the screws to the SEC and Wall Street by getting their "free data (read - love) for all" approach out to the public while their efforts are being held up by the "big bad" SEC. Corporate blogging, especially from Internet powerhouses like Google, has hit the mainstream and is now being reported on by social news sites, traditional news sites, other blogs and the print media. Hopefully, more companies see the value in blogging and provide the public not only with propoganda, but useful information and alerts.

Greg Paulus Must Sit

By hagrin - Posted on 10 January 2007

I know he won the Gonzaga game basically by himself. I know that he has shot the ball much better from the outside this year. I know that without him Scheyer's game will suffer immensely and completely change the way Jon plays. With that being said, Duke fans, coaches and players should all be saying the same thing -

Greg Paulus must sit.

I believe I've figured out what's wrong with Paulus as a point guard on the offensive end. Paulus, when making a move on a defender, is only dribbling the ball 3 to 4 times before picking up his dribble no matter where he is on the court and no matter which direction he is facing. I believe he's so overly concerned with running the Duke motion offense and not pounding the air out of the ball that's he leaving himself in terrible, non-assist positions. Watch the games - he will take 3 to 4 dribbles against a defender and pick up his dribble looking for an "attacking" type pass (an attacking pass is a pass that moves the ball closer to the opponent's hoop). If that pass has been cut off by the defender, he then turns his back to the opponent's hoop and tries to make a non-attacking pass around the peremiter - a pass he's throwing all too frequently. It's because of his lack of penetration and lack of attacking passes that the Duke offense suffers tremendously and forces his teammates, especially McRoberts, to catch passes too far away from the basket.

Why has Greg Paulus' play suffered so much this year? Here's a few of the many reasons -

  • The JJ Hangover - Last year, Duke only had two scoring options and in many games it really only had one - JJ Redick. If Paulus made that non-aggressive swing pass along the perimiter last year, it quite frequently landed in the hands of Redick who was running free off a screen and who would launch from all distances. This year, Paulus doesn't have the aggressive, #1 option on the floor with him at all times since this Duke team scores more by committee than they did last year. Jon Scheyer and DeMarcus Nelson, while both good outside shooters, don't possess the green light to shoot the ball like Redick did last year due to differences in talent, experience and trust.

  • Size Matters - Guys, no matter what the ladies say, this is a fact of life. Paulus, in the few games he has played well in this year, competed against guards of comparable size. Gonzaga's Ravio is built like a sophomore in high school and Paulus actually owned a strength advantage against him. Now, in ACC conference play, Paulus will be matched up against very physical, taller, longer and quicker guards. This causes Paulus a major problem and you can see its effect by the way he dribbles the basketball. When Paulus has to make a penetrating move against a longer, taller, more athletic opponent, look at his shoulders in relation to the basket. Very rarely will you see Paulus with his shoulders squared to the basket in a position to take his defender either way off the dribble. Ninety percent of the time Paulus has to turn one way or the other to "shield" the defender away from his dribble which severely limits his ability to distribute the ball, to penetrate and to see the court.

  • Physical Conditioning - Paulus is coming off an offseason injury which has effected his play this year without a doubt. However, when I look at pictures of him this year as compared to last, I question what type of physical conditioning he's in. He seems to have lost definition in his arms, he gets those neck fat rolls now when he dribbles, he's sporting the beginnings of a double chin, his forearms look flabby and generally just seems slower this year which could explain his lack of penetration. This is all unconfirmed because I don't have access to body fat tests, I don't see him in practice, etc., but just a cursory glance at photos and videos has led me to this conclusion.

  • The Ball-less Statue - Where are the cuts down the lane we saw during the Gonzaga game? Paulus, too frequently during offensive possessions, doens't dip down to the basket and instead just roams around the perimeter in what I would call a passive, supporting role. He needs to stretch the defense, make his defender work and try to create seperation by moving without the ball.

  • "I Think I Can, I Think I Can" - Although confidence is an issue with almost every athlete, the analysts are blowing the confidence issue well out of proportion. Sure, being excluded from the starting lineup against Georgia Tech is going to weight on his mind and potentially cause him to overthink his actions on the court. However, if that's the case, you must sit him and alleviate the "Duke's Starting Point Guard" pressures off of him until he matures. I truly believe if it was purely a confidence issue then Paulus would have snapped out of it after the Gonzaga game, but instead he has regressed even further.

The reasons above only talk about Paulus' offensive game. Do I even need to discuss why Paulus hurts Duke on the defensive end? He can't guard a plant (and not the plants Rick Majerus described that grow in Florida classrooms), he causes the interior defense to collapse off their men to stop penetration and hurts the rebounding game.

The most troubling part about this entire discussion is that Duke needs Greg Paulus to be the point guard they expected he would be. They don't have the personnel at the point to absorb too much time on the bench for Paulus. Although a lineup of Scheyer, Nelson, Henderson, Thomas and McRoberts looks great on paper, having Scheyer run the point leaves Nelson as the only legitimate threat on the perimeter who won't have to worry about ball handling responsibilities.

What can Paulus do to fix his offensive struggles?

  • Square his shoulders more when dribbling the ball outside on the perimeter
  • Move more without the basketball, specifically, more cuts down the middle of the lane
  • Stop picking up his dribble after a very predictable number of bounces when trying to make an offensive move
  • Penetrate and shoot more often, but only as the situation allows for it

Until Duke figures out their point guard situation, it's going to be a very, very long year.

Does Digg Belong in Google's Index?

By hagrin - Posted on 04 January 2007

I have to thank Search Engine Journal for posing one of the better questions so far of 2007 - does Digg belong in Google's index? (Actually, as you read the SEJ article, Allen Stern seems to have posed this question first.)

So, Does Digg belong in Google's search index?

First, a lot of people have weighed in on this topic since the initial people posed this subject and almost all of them are just plain wrong not because of where they sit on the issue, but more because the facts they used to support their arguments do not make sense or are completely false. What are some of the arguments for both sides and what are the misconceptions?


  • Helping Users Find Content - This would be the strongest argument for including Digg results within the Google index. Although many people seem to be incorrectly using the term "pagerank" (see here), the general idea is solid. Some pages on lesser authoritative sites (based on not only PR, but backlinks, keyword density, domain age, robots.txt exclusions, etc.) that hold the original content may get lost in the Google index and having the Digg result appear in the index improves the chance that the Google user will find the content he/she is looking to find. Generally, the rule states that you want to do anything that improves the user experience and helping users find the content they need should be the goal of any search engine.
  • Digg Mirroring - One of the greatest benefits of having the Digg version of a story appear in the search results is if a story disappears from the original site, very often the Digg comments will contain a link to a mirror of the original content keeping it alive past just the lifespan of the original website. However, would the average user know that? Obviously, no since most average users have never even clicked on the "Cached" link within the Google search results.
  • Don't Like It? Customize Google - Many people suggested using the -site: command with all your searches; however that's extremely inefficient unless you're using a Greasemonkey script. But why not just create your own Custom Search Engine and put Digg on your excluded sites list? The fix is easy and more people should really take advantage of the CSE offering from Google.


  • Other Indices Do Not Exist within Google SERPs - Probably the most compelling argument for why Digg shouldn't be included in the Google search results is that other indicies, like Yahoo!'s search results do not appear in the Google index. This is obvious because search indices don't have "value added" or original content - they contain the page's title and a short description. Of course you're saying - but is Digg an index? Many will argue that yes, Digg is nothing more than an informative/popular index of links. Although there are no hard numbers to confirm this, it would appear that most Digg stories are submitted with the title and the description 100% copied from the original, linked site. Even if we could prove the previous statement, many would say that the comments associated to the Digg submission provides the original content to differentiate itself from other indices. However, the prevailing opinion of the Digg commenting system is so low that many, including myself, consider it broken, highly useless and completely inferior to similar sites like Slashdot.
  • I'm Tired of Clicking - Another popular argument seems to hold that the user experience is diminished because to actually reach the desired content the user is looking for by having to click on the Google search result and then the title on the Digg page. In addition, users unfamiliar with the Digg interface may not understand that the content actually exists after one more "hop". Although the Digg interface is similar to the Google interface (a blue link followed by a short description), I would like to see the functionality improved to something like Reddit's RSS feed where the direct link takes you to the original story and there is a "More" option to read through Reddit comments - something I almost never do.
  • Original Content < Digg Scraped Content? - As a webmaster, I see something inherently wrong with what amounts to no more than a user powered scraper site ranking higher in Google SERPs than the original content. However, it's important that this is not a deficiency of Digg, but more a "feature" of Google's search indexing algo.
  • Duplicate Content - Let's say that the original content URL and the Digg link both appear within the Top 10 results for a search term. How is duplicate content enhancing the user experience? Answer - it's not. There's little difference between this scenario and those generated by spam blogs.


  • Digg is more informative than most sites - The Digg fanboys will be all over this point, but the fact remains that many of the stories submitted to Digg are either blog spam, incorrect or written by authors looking to profit through their site. The reason why Digg attracts a high percentage of these types of sites is because of Digg's power - its massive, fanatical user base, the backlinks a promoted story will receive and the other benefits that relate to increasing your site's popularity. However, just because something is popular doesn't mean that it should be considered an "authoritative source" for certain topics. This isn't a problem specific to Digg, but to much of the Internet and its users - no one is sure exactly who they should trust.

    So, if you've been reading carefully, you've noticed that I haven't taken a side. Where do I stand on the issue? Simple - create and use Google's Custom Search Engine option. Now, Google has to do a better job of promoting this highly valuable tool to "Joe Internet" because many of the usability issues deal with the average user and the CSE option isn't known by more than 1% of the Internet population I would gather (percentage not based on any facts, just perception). How could it be made more mainstream? If you've ever used a site like to look for hot steamy love, you can filter out your searches by eliminating certain people from continually showing up in search results with a simple click of an X. Google could implement something similar and save those preferences based on a user the same way they save search history, CSE optimizations, etc. Therefore, whether or not you agree or disagree with Digg's inclusion, you should know that you can put your own solution into action and determine Digg's influence in your Google searches.