Tuesday, July 24, 2007

.NET Security Blog : What Happens When My Application Throws An Unhandled Exception

.NET Security Blog : What Happens When My Application Throws An Unhandled Exception: "What Happens When My Application Throws An Unhandled Exception

There are several different behaviors that can occur when a managed application throws an unhandled exception. The two most common are to bring up an error dialog box, or to pop up the Visual Studio Just In Time Debugger dialog box.

The first behavior is the default when you install the CLR, but don't install Visual Studio. Installing VS modifies the default to pop up the select-a-debugger dialog. How does the CLR figure out what behavior to use? It checks a registry key, located at HKLM\Software\Microsoft\.NetFramework\DbgJITDebugLaunchSetting. The value of this key lets the CLR know what to do when it encounters an unhandled exception."

Andrew Coates ::: MSFT : Learning Online with Virtual Labs - Microsoft Visual Studio Team System Virtual Labs

Andrew Coates ::: MSFT : Learning Online with Virtual Labs - Microsoft Visual Studio Team System Virtual Labs: "Learning Online with Virtual Labs - Microsoft Visual Studio Team System Virtual Labs

Today, Microsoft Visual Studio Team System Virtual Labs (from the MSDN Suite of Virtual Labs)

What's new in Visual Studio Team System
Virtual Lab Express is the fastest and easiest way to test drive Microsoft products and the Virtual Lab environment. These are 30-minute hands-on overviews of some of your favorite Microsoft products and developer tools. Try them out online now - no need to download full trial versions or dedicate test machines.
VSTS Virtual Labs

* Express: What’s New in Visual Studio Team System
* Visual Studio Team Edition for Software Testers New!
* Visual Studio Team Edition for Software Testers - Tips and Tricks for ASP.NET
* Microsoft Visual Studio Team System Project Manager-Focused Scenarios
* Visual Studio Team System Reports
* Change Management with Team Foundation Server
* Writing Secure Native Code with Visual C++ and Visual Studio Team System
* Writing Secure Managed Code with Visual Studio Team System

Connected Systems Virtual Labs

* Architecting Connected Systems: XML Inside of SQL Server"

Welcome to the MSDN Virtual Labs

Welcome to the MSDN Virtual Labs: "Welcome to the MSDN Virtual Labs! Quickly evaluate or learn how to build great applications for Windows and the Web through a series of guided, hands-on labs which can be completed in 90 minutes or less. The best part is, the MSDN Virtual Labs don’t require any installation and are available to you immediately for FREE. Start by selecting the lab you’re interested in from the list below."

Sunday, July 15, 2007

Film Techniques of Alfred Hitchcock - suspense, camera angles, style, editing, basics

Film Techniques of Alfred Hitchcock - suspense, camera angles, style, editing, basics: "How to turn your boring movie into a Hitchcock thriller...

Borgus.com - We've put together a list of the most significant film techniques that were used by Alfred Hitchcock. This information comes out of many books and interviews from the man himself and his been simplified for your consideration.

This page is mostly for filmmakers who are sad and depressed because their movie is so average that nobody will watch it. Stop crying and pay attention. What is written here will save your career (at least until tomorrow morning.) However there is no cure for a bad producer - there may be no help for you!"

Smashing The Clock

Smashing The Clock: "Smashing The Clock
No schedules. No mandatory meetings. Inside Best Buy's radical reshaping of the workplace

One afternoon last year, Chap Achen, who oversees online orders at Best Buy Co. (BBY ), shut down his computer, stood up from his desk, and announced that he was leaving for the day. It was around 2 p.m., and most of Achen's staff were slumped over their keyboards, deep in a post-lunch, LCD-lit trance. 'See you tomorrow,' said Achen. 'I'm going to a matinee.'"

Friday, July 13, 2007

SequenceViz :: generate sequence diagrams from .NET assembly file - Nauman Leghari's Blog

This sequence diagram tool is excellent. I think the resources used in constructing it might be very useful, or at least interesting.

