Main | October 2004 »

September 30, 2004

Royalty Check!

I got a royalty check yesterday for the book that I wrote way back during Beta 2 of ASP.NET v1.0 (October 2001). This time around, the check was for $34.53. It's an amusing reminder that I get every six months that it definitely wasn't about the money.

02:50 AM | Permalink | Comments (1)

September 29, 2004

Days of Blunder

Ever since I got my new car for my 30th birthday on July 24th (I'm finally getting old, damnit!), the two million dollar questions have been "How long till you get pulled over?" and "How long till you wreck it"? As luck would have it, both happened on the same day...today.

Well, I shouldn't get too melodramatic. It's not nearly as bad as it sounds. This afternoon, I was driving down the road that my subdivision branches off of. There was a car in front of me going pretty slow, so I cut into the lane next to him and hit the gas, passing him in quick form. As soon as I turned the corner, I saw flashing lights behind me. A detective was pulling me over. He asked me why I was in such a hurry. I told him I just wanted to get around a slow moving car. As luck would have it, HE was the slow moving car (an unmarked Ford Taurus). Not my finest hour. He spent the next 10 minutes or so berating me and telling me about all of the tickets that he could write me (most of which were total BS, but I sat in silence waiting for him to get done). When he had said his fill, he got back into his car and drove off. No harm, no foul, I suppose.

Later that evening, I drove my car to the gym where my sister-in-law trains. I manage their website and was volunteering to move some equipment around and help install some new carpet. Anyway, about an hour after I arrived, one of the gym employees came up to me and said that somebody had backed into my car in the parking lot. The person who did the hitting had tried to get away but they had shagged her down and brought her back.

Now I got duped back in college when a pretty girl backed into me on the first day of classes one semester then promptly gave me a bogus phone number and disappeared off the planet, so I have to admit that I get a little irritable during car accidents. Fool me once, shame on you. Fool me twice, shame on me. I made sure to get a photocopy of the woman's insurance card and called the police out to document the incident. As a sidebar, my cars happen to be a magnet for other cars. Today's episode marks the 5th time that I have been in an accident while I was not moving.

The damage was not very extensive; Just a pretty good sized scuff on the front bumper. To be honest, if it had been my Mazda Protege or my Ford Windstar, I wouldn't even have pursued the matter. Given how much I spent on the Porsche 911, though, I'm not ready to let bygones be bygones on matters such as this. The lady claims that she wants to take care of the bill herself and not involve her insurance company. I told her that I don't care, but considering that it costs $800 for an oil change, I have no idea what kind of extortionist prices the Porsche body shop charges. I'll find out tomorrow, I guess.

11:55 PM | Permalink | Comments (2)

September 28, 2004

Trimming the Fat

Read my latest article in asp.netPRO Magazine, Trimming the Fat. In it, I report on what we’ll see in ASP.NET 2.0 - and what got the axe.

02:59 PM | Permalink | Comments (3)

September 27, 2004

Leaky Objects

We're in the midst of developing an ASP.NET v2.0 application for one of my clients. Lately, our application has been becoming a bit unstable. We originally attributed the issue to the fact that we are using beta software (hey, what do you expect?). Upon further examination, though, we discovered that we had forgotten to close a SqlDataReader object that is used to populate an object collection that is used quite frequently in the application. So, basically, we were draining the connection pool, which then tanked the application. Just goes to show you how forgetting a single line of code can cause major problems (even in the protected world of .NET).

11:04 PM | Permalink | Comments (1)

September 25, 2004

Whack A Developer

Two days ago, my four year old son CJ brought me over the tv and pointed at the screen excitedly. "Daddy, I want this!...Buy me this!". He was pointing at the Whac-A-Mole game by Hasbro. Despite obvious warnings that it would be an extremely loud and obnoxious game, I agreed to get it for him the next time we were in the vicinity of Toys R Us.

For dinner tonight, we ate at Chevy's (a Mexican grill, if you don't have one in your area), which just happens to be right next door to Toys R Us. Coincidence? Hardly...So, while we were waiting for a seat, I popped into the store and bought the game. CJ fell asleep on the way home from the restaurant, so I haven't had the pleasure of playing the game yet, but I'll be sure to let you all know how that goes.

As I looked at the game box, I was reminded of the project that I worked on back when I was at Arthur Andersen (ahh...the good old days). I was on the WinTime team, which built probably the most complex and feature-rich time reporting application that the world has ever known. It was a rich-client Visual Basic application that allowed the submission of time reports via a hacked pseudo web services infrastructure (mind you, this was back in 1997). But I digress.

By far, the coolest feature of the application was the easter egg. If you went to the About box and typed "eggme", it would launch a popup window with a whack-a-mole type game that we called "Whack-A-Developer". Instead of moles popping up on the screen, we used digital pictures of the members of the development team (taken by one of the guys on the team that was crazy enough to dish out the huge cash that it took to own a digital camera back then). That in itself was neat, but not extraordinary. The best part was that behind the scenes, we were using our web services architecture to maintain a global top 100 high scorers list, making it the only easter egg that I have ever heard of that was so networked. I built the lion's share of the easter egg. Sadly, it was some of my best work in the early stages of my career. It was a big hit too, but we did get into a bit of trouble when we tried to organize a department-wide Whack-A-Developer tournament. Apparently, only Nerf games were acceptable. Our mistake.

12:10 AM | Permalink | Comments (4)

September 23, 2004

Anarchy; Then .NET Pub Clubbing

Today was especially hectic. In true small company fashion, I had four of my consultants at my house this morning. Steve and Eddy were in my office on a conference call with one client. Peter was setting up his laptop at my dining room table in preparation to start an engagement with a second client. John was up in my entertainment room on the second floor working on a third client. Me, I was running back and forth in between rooms trying to keep everything coordinated and moving forward. Thank God for wireless networks.

