Tom Jones comes to Calgary

Call me strange but there’s just nothing like legendary entertainer Tom Jones in concert. Tom is taking it to the stage here in Calgary to celebrate the release of his newest album, ‘Reloaded: The Greatest Hits’ (which if they’re just greatest hits how is this new?). Tom Jones became a household name in 1965 when the single, ‘It’s Not Unusual’ topped the charts. And even though he was initially banned from BBC radio, Jones still packed clubs and opened for the Rolling Stones. In 1968, ‘What’s New Pussycat,’ ‘Never Fall In Love Again’ and ‘Help Yourself,’ were only a few of Tom Jones’ singles that went gold. Tom Jones, known for his amazing live performances has also shared the stage with Sting, Pink Floyd, Bryan Adams and George Michael. Ticketmaster tickets are available here for $45-$80 simoleans.

Posted in CDX

Adapting agile in the Enterprise

I’ve created a new area on the site to house any articles, whitepapers and ideas I may have that I can share. Over the last couple of weeks I challenged myself to create a proposal at work on how to adapt teams to a more agile process of application development. With any organization, the challenge is always around change. Sure, you can throw numbers at the PTB and do a fancy song and dance about how great agile is. You can even have the organization buy into the principles and concepts. The trouble is when the rubber hits the road, it’s usually business as usual because either the teams haven’t worked in this type of collaborative environment or there’s just too much pressure to deliver and anything that may change the way things are done will shift that.

Enter my workshop proposal. It’s a fairly simple premise to seclude the team off from the rest of the organization for a controlled amount of time, provide them with whatever technical expertise you can (even if it’s outside the company), and in a very short time (no more than 2 weeks) turn them into a walking, talking, effective machine that delivers quality production code, even if it is only the first (of many) iterations. It’s like teaching a baby to walk (or in this case, monkeys using tools for the first time). You can’t expect your 8 month old to run the Boston Marathon. So don’t throw a project team together and expect them to pump out a killer-app on their first outing. You have to take baby steps. This proposal (which we’ve proven out in a few pilot scenarios) seems to be a way to do this unobtrusively. It’s had effective results and I’m certain it can work. Sure, it’s not the silver bullet any project is team is looking for but at least it’s a way to show how to get somewhere rather than a VP directive of “just do it” (which can resonate at times, but it can still be unclear as to how).

Anyways, check out my workshop paper here and feel free to adapt it to your organization.

Posted in CDX

A glorious day

Well, maybe so but it’s not day just yet. 3:43am and I’m sitting here just heading off to work. Yeah, odd hours but there’s a certain appreciation you have to have for the night. Not in a vampire sense of the word but the night is crisp and clean and without all the traffic and noises that the day brings on, it’s peaceful. I find this time of the night is the best time to be out and about. It’s long enough after the bars have let out that nobody is wandering the streets in a drunken stupor yet early enough to not catch anyone heading into a 5 or 6am shift. In other words, serene and simple. Nobody to bother you and no sounds to disturb your train of thought (that’s all I do when I walk to work, think, compile code in my head, and wonder about the cosmos). I highly recommend it for someone to try at least once in their lives.

A few updates on the site as things shift into place. I’ve added some more info on the about me page (dug up courtesy of the Wayback Machine, god I love that thing). I hunted down my old home pages when Shaw was owned by @Home and I thought I had something to say. There are things that you just forget about as the years go on but thank god for the Internet to come back and remind you (or smack you upside the head to remind you how much of an idiot you were). I’ve also made a few updates on the projects page and will continue to do so as I dust off old projects and find a home for them. Burned on a CD sitting on a bookshelf is no place for old ideas.

Another full day of meetings. I may as well forget about doing any work this week as I’m in meetings straight through from 8am – 4pm everyday (todays round starts at 7am, how fun is that?), with sometimes a whole hour to do actual work. Sucks to be me but then who else would be up at 3 in the morning writing a blog?

Posted in CDX

Please excuse the housecleaning…

Got things working the way I want around here (sort of). The site is now data driven (but not 100%) and all templated. I’m getting my trained monkeys now to scan in all my artwork and get it into human readable form to hopefully start filling the portfolio section. Otherwise, things are good around here for now and I think I can live with the change for a little while without switching things out again (keep telling yourself that Bil). My god, it’s like wanting to rearrange the living room furniture every week (which I sometimes do). There’s still some little updates here and there with styles and look but overall I’m happy with it.

The site is now 100% table free so all positioning is done with CSS. I’ll write an article on this as I think this is the way to go for laying out websites (as opposed to using traditional tables), but it takes some change in the mindset that people are normally used to. I’ve also got links to the W3C validation services but the pages are not validating 100% just yet. A few problems here and there in the HTML that gets generated by the blogging system but I’ll fix it soon enough. Must be compliant. Must be compliant…

Now back to work and some real coding.

Posted in CDX

Something is rotten in Calgary

Don’t ask me but the layouts here have gotten a little whacky. I’m trying to get this site fixed up so that it’s 100% table free (using CSS positioning) but in doing so, some stuff is just messed up, like pages not completely loading. What’s up with that? Time to install a few more browsers and play the compatibility game. Why is something that is apparently a standard like HTML, CSS, etc. be so freakin’ hard? Oh well, off to lunch and movies with friends and hopefully things will seem easier later today.

Posted in CDX

Source control for agile development

Or rather the quandry of finding one. When it comes to version (revision) control systems, developers working in an agile environment are in a somewhat confusing situation. Which system should we use?

Microsoft’s offering is SourceSafe, and is the one most of us are probably using (probably because it comes with Visual Studio so is considered “free” and part of the package). However, not much has happened with SourceSafe since the current version was released almost 5 years ago. Why didn’t MS release SourceSafe .NET with Visual Studio .NET? Will there ever be a new version of SourceSafe? With the coming of Whidbey, things might change but that’s still a year off.

