Navigation

Search

Categories

On this page

Krzysztof Cwalina - Online lecture on API design
Coding Guidelines
Developer API's
Programming Sins
Interviews with Software Legends
Bite Size Standards
Format String 101
Wizard Framework
8 Free Books from APress
ASP.NET How Do I Video Series Tutorials
Waterfall 2006
MSDN Magazine Download
Base Class Library Performance Tips and Tricks
CSS Play
Seven Habits of Highly Effective Programmers
Web Design Article Highlights
Presentation Tips Galore
Windows Forms 2 Sample Applications
Motion Detection Algorithms
If your software was on a date
Free Quality Graphics
Microsoft Patterns and Practices: The Complete Catalog
Windows Forms - How to disable the close button
Generics FAQ - from fundamentals to best practices
Professional Developers Conference 2005 (PDC2005) Sessions Download
My Ultimate Tool List
Web Design Wisdom
Form Help without Popups
Task Manager and Beyond!
P2P for U and Me
[unit] tests
Plugin to Messenger
Eric knows best
ASP.NET Photo Album
Don't re-invent the wheel
JavaScript Library
Australian .NET Developer Mailing List
Ten CSS tricks you may not know
Soup To Nuts - Webcast series
Useful Development Newsgroups
Web Accessibility Toolbar
Extending Internet Explorer
Google Maps .NET Control
Construct XML document of directory structure

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

 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 | # 
 Thursday, December 21, 2006
Thursday, December 21, 2006 11:36:09 AM UTC ( )

I'm quite interested in coding style and coding guidelines for developers.  Just thought I'd post a few resources for the future:

| 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 | # 
 Monday, August 07, 2006
Monday, August 07, 2006 1:43:47 PM UTC ( )

Eric Gunnerson has put what he considered to be The Seven Deadly Sins of Programming on his blog.  It's certainly an interesting read, but what is niggling me at the moment, in a practical sense, is why we commit programming sins and what we can do about it.  I feel that if we know why we are sinning then maybe we have a way forward to repent our sins.

Over the next couple of days I intend to do some soul searching on why we commit programming sins and what we can do to stop this terrible occurance.

| Trackback | # 
 Wednesday, May 10, 2006
Wednesday, May 10, 2006 1:04:55 PM UTC ( )

