Andy Brummer's blog

A quick analysis of the new Google Social Graph API

| | |

When I saw the press release on the get Google Social Scene API I thought it sounded mildly interesting but not really compelling. Then I read this from a link on [url]http://www.simplebits.com[/url]: [url]http://bokardo.com/archives/why-im-excited-about-the-google-social-graph-api/[/url]. One of the annoying things about facebook, Myspace, linked-in, gmail, etc. is that all the contact/friend info is separate in each one other then facebook importing email contacts and the like.

Microsoft Code Analysis rules

These are the TFS rules that Microsoft turns on for their development.

http://blogs.msdn.com/fxcop/archive/2007/08/09/what-rules-do-microsoft-have-turned-on-internally.aspx

IE6 and IE7 on the same machine

Microsoft has released a pre-activated VPN image of windows xp with IE6 installed so you can test for IE6 compatibility with IE 7 installed on the same machine.

link from IEBlog: http://blogs.msdn.com/ie/archive/2006/11/30/ie6-and-ie7-running-on-a-single-machine.aspx

The Fallacy of Premature Optimization

I came accross this article, which goes into one of the major software design misconceptions out there. I've heard this echoed many times: XML doesn't have to be compact, the network will get faster; Java doesn't have to be fast computers will get faster, etc.

I've also seen many systems bogged down with fundamental designs enforcing poor performance. Most of the time the problem is designers that don't understand the impact of shared resources on a web server. They worry about CPU cycles on individual requests when they use a property heavy remote object, or abuse a database with multiple small requests in a transaction.

ATLAS control test harness

One of my major frustrations with web development has been the lack of good testing tools for the user interface. Back at Dell I worked on one tool which we developed using the .net httpRequest objects and some scripts to check the html and step through some pages, but writing tests was entirely too tedious and broke often. Plus it didn't handle client side well.

My next approach was to wrap the DOM in an XPathNavigator. This made the process less error prone since you could do things like //a[text='next'] or //div[@id='contnet'] however the COM overhead made the searches too slow and you ended up adding hints into the document layout to speed up the searches. The advantage with this approach was that you could find and test just about anything on the DOM including javascript events, etc.

Programming style

I've been using Framework Design Guidelines for a couple of months now, and reading Brad Abrams blog for longer. It's a great book BTW. Not only does it go beyond the usual naming convention standards, it let's you know what to expect from the .net framework and how to write code that works well with it.

One of the suggestions and also one of my pet peeves has to do with returning collections. You should always return a collection even if it is empty and never return null. Null doesn't add any information to the caller and just forces them to write extra code which has no real meaning other then handling an edge case.

New Linq CTP released

There have been a few posts about the new ATLAS framework for ASP.net and all the usability enhancements it enables on the front end. I think LINQ/DLINQ is just as cool for the back end.

It's a functional style syntax for doing queries over objects, xml and databases in C# code. It allows you to take a loop over a collection of objects with the nested if statement as a filter and replace it with a more SQL type syntax where you just loop over a filtered result.

General performance tuning advice

Rico Mariani posted a follow up entry to The Performance War -- Win it 5% at a time.
The Performance War: Using counts to help navigate flat performance reports it's about the approach he uses when he has cleared all the big items out of the system and is working in the hard endurance phase of performance tuning.

Source code for built in ASP.NET providers for download

Microsoft released the code for the built-in ASP.NET 2.0 Membership, Role Management, Site Navigation, Session State, Profile, Web Events, and Web Part Personalization providers (basically all of the built-in providers that ship in the .NET 2.0 Framework Redist).

More info and download link here

Code to move opportunities to another stage

This is a simple console application which moves all opportunites to a specific stage.

Syndicate content