Posts

PMP, Agile and a true development process

Over the last couple of years, the PMP title has become the latest fashion accessory. Unfortunately, most of the people I've dealt with have tried to enforce every facet of PMP on even the smallest of projects. They've also mostly been freshly minted so they really don't have any experience. All this has lead to projects mired in paperwork, behind schedule and ticked-off users. Over the years, I'd developed my own style that seemed to work and got a few requests to teach my style to some of the other developers. Problem was, I'd never really formalized anything. I just kinda did things. So over the last couple of months, I've been working on formalizing some things. I spent some time looking into the PMP and can see where it would bring extensive value to lots of projects, especially construction or manufacturing. There are pieces that I can see would be beneficial to the contractual side of software development. The main thought I had was that PMP would ne...

Why I switched to C# (or How I Became Darth Vader)

Made the decision to switch to C# recently. The main reason: I got tired of finding code written in C# and then having to convert it to VB. It really wasn't that painful except when I'd forget the parenthesis that VB so nicely takes care of (this should be the first thing you check when you get an error). Maybe it's just because it's new but I actually like it better in most respects. If you're going to make the same switch, here's some resources: Julia Lerman's talk on C# for VB Developers C# Essentials, 2nd Edition is a great book that assumes you are an experienced developer and quickly shows all of the basic functionality you need. Technorati Tags: C# , VB , switch

Regular expressions for passwords

This is a link post for some of the regular expressions that can be used for passwords.  Specifically, you can use them for asp.net's passwordStrengthRegularExpression. Note: Be sure to test them *before* you use them in a production app. The table indicates the minimum length, if it requires at least one upper, lower, digit or special character. Expression Len Upper Lower Digit Special ^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$ 10 Y Y Y Y ^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$ 8 Y Y Y N ^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$ 10 Y Y Y Y

Links for Linq Joins

Some articles on joins for Linq. This one is basic, just to grok the concept. This post from CodeGuru is a little more detailed and explains things a little better. Multiple join conditions are shown here. This post uses extension methods to handle a date. I can definitely see some uses for this. There are some interesting things you can do like finding all of the overlapping date ranges in a table .

Windows Live Toolbar broke my Shift+Tab

Finally!!!!!! For months my shift+tab in forms didn't work. IE or Firefox. Drove me crazy!!!!! Google a little this morning and found an entry that said uninstall Windows Live Toolbar. Thought "what the heck". It worked!!! Not only did fix IE but it also fixed FF. Don't understand. Don't care. Problem solved. Technorati Tags: Windows Live Toolbar Shift+Tab

Adding commas to numbers with JavaScript

I recently went to add commas to a number on entry. Found a nice script here . Only thing I changed was to make it set the value in the function. I also liked his solution for adding separators other than commas. The code: function addCommas(obj) { nStr = obj.value; nStr += '' ; x = nStr.split( '.' ); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : '' ; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2' ); } obj.value = x1 + x2; }

Parse CSV or other separated strings

I had to work with Comma Separated Values (CSV) files the last few days and updated some code to make it easier to use with LINQ. Quick review, a CSV file is a file that has all of the values separated by a comma. Values that contain a comma are typically qualified with double quotes. For example: Abraham, Lincoln, 03/4/1861, 04/15/1865, "Republican, National Union" Basically, I created a class called SeparatedString that performs all the functionality of parsing the data so that I can retrieve it later. When the Text property is set it figures out the location of all relevant commas and loads them into a List. The GetValue method then uses the index to grab the occurrence of the comma that precedes the value to be retrieved. Public Class SeparatedString ''' <summary> ''' Contains the position of all separator characters in the string ''' </summary> ''' <remarks></remarks> ...