Navigation

Search

Categories

On this page

Team Development with TFS Guide (free)
Reusable Rules Wizard in Outlook Style
Krzysztof Cwalina - Online lecture on API design
Cheat Sheets
Reviewing Managed Code
Visual Studio Power Toy Pack Installer
Developer API's
Format String 101
Wizard Framework
ASP.NET How Do I Video Series Tutorials
Base Class Library Performance Tips and Tricks
Microsoft Patterns and Practices: The Complete Catalog
Windows Forms - How to disable the close button
Generics FAQ - from fundamentals to best practices
P2P for U and Me
Australian .NET Developer Mailing List
Microsoft Certification Upgrades
Soup To Nuts - Webcast series
Useful Development Newsgroups
Extending Internet Explorer
Google Maps .NET Control
Thoughts on bit fields
Making sense of ASP.Net Paths
World Wind
Open Source .NET
More on Writing Secure Code
BITS and pieces
An Introduction to Code Access Security
Questions I should know the answers to
Top Ten Tips for Web Services Interoperability
Microsoft Enterprise Library
Microsoft McNuggets
Digital Black Belt
Introduction to Code Access Security
Outlook Integration
Returning Objects from Web Services
MSF for Agile Software Development Beta
Win32 and PInvoke, or, Unmanaged Love
The .NET Developer's Guide to Windows Security

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 178
This Year: 0
This Month: 0
This Week: 0
Comments: 551

Sign In

 Monday, May 28, 2007
Monday, May 28, 2007 1:42:51 PM UTC (  |  |  )

Over on CodePlex there is a free guide to developing with TFS. Looks like a How To / Best Practice kind of document.  I'm currently using TFS in my current work engagement, however, I'm pretty sure we are not using it as it was intended. 

Maybe it's time to download and read this guide.

| Trackback | # 
 Wednesday, April 11, 2007
Wednesday, April 11, 2007 1:43:58 PM UTC (  |  |  )

Interesting framework for implementing a Rules Wizard (ala Outlook style) within your own applications over at The Code Project.  This is the kind of thing that I suspect is a lot more difficult to write than you first think.  File away under Useful Frameworks.   

Here is a link to the Code Project Article

| Trackback | # 
 Tuesday, April 03, 2007
Tuesday, April 03, 2007 12:39:38 PM UTC (  |  |  )