Bruce Eckel has a page of interviews (mp3's) with some software legends.

  • Anders Hejlsberg
  • Guido Van Rossum
  • Joshua Bloch
  • Martin Fowler
  • Tim Lister
  • Ron Jeffries
  • Jim HIghsmith
  • Jim Fulton
  • Chuck Allison
  • Bill Venners
  • Daniel Will-Harris

Note to self: Listen to all of them

| Trackback | # 
 Wednesday, April 19, 2006
Tuesday, April 18, 2006 7:48:29 PM UTC (  |  |  )

Bite Size Standards aims to offer concise web development tutorials, tips and tricks. Written by designers and developers who are passionate about web standards.

The site is a bit bare at the moment but promises to give a wonderful resource of standards coompliant tricks... oh, and they've got a funky dashboard widget also!

| 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:28:36 AM UTC (  |  |  )

http://weblogs.asp.net/israelio/It looks like Apress is offering 8 free electronic books from their webiste.  Good on 'em!

via Ohad's Weblog: 8 Free E-Books from APress

 

| Trackback | # 
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 | # 
 Wednesday, March 01, 2006
Tuesday, February 28, 2006 5:00:35 PM UTC (  |  )

He he he... Here is a funny take on a Waterfall Methodology seminar.

"Come to the Waterfall 2006 conference and see how a sequential development process can benefit your next project. Learn how slow, deliberate handoffs (with signatures!) between groups can slow the rate of change on any project so that development teams have more time to spend on anticipating user needs through big, upfront design."

The sessions I want to attend are:

C'mon, you know you want to attend to... all the industry leaders will be there!

See you at Waterfall 2006

| Trackback | # 
 Monday, February 27, 2006
Monday, February 27, 2006 9:54:59 AM UTC ( )

Just for the record, you can download MSDN Magazines in CHM format from the good folks at Microsoft. 

Just follow this link

| 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, December 28, 2005
Tuesday, December 27, 2005 5:11:00 PM UTC (  |  |  )

This site is a bunch of experiments with Cascading Style Sheets (CSS).  Really handy stuff if you want to get an effect quickly.

Have a look.

| Trackback | # 
 Tuesday, December 27, 2005
Tuesday, December 27, 2005 12:55:09 PM UTC ( )

The year is quickly coming to a close and that means it is time to think up some new years resolutions again.  As usual I'm keen to make my developer life much more efficient and effective.  For me this means releasing more software to the masses.  As with most things this is easier said than done.  Maybe I should take a stroll down memory lane and have a look at the Seven Habits of Highly Effective Programmers provided by Philip Chu.

| Trackback | # 
Tuesday, December 27, 2005 11:58:24 AM UTC (  |  |  )

The good folks over at 456 Berea Street have provided a end of year summary of the top articles on the 456 Berea Street Weblog.  There is some good stuff in there particularly relating to CSS and web design standards.

Here is the link 456 Berea Street highlights of 2005

There is also a link to last years best articles: 456 Berea Street highlights of 2004

| Trackback | # 
 Monday, November 21, 2005
Monday, November 21, 2005 11:09:41 AM UTC ( )

Just because you're a nerd doesn't mean you shouldn't be expected to do a presentation every now and again. I personally feel that presentations are one of the best ways of delivering the information in your head to the hungry hoards. 

Here are a bunch of links to tips about giving presentations and using powerpoint effectively:

| Trackback | # 
 Wednesday, November 16, 2005
Tuesday, November 15, 2005 2:04:27 PM UTC ( )
The good folks at the Windows Forms site have released some demo applications to mimic classic Windows applications (outlook, money, messenger and that sort of thing).  Great learning opportunities for all.
| Trackback | # 
 Thursday, November 10, 2005
Wednesday, November 09, 2005 4:17:41 PM UTC (  |  )
Andrew Kirillov has written a pretty cool article over at The Code Project that talks about different algorithms to do Motion Detection on a video stream. Definitely worth a look if you want to do this kind of thing.
| Trackback | # 
 Tuesday, November 08, 2005
Monday, November 07, 2005 2:44:40 PM UTC (  |  )

Okay, if you haven't seen the Creating Passionate Users blog yet you should get yourself over there immediatly and check it out.  It really is a great resource for well, err, creating passionate users of your software.

Take for example, this entry which applies basic dating rules to provide guideliness for how your software should behave on its first date with users.

So whether you need dating tips or want to make your software better, follow these basic rules:

  • Look your best.
  • Be fun. Don't be negative. Be the one others want to be around.
  • Be trustworthy and consistent.
  • Don't be fake.
  • Be polite, be helpful.
  • Be forgiving.
  • Be sensitive, be a good listener.
  • Don't assume I'm an expert.
  • Be fun.
  • Don't assume there's no competition.
  • Married people really DO have more sex.
| Trackback | # 
 Wednesday, November 02, 2005
Tuesday, November 01, 2005 6:57:58 PM UTC (  |  )

Thought I would start keeping a collection of links to places where design impaired developers (like myself) can get hold of graphics, icons and textures to spiff up their applications.

Photography:

  • MyDeskCity - Collection of beautiful large images.  Seems to be a bunch of different stuff in here but they all seem high quality.
  • stock.xchng - Very good site with many quality royalty-free images.
  • jupiterimages - Another great location of royalty-free images; site is also developed in .NET :)
  • inmagine - Very large source of royalty-free!
  • photolibrary - A little bit slow to load, but another good source of royalty-free.
  • Public domain image resources - A wikipedia page of public domain image resources

Icons:

  • Pixelgirl Presents - This very attractive site provides icons, desktop images and tutorials
  • Foood's Icons - Great site with some very lovely icons... one of my favourites
  • Glyfx - This site provides a limited range of free icons for tooblars, however, they promise to provide more.  Having said that, if you are willing to pay some dollars they have some nice lookng Icons.
  • Miranda Instant Messenger - If you are looking for small IM icons then this may very well be your place.
  • FamFamFam - Stacks of free icons. Looks like they are mainly useful for toolbar icons as they tend to be on the small side (16x16)... but pretty none-the-less.
  • JoeJoe.Org - Some neato photoshop tutorials and also has libraries of vista icons
  • IcoFX - IcoFX is an award winning freeware icon editor designed to work with XP and Vista icons.
  • OpenClipArt.org - collection of icons

Textures:

  • SquidFingers - Quite a collection of bachground textures.  Lots of florals and ye olde looking designs.  Very distinguished

Desktops/Wallpapers:

  • Veer - Beautifully designed pages.

Fonts:

Developer Resources:

| Trackback | # 
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 | # 
 Tuesday, October 25, 2005
Monday, October 24, 2005 4:44:48 PM UTC ( )

It looks like the PDC05 session content is going to be available online for 6 months.  Download'em while you can.  Just looking at the session topics it looks like most of the stuff is VS2005 and beyond so VB6 programmers don't bother looking here unless you want to know what the future will look like. :)

You can also buy a DVD of the content if you don't want to go on a download frenzy... but who doesn't!?!

| Trackback | # 
 Thursday, October 20, 2005
Thursday, October 20, 2005 10:44:30 AM UTC (  |  )

Inspired by the wonderful Scott Hanselman and his fantastic Ultimate Tool List I've decided to share my very own list of tools that I love to use and that make my life just that little bit easier.

Graphics Tools

  • Windows Clippings - A simple but elegant window capture utility.  It's not as full featured as some other screen capture tools but it sure is executed nicely.  For example, it'll handle rounded edges on windows and do it's best to give your captured images meaningful names.  What it doesn't do is allow you to capture the entire screen or regions.
  • AVEiconifier - This is a great little utility to convert icons to and from PNG files. You can download it here.
  • Cropper - Very clean screen capture utility.  Highly recommended.  source available

