Monday, 21 September 2015

Find the Path for Embedded Resources using Reflection

This is a useful technique to find out the path of embedded resources (you need the path to access the resources).

System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames()

Sunday, 20 September 2015

Managing Mailbox Size in Outlook

If you are close to your maximum storage limit in Outlook, and can't think of what to delete, consider Archiving mails. Archiving basically means moving old emails to an Outlook data file (.pst file) or other storage structure.

Saturday, 19 September 2015

Agile Information Management Policies for Software Development in Dynamic Environments

In Project Detailed Developer Notes

When running a software project, very detailed notes may necessarily be kept on various technical issues, including detailed debugging information and technical planning. Detailed written notes may be kept to help visualise and isolate technical problems.  This is very useful to gain a precise understanding of technical issues, and communicate clearly to other stakeholders in the project.

Post Project Clean up of Detailed Developer Notes and Development Case Studies

When the project is done, much of the detailed "running" documentation is useless and should be destroyed - whilst retaining any useful lessons learned at the project level. This process may be best described as "post project drill-down clean-up".

Criticisms of Above Approach - "I'm Afraid to Lose My Notes and Accumulated Knowledge"

Knowledge deleted is lost. However, it can easily be re-derived if needed in future projects. Retaining too much information rapidly leads to information overload can lead to confusion and in each project a different section of what you have studied needs to be focused on .. rather than losing yourself in details from one specific project. Note: this applies to detailed, technical documentation on the project. See below for a suggested approach to non-technical project documentation.

Retention of Non-Technical Project Documentation and "Lessons Learned" Narrative

The latest version of the completed project documentation should be retained and uploaded to a document management system and local copies deleted. This document should record "lessons learned". These lessons should be incorporated into new projects.

Thursday, 10 September 2015

Hard Debug

When debugging multi-threaded, multi-process applications, sometimes the only option is "hard debug". Debugger.Break(). This has been around since .NET 1.1. The user will be prompted if they want to attach a debugger.