Here is a 3 hour talk by Krzysztof Cwalina (co-author of Framework Design Guidelines) on API design.  If you want to hear a person with an enormous brain you should check this out.  (now I've just got to get a spare 3 hours)

| Trackback | # 
 Wednesday, February 14, 2007
Tuesday, February 13, 2007 1:10:56 PM UTC (  |  )

I strongly believe that to be a good developer you need to have a firm grasp on the various shortcuts and productivity tools within your development environment. The problem is that with so many tools and so many things to remember it becomes a problem trying to hold it all in your head.  Let's face it, there is no shame in keeping a set of cheat sheets close by to prompt you into using your tools in a more productive manner.  I'd much rather keep brain cells for more abstract and solution based things rather than shortcut keys. 

Here are a bunch of cheat sheets for the tools I use:

Keep checking back as I plan to keep adding more in the future...

| Trackback | # 
 Tuesday, February 13, 2007
Tuesday, February 13, 2007 11:25:21 AM UTC (  |  )

I'm a bit of a sucka for coding standards and style guidelines.  That's why I thought I would throw up a quick link to the Microsoft article Reviewing Managed Code. It's all pretty straight forward really, but would make an excellent checklist for an anally retentive organisation. (or maybe if you are doing something uber-important like building third-party components, aircraft avionics or rollercoaster braking systems).

| Trackback | # 
 Monday, February 12, 2007
Monday, February 12, 2007 11:04:52 AM UTC (  |  )

I really like the installer for Visual Studio Power Tools.  Not only does it look funky but it also consumes an RSS feed to dynamically update the components that can be installed.  For an application that potentially has hundreds of components that can be installed this is a great model.

Good work boys!

| Trackback | # 
 Thursday, November 09, 2006
Thursday, November 09, 2006 11:05:32 AM UTC (  |  )

Scott Watermasysk has a post a thought provoking read about his top five favourite developer API's

From these API's I have worked with:

  • RSS.NET which I used to cobble together a rss feed from our build machine.  I combined this with a X10 light configuration to provide a visible tactile build status.
  • Genghis which is just awesome for adding those bits to applications that MS didn't have time for.

I'd also rate:

  • Log4NET - who doesn't need logging
  • FileHelpers - because reading files is what it's all about in the end

 

| Trackback | # 
 Sunday, April 02, 2006
Saturday, April 01, 2006 9:51:13 PM UTC (  |  |  )
I've been having a bit of a detailed look at string formatting for something I've been working on.  I stubled across this blog entry by Kathy Kam which gives a bunch of useful links and information about the String.Format function.  Just thought I'd bookmark it...
| Trackback | # 
Saturday, April 01, 2006 2:02:29 PM UTC (  |  )

GaryN has posted what looks like a nice Wizard Framework up on The Code Project.  Could be useful next time you have to get down and funky with some wizards (ala Harry Potter stylie).

| Trackback | # 
 Saturday, March 04, 2006
Saturday, March 04, 2006 11:23:15 AM UTC (  |  |  )

Are you a couch potato?  Do you want to learn ASP.NET 2.0?  Maybe these are just what you are looking for.

Microsoft has put together a bunch of resources for learning ASP.NET, amongst them is a video series focused on teaching specific ASP.NET technologies. 

Check it out

| Trackback | # 
 Friday, January 13, 2006
Thursday, January 12, 2006 3:20:32 PM UTC (  |  |  )

The January 2006 edition of MSDN Magazine has a really great article on Base Class Library Performance Tips and Tricks.  This isn't your normal low level tips and tricks that your average Mort doesn't care about, rather, these are tips and concepts that you can use straight away in your day to day programming.  It is broken down into various sections:

| Trackback | # 
 Wednesday, November 02, 2005
Tuesday, November 01, 2005 5:01:26 PM UTC (  |  )

This is a link to the Microsoft Patterns and Practices Complete Catalog.  If you have been hiding under a J2EE rock or something for the last few years you might not know about this, in which case, you should have a look.  Great resources... and now listed in one place.

UPDATE: There is also a list of Visual Studio 2005 Patterns and Practices

| Trackback | # 
 Sunday, October 30, 2005
Sunday, October 30, 2005 12:36:39 PM UTC (  |  )

Here is a snippet of code I found on the microsoft.public.dotnet.framework.windowsforms newsgroup to disable the close button on a windows forms application whilst maintaining the minimize and restore buttons..

1) Add a reference to System.Runtime.InteropServices at the top of your form, like so:

using System.Runtime.InteropServices;

2) Add references to the required Win32 functions and constants, like so:

[DllImport("User32.dll", CharSet=CharSet.Auto)]
private static extern IntPtr GetSystemMenu ( IntPtr hWnd, int bRevert );

[DllImport("User32.dll", CharSet=CharSet.Auto)]
private static extern int GetMenuItemCount(IntPtr hMenu);

[DllImport("User32.dll", CharSet=CharSet.Auto)]
private static extern int DrawMenuBar(IntPtr hWnd);

[DllImport("User32.dll", CharSet=CharSet.Auto)]
private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);

private const int MF_BYPOSITION = 0x400;
private const int MF_REMOVE = 0x1000;

3) Create the RemoveCloseButton function that does the magic:

private void RemoveCloseButton(Form frmForm)
{
  IntPtr hMenu;
  int n;
  hMenu = GetSystemMenu(frmForm.Handle, 0);
  if (!(hMenu == IntPtr.Zero))
  {
    n = GetMenuItemCount(hMenu);
    if (n > 0)
    {
      RemoveMenu(hMenu, n - 1, MF_BYPOSITION);
      RemoveMenu(hMenu, n - 2, MF_BYPOSITION);
    }
    DrawMenuBar(frmForm.Handle);
  }
}

4) Make a call to the RemoveCloseButton function in your form constructor, like so:

public Form1()
{
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent();

  //
  // TODO: Add any constructor code after InitializeComponent call
  //
  RemoveCloseButton(this);
}

