Monday, November 07, 2005

New Home for The Porter Method

Well I finally bit the bullet and decided to get some hosting space and break free from the chains of Blogger.

The new home for this blog will now be located here: The Porter Method Blog.
Please update your links accordingly. The new feed location is here. RSS Feed.

My new webhost is TextDrive. So far the experience has been good. The new blogging setup will be using WordPress. If you see something that looks strange, then it is probably because of my ineptitude with WordPress. Hopefully it won't take too long for me to get up to speed.

Eventually I'll have a full site running at, but things are a bit hectic right now, so it may be a couple of weeks.

Tuesday, November 01, 2005

Alabama .Net Code Camp 2005 Recap

First of all here is a link where you can download a zip file of my presentation.

Introduction to Creating Installation Packages with Microsoft's Windows Installer XML (WiX) Toolset

To run the examples, you should download the latest binary version of WiX and extract the archive to C:\Wix

Then download my presentation and extract it to C:\, add the C:\WiX directory to your path. After this you should be able to work with all of the samples.

The contents of the presentation archive are:
Introduction to Creating Installation Packages with Microsoft's Windows Installer XML (WiX) Toolset.ppt - Presentation File
Guid.vbs - VBScript to generate GUID and place it into the clipboard using some magic IE Automation
xsd_doc.html - HTML Documentation generated from the WiX XML Schema (a bit easier to use than browsing the XSD file directly and reading the documentation)

Here are the other sessions I attended:

Pooling for Performance - Andrew Corley
Very interesting session talking about the advantages of Database Connection Pooling and Object Pooling. SQL Server offers built in support for connection pooling. The .Net Framework makes adding support for Object Pooling completely trivial. Looks like a great implementation. Andrew did a great presentation and will be speaking to the Lower Alabama .Net User Group in the near future about SQL Server 2005 (I believe that will be the topic).

Building High Performance Applications with ASP.NET 2.0 - Russ Fustino
Russ is a Microsoft evangelist so his presentation skills (and wit) were top notch. He showed off some fantastic new enhancements to ASP.Net 2.0.

The ones that really caught my eye were the builtin support for caching pages. You can cache an entire page based on a time duration or cache all but certain portions of a page. Very impressive is a new feature working with SQL Server 2005 that allows a page's dataset to be tied to a set of database tables and be updated by a push from the database server informing the page that the underlying data has been changed, so refresh the cached copy. Really cool stuff. Russ mentioned that the architecture is open so you can write you own broker to work with different databases. The VS.Net 2005 IDE support of creating ASP pages is of course wonderful.

Another awesome new feature is the ability to compile your pages and server side code down to dll files (which will improve the performance). I'm sure it will start a flame war, but I really wish the JSF (Java Server Faces) guys would have emulated MS's ASP.Net. I was not impressed with JSF when we recently evaluated it at work. Sun is very far behind in this regard. That's ok, all of the cool kids are using Ruby on Rails anyway :-)

During this session I saw something that made me think of Kathy Sierra and her Creating Passionate Users concept. After seeing one of the new features I actually saw two developers exchange high fives. They were that enthused about what they would be working with soon. That's is definitely a passionate user base.

