Category Archive: Syndicated

Give it Five Minutes

This is a great post by Jason F @ 37Signals on conducting yourself and your state of mind. Its so important to have an open mind in business. Please do have a read.

After my talk Richard came up to introduce himself and compliment my talk. That was very generous of him. He certainly didn’t have to do that.

And what did I do? I pushed back at him about the talk he gave. While he was making his points on stage, I was taking an inventory of the things I didn’t agree with. And when presented with an opportunity to speak with him, I quickly pushed back at some of his ideas. I must have seemed like such an asshole.

His response changed my life. It was a simple thing. He said “Man, give it five minutes.” I asked him what he meant by that? He said, it’s fine to disagree, it’s fine to push back, it’s great to have strong opinions and beliefs, but give my ideas some time to set in before you’re sure you want to argue against them. “Five minutes” represented “think”, not react.

 

Give it five minutes (37 Signals)

Continue reading »

Using a Custom IDataReader to Stream Data Into a Database

In a previous post, I discussed how to use the SqlBulkCopy class along with a SqlDataReader to quickly stream data from one database to another.  The reason that you can use a SqlDataReader as a parameter in the WriteToServer method of SqlBulkCopy is …

Continue reading »

Moving 6 Billion Messages Without Being Noticed

We’ve just finished moving every message in every user’s message center — all 6 billion of them — to a brand new set of database servers, and we managed to do it without anyone noticing. We didn’t find much published material about the best way to do this, so we wanted to share a few …

Continue reading »

The Daily – Also Poorly Architected

A few weeks ago I took a peek at The Daily (a “digital newspaper” app from News Corp.) and quickly decided that my time and money were better spent elsewhere when it comes to getting the news.  Bear in mind that I am more strict in my eval…

Continue reading »

Windows Phone 7 Development for Absolute Beginners

While researching some .Net tutorials online I came across a series done by a couple of guys in the Microsoft space who put together a great step by step guide to break into Windows Phone development. Normally I wouldnt go through the trouble to write an article but what I think is great is that …

Continue reading »

Announcing Silverlight 5 – ScottGu

Today at the Silverlight FireStarter event we unveiled the next release of Silverlight. 
Silverlight 5 adds significant new features and capabilities, and enables developers to create premium media experiences and deliver rich applications across…

Continue reading »

How To Create a Basic SharePoint Web Part

A large part of SharePoint’s power comes from the fact that the interface is completely pluggable. Users can add web parts to pages of their choice in order to add functionality and features to a SharePoint site on demand. So, an obvious direction any SharePoint developer would take is to learn how to develop web [...]

Continue reading »

Clean Web.Config Files (VS 2010 and .NET 4.0 Series)

This is the first in a series of blog posts I’m doing on the upcoming VS 2010 and .NET 4 release.

Today’s post is about an admittedly small, but I still think kind of nice, change coming with ASP.NET 4.0: clean, simple, web.config files. 

You’ll encounter this improvement the first time you do a File->New Project within Visual Studio 2010 and create an empty ASP.NET 4.0 Web application (which is why I thought it might be appropriate to-do as the first post).

Web.config files in .NET 3.0 and 3.5

Over the last few releases, the web.config files within new ASP.NET projects have steadily increased in size. For example: the default web.config file that is added to a new web project in Visual Studio 2008 SP1 is now some 126 lines long, and contains everything from tag definitions to definitions of handlers and modules to be included in the ASP.NET HTTP pipeline.

This increase in size is because .NET 3.0 and .NET 3.5 use the same CLR and machine.config configuration file as those shipped with .NET 2.0 – and simply add and update assemblies in the framework when they are installed.  To avoid the risk of us accidentally overwriting customized settings within the original 2.0 machine.config on the machine, we didn’t register the tag definitions, handlers and modules that shipped with the new ASP.NET functionality that came with the .NET 3.0 and .NET 3.5 versions.  Instead, we defaulted to having new projects register these settings within the application’s local web.config file instead.  This was safer – but caused the web.config files to increase and become more complicated and harder to read.

Web.config files in .NET 4

.NET 4 includes a new version of the CLR, and a new .NET 4 specific machine.config file (which is installed side-by-side with the one used by .NET 2, .NET 3 and .NET 3.5).

The new .NET 4 machine.config file now automatically registers all of the ASP.NET tag sections, handlers and modules that we’ve added over the years, including the functionality for:

  • ASP.NET AJAX
  • ASP.NET Dynamic Data
  • ASP.NET Routing (which can now be used for both ASP.NET WebForms and ASP.NET MVC)
  • ASP.NET Chart Control (which now ships built-into ASP.NET V4)

What this means is that when you create a new “Empty ASP.NET application” project in VS 2010, you’ll find that the new default application-level web.config file is now clean and simple:

The first config section above just tells ASP.NET to enable debugging by default for the application, and indicates the version of .NET that Visual Studio should target when it provides intellisense (VS 2010 supports multi-targeting – and the intellisense within the IDE will automatically vary depending on which version of the framework you are targeting).

The second config section indicates whether to use “integrated” mode when running the ASP.NET application within IIS7 – which controls whether to run ASP.NET HttpModules for all requests within the application or just for the ASP.NET specific URLs.  We enable this by default at the application level web.config file for new applications – since for compatibility reasons the default IIS7 setting registered at the machine-wide is to run modules only for ASP.NET URLs (and not for all requests).

Summary

The simplified web.config file in .NET 4 is an admittedly small change – but I think a nice one nonetheless, and one which makes the default experience when you create a new ASP.NET application a little cleaner and more approachable.

In the posts ahead I’ll be delving into many of the more substantial improvements coming with ASP.NET 4. (as well as a few more of the “small but nice tweaks” coming too)

Hope this helps,

Scott

Continue reading »

Executing Code in Assemblies with SharePoint CustomActions

In my previous post, I discussed the basics of using a CustomAction to enhance the functionality of a content type. We used a CustomAction to redirect and pass some parameters to another page. This functionality is great, but what if you don’t want the user to go to another page for your custom logic to [...]

Continue reading »

Tested or Not?

A software system’s “tested” status is an interesting thing. Sometimes, in a schedule crunch, the decision makers may decide to cut back on testing, hitting only the most commonly used portions of the system. Almost inevitably, when this is done, a bug in one of the less commonly used parts of the system gets out.
I [...]

Continue reading »

Older posts «