That's it, give it a try and watch in amazement as your close button is disabled.
BTW,
here is the link to the original forum post. 

| Trackback | # 
Sunday, October 30, 2005 10:31:19 AM UTC (  |  )

MSDN has published 4 FAQ articles on Generics that  should cover just about everything you would ever want to know about generic types. 

I haven't had to delve into the depths of Generics yet so I'm just going to hang on to these links for when I need to go into battle.

| Trackback | # 
 Monday, September 19, 2005
Sunday, September 18, 2005 4:40:46 PM UTC (  |  |  )
Ravi Rao has provided some links on P2P.  This sounds like an interesting piece of infrastructre for some the things I want to do in the future… link saved…

Here are some useful links on P2P:

| Trackback | # 
 Friday, September 09, 2005
Thursday, September 08, 2005 6:50:38 PM UTC (  |  )
Frankarr has added to the list of the .NET newsgroup / mailing lists by giving some information about the Australian .NET Developer Mailing List.  Good on ya mate!  Here is the guff from his blog:
  • To Subscribe to the list, send email to: imailsrv@stanski.com
    • In body of message type: subscribe dotnet
  • To Unsubscribe from list, send email to: imailsrv@stanski.com
    • In body of message type: unsubscribe dotnet
  • Send your email messages to list via: dotnet@stanski.com
    • Incoming Emails have a Subject line prefix: [aus-dotnet]
    • Use Email Client rules to file into folders or use exchange rules
| Trackback | # 
Thursday, September 08, 2005 6:18:41 PM UTC (  |  )
I'm in the process of upgrading my now outdated MCSD certification to the next generation of certifications, as such, this article in MCP magazine is probably useful to have a good hard think about.
| Trackback | # 
 Thursday, September 08, 2005
Wednesday, September 07, 2005 8:44:49 PM UTC (  |  |  )
Soup to Nuts is a whole webcast series by Microsoft to help make us all better Winforms developers...
Tune in and learn how to build Microsoft Windows Forms applications and Smart Clients in Microsoft .NET. We will take you through all the steps to build an application, as we cover object oriented concepts and delve deep into .NET. During this series of webcasts, you will learn how to create rich user interfaces, access data, and see industry-proven ways to get Windows Forms applications to market quickly. And after viewing the webcasts, you can work hands-on in the MSDN Virtual Lab.
Nice webcast... shame about the name!  ;-)
| Trackback | # 
Wednesday, September 07, 2005 3:30:56 PM UTC (  |  |  )
So you've got too much time on your hands and you want to listen to a bunch of geeks ask questions that could be easily solved by reading the online help or doing a quick google.  If this sounds like you then have a look at one of these links:
| Trackback | # 
 Wednesday, September 07, 2005
Tuesday, September 06, 2005 5:52:54 PM UTC (  |  )
I'm constantly thinking about ways to improve my online experience.  For example, I use several machines for doing things like reading RSS feeds and bookmarking pages.  The primary issue I face is synching information between these machines, indexing pages and searching them.   One way I've looked at solving this problem is through "remembering" information online here on my blog.   Another mechanism I think about every now and again is a little smart client app that synchronises my online experience.  Wouldn't it be great to bolt this onto IE.  Sure, why not.  Well here are some links to help with that.
 
Firstly, an article on Code Project that deals with Extending Explorer with Band Objects using .NET and Windows Forms. Secondly, Eric Law has provided other resources on providing IE extensibility here on his blog.
 
Enjoy!
| Trackback | # 
Tuesday, September 06, 2005 3:59:10 PM UTC (  |  |  )
There has been an article posted on code project for a Google Maps .NET control.  Looks pretty cool.  This would be great on a travel blog site so that people could track your progress.  Now all we need is for Google Maps to support countries other than the US... ho hum...
 
| Trackback | # 
 Thursday, April 07, 2005
Thursday, April 07, 2005 1:22:37 PM UTC (  |  )
JayBagz has an interesting blog post on the highs and lows of bit fields.  Pretty interesting stuff.
 
| Trackback | # 
 Monday, April 04, 2005
