If your site bombs out with 403 Forbidden error one quick way to identify the root cause is to run ProcessMon on the web server and filter it out to only show entries where
Process Name = w3wp.exe
Result = ACCESS DENIED
If your site bombs out with 403 Forbidden error one quick way to identify the root cause is to run ProcessMon on the web server and filter it out to only show entries where
Process Name = w3wp.exe
Result = ACCESS DENIED
I’m on vacation back home in Sri Lanka and became the tech support guy for the in-laws. They were using an old D-Link router which supported just 802.11b and a draft version of g. In short ancient. The house has two stories and a terrace but the wifi wouldn’t even work on all the rooms on the same floor.
So I went to Unity plaza and checked out all the routers that are available. Unfortunately there’s not much in terms of choice. All of the available routers were the low end versions by D-Link, a few have a low-end Linksys router and some Belkin routers. You also get a handful of Asian brands of which the Unity Plaza sales guys tout the TP-Link as being the best brand, far superior to D-Link, Linksys etc.
I finally settled on the Belkin Play Max N300+300 which sells here for Rs. 16,500/-
I got home plugged it in but couldn’t get it to connect to the SLT ADSL. I spent a few hours trying various settings, calling SLT to verify the username/password all to no avail. I finally updated the router from v1.00.45 to v1.00.46 and viola it worked.
The connectivity is really good and I don’t have any dead spots in the house.
Here are a few screenshots of the config page for SLT’s settings.
Here’s a neat tip I learnt over the weekend.
All SQL Server instances are by default set up to use all the memory available on your workstation.
This is ideal when you have SQL Server running on it’s own dedicated server, not so ideal when you have SQL Server installed on your laptop, workstation or even on a SharePoint VM.
Here’s what MSDN says
if SQL Server is one of several server applications running on a single computer, the system administrators may need to control the amount of memory allocated to SQL Server. In these cases, you can use the min server memory and max server memory options to control how much memory SQL Server can use.
In the Server Memory Options page they go on to say:
When you are running multiple instances of the Database Engine, there are three approaches you can use to manage memory
- Use max server memory to control memory usage.
- Use min server memory to control memory usage.
- Do nothing (not recommended).
Which brings us to how we can set the maximum limit. Quite easy. Just connect to each SQL Server instance and set the maximum memory to a more palatable value.
Here’s a visual walk through to limit the maximum memory usage to 512MB for your SharePoint 2010 instance (if you installed it on Windows 7).
1. Start SQL Server Management Studio (or SSMS Express) and connect to your SQL Server instance (SharePoint in this case): localhost\SharePoint
2. Right-click on the instance node and select Properties.
3. Click on the Memory node you’ll notice that the Maximum Server Memory is set to 2,147,483,647MB change it to a lower limit like 256 or 512MB. Click OK and your all set.
If you prefer SQL the same can be done with the following commands.
Enable advanced options:
USE master
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
Set the maximum amount of memory to 512 MB:
USE master
EXEC sp_configure 'max server memory (MB)', 512
RECONFIGURE WITH OVERRIDE
Display the newly set configuration:
USE master
EXEC sp_configure 'max server memory (MB)'
Set ‘show advanced options’ back to default:
USE master
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
If you Visual Studio 2010 setup keeps failing when it tries to install the Visual C++ runtime, here’s a quick fix for you.
Try installing one of the Visual Studio 2010 Express Editions (I did the Web Edition: http://www.microsoft.com/web/downloads/platform.aspx) and then run the VS2010 installation.
I think it has something to do with mounting the ISO as a drive.
A picture is worth a thousand words.
Like me if you spend a lot of time writing up functional specs and architecture diagrams and are looking for ways to convey your ideas through illustrations, here are a few pointers.
Search the Hive
The 12 (now 14) hive has a wealth of icons. The images in the png formats are the slightly larger, higher resolution ones. You can find them at 14\TEMPLATE\IMAGES. Here are a few samples.
Visio 2010 SharePoint Workflows
These are new ones, the icons in this stencil are vector based and can be resized without blurring.
Google / Bing Image Search
Set the filter type to icon and clipart and you do come across some good gems. Remember to check the copyright on the images before using them.
SmartArt in PowerPoint 2007 & 2010
The SmartArts are a powerful tool to illustrate your ideas and need to be used wisely.
Play around with the various styles to get the look you want. Here’s one I built for a functional spec recently.
Here’s a diagram I built today to document a web part. The icons came from Google, the Hive and good old Visio.
Snipping Tool
My favourite tool to get screen grabs, and save them to files if necessary, is the Snipping tool. This has been built into Windows since XP SP2 and is a really handy utility. To get to it just type snip in the Start menu and you should see the Snipping Tool.
One of the first things I do on a new installation is to disable the Red outline from the Option menu. FYI: All of the images above were snipped and saved to disk using the Snipping Tool before being inserted into Live Writer.

Here’s a quick utility that might come in handy. More than once I’ve seen code where the invalid chars were hard coded. The Path.GetInvalidFilenameChars has been in the .NET Framework since 2.0.
The thing is you would expect something like this to be in the framework itself.
/// <summary> /// Removes invalid characters from the string that is passed in. /// </summary> /// <param name="name">The name of the file.</param> /// <returns>The safe name with invalid chars removed.</returns> public static string GetSafeFileName(string name) { var safeName = new StringBuilder(); foreach (var c in name) { if ((from p in Path.GetInvalidFileNameChars() where p == c select p).Count() == 0) { safeName.Append(c); } } return safeName.ToString(); }
Chris Martin posted an even tighter version of this code in the comments below. Thanks Chris.
var invalid = Path.GetInvalidFileNameChars(); return new string((from p in name where !invalid.Contains(p) select p).ToArray());
I started working my way through the hands on labs in the SharePoint 2010 Developer Evaluation Guide and found that I was missing the Visual Studio 2010 Command Prompt in my installation.
Gabriel’s post explained why. I typically don’t install VC++ on my dev boxes and apparently this is a known bug in VS 2010 where the command prompt doesn’t get installed if VC++ is not installed.
What really prompted me to post this is this nice feature new to 2010. I realized that I didn’t have the installation iso but gave it a try by going to Add/Remove programs and going through the Add/Remove features in VS 2010. The dreaded dialog to pick the installation path came up.
I was almost about to give up when I noticed the Download button. And viola the setup actually connects directly to the download servers at Microsoft and get’s only the items that have changed. It also went ahead and noticed updated Silverlight Tools and got them as well.
In the words of @AriBakker. Sweet. Sweet indeed.
I’ve been having this frustrating issue for the last month where the laptop would take about 10 minutes before it was able to connect to the internet. This happened even when the machine came back from sleep/suspend mode.
The Wifi connection would be detected immediate but I would not get an IP from the DHCP server. I always had to fiddle around by disconnecting and connecting a few times.
Well today I got down the source. The problem was to do with the Virtual Machine Network Services that were installed when I added Virtual PC. Once I went into the WiFi Adapter properties and removed the Virtual Machine Network Services I was able to get my PC back to instant connectivity.
UPDATE: No more invites. Sorry guys I’ve given away all my invites on a first-come first-serve basis. Cheers!
I’ve given away most of my invites over Twitter but there are a few remaining though. So if you’d like a wave invite drop me a mail or leave a comment with your email address.
One tip I’ve found useful on my first day is to see public waves using with:public. The list is like a fire hose so I usually add some criteria e.g. ‘sharepoint with:public’ to see all public sharepoint waves.
Fell into this trap today. I deployed an update of my silverlight project to the Sharepoint site but on some machines the browser continously kept loading the older version.
I racked my brain trying to figure out how to add ETags to a xap file and yet keep the deployment simple. The answer though is unbelievably simple in this case. Update your AssemblyVersion when compiling. That’s it. IIS takes care of sending the update through to all the browsers.
BTW the silverlight.net forums are a gem for figuring out answers to silverlight problems.