Thursday, September 21, 2006

Next time, tell me something I don't know!



# 
Pure Nerd
78 % Nerd, 34% Geek, 26% Dork

For The Record:

A Nerd is someone who is passionate about learning/being smart/academia.
A Geek is someone who is passionate about some particular area or subject, often an obscure or difficult one.
A Dork is someone who has difficulty with common social expectations/interactions.
You scored better than half in Nerd, earning you the title of: Pure Nerd.

The times, they are a-changing. It used to be that being exceptionally smart led to being unpopular, which would ultimately lead to picking up all of the traits and tendences associated with the "dork." No-longer. Being smart isn't as socially crippling as it once was, and even more so as you get older: eventually being a Pure Nerd will likely be replaced with the following label: Purely Successful.

Now it's your turn. :-)

THE NERD? GEEK? OR DORK? TEST

++Alan

[UPDATE]  I found this test, and only scored 72.

I am nerdier than 72% of all people. Are you nerdier? Click here to find out!
 Wednesday, September 20, 2006

FoxForward Conclusion



# 

I skipped morning sessions on Saturday so that I could prepare some changes for my demo that my coworkers recommended.  I did make it to lunch, however.  <S>

In the afternoon, I saw David Stevenson's sessions on the CursorAdaptor and XMLAdaptor respectively.  David showed some interesting functionality he had implemented in his CursorAdaptor subclasses.  I'll need to wade through the code to fully absorb what he showed.

David's session on the XMLAdapter started as I would have expected, comparing XMLAdapter functionality with CursorToXML() and XMLToCursor().  Things got more interesting when he began working with the XMLTables and XMLFields collections directly.  By the end, he was loading schema-less XML with embedded elements and showing us how to use Xpath statements to map this format to related cursors.  This tip alone is worth the price of admission to this conference for any developer who has spent his time trying to solve the conundrum of emended elements without foreign keys.

Saturday evening at the Ale House I tried a delicious local brew called a Sweetwater420.  I also had a great time talking with other attendees.  I especially enjoyed meeting Ed Leafe.  Ed is the author of the Business Object base class in CodeBook.  I have spent many hours studying that code and learning from it.  It is satisfying to have the opportunity to thank someone in person for helping me along my way.

While we were talking at dinner, I was reminded that Ed is the source of one of my standard practices.  It was in Ed's code that I first saw the GarbageCollect() method which NULLs out any properties with values of VarType = "O".  These days I use Bindevent() to bind destroy to my CollectGarbage() (renamed to fit the coding standard :-) ) method in my base classes.  orphaned object references are one of the most frustrating problems to debug in FoxPro, and this simple fix removes them forever.

Next I moved to Craig Boyd's booth, because I hadn't had the opportunity to do more than introduce myself to him.  Craig is a passionate guy, and we got into a discussion of the FUD (fear uncertainty and doubt) being spread by some parties regarding Visual FoxPro and .NET.  I love these type of discussion.

Sunday morning was showtime for me.  I spent the morning testing my demos one more time.  Saturday night, I discovered a bug involving spaces in a file path, so I felt it was prudent to test everything one more time.  Although my session was sparsely attended, the audience seemed truly interested, and actively engaged.  I enjoyed this session, even though I was the presenter.

After my session was lunch, where I won a VFP hat!  I spent some time on the back patio listening to Ed Leafe and John Koziol swap stories about conferences past, and ask each other "where are they now" about members of the VFP developer community.  This was a nice bonus.

The last two sessions, for me at least, where Craig Boyd's discussion of cryptography, and Bo Durban's discussion of the new GDI+ classes from the VFPx project.  These were both awesome sessions.  I already use Craig's vfpencryption.fll in my work, and he showed me many new uses for it.

I've been working with GDI+ lately using both the flat API, and the VFP foundation class.  Bo's session showed me that I need to stop wasting my time and focus on the VFPx class library.  There is more in there than I can possibly relay.  Bo had a nice interface to launch samples and then show the code.  When I got home, I downloaded that library and found that the form Bo used is included in the .zip file.  In fact, there is a .APP file you can run and see most of what I saw without driving to Atlanta.

The biggest surprise to me was that the library included a class for accessing resources in uxtheme.dll.  I have seen several attempts by VFP developers to produce custom controls that reproduce the visual style of Windows XP.  The problem with every implementation I had seen before, was that they mimicked the default blue theme.  If the user ran a different theme, the Visual FoxPro control would not display the new visual style.

By documenting the API to uxtheme.dll for VFP developers, the VFPx developers have made this issue a thing of the past.  I have already begun implementing a Theme Explorer UI in the style of the VB app that pointed the way for the VFPx team.

Speaking of VFPx, an audience member offered to help work on one of my proposed Team Foundation Server tools after my session.  I told him I would speak to Craig about putting it in VFPx.  Craig told me where to find the application form.  I've since submitted my application, and I hope to be contributing to VFPx soon.

In summary, I think Kevin Culley did an outstanding job of putting this conference together.  I predict that in the coming years there will only be two VFP conferences worth attending.  Southwest Fox in the West, and Fox Forward in the East.  I know I'll be back next year.

++Alan

 Saturday, September 16, 2006

Fox Forward Day 1



# 
Fox Forward 2006 - Alpharetta, GA USA - September 15th-17th

A coworker and I drove down to Alpharetta, GA Friday afternoon.  We arrived only 20 minutes late for the reception, despite the best attempts of Atlanta traffic to make us later. :-)

The hotel is comfortable, with large rooms; no complaints.  At registration, I met Kevin Cully who organized the event.  He reported that he had 55 attendees registered.   That was good news to me.  For a first time conference on a niche topic such as Visual FoxPro has become, that is a respectable level of interest.

