Error message

Warning: count(): Parameter must be an array or an object that implements Countable in antispam_user_load() (line 1545 of /homepages/29/d87913576/htdocs/drupal-7.61/sites/all/modules/antispam/antispam.module).

chris's blog


First, I completely removed Java on the laptop I'm using right now. An insidious piece of malware called Win7 Total Security apparently installs itself through a Java viulnerability, and I must not've been managing which version of Java open in any given 32/64-bit instance of the browser. The thing edits the registry so it runs whenever you try to open a .exe file. After I removed it once and updated the 64-bit Java, it came back. It and its alter-ego XP Total Security are apparently in various ad networks, so you could encounter it nearly anywhere on the web.

CodeRetreat Orlando 2010

I spent last Saturday with Ekata, Ben, and Ramez at Code Retreat Orlando. Corey Haines told me I suck. But he said the same about everybody, himself included, so I guess it's ok. The point of the day is to work on the same problem with different people, starting over each time, and trying to follow Test-Driven Design and other good design practices. While listening to Corey make fun of you.

Why rebuild VB6 applications?

We have a system with 1+ million lines of code, developed in Visual Basic 6 with rather less than "best" practices. But it mostly fulfills the business requirements, and we have a team who can keep up with the really essential changes. The developers have talked for a long time about how we're going to replace it with something more modern, but my supervisor recently asked "why?" Couldn't the effort be put into something that delivers more direct business value, regardless of how much easier maintenance might be after a rewrite? It works, so why fix it?

Orlando Code Camp 2010 Slides

Aside from some issues with the projector, I think it went pretty well. I need to spend some time with my sample code to sanitize and simplify it a bit, hopefully later this week.

Orlando Code Camp 2010

Well, I've offered an update of my Re-evolving Design Patterns talk for Orlando Code Camp on March 27th. Let's see if it's accepted. Now that I know the audience level, and I have my own laptop available, I feel a lot more prepared. Note to self: assume the audience knows why forms-over-data is bad. :)

Tampa Code Camp 2009 Talk

My hour was reasonably successful, particularly given the 15 to 20 minute discussion at the end, and given that it was my first time speaking at a regional event. I really wish I'd taken more time to prepare and organize; there's always something "critical" and "plenty of time later" right up until the end. My apologies to the few people who left, and thanks for sticking it out to the 15 or so who were in the room 'til the end.

I mentioned a few references:
Design Patterns: Elements of Reusable Object-Oriented Software, "Gang Of Four"

PVCS Conversion (1)

I'm trying to get a source control repository out of PVCS, with full revision history and metdata (author, date, comments, version labels). Because we're still doing Visual Basic 6.0 maintenance, we can't use Subversion, EVS, or newer products from Serena (the publisher of PVCS). VB6 uses a binary resource file per UI element (form, user control, report), so we need per-file locking and versioning. Branching would allow simultaneous additions to the binary file, which can't be merged.

About Me

I began developing web sites in 1996, mostly for personal purposes, clubs, and such. I started self-hosting ASP on IIS in 1997, learning database design and programming in general along the way. I still remember the Microsoft SiteBuilder Network fondly.

Getting Started

This is the programming-related blog of Chris Hance, a developer and sometimes-DBA. I dabble in application architecture... IASA has taught me well, but I am not an architect yet.

After speaking at Tampa Code Camp 2009, I realized I needed a place to share slides and sample code, hence this site.

For my personal blog, see

Subscribe to RSS - chris's blog