Sunday, April 03, 2005 4:04:44 PM UTC (  |  |  |  )
I've recently been slapping together some ASP.Net code and had reason to work with ASP.Net paths.  It turns out it's not quite as trivial as you'd at first think.  Anyway, I found this article by Rick Strahl that makes a good resource
| Trackback | # 
 Thursday, March 17, 2005
Wednesday, March 16, 2005 9:11:38 PM UTC (  |  |  |  )

I downloaded World Wind just the other day and what a fantastic bit of software.  Not only is it just plain old fashioned awesome but it's also written in C#.   It's a pretty huge install at 170+ Mb so you'd better have a broadband connection.  But it's worth it!

Check it out here

| Trackback | # 
Wednesday, March 16, 2005 9:06:28 PM UTC (  |  )

Everyone loves open source... well everyone who hates Microsoft loves Open Source.

For those who can't decide, here is a list of C# Open Source Projects

| Trackback | # 
Wednesday, March 16, 2005 9:04:53 PM UTC (  |  |  )

Some more links to writing secure code

| Trackback | # 
 Tuesday, February 22, 2005
Tuesday, February 22, 2005 11:39:07 AM UTC (  |  )

BITS stands for Background Intelligent Transfer Service and is designed to perform downloads of large files in the background and to support download resuming. It's intelligent because it can suspend automatically when the network connection is needed for other (foreground) tasks and will automatically resume when the needed resources become available. And, it also can maintain file transfers through network disconnections and computer restarts.

I'm intending to do some work with BITS so I thought I would post some resources for future reference:


Related Resources
LinkArrow.gif Background Copying - Duncan Mackenzie
LinkArrow.gif WinBITS Utility
LinkArrow.gif Get Your Bits... As Slow as You Like
LinkArrow.gif Using Windows XP Background Intelligent Transfer Service (BITS) with Visual Studio .NET
LinkArrow.gif MSDN Site for BITS

| Trackback | # 
Monday, February 21, 2005 1:42:49 PM UTC (  |  |  )

Keith Brown has written an introductory article about Code Access Security (CAS).  This is something that all .NET developers should look at (me included).  Check it out here.


Related Resources
LinkArrow.gif An Introduction to Code Access Security

| Trackback | # 
 Monday, February 21, 2005
Monday, February 21, 2005 12:52:26 PM UTC (  |  )

Scott Hanselman has posted a great list of questions that he believes all great .NET developers ought to know.  It's a big list, it's a thorough list, it's a scary list!  It's a great list to sharpen any .NET developers skills.  Over the next couple of weeks I'm going to go through this list and make sure I know the answer to each of these questions.  Then I will be a Great .NET Developer.  ;-)


Related Resources
LinkArrow.gif What a Great .NET Developer Ought to Know (More .NET Interview Questions)

| Trackback | # 
Sunday, February 20, 2005 7:20:34 PM UTC (  |  |  )
Simon Guest shows 10 developer-focused tips, strategies, and recommendations to make the Web Services you write more interoperable with other platforms.
 
Check it out either on his simon.says blog or on MSDN TV
 
SimonGuest.jpg
 
What I really like about Simon Guest's blog is his subtitle: "The only guy at Microsoft allowed to login as 'guest'".  Ohh, how I laughed (no really!)
 

 
| Trackback | # 
Sunday, February 20, 2005 4:25:58 PM UTC (  |  |  )

I've done a little playing around with the Enterprise Library and it's way cool.  Thanks MS!  There are already some great resources out there, so if you haven't played around with Enterprise Library do so IMEMDIATELY!

Here are some resources for you:

| Trackback | # 
Sunday, February 20, 2005 3:48:12 PM UTC (  |  )

Microsoft have now got their own Nuggets.  MSDN Nuggets.  Full of information, packed with intellectual nutrition and only 3 grams of fat.  Check them out!

nuggets.jpg

Okay, so it's really just a bunch of short 10 minute videos highlighting a particular feature and/or task.  But I like em.  In fact I've often thought about doing something like this myself.  Damn you apathy!

| Trackback | # 
Sunday, February 20, 2005 1:36:27 PM UTC (  |  |  )