After my first beer... er, I mean after the reception, I attended Bo Durban's session on Creating custom report controls and customizing the report designer.  This was an eye-opening session for me.  I have not touched a VFP report since VFP 9 was released, so I hadn't seen the COOL new features available from the report listener class.

Bo showed us how to hook into the report rendering to draw directly on the report with GDI+.  Next, he showed us how to use GDI+ to completely replace a shape on a form with whatever we want.  Bo demoed replacing with Rich Text, and an ActiveX control.  I told Bo he got me excited about reporting, which I never expected.

The keynote was given by Craig Boyd.  I've read Craig's blog for over a year, and knew to expect an enthusiastic advocate for VFP development.  Craig delivered in spades!  VFP World Domination was a 75 minute cheerleading session about the power and potential of the Fox.  I left the session very fired up about what is possible with this tool. 

Craig showed off several of the tools and examples he has created.  He is a terrific resource to our community.  One of his examples gave me a possible solution to a tool I have been contemplating.

Following Craig's keynote, several of us went to Taco Macs for "refreshments".  I am thrilled about this conference, and very honored to be allowed to speak on Sunday morning.

++Alan

VFP    Comments [1]
 Thursday, September 14, 2006

Cool new TFS Extension



# 

Bernardo Heynemann has put together the beginnings of what I'm  sure will turn into a popular extension to Team Foundation Server.

Project BHAL merges Windows Workflow Foundation with TFS work item tracking to allow an organization to define a custom workflow tuned to their particular environment.

I have had requests for similar functionality, and I have written custom webservices to fire on certain WIT events.  This approach is very attractive, because it allows for much more flexible configuration.

In a recent DotNetRocks episode, Joel Semeniuk was bemoaning the lack of exactly this sort of feature in the current version of TFS. 

Good on ya', Bernardo!  I hope I can contribute once I get my production process template deployed, and all the users happy. :-)

++Alan

 Friday, September 08, 2006

It's Official, Scott Hanselman Rocks!



# 

Yes, I love his tools list.  Yes he solves problems so fast it impresses people smarter than me.  But today, I learned that Scott is a really nice guy.

This morning I noticed that he had truncated his posts in his RSS feeds.  I posted a whiney comment on his blog, and I just received this email:

Thanks for the post! I turned it off. I am just struggling with folks mirroring my entire site. Sigh.
Scott

Scott, you are an asset to our community man.  Rock on!

++Alan

    Comments [0]
 Thursday, September 07, 2006

More TFS Power Toys



# 

On yesterday's chat with the TFS team, I asked for details about the upcoming new TFS Power Toys.  The answer was that details would come out soon.  Soon in this case meant 24 hours!

Brian Harry has the details.  Let the downloads begin.

++Alan

    Comments [0]
 Wednesday, September 06, 2006

MSDN Chat with the TFS Team



# 

I enjoyed the chat with the TFS team today.  I was able to get some feedback.  It appears everything I want is slated for a future release. ;-)

Anyway, Heynemann was good enough to post a transcript for those of you that missed it:

http://manicprogrammer.com/cs/blogs/heynemann/arch...

++Alan

 Thursday, August 31, 2006

Scott Hanselman Updates His Tool List



# 

Check out all the goodies Scott has for us here:

Ultimate Developer and Power Users Tool List for Windows

I first saw Scott present at TechEd05 in Orlando, and asked him about some of the apps he used in his presentation.  My productivity has been improved ever since.

While his list is impressive and very comprehensive, I would make one addition and one substitution.

First the substitution, I'm not a fan of VLC.  I've tried it a few times after recommendations like Scott's, but nothing beats Media Player Classic in my experience.  Pair this lightweight media player with Real Alternative and QuickTime Alternative and you will realize a new level of simplicity in using online media.

My nomination for addition to Scott's list is GetPixel.  It is drop-dead simple.  It only does one thing, but it does it well.  The name says it all.  This tool gets the values of a selected pixel.  Very helpful for a GUI developer.

++Alan

 Monday, August 28, 2006

ETNUG Gets Back in Gear



# 

We took July off, but ETNUG is back on tomorrow evening.

This month, we are pleased to welcome John Kellar to present a session on "Tools, Tips and Best Practices in .NET."  John will also fill us in on DevLink, the FREE developer event he has organized.   Check it out at http://devlink.net/.

When:
Tuesday, August 29, 2006 6:00 pm

Where:
New Horizons Computer Learning Center
9111 Cross Park Drive
Building C Suite 100
Knoxville, TN 37923
http://www.nhknoxville.com/pages/directions.htm

Who:
John is a developer and architect working as a senior consultant with Compuware Corporation. In addition to being Chairman of the devLink Technical Conference, he remains active in the development community as a Board member of the Nashville Visual Studio .NET User Group and speaker.  John has worked on applications in several markets including healthcare, government, financial services, data integration services and most recently consulting services. He was a charter member of the Little Rock .NET User Group and served two years as Vice-President. John also worked on organizing several developer conferences including Tech Expo 2005, Tech Expo 2006 and devLink 2006.

What:
Tools, Tips and Best Practices in .NET

I received a copy of Wally's book to give away, and John is bringing an iPod Shuffle!

Please join us, and bring a friend!
++Alan

 Monday, August 14, 2006

Speaking at AFDUG



# 

I'll be speaking tomorrow, August 15, 2006, at the Asheville FoxPro Developer User Group on integration of Team Foundation Server and the Visual FoxPro IDE.

Meeting is at 6:00 PM at PowerChurch Software offices.

++Alan

VFP | VSTS    Comments [0]