Free .Net Tools (log4net, code-gen, reflector and more) - Paul Lockwood
Paul showed off some free tools that enhance .Net development. He showed Log4Net, a great open source logging framework (which I'm very familiar with since it is a port of Log4j). NDoc was another tool Paul showed. It examines assemblies and generates a nice documentation file of the classes and methods. Reflector was the coolest one he showed off. It is a decompiler for .Net code. Get your obfuscator ready because you can really pull out very accurate source code from normal compiled code. A bit scary actually.

DataWindow.NET - David Avera
Dave showed off the new features that will be coming out in DataWindow.Net 2.0 (which is currently in an open beta that you can join here). Some new presentation styles are coming along with support for connecting datawindow objects to .Net DataSets. I have a bit of a bias since I do some work with datawindows through PowerBuilder but I think DataWindow technology is awesome.

A Primer for Secure Coding (Parts I and II) - Brandon McMillon
Brandon went into various forms of attacks that can be raised against systems (Spoofing, Man in the Middle, etc). He described some principles for bringing security into the development process through threat modeling. There was an overwhelming amount of information (he said the slide set was actually a week long course, so we did skip around a bit). We finished up getting into web specific attacks such as Cross Site Scripting (XSS) attacks and everyone's favorite....SQL Injection attacks. All in all a good session. Can't wait for the slides to be posted so I can really pour through the information.

One of the organizers of the event, Microsoft's Joe Healy, posted a recap of the event

All in all it was a great event and I'm glad I was able to attend. I will post a link when I find out where the presentations for the other sessions will be posted. I also would like to say thanks to Rich and Laura for opening their lovely home to Casey and me for the weekend (and for the fantastic Baked Spaghetti).

Monday, October 31, 2005

Free Commercial Databases as Far as the Eye Can See

Looks like with Oracle's recent announcement all of the big names in the commercial database market have free versions that can be used in production environments. There is Sybase ASE Express Edition for Linux, Microsoft's SQL Server 2005 Express Edition, and Oracle Database 10g Express Edition.

Here's a short feature comparison on the very basic stats.

Oracle Database 10g Express Edition
4 GB of data
1 GB of RAM
One instance per server
Downloads For Windows or Linux

Microsoft's SQL Server 2005 Express Edition
4 GB of data
1 GB of RAM
Windows Only

Sybase ASE Express Edition for Linux
5 GB of data
2 GB of RAM

Each of these databases are exceptional pieces of technology. I have worked mainly with Oracle and SQL Server and am really blown away with the features that have been packed into Oracle 10g and SQL Server 2005. I think these moves by the commercial database companies to release free versions of their software could really have an impact on the open source databases typically used to build small to medium sized databases on the cheap. We'll see how it affects their future.

Also, the Alabama .Net Code Camp this past weekend went great. I'll have a post tomorrow summarizing things and posting a link to the files from my presentation.

Monday, October 24, 2005

DataWindow.Net 2.0 Beta Now Open

Just got word today from Dave Fish with Sybase, Inc. that the Beta for DataWindow.Net 2.0 has just opened. Here is the text of the message and link that Dave posted to the Sybase Newsgroups:

The Beta program for DataWindow .NET 2.0 is now open. Please visit to register and download the software. The Beta web site contains information on how to access the Beta newsgroup.

Dave Fish

If you are a current or former PowerBuilder developer working in the .Net world, then you already know all of the amazing things the DataWindow brings to the table. The 2.0 release includes some incredible new features including: support for using DataWindow.Net with WebForms and the ability to bind datawindows to .Net datasets

If you are not familiar with the DataWindow and have looked at competing controls such as the ones available from Infragistics or the new and improved .Net DataGrid, you really should give DataWindow.Net a try. It is a fantastic product.

Also, if you are going to be in the Birmingham, AL area this weekend, you can come see Dave Avera, one of the programmers that works on DataWindow.Net, give a presentation at the Alabama .Net Code Camp on this very subject.

(Shameless Plug: I'll also be at the Code Camp giving a presentation on the Windows Installer XML (WiX) toolset).

Saturday, October 22, 2005

Ticketmaster Is Evil

So I broke down and decided to go ahead and attend the Butch Walker show in Atlanta coming up on November 18, 2005. This show will pretty much be the end of his tour and then he'll be back in the studio to record a new album. So this will be the last chance to see him perform live for a bit.

Mobile is 328 miles from Atlanta (so says Google Maps). Multiply that by two for both legs of the trip and you get 656 miles round trip. My truck gets between 17 and 20 mpg. Gas is running about $2.70/gallon so the total fuel costs will be:

Worst Case - 656 miles / 17 mpg * $2.70/gallon = $104.19
Best Case - 656 miles / 20 mpg * $2.70/gallon = $ 88.56

Hotel Room for 2 nights will be around $80/night so $160 lodging.

Then of course there is the little matter about the tickets to the show. The face value of the tickets is $18/ticket, but I'm sure from the title of this post, you know it didn't cost me $36 for two tickets.

Not even close. Behold the audacity and greedy disregard to the fans and the artists that ticketmaster has.

Good thing I'm a big fan, because something about an $18.50 premium added to $36 dollars of tickets seems wrong. And hey Ticketmaster, that "Convenience" charge doesn't feel very convenient to me. And the Order Processing Charge.....shouldn't that be part of the "Convenience" charge. Oh and the Ticketfast Delivery charge you see there. That's e-mail. They are e-mailing me tickets to print out myself. If I trusted the good old US Postal service, I could have them mailed to me for no charge (which I might add is a larger expense to Ticketmaster than e-mailing them to me). Yes, expensive trip, but I am a fan. But Ticketmaster is still a very, very bad organization.

It is true. There are just a few absolute evils in this world, and Ticketmaster is one of them.

Friday, October 14, 2005

Come Hear Me Speak At Alabama CodeCamp 2005

I just got word yesterday that I have been accepted to speak at the upcoming Alabama .Net Code Camp in Birmingham, AL on Saturday, October 29, 2005.

The topic I'll be presenting is: Introduction to Creating Installation Packages with Microsoft's Windows Installer XML (WiX) Toolset

WiX is an open source toolkit (yes Microsoft is an open source company) for building MSI files that was written by Rob Mensching. It is being used internally by Microsoft on many of their products and also has been adopted by some in the open source community as well (MySQL being one of the bigger ones).

Installation packages are one of those things that tend to get pushed off until the end of a product's development cycle. This is unfortunate since they really are an integral part of the finished product. Also how many of us have tried to install versions of our own products during development and been forced to track down developers to find all of the undocumented things that must be done to get the product running. WiX can help make all of that pain go away.

WiX allows you to define XML configuration files that detail the installation process. These files are then analyzed and coalesced into an MSI installation file of the product. One of the really beautiful parts of this system is that it is fully scriptable since it relies on command line calls to executables.

Thus you can add the creation of an MSI into your build process so that at every step of development there is always a nice installation file that can be used to install the product. This can help you embody Continuous Integration end to end.

I am a huge believer in the Continuous Integration ideology and try to constantly preach the gospel of source control, unit testing, and nightly (at least) builds to any in the unwashed masses that will listen. These concepts can save so much time in the long run and alleviate many of the common issues that cause us headaches as developers.

If you will be attending or in the area, come check out my presentation or at least say hi. I will be out and about in Birmingham throughout the weekend so feel free to give me a call (my cell is listed in the top right corner on my blog's webpage) if you want to meet up.

The Code Camp's session list is posted Here. If you look closely, you will see that my friend Dave Avera from Sybase will be speaking. He is based in Auburn, AL and is one of the guys that is doing amazing things with the DataWindow.Net product.

Hope to see you there.

Update: I had incorrectly spelled "Hear" in the title of the post using "Here" instead. Oops, my mistake got it corrected now. Where is that context sensitive spellchecker when I need it.

Thursday, October 13, 2005

The Man, The Myth, The Legend, Butch Walker

One of the feeds I read regularly (Creating Passionate Users) talks about how to get users excited about your product, company, etc.. Excited users tend to share their experiences and stick with you for the long haul.

Those that know me know that I am this way towards the music of the great Butch Walker. He is a perfect example of an entertainer that has created and nurtured a very passionate fanbase.

Here is a great example that let me see it first hand:

He was recently opening for Avril Lavigne (with whom he cowrote and produced some tracks on her latest album) at a show in Atlanta and posted on his website that he would be performing after the show at a local club under an assumed name (because of contractual reasons I believe).

So with zero marketing aside from the post on his site he was able to pack around 500 people into a tiny club and put on a great rock show. Now that really qualifies as a passionate user base. I even drove 4 hours from here in Mobile, AL to attend. What makes him different aside from great music?

It could be because of some of these characteristics:

- He communicates to his fans through his site which creates a dialog

-He puts on great shows that include interaction with the crowd (he'll even come out into the crowd and perform a song sans mike if he's feeling the vibe)

-He keeps you guessing (I pre-ordered his latest CD through Sony Music after hearing about it through his site, and when it arrived they had thrown in a live album he recorded for those that pre-ordered, good surprises rock)

-He sticks around after shows for autographs and pictures so he is very approachable.

-**The GF Casey added this one**He just looks so dreamy when he's up there rocking out (And I thought she was just going to the shows with me because she liked spending time with me)

And thus he has created this ever-expanding fanbase that follows him around and supports his musical endeavors. Now those are passionate users.

***Free Stuff Alert***
If you saw yesterday's post, you know that he just released a new album of cover songs through iTunes. I really, really want you to check out his music and see him live if you get the chance.

To help with that process, I'm willing to gift one of the singles off the new album to any that ask for it. I will gift out 10 total so don't procrastinate. The single is a medley of Queen tunes from a live performance he did in Atlanta.

This medley really gives you a great idea of what his live performances are like. Disclaimer: There is some explicit wording in the song so if you are under 18, please don't respond (but it is a rock show, so what do you expect)

To qualify for the free single, e-mail me (if you go to the webpage containing this blog, my e-mail is in the upper right corner) and let me know your Name, E-mail Address, and what City and State you are in and I'll send it out.

**** Unfortunately this offer is only good to those in the US (iTunes gift rules, not mine).

I will keep the number of remaining singles updated at the bottom of this post.

No more singles remaining

1 - Kayla in Anaheim, CA
2 - Nicholas in New York City, NY
3 - Aaron in Katonah, NY
4 - Alex in Blackwood, NJ
5 - Chris in New York City, NY
6 - Winston in Dallas, TX
7 - Taylor in Tempe, AZ
8 - Steven in Austin, TX
9 - Jennifer in Seattle, WA
10 - Lisa in Gloster, MS