Friday, May 23, 2008

Beyond Compare File Filters

I don't know why I did not know this before. I use Subversion and I always want Beyond Compare to ignore the _svn folder in my working copies.

Go to the Session\File Filters menu. Add "_svn" to the Exclude folders text box.

Now I never have to see_svn folders in beyond compare again.

Wednesday, May 21, 2008

Tab Delimited Results From SQL Server

Here is how you can export your SQL Server 2005 Management Studio results to a tab delimited file, including the column names.

Navigate to Tools | Options | Query Results | SQL Server | Results to Text

The settings only apply to new query windows opened.

From
http://www.mssqltips.com/tip.asp?tip=1105

Server Up Time

For a windows machine,

"The 'net statistics workstation' command will tell you the last time your
computer was rebooted."

From
http://www.itnewsgroups.net/group/microsoft.public.windows.server.general/topic8056.aspx

Wednesday, May 14, 2008

Improve My Software Delivery Commitments

In Oct 07 I first read about the Evidence Based Scheduling feature of FogBugz. I like reading Joel Spolsky because he seems to tell it straight regardless of the subject. This time, it stung. Software projects are chronically late. Most projects I have been on in the last 9 years are no exception. When I read this article, I took up courage to ask a co-worker about it. He was excited about using something like this.

Well we took the plunge. We tried FogBugz for a month in January and then bought some licenses. I recently got a new supervisor. She seems willing to try out FogBugz as our software project management tool.

From Evidence Based Scheduling,
Why won’t developers make schedules? Two reasons. One: it’s a pain in the butt. Two: nobody believes the schedule is realistic. Why go to all the trouble of working on a schedule if it’s not going to be right?

Over the last year or so at Fog Creek we’ve been developing a system that’s so easy even our grouchiest developers are willing to go along with it. And as far as we can tell, it produces extremely reliable schedules. It’s called Evidence-Based Scheduling, or EBS. You gather evidence, mostly from historical timesheet data, that you feed back into your schedules. What you get is not just one ship date: you get a confidence distribution curve, showing the probability that you will ship on any given date. It looks like this:

The steeper the curve, the more confident you are that the ship date is real.
Here is a 70 minute video Joel Spolsky made in Oct 07 that explains the Evidence Based Scheduling feature of Fogbugz.

Frederick P. Brooks in 1987,
Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will be any—no inventions that will do for software productivity, reliability, and simplicity what electronics, transistors, and large-scale integration did for computer hardware.... I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation.... If this is true, building software will always be hard. There is inherently no silver bullet.
Fogbugz is not the golden goose that will solve all software development problems. As I persist in my discipline to use it, it will help me make more accurate delivery estimates.

Wednesday, April 02, 2008

"An order of magnitude better"

We have been looking for one of the best programmers at my work. Since my supervisor no longer can do the leg work of phone screening and setting up interviews, I have volunteered to take this hat. It has been a revealing exercise.

There is a consensus in the software development industry that the best programmers are "an order of magnitude better than the average ones" Spolsky.
A Guide to Hiring Programmers: The High Cost of Low Quality, revsys.com

"there is at least an order of magnitude of skill difference between the average programmer and the best programmer, and maybe even two orders of magnitude" Barnes.

"many studies have shown order of magnitude differences in the quality of the programs written, the sizes of the programs written, and the productivity of the programmers" McConnell

"[Bill] Curtis observed order of magnitude differences among the programmers" McConnell

Skill Disparities in Programming. Atwood.
I am by no means one of the best programmers. I generously consider myself in the upper end of average. One of the things I remember from my interview with Vitrix years ago was that they wanted to hire people smarter than themselves.

With the help of another programmer and a few resources on the web, I have gathered a list of interview questions that discover the skills and qualities of a developer. I am sure we will find a match with someone passionate about effective software development.

Here
is our job posting, by the way. If you think you fit the drive, curiosity and skills to join us, come on! Even if you think you are shy on experience, take a plunge. We will be gentle.

Tuesday, April 01, 2008

C# XML documentation

We are using sandcastle to generate help documents from xml comments of our code.

Remember, /// will get you started.

C# XML documentation comments FAQ

MS Windows Workflow Foundation

Someone as work mentioned that we might consider MS Windows Workflow Foundation after hearing us describe the project we have been creating for the last many months. Following are some notes I took in my introduction to it.

ASP.NET and Windows Workflows Foundation

Manage application processes with Windows Workflow Foundation Brian Noyce

Link to a poster of Microsoft .NET Framework 3.5 update to the Commonly Used Types and Namespaces.


Notes from Michael Stiefel on Windows Workflow Foundation
1 of 4

"Workflow is the automated processes of a Business Process" Reliable Software

6:21
Reusable Business Activities
Separate Workflow from Activity

This workflow is hosted somewhere. Sharepoint?

Workflow runtime

9:50
Concept of Host
Concept of Activity
Concept of Workflow

10:30
The dream is these activities will be manipulated by Business Analysts in a drag and drop way.

2 of 4

5:30
Activities are not small atomic. These are long processes.
Programmers cannot stay in the back room. You are not of high value. You are just a coder.