I have just been listening to Joe Stagner's Webcast on Security and quite enjoying it.  At the moment the Digital Blackbelt series of webcasts is still very much in the early days but Joe is a great presenter and the series promises much.  Couple of things to take away from the presentation are:

  • Establish threats early
  • Design Security into the apps (hard to retro-fit)
  • Try and get security as part of the practice
  • Read some good books about security

Related Resources
LinkArrow.gif Microsoft Thread Modeling Tool
LinkArrow.gif Microsoft Security Developer Center
LinkArrow.gif Microsoft Threat Modeling Website
LinkArrow.gif Digital Blackbelt Website

| Trackback | # 
 Friday, February 18, 2005
Thursday, February 17, 2005 7:01:08 PM UTC (  |  |  )

Keith Brown has written a great introductory article about Code Access Security (CAS) in .NET. His conclusion is:

Deploying code over a network is dangerous without a comprehensive security system to verify and constrain that code, and Code Access Security is Microsoft's solution to the problem. It's a flexible, if somewhat complex beast, and as a developer working on smart clients, you should learn all you can about it, as it will play a big role in your life!

I think he's right so you should go read this article now.

Related Resources
LinkArrow.gif An Introduction to Code Access Security

| Trackback | # 
Thursday, February 17, 2005 3:45:38 PM UTC (  |  |  )

Now and again I keep threatening to write an application that integrates tightly into Outlook.  Hence, when I came across this link to OutlookSpy I just had to post it so I don't forget about it when eventually I get off my arse and write some Outlook stuff.

What is OutlookSpy?

OutlookSpy is the ultimate Outlook developer tool. Integrated directly into Outlook, it provides fast and convenient access to all Outlook Object Model objects, lets you examine values of the properties, call functions, browse object hierarchy and monitor Outlook events. CDO is supported too!

Whilst we are talking about Outlook, here is a reference to the Outlook 2003 Integration API

Related Refrences
LinkArrow.gif OutlookSpy
LinkArrow.gif Microsoft Office Outlook 2003 Integration API Reference

| Trackback | # 
Thursday, February 17, 2005 1:56:46 PM UTC (  |  )

The other day somebody asked me if it is possible to return a business objects from a web service.  This got me to thinking about how this could/should be done.   For the record, I thought I would find some resources about this.  Here goes:

Referenced Links
LinkArrow.gif Returning Objects from Web Services
LinkArrow.gif Returning DataSets from WebServices is the Spawn of Satan and Represents All That Is Truly Evil in the World
| Trackback | # 
 Thursday, February 17, 2005
Thursday, February 17, 2005 12:44:00 PM UTC (  |  )

Microsoft has released a beta version of the Microsoft Solution Framework (MSF) for Agile Software Development.  It's pretty for sure.  The whole things seems very tightly coupled to Visual Studio Team System 2005.

I think the MSF Agile will be good for more traditional Waterfall shops who want to become more agile but I suspect that Agile shops will find the whole thing a little too rigid.

Mike Gunderloy has an article over at ADTmag.com that discusses it a bit more.

| Trackback | # 
Wednesday, February 16, 2005 7:10:16 PM UTC ( )

For all you hard-core nerds out there who just can't leave the unmanaged world behind, check out some of these resources:

The Microsoft Win32 to Microsoft .NET Framework API Map article identifies the Microsoft .NET Framework version 1.0 or 1.1 APIs that provide similar functionality to Microsoft Win32 functions.

The PINVOKE.NET website attempts to address the difficulty of calling Win32 or other unmanaged APIs in managed code by providing all the PInvoke message signatures for you.

And here is a nice diagram that shows how PInvoke works.

pinvoke.jpg

| Trackback | # 
 Wednesday, February 16, 2005
Wednesday, February 16, 2005 11:58:23 AM UTC (  |  |  )
Douglas Macarthur once said "There is no security on this earth. Only opportunity". What a miserable bastard!  He should get himself a copy of The .NET Developer's Guide to Windows Security by Keith Brown. 

Good news is that Keith has made his book available on his Wiki site.  Even better, Ken Brubaker has distilled the wisdom of this book into some nifty best practices.

Whilst we're talking about security, check out some of these links.

 

KeithGuidebook.gif
| Trackback | #