SequenceViz :: generate sequence diagrams from .NET assembly file - Nauman Leghari's Blog: "The following tools are used in making SequenceViz.

Cecil for reading IL by Jb Evain
Excellent PHTree control from CodeProject by Peter Chen
GNU Plot utilities - Win32 Port (There is a treasure in there waiting to be utilized)
PIC File macros for Sequence Diagrams from UMLGraph by Diomidis D. Spinellis (blog)
Log4Net for logging"

Wednesday, July 11, 2007

Occasionally Connected Systems Architecture

Occasionally Connected Systems Architecture: "By employing the publish/subscribe pattern between clients and an application server, as well as durable subscriptions when clients get connected they get pushed only the updates since the last time they were connected. This pattern improves scalability in that it prevents the scenario of many client connecting and performing costly queries against the database at the same time. Another difference between this (messaging-based) pattern and the more common database-level synchronization is that it maintains the discrete units-of-work (pattern) that were performed. While this isn’t very important for updates being pushed from the server to the client, it is absolutely critical for changes the client wants to send the server. These are the relevant architectural characteristics:

· “Automatic or semi-automatic push of cached data to the server (two-tier) or data service (n-tier) when connected to the network”

· “A process to enable the client to resolve data update and deletion concurrency conflicts; alternatively, to notify the client of the action taken by a business rule”

· “A process to enable the client to resolve insert and other conflicts with multiple rows of child tables, such as order or medication line items”"

Thursday, July 05, 2007

Dr. Dobb's | Survey Says...Agile Has Crossed the Chasm | July 2, 2007

Dr. Dobb's | Survey Says...Agile Has Crossed the Chasm | July 2, 2007: "When the Agile Manifesto was published in 2001, it gave name to a collection of methodologies that had been growing in popularity for several years. These methods, many of which are now in common usage worldwide, had strange names such as Scrum, Pinball, Extreme Programming (XP), and Dynamic System Development Method (DSDM). My 2007 Agile adoption survey (see sidebar) shows that agile techniques have been successfully adopted within a majority of organizations and often at scale. So now, six years later, I think that it's clear that Agile has successfully crossed Moore's technology-adoption chasm."

Saturday, June 30, 2007

Manage It!

Manage It!: "Your project can't fail. That's a lot of pressure on you, and yet you don't want to buy into any one specific process, methodology, or lifecycle.

Your project is different. It doesn't fit into those neat descriptions.

Manage It! will show you how to beg, borrow, and steal from the best methodologies to fit your particular project. It will help you find what works best for you and not for some mythological project that doesn't even exist."

Dr. Dobb's | Pragmatic Software Testing | June 28, 2007

Dr. Dobb's | Pragmatic Software Testing | June 28, 2007: "There are a number of philosophies that drive testers these days. Do you test based upon a catalog of risks, automated everything in unit tests, employ a model? In the risk-based camp, few are authors are more influential or prolific as Rex Black. In his new book, Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional, Black explains his approach to risk-based testing and the techniques needed to accomplish it."

Friday, June 29, 2007

Coding Horror: Supporting Open Source Projects in the Microsoft Ecosystem

Coding Horror: Supporting Open Source Projects in the Microsoft Ecosystem: "In my company's commercial application we depend upon DotNetNuke, Nant, log4net, NUnit and other open source tools. Those open source projects help support us. In fact, without DNN, we would probably be out of business because our developments costs would be too high. In turn, my company helps support Microsoft through the purchase of licenses and MSDN subscriptions. Yet Microsoft does not complete the circle by financially supporting any of those open source projects."

Wednesday, June 27, 2007

Two Fixes for Bad Backs - TIME

Two Fixes for Bad Backs - TIME: "In your own hands exercises to stretch and strengthen, plus rest and anti-inflammatories may fix a bad back, without having to go under the knife."

An Earth Without People -- [ environment ]: Scientific American