After the morning festivities, everybody went to lunch. Steve, Eddy and John then headed to the MSDN event at the Theatre in Waterford Lakes. It was being run by Russ Fustino of Russ' Toolshed fame. I heard it was a great presentation. I couldn't go because I had a date with my endocrinologist (fighting Diabetes...yuck). After the official event, though, everybody gathered at Smoky Bones for a .NET Pub Club event. It was a good time; Gave us a chance to relax and shoot the shit for awhile. I also continued my search for the ultimage C# Windows Forms .NET developer to join my team. Got a few promising leads.

I made it home just in time for the season premiers of CSI and Without a Trace. Hopefully Steve rolled tape on Survivor for me (gotta love cheesy dramatic reality tv).

11:48 PM | Permalink | Comments (1)

September 22, 2004

Rich Client or Browser Interface

Just got an email from Paul Ballard, an editor for TheServerSide.NET. Apparently, they are orchestrating an online debate entitled "Rich Client or Browser Interface: Which one should we use now and in the future?". It will follow the same format as their previous debate "Does the .NET community need open source?". Paul asked me to be the primary advocate for the browser interface (aka ASP.NET) side of the fence.

While I appreciated the offer and was intrigued by the idea, I don't think I am the right guy for the job, because I have long held the belief that with Avalon/XAML on the way with Longhorn (and even sooner as an add-on to Windows XP, as it turns out), that rich client Windows Forms .NET applications are the way to go for most new applications. I have been pushing my clients in that direction for quite some time now. Granted, browser applications still have their place for simple data entry applications, cross platform applications or websites for public consumption (among other things) there is just so much more that you can do with Windows Forms than with ASP.NET (even jumping through hoops). The deployment model for rich client applications is getting more and more streamlined and simple, so the arguments against them are beginning to dwindle.

If you are a web developer, you need to begin learning how things operate in the rich client world, because very soon, windows and the web are going to collide.

02:29 PM | Permalink | Comments (10)

September 21, 2004

Transition Time

As I have gradually expanded my consulting business, I have had to move much of the "in the trenches" development down the chain of command to my team of consultants (very good ones, if I may say so). Now, one of the hardest things to do with a client is transition them from one developer to another; Finding the right time can be a big challenge. If a deadline is looming, or you are in the middle of a customer deployment, you can't exactly put on the brakes to train an somebody new on the intricacies of the project. If you do manage to find an appropriate time slot, there is the problem of finding the right path to project knowledge (instead of confusion). You might think that project documentation would be a good place to begin, although you'd be amazed at how many companies have barely enough money to develop their product, much less document it.

As an example, SourceGear makes a great source control application, Vault (which my company as well as all of my clients use), but their documentation is limited to a knowledgebase forum. They also have a neat Client API, but it is clearly marked as unsupported and has only rough documentation.

So, if companies are skimping on documentation for their customers, then that gives you some idea as to the priority of developer documentation funding. Most of the time, all you've got to give the incoming developer on the project is a database schema, some process and interface documents, and well commented code. The transition process definitely takes some serious face time to fill in the gaps, not very much of which is billable. The important thing, though, is to make the process as seamless as possible for the client. To help ease client concerns, I also knock 25% off of the incoming developer's billing rate for the first 100 hours that they are on the project to account for ramp-up time.

Ahh, the joys of running a business.

12:06 PM | Permalink | Comments (1)

September 19, 2004

No sod for you!

Today, I embarked on a quest that violates my labor rule. I began the process of re-sodding my lawn. As a little background, a good portion of my lawn was killed off a few months ago when I took my family on a two week cruise to Hawaii and accidentally left the sprinkler system timer off. I had a nice conversation with my landscaper about that, but let's not get off topic. As I was saying, I typically follow the rule that if I can get a job done by someone else for cheaper than it would cost me to do it (at my hourly rate), then I outsource it. I'm not the handyman type, so a cost-effectiveness outsourcing arrangement isn't that hard to find.

Needless to say, I am hopelessly inept at gardening or landscaping of any sort, so at best I provided entertainment for my neighbors and other passers by, and at worst I spent an hour and a half doing a severe hack job on a 15x15 foot patch of grass in my front lawn. Only about 50 more sections to go. To top it off, the landscaping nursery closed at 3:00pm today (when's the last time you saw a retail business that kept those hours?), so I couldn't even buy a pallet of sod to cover my dirt pile.

My devious employer side tells me that I should just have a "Re-sod the boss' lawn" team building exercise. To my employees, don't worry. Even I wouldn't stoop that low. Regardless, that would also spoil the "quality family time" that is the only positive outcome of this debacle (and the reason why I decided to break my labor rule in the first place). Well, I also got a couple of shovels and a wheelbarrow out of the deal. I could have been out of this mess for $1500 and a six pack of sodas (I always provide drinks to anyone who comes to work at the house). I'm definitely going to sleep well on Sunday nights for awhile.

10:03 PM | Permalink | Comments (2)

September 18, 2004

Free DotNetNuke Training

The Orlando .NET User Group (ONETUG) is sponsoring a free DotNetNuke bootcamp on Saturday, September 25th, 2004 from 9am to 1pm at New Horizons Orlando. Industry expert Stan Schultes along with ONETUG President Joel Martinez and Tim Platt will be doing the instruction. Some of the topics to be covered are installation and configuration, custom module development and deployment, and skinning. If you are going to be in the Orlando area and want to learn more about the powerful and extensible DotNetNuke platform, then you should definitely check it out.

[UPDATED - 9/19/2004]
Per Joel Martinez's comment, you must RSVP for this event to handson@onetug.org

11:40 PM | Permalink | Comments (3)