There are several reasons to look for something better than SourceSafe: It is slow. It is even slower across a VPN. It does not handle multiple users editing the same file very well. It has problems with opening and closing ss.ini, especially over a slow network. There is no SourceSafe service to restart when you need it to release ss.ini. You have to reboot the server, which is kind of nasty when you are running SourceSafe on a multi-purpose server machine. But worst of all: it corrupts the repository every now and then, and Microsft’s best practices implore us to run a corruption analyzer every week! Nice.

So what are the alternatives: The most apparent one has to be CVS, which works great over the Internet, but is a bit lacking if you want the same kind of Visual Studio integration as SourceSafe. There are a couple of SCCAPI implementations for CVS, but I haven’t found one that works very well. Igloo looks to be the most promising. There is a modern replacement for CVS as well, but naturally this one is even less compatible with VS.NET.

So what about the commercial alternatives? There is Borland‘s StarTeam and Rational/IBM‘s ClearCase, neither of which seem to support an agile environment and with ClearCase, it’s apparently a beast to understand. Then there is Merant‘s PVCS, which we’re currently using as our corporate repository but because of it’s pessimisstic locking scheme, any refactoring just can’t be done effectively. There is also a new kid on the block, SourceGear‘s Vault, appealing because it runs on .NET, less appealing because it tries to look and feel like SourceSafe.

So, in short, I’m quite undecided when it comes to which version control system to use. What I want is something that plays well with VS.NET, works efficiently across slow networks, is built on a database, is transactional and is easy to backup and restore, and support an agile development environment. If it supports multiple checkouts of the same file as well, that would be a nice bonus.

Does anybody have any good recommendations?

PS I’ve added a new commenting system to this site so you can leave feedback on each post. Enjoy!

Posted in CDX

When they say unsupported, listen to them

Sometimes I’m the kind of guy that doesn’t listen to anyone. I also don’t read manuals or bother with tech support. If I can’t figure a system out in a few minutes then I assume it’s so wonky or complicated then it’s not worth my time. It’s a finely tuned skill I’ve progressed over the years and I have to say that I haven’t come across anything too bad that I can’t handle.

I have a system with several VirtualPC images. One of those images is for the new SharePoint 2003 version. It’s an all inclusive system: AD Domain Controller (SharePoint needs one and in a development environment, it’s not nice to hijack the corporate one without asking), SPS, MSDE, Visual Studio.NET, etc. When you do an install of SPS on a domain controller, it does not give you the option of installing MSDE (because its not a supported configuration). They assume that you will have a SQL server on another box. So I decided to install MSDE ahead of time and avoid the problem. The install took a while (with all that software don’t plan anything with the wife for the night). After it was done, it was time to create a new portal. It churned and churned and churned, but in the end blew up and spat out a Portal Creation error. Grrrrr. Arrgh.

Poking around the MSKB I found some possibilities:

  • Make sure SQL (or MSDE) is installed with collation set to Case Insensitive. Yeah, got that.
  • Make sure there are no anti-virus tools on the server that aren’t built with SharePoint in mind. Check, got that.
  • Make sure SQL (or MSDE) is using TCP/IP. Huh? Nope. So I changed it. Churn, churn, churn as it created the site. There was much rejoicing.

So the moral of the story: unless time is not important to you, when they say unsupported, listen to them.

Posted in CDX

Website version 2.0

I’m just completing a major upgrade to the site later this week. This includes the following changes:

  • New interactive forums to post messages in
  • Live “How many days since Tom last updated his website” counter
  • Recipe exchange area
  • Cool links area (where you can submit your own links and catagorize them)
  • Online Portfolio
  • DVD collection (300+ titles with full descriptions and cover scans)
  • SharePoint Portal Server area (tips, code, web parts)
  • General code snippets area
  • New .NET articles, code, apps, etc.
  • Single sign-on so access to the site grants you access everywhere
  • Dynamic site layouts you can choose from, all CSS driven (100% table free zone)
  • …and plenty of other cool stuff

For those that are keeping score, all of this is database driven (mySQL) and using PHP on the backend. Unfortunately the web host provider doesn’t support .NET, otherwise it would be that. See you later this week!

Posted in CDX

VB6+

Okay, that’s a rather silly name however Bill McCarthy has an article called “It’s Time for VB6+” over at FTPOnline. In the article he says Microsoft’s loyal customers (Corporate America) deserve better. They deserve another version of VB6.

I can sympathize somewhat with the words being said here because at work, we’re in a pretty bad place. Tons of VB6 code all over the place running mission critical apps and the corporation being somewhat forced into moving to .NET isn’t the best way to migrate smartly. I don’t think a VB6+ is the answer though because it becomes just another ugly compatibility bridge between VB6 and .NET.

There are a few things that Microsoft did to bridge that gap already. They have several documents/white papers/etc. on how to migrate from VB6 to .NET. There is an upsizing wizard that will analyze a VB6 app and suggest ways to move it to .NET. Additionally they created a Microsoft.VisualBasic namespace that provides compatible functions to VB6 apps which map to their .NET equivalents.

The thing is that it’s wrong in so many ways to just “wizard” an app from one language to another (and VB.NET is not VB6 upgraded). The way things are done is different and thus requires some rethinking. It’s not like just grabbing the house and moving to a new foundation. The foundation has changed and doesn’t necessarily support the same way the walls fit together. True, there is some glue here that will help those old walls hold together but don’t expect them to weather any kind of a storm. Without doing some re-engineering it’s like writing C style code in a C++ world. It’s not OO, it’s anti-OO.

Posted in CDX