Here are some other lists of peoples favourite tools

| Trackback | # 
 Tuesday, October 18, 2005
Monday, October 17, 2005 2:01:27 PM UTC (  |  |  |  |  )
There is a great site called YourTotalSite which provides great advice for developers of web applications.  Just little things, usability things, design things, yellow-fadey things, stock photo things, logisticy things... you get the idea.
| Trackback | # 
 Monday, October 17, 2005
Monday, October 17, 2005 11:02:59 AM UTC (  |  |  |  )

Here is a good little article on providing help on web pages without resorting to popups.  It's nothing particularly now or exciting but I like this solution because of it's simplicity and it is also very intuitive for users.

| Trackback | # 
 Sunday, September 25, 2005
Saturday, September 24, 2005 6:11:47 PM UTC (  |  )
Everything you always wanted to know about Task Manager but were afraid to ask.  Have you ever wondered what "Commit Change" means? What about "Kernal Memory"?  Have a look at this article it'll tell you that and much more.
| 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 | # 
Sunday, September 18, 2005 4:22:52 PM UTC ( )

I saw this blog entry about Unit Testing Rules and thought it quite interesting.  The point being:

A test is not a unit test if:

  • It talks to the database
  • It communicates across the network
  • It touches the file system
  • It can't run at the same time as any of your other unit tests
  • You have to do special things to your environment (such as editing config files) to run it.

Basically, I’m not someone who is particularly religious in my view of what makes a test and what makes a unit tests.  I see unit tests and tests in general as just a tool to help make coding safer and more enjoyable. 

For me I don’t really care if it is strictly a “unit test” or not, having said that, at my current place of employment we have a zillion unit tests that take hours to run because it brakes #1 on the list (talks to the database).   The end result of this is that I find I am unable to use the tests as effectively as I should be able to. 

What I have taken away from this is that it is important separate the slow running database tests verses the quick running object tests.  Regardless of what you call them ;-)

| Trackback | # 
 Monday, September 12, 2005
Monday, September 12, 2005 12:52:05 PM UTC (  |  )

This could be a handy link if you ever wanted to write something that integrates directly into Messenger.  Introducing the MSN Messenger Activity SDK

Get state-of-the-art information about building applications for MSN Messenger. The MSN Messenger Activity API gives you innovative tools to build applications that integrate with MSN Messenger and reach millions of users worldwide.

Sounds exciting no?

| Trackback | # 
Monday, September 12, 2005 3:17:24 AM UTC ( )

Eric Sink knows a lot about running small software companies… or at least it seems that way from where I sit. 

He always seems to be writing lots of common sense in his various MSDN articles and right here on his blog.  If you are a nerd who is thinking about making your way to nerd stardom by starting a small software company then do yourself a favour and drop past one of Eric’s articles… Like this one.

| Trackback | # 
Sunday, September 11, 2005 3:59:35 PM UTC (  |  )
A little while ago a guy posted a ASHX file that you could drop in a directory and create an instant photo album -- which I thought was way cool.  Now Bertrand Le Roy has gone and updated this ASP.NET 2.0 to add some nice features.  Have a look at his post here.
 
Another cool thing he linked to was a MetaData extractor library to extract EXIF information from JPEG's... now that's gotta be useful one day, huh!?!
| Trackback | # 
Sunday, September 11, 2005 3:48:16 PM UTC (  |  )
If you are looking for an existing WinForms or ASP.NET control to stop you having to re-invent the wheel you could check out one of these sites for a nice catalogue.
They aren't all free (but what is these days ;-) )
| Trackback | # 
Sunday, September 11, 2005 3:41:58 PM UTC (  |  )
Here is a great library of JavaScript for web page development.  I'm bookmarking this sucka for the next time I need to do some client side goodness.
| 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:31:16 PM UTC (  |  |  |  )
As I've mentioned in previous posts CSS is the future -- if you can be bothered learning it!  The good people at WebCredible have provided a couple of good articles about CSS tricks.  Have a look at these:
| 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
Wednesday, September 07, 2005 1:23:34 PM UTC (  |  )
Here is something that might help when doing web development.  The Web Accessibility Toolbar - It appears to be an IE toolbar that provides some nifty tools for things like Page Validation, Browser Resizing, CSS Validation, yadda, yadda, yadda.  Next time I'm doing some web development I'll whip this little sucka out.
 
| Trackback | # 
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 | # 
 Tuesday, September 06, 2005
Monday, September 05, 2005 7:14:01 PM UTC (  |  |  )
Johan Danforth has posted a little code snippet to generate an XML document of a directory structure.  This is the kind of thing I'll probably do numerous times over the next couple of years so I may as well save myself 10 minutes and post this link so I remember it.   Find the code snippet here.
| Trackback | #