An Earth Without People -- [ environment ]: Scientific American: "It’s a common fantasy to imagine that you’re the last person left alive on earth. But what if all human beings were suddenly whisked off the planet? That premise is the starting point for The World without Us, a new book by science writer Alan Weisman, an associate professor of journalism at the University of Arizona. In this extended thought experiment, Weisman does not specify exactly what finishes off Homo sapiens; instead he simply assumes the abrupt disappearance of our species and projects the sequence of events that would most likely occur in the years, decades and centuries afterward."

Tuesday, June 12, 2007

How to Write a Software Specification

How to Write a Software Specification: "This document provides a format or checklist for writing a technical specification, particularly for computer software, although the format may be suitable for any number of similar uses.

The material presented here can be of help to both the software contractor and his or her client. It is not technical, but is sufficiently precise to aid a common understanding between client and contractor.

The specification is divided into two parts.

* Part I - Concepts and requirements
* Part II - Methods and details of implementation"

Painless Functional Specifications - Part 2: What's a Spec? - Joel on Software

Painless Functional Specifications - Part 2: What's a Spec? - Joel on Software: "This series of articles is about functional specifications, not technical specifications. People get these mixed up. I don't know if there's any standard terminology, but here's what I mean when I use these terms.

1. A functional specification describes how a product will work entirely from the user's perspective. It doesn't care how the thing is implemented. It talks about features. It specifies screens, menus, dialogs, and so on.
2. A technical specification describes the internal implementation of the program. It talks about data structures, relational database models, choice of programming languages and tools, algorithms, etc."

Painless Functional Specifications - Part 1: Why Bother? - Joel on Software

Painless Functional Specifications - Part 1: Why Bother? - Joel on Software: "The most important function of a spec is to design the program. Even if you are working on code all by yourself, and you write a spec solely for your own benefit, the act of writing the spec -- describing how the program works in minute detail -- will force you to actually design the program."

Painless Software Schedules - Joel on Software

Painless Software Schedules - Joel on Software: "Use Microsoft Excel. Don't use anything fancy like Microsoft Project. The trouble with Microsoft Project is that it assumes that you want to spend a lot of time worrying about dependencies. A dependency is when you have two tasks, one of which must be completed before the next one can begin. I've found that with software, the dependencies are so obvious that it's just not worth the effort to formally keep track of them."

Wednesday, June 06, 2007

Kanban in Action

Kanban in Action: "Earlier when I described my approach to managing and leading software engineering at Corbis, I mentioned that I was introducing a kanban system for our sustaining engineering activity. Since we introduced it, we've released new versions of our IT systems and business application software twice per month. However, sustaining doesn't run on a traditional agile two week iteration (or sprint) type system. It uses a kanban system to pipeline change requests (CRs). When a CR is complete it sits in the Release Ready state until a scheduled release happens on every second Wednesday."

InfoQ: Incremental Software Development without Iterations

InfoQ: Incremental Software Development without Iterations: "David Anderson described how his team is using a kanban system for their sustaining engineering (maintenance and bug fixing) activities. Iterations have been dropped although software is still released every two weeks. Work is scheduled, monitored, and run via a 'kanban board' and daily stand-up meetings. "

Monday, June 04, 2007

Códice Software: Linus Torvalds on GIT and SCM

Códice Software: Linus Torvalds on GIT and SCM: "I just finished watching the speech Linus Torvalds gave some days ago at Google, basically talking about GIT and Source Control Management. He has really strong opinions but I think the video is really worth watching.

To be honest I was very shocked by some of the statements he made, like the following:
  • Subversion has been the most pointless project ever started. Well, I'm not a big Subversion fan either, but I find it a bit rude.
  • Subversion used to say CVS done right: with that slogan there is nowhere
    you can go. There is no way to do cvs right.
    No comments.
  • If you like using cvs, you should be in some kind of mental institution or
    somewhere else.
    Again I think he is playing the showman role...
  • Get rid of perforce, it is sad, but it is so, so true.... No comments."