Tuesday, May 6, 2008

Southwest Fox - reasons to go

Southwest Fox 2008, Mesa, AZ, October 16 - 19, 2008

Although I'm certain that anyone that reads this blog and has interest in VFP already knows about the fabulous Southwest Fox conference, it is possible that they might not have seen the new brochure the organizers have posted.

They crafted this brochure to help would-be attendees convince decision makers that this conference is worth attending. (If the low cost and modest hotel prices weren't enough.)

I think they've done two great things in this brochure. First, they published the GLGDW style session abstracts which tell you exactly what you'll be getting out of the session. Instead of just reading the title "Introduction to Transact SQL" and having to guess for yourself whether you're ahead of or behind the session concepts, you can see exactly what the speaker is going to discuss.

There have been many times I've attended a session at a conference because the title sounded like something that might be of interest but turned out to be some other interpretation of those words that I hadn't imagined.

The other thing they've done is to post the speakers bios, which is fairly common, but demonstrates something that should be emphasized: Many of the speakers posted contact info right in the bios.

I think the brochure should have emphasized a couple things more strongly. One is that these speakers are all very accessible. I'm certain that nearly all, if not all, of the speakers will post their contact info during the session if they didn't do it in the bio. I've often heard - even at this conference - that the speakers seem to be "clique-y" (how the hell would you spell that word if it existed?) With some rare exceptions, this is far from the truth. I once might have even shared this opinion, but found that it was my perception that was wrong, not the speakers' attitudes. The fact that they all stand around in groups laughing with each other and talking about things both professional and personal demonstrates their inclusiveness and nothing else. Each of these people started out as some sort of attendee or "outsider" and got to know the others in person or online over time.

Any attendee should feel free to approach any of the speakers throughout the conference, whether it be around sessions, social events or the bar.

The second thing that should be enhanced is the value of networking. Some employers might see networking as an opportunity for an employee to find a better job. (And this is true.) The thing that the employer needs to recognize, though, is that this network gives a developer a peer group with which to bounce things around. There are countless shops that have a single developer or perhaps a pair. If these people aren't familiar with or don't have access to local user groups or online resources, they may be living in a vacuum. A developer really needs to be exposed to other ideas and procedures. (Also an argument for the conference.) Interacting with this peer group at the conference and after the conference can yield incalculable benefits for the employer in terms of better productivity, better code, and new resources that can save time and money down the road.

Finally, it might not happen to every developer, but I'm sure that it happens at least once per conference where an attendee feels that one session "paid" for the conference. This may sound ludicrous, but it does happen.

So, if you know someone who needs help getting approval, steer them towards the brochure and tell them to emphasize the openness and accessibility of the speakers and the long-term benefits of networking.

(Oh, the brochure is a PDF! It drives me nuts that the registration form is a Word Doc for the nth year in a row.)

Labels: ,

Full Story

Monday, November 26, 2007

FoxForward Surprise

Back in April, when Kevin Cully graciously invited me to speak at his conference, his email mentioned that he'd split any net profit with the speakers on a per session basis.

At the time, I thought that was a generous notion but certainly didn't expect that there would really be any net profit.

The conference was affordably priced and the snacks and lunches were plentiful. Oh, and it should be mentioned again that the sessions I attended were excellent.

So, it was quite a suprise to come in this morning and find a check from FoxForward! In Kevin's email from April, he said:

It probably won't be much at all, but it's better than nothing!

Well, it certainly exceeded my expectations and yes, it was definitely better than nothing!

Thanks, Kevin. I'm anxiously awaiting the announcement for FoxForward 2008!

Labels: ,

Full Story

Tuesday, October 23, 2007

Southwest Fox - wrap up

I had to get home for a cyber cafe at a conference in Dearborn, so I flew out at 6:00 AM and missed the Sunday sessions and closing sessions.

I did have some overall comments about the conference...

Conference Organizers

Rick, Doug and Tamar did a great job picking up where Bob left off. All three of them greeted us warmly and handed us our registration materials and goodies very quickly.

During one of the pre-cons on Sunday, it was discussed that there was no coffee available for the attendees during the 4-hour sessions. (Not a big deal to me, since I don't drink coffee.) Rumor has it that as soon as the three "walk-in" attendees paid their conference fee, the organizers turned around and ordered coffee stations! They could have easily kept this money in their pockets, but instead turned around and pushed the conference up one more notch.

Bo's Mustang

I had no idea such a thing existed. Bo Durban had rented a Shelby GT-H convertible from Hertz. This was a very cool car, but for some reason my favorite part was the chrome plated Hertz badges on the sides.

Good Service

Rick Strahl mentioned that he had remarkably good service at the hotel right up until he checked out. DJ and I had good service the whole time. The staff we encountered were courteous and friendly, always asking if there was anything they could do for us.

On our first morning there, DJ and I walked into the restaurant at about 9:50 and the hostess said that the breakfast buffet was open for another 10 minutes. After we both chose the buffet, they made sure we had everything we wanted before they tore it down. $9.95 was a good deal for a full buffet including an omelette station! The food was good and the staff was really attentive.


One of the often highlighted side-benefits of a conference like this is the opportunity to network with other developers. Some of them are experts and/or speakers. Others are just going through the same day-to-day process of learning all they can to be better developer. Some are brand-new to the whole thing. There is something to be learned from all of them. It is always interesting to find out what other people are doing. One day, we had lunch with a guy from Seattle (I think) that works on a vertical market application for health clubs. It was interesting to hear what they've developed and where they are going.

Perhaps the two best conversations I had were those that will impact Geeks and Gurus nearly immediately.

Alan Stevens and I talked about a .NET application we have inherited and discussed some of our stumbling blocks. The next day, DJ had the opportunity to talk with him and a light-bulb went off for Alan. He told us that our application sounded like it might be built on a well documented framework. If this is the case, we should be able to crank up our learning curve a little more effectively.

The second conversation was with Russ Swall about Agile methodologies and business in general. Russ always provides great insight and resources and I appreciate his sharing of his experiences.


I've been avoiding Vista. I loaded it on a spare machine while it was still in Beta and was really unimpressed with it. Several of my customers have purchased new machines (without asking me first!) and have had painful experiences with Vista and Office 2007.

One of the guys in our local users group spent an evening telling about all the paid he'd dealt with trying to get his vertical market application to play nicely with Vista. Several other people have complained about various issues related to developing on Vista.

So, I was quite surprised to see how many speakers were running on Vista. At very least, Christof Wollenhaupt, Rick Strahl, Toni Feltman, Cathy Pountney, Doug Hennig all presented on Vista - with no glitches that I noticed. I know that Doug and Rick have been blogging about Vista for some time, yet I was still surprised to see them working completely normally in their sessions.

So, maybe I'll be willing to give Vista a try sooner than I expected.

1200 Series New York Strip

When SW Fox was in Tempe, we always went to Grilled Expedition for dinner on a free night. They have this steak that is extremely good. Every time we go there, we have the same steak. (And somehow we always get the same table - near the bar and the TVs. I'm pretty sure we've been able to watch the Wings or the Tigers every time but this time.) On Saturday, DJ and I, Frank Perez, Bo Durban and 3 Stonefield guys all drove to Tempe. We got the same table and DJ, Frank and I had the same steak. I think it was best the first time, but it is still very good.

From the menu: Extra-thick cut strip rubbed with kosher salt and buried in our 1200 degree mesquite coals. served medium-rare

I can't wait for next year!

Labels: ,

Full Story

Saturday, October 20, 2007

Southwest Fox - Day 3, Session 4

Toni Feltman - Introduction to the DBI Controls Included in Sedna

As was the case in several other sessions, Toni had a Standing-Room only crowd.

Toni walked us through the 8 DBI controls that are available as part of Sedna. They are available now here. The 8 controls include ctTray, ctDEdit, ctContact, ctToolBar, ctListBar, ctDays, ctDropMenu, and ctFrame.

All of these controls allow us as VFP developers to give our applications a more modern look. Toni says they are all easy to work with and each come with working examples including VFP code.

Toni recommended that we don't use the Controls Builder for the most part. Instead we should set properties in code. At least some of the controls, though, let you save off the settings into XML. (And also support importing those same settings from XML.)

Labels: ,

Full Story

Southwest Fox - Day 3, Session 3

Cathy Pountney- Getting Your Head Around the VFP ReportListener

I was a late adopter of VFP 9.0, but have been attending sessions about ReportListeners since they were announced. I've never worked with them, so I thought this would be a good opportunity to get up to speed. I'm really glad I attended this session. We have two applications that could immediately benefit from what I've learned in Cathy's two sessions.

Cathy started out by telling us that the new functionality is turned off by default. Microsoft didn't want to break any existing reports, so instead they force you to turn the new functionality on by issuing a SET REPORTBEHAVIOR 90.

You can also use the 9.0 functionality on per report basis by modifying the REPORT FORM command with OBJECT TYPE n. Additionally, you can create a listener and issue the REPORT FORM xxx OBJECT oReportListener

Just like with any other base class, you want to subclass the report listener for your applications.

Cathy spent the rest of the session walking us through the key PEMs for report listeners which gave us a good overview of where we can interact during the reporting process.

Labels: ,

Full Story

Southwest Fox - Day 3, Session 2

Rick Strahl - Introduction to AJAX with Visual FoxPro

Rick started out by telling us what AJAX Asynchronous Javascript and XML (although very little of it uses XML)

In a traditional HTML page any time you need to go back to the database you need a complete redraw of the active page in the browser. AJAX attempts to update the active page without a complete redraw. Rick says AJAX is really Remote Scripting.

Google Maps really started the trend. Many of the web-mail clients use AJAX to display a more windows like interface.

If you have a postback type of page, you can take advantage of AJAX to pull a small piece of data within the context of the active page. One of the things I didn't realize, which is now obvious, is that you can use AJAX to make a plain HTML page dynamic.

In response to a question Rick said that it would be his recommendation to initialize the page with as much data as makes sense instead of for example sending a page with a bunch of empty combo boxes that use AJAX to get the data as the user works through the page.

AJAX is not a replacement for ActiveX or plug-in architectures like Flash. We still can't use AJAX to do things like accessing the local system or uploading files.

Rick mentioned that JavaScript libraries are very important. Rick rolled his own because there wasn't anything reliable when he started getting into this stuff. He mentioned that there are lots of libraries out now and he currently likes jQuery.

Rick then showed us an ASP.NET app that uses VFP COM to demonstrate these concepts. We looked at the HTML and JavaScript used in a simple example.

I had a lot of trouble with my tablet in this session so my motes aren't very complete. I came to this session to get a better understanding of AJAX. I've understood the general concept but didn't really understand how it is implemented. Although we don't have any immediate need to use AJAX with any of our VFP applications, we can probably use it in one of our ASP. NET applications in the very near future, making this session even more valuable.

As always, Rick gave a great session.

Labels: , , ,

Full Story

Friday, October 19, 2007

Southwest Fox - Day 2, Session 6

Whil Hentzen - So You've Inherited an Application. Now What?

Having recently inherited an application that has been in development for about two years, but not yet deployed, I had great interest in this session.Whil introduced the session by saying it would be a philosophy of how to take on someone else's app, not a recipe.

Whil stressed that (as with all projects) the most important aspect is communication: not just having conversations, but making sure all parties are really on the same page. One of the key elements in this conversation is to help them understand the potential difficulties. Whil elaborated that some of these might include the lack of test data, undocumented and inconsistent code, the lack of standards based code and stuff that just works by magic.

He also said that in that communication it is important to make sure that they customer is looking to buy what you're selling. Again, they may have different expectations and it is important to make sure you know what they are really looking for. (This tied into Steve Sawyer's comments about customers coming to you with a solution instead of the problem.)

Whil suggested something I'd never thought of: If you take their source code "as is" can you build and EXE that is the same size as the EXE in production. If not, there is a good chance that the source code they've provided is different than that which was used to generate the production EXE.

Whil recommended looking at Ted Roche's site for tools for analyzing applications. http://www.tedroche.com/

Whil also pointed out that VFP has several tools that will help when working with someone else's application such as the Documenting Wizard, Code References and DEBUGOUT.

Labels: ,

Full Story

Southwest Fox - Day 2, Session 5

Cathy Pountney - OutFox the VFP Report Writer: Printing on My Terms

I missed this session at DAFUG where it received great accolades. So here I am with great expectations.

Cathy gave us a great illustration of how the reporting pieces work together. She showed that the report engine is still out of our control, but the report listener, preview container and extension handler are all in our control.

Cathy started out showing us several really desirable reporting output options like 2-up or 4-up, shrink-to-fit, booklets, portrait or landscape with a single FRX... wow, I'm pretty excited. She says she's going to show us how to do all this with no changes to our reports. I can't wait.

OK, now she says we're going to do this all with API calls - and wait for it - it is easy? We'll see. :)

Wow, this is very impressive stuff. Cathy has written a fair amount of code (that the attendees get) that really does make this easy. She's done all the heavy lifting and has written methods that basically trick (repeatedly) the report engine into thinking the paper is one size or another to get the report generated the way she wants and then sets everything back after the report is generated and before it is actually sent to the printer. Sometimes she's playing with orientation, sometimes page size, sometimes the order of the pages, sometimes some other magic.

This is all very slick.

All these examples went straight the printer (or in this case, the PDF generator on Cathy's machine.) So next she showed us how to see these results in the Preview using an Extension Handler.

She spent some time showing us some of the properties of the PreviewForm like AllowPrintFromPreview which when set to .f. doesn't allow the user to print from the preview window.

This session really rocked! If you're not here - get your user group to get Cathy to come do this session. If you are here - make sure you see this the next time around.

Oh, and by the way- Cathy said this was all easy right? Well it will be for us because she's worked through all the really hard stuff.

Labels: ,

Full Story

Southwest Fox - Day 2, Session 4

Steve Sawyer - Basic Marketing for Custom Business Software Services

I was particularly interested in this session to see what Steve has learned since his time at Geeks and Gurus.

Steve started out by describing the problem that we faced (and still do) as a small software development shop: How of you market yourself? How do you get in front of the people that need your services.

To illustrate the problem, Steve created the scenario where two people meet and after briefly discussing their occupations, one would say to the other "So I'd call you when..." For example, if one as a patent attorney, the other would say "I'd call you when I'm ready to patent my invention" Other examples would be doctors or plumbers where you could easily say "I'd call you when..."

For us as software developers, that is a really hard sentence for someone to finish. When would someone call us? Most people wouldn't know when they need us. Even if they have a problem that customer software could solve, they might not know it.

Even harder than that, is to be in the right place at the right time when someone does realize that they need us.

In terms of Marketing, Steve suggested a couple key requirements. First in terms of a message: Achieve Clarity. Be able to quickly define what it is you do.

Among other things, Steve suggested identifying your core competency. What do you do specifically that provides your customers benefits? What do you do that is hard for your competitors to imitate? What do you do that can be leveraged widely to many products and markets?

For the end of the session we had some open discussion (which is always as good or better than a scripted session) where we all shared some of our individual experiences.

Doug Hennig, Russ Swall and others recommended a couple books as well: Duct Tape Marketing and one that had Rain Making in the title, but I didn't right down the author and I can't be sure which of the book on Amazon is the right one. (I'll have to get the right name before the conference is over.)

Labels: ,

Full Story

Southwest Fox - Day 2, Session 3

Christof Wollenhaupt - Introduction to COM

I decided to come to this session because of a new project we have taken on. I thought I might be able to use COM to get some data exposed to .NET more easily than the approach currently in place in the application. After seeing Rick's session on VFP and .NET, I'm not sure I'd really pursue that path, but I thought I'd sit through this session because it has been a long time since I've done anything with COM and a long time since I've seen one of Christof's sessions. I was a little concerned that this session would be over my head, and although I did understand most of what Christof discussed, I haven't found myself needing to know this much detail about COM. (A comment about my lack of sophistication as a developer, not a comment about the session!)

Christof mentioned that when COM came out, it was great because it was a language-independent standard that could be used with multiple development platforms.

I never thought about whether or not GUIDs were a Microsoft thing or if they came from somewhere else. Christof told us that there was a standards group overseeing these issues: http://www.opengroup.org/ He showed the difference between UUIDs and GUIDs Level 1 is based on MAC addresses and level 4 is not. (I didn't even know there were levels.)

Christof gave a very detailed and thorough explanation of how COM works and I couldn't even begin to paraphrase or summarize these concepts.

In the end, this session proved valuable because it taught me that there some things I just shouldn't do - there are other people who are far more capable. If I find myself needing to get this deep into COM, I'd hire someone else to deal with it.

Labels: ,

Full Story

Southwest Fox - Day 2, Session 2

Rick Strahl - ASP.NET COM Interop with Visual Foxpro

Rick started by giving a general overview of the issues related to developing concurrently in VFP and ASP.NET and an illustration of how applications interact with each other when using ASP.NET and VFP COM components. He pointed out that this is "gateway" technology, not a strategic technology. He thinks that this approach is a way of bridging the gap until such time as an application is completely rewritten. He said that it wasn't his purpose to recommend one or the other, but to recommend that you use only one - VFP or .NET

Rick created a simple Hello World demo just to show us how to create a basic COM object. He then showed us how to create a VS project that will consume our little com object. He pointed out that we want to create an ASP.NET web application.

One of the little tidbits I really appreciated was the OS command "IISRESET" which can be used to - what else? - reset IIS? Rick mentioned this because you need to reset IIS to release you COM component as you're developing it and creating new iterations.

Rick talked about how the Session object creates a good environment for COM components -except that it causes trouble sometimes when dealing with data. So instead he creates an ASPBASE class based on CUSTOM and then marks as protected most of the VFP members that have no meaning in this context.

He then showed how to use COMATTRIB to create a property and give it strong typing for the type library. Oh, yeah, he also pointed out this this only works with VFP 9, SP2.

Rick pointed out something that might not be obvious, but when you're developing applications in this fashion, you have to realize that it is a multiuser application and you have to be aware of that as you're writing code. His simple example was just a little incrementer, but he explicitly made sure he could lock the record before he changed the data.

Rick went into a good level of detail showing us different ways to interact with VFP COM from ASP.NET and showed us a couple different ways to get data into ASP.NET web pages.

I frequently got so wrapped up in paying attention to Rick that I forgot to take notes to share here. As always, Rick gave a great session.

Labels: , ,

Full Story

Steve Sawyer - Project Management

Steve Sawyer presented a session on how as Developers we might have the skills and strengths to make good project managers.

Steve explained how there are so many opportunities for Project Management - internal software systems, shrink wrap software development, reselling and customizing 3rd party systems like SAP, Great Plains, etc, companies outsourcing development, any project with multiple stake holders.

Steve mentioned that there can be good "politics" in business organizations which is something I had never thought of. We so often talk about the politics being a problem within an organization.

Project mangers are not, by formal definition, an active participant in the software development process. Steve says that in the real world it doesn't always work out that way. In any case, he says Project Managers must be engaged with an element of the process to influence that process.

While Steve was talking about various stakeholders her reminded me of something that we've discussed before: Often the client tries to specify a solution rather than describing the problem.

When talking about the creative and technical staff, Steve talked about another thing that really rings true and of which I'm often guilty: We base our estimates on "ideal programming days" which never happen. It is so hard to remember this when talking with customer s or even internally regarding timelines and budgets.

Good Project managers should:

  • Keep the client focused on the need and away from the solution
  • Don't make commitments to deadlines while in front of the client
  • Identify factors driving the deadlines
  • Insist on frequent milestones (very much in line with the Agile way of thinking)
  • State and Restate project scope issues

Tamar Granor mentioned a recent article by Phillip G. Armour in the Communications of the ACM where he talks about how we often assume perfect case scenarios to shorten timelines (in order to please the customer, or perhaps driven by the customer.) It looks like he has several articles relating to project management, estimating and agile development.

Steve talked about the differences between Developers and Programmers, where Developers are responsible for every aspect of a project - including project management - and Programmers are more like "order takers"

Steve mentioned that a good project manager has to have the ability to form alliances with all the stakeholders and the ability to do this with Diplomacy.

You can learn more about project management and certification here: http://www.pmi.org/

Overall Steve presented a great session about the possibility of a developer leveraging existing strenghts and skills for a new career as a Project Manager.

Labels: ,

Full Story

Thursday, October 18, 2007

Soutwest Fox - Key Note

Southwest Fox 2007, Mesa, AZ, October 18 - 21, 2007

148 attendees
16 speakers

By a show of hands, it looks like about 15 0r 20% of the attendees were at their first-ever VFP conference. About 1/2 of the attendees were at their first Southwest Fox conference.

Rick spent some time talking about SP2 explaining that this release has bug fixes and report designer enhancements. He also pointed out that Microsoft released 2 versions of SP2 because the first one didn't quite have the right splash screen. Doug then mentioned that if you have SP1 installed, you should uninstall VFP9 and then install SP2.

Rick then explained that Sedna is different and separate from SP2 and detailed the components of Sedna. Microsoft still hasn't announced a release date for Sedna. It will be released on CodePlex.


Christof Wollenhaupt first demoed a little VFP application he wrote to learn foreign languages and talked about how it would be cool if VFP could be used to build and deploy applications to other platforms such as pocket pc's and Linux Devices. Then he showed how to use his Guineu application to deploy VFP apps to other platforms. He demoed this language app on the Pocket PC, Linux, SQL Server stored procedures. Check out http://www.guineu.net/ for information.

Then Toni Feltman showed tools from eTecnologia: .Net Extender and .NET Compiler for VFP. In the first example she showed a VFP form then when run used .NET controls on the VFP form. In design mode, all you really see is a place holder, but you have access to the full functionality of the .NET controls. Toni then talked about the Compiler which is also still a work in progress, but shows great potential. See http://www.etecnologia.net/ for more information

I'm sure I have this next part all wrong:

Next up were Alan Stevens and Craig Boyd to talk about a Super Secret Project. Alan mentioned again that "Your code is not obsolete" his mantra for the weekend. Alan and Craig are working with Ken Levy on a way to build applications out of Visual Studio! Craig, in his typical way, raced through his explanations with passion and then showed us something called "VFP Studio 2008" He talked about "isolated shell projects" in Visual Studio. Craig showed a VS "New Project" dialog and said we'll be able to create VFP projects in VS. Craig and Alan stressed that this is based on technology that they just received from Microsoft on Monday. They said that this new technology, the isolated shell, is separate from Visual Studio and doesn't require a license to Visual Studio.

This lead into them talking about Click Once technology - for VFP! They also talked about "reg free COM" and how we can use VFP to create applications that work with Vista's new security issues.

The Keynote finished with the following calls to action:

  • Download SP2 and Sedna
  • Join VFPX
  • Start a Blog
  • Something else that I didn't see before Doug moved slides!

Labels: ,

Full Story

Southwest Fox - PreCon

I've been looking forward to Alan Stevens' session on TDD from months - and my anticipation was not for naught.

Alan had 4 hours to give us a really great session on TDD. I have tons of notes, but I don't want to give away all of Alan's session. Instead I thought I'd share some of the elements that hit me the most.

Alan spent a good hour giving us an abstract and philisophical introduction to TDD, what it could mean to us and how we develop.

One of the things Alan mentioned was that he wants to show us how to use TDD against existing code - which is something I thought we wouldn't be able to do at Geeks and Gurus. We've always talked about using TDD on the next big project, not applying it retroactively to something we're already working on. I missed about 10 minutes of the session in the middle. Customer phone call on a break took longer than expected) but I don't think he actually covered this in any detail. (I missed the part where he talked about something called FoxMock) At the very end of the session Alan put up a slide "What is Legacy Code?" His answer: Code without unit tests. He made the point that you could have written legacy code this morning. He made points about how refactoring old code is the opportunity to implement TDD and build seams in the application. "Get the class you are modifying under test." I still have a ways to go in figuring out how when and where we'll implement TDD, but I'm more convinced than ever that we need to start as soon as possible.

So, back to the key points. Alan explained that TDD (Test Driven Development) is not really about testing or development, but about example driven design. Later in the session he was able to illustrate this with simple examples.

Something that I've always had in my head was that Vagueness is the enemy of developers. He later made the statement "The hardest thing in software design is to know what to build" This rings so true to me. We're in the middle of one project where the spec is basically "we need reports" Uh, ok, we'll get right on that.

Alan talking about Fowler's concept of Avoiding Debt - "Go ahead and implement it now and we'll fix it later" is Design Debt. He stressed that we should "pay cash" and "pay as you go"

One of the great things he showed us was a diagram: The Great Pyramid of Agile from http://www.processwave.com/. This helped me crystalize an agile concept that I've had a hard time "seeing" in the real world. I now understand how to illustrate the concept of starting with the smallest deployable set of features and adding new features in future iterations.

TDD is a process. FoxUnit is a tool that is part of that process. Alan tweaked FoxUnit and VisionPace was kind enough to post this "unofficial" version for the conference.

Test Sequence: Setup, Exercise, Verify, Teardown

Alan then walked us through FoxUnit showing us the core elements of a test.

I'm running out of time - I'll post more later, but this was a really great session.

Labels: , ,

Full Story

Wednesday, October 17, 2007

Off to Southwest Fox

Southwest Fox 2007, Mesa, AZ, October 18 - 21, 2007

I haven't been this excited to go to a conference since the early days of DevCon. DJ and I leave tonight. I'm really looking forward to Alan Stevens' pre-con on Test Driven Development and the rest of the conference.

I talked to Rick yesterday and he didn't sound too frazzled yet. (It was his first day on-site, though. And, he'd only made the first of his 4 shceduled stops for the day.)

I downloaded some of the whitepapers today and the stuff I looked at looks really good.

(Even though this is a Fox conference, I am also looking forward to talking to some of the people that are doing .NET. DJ and I inherited (hmm, I should see whil's session) a pretty big .NET app and we're struggling through just fine - except when it comes to figuring out where the heck the data comes from. I think I finally understand why for years people have said .NET "isn't there yet" when it comes to talking to data - at least from a VFP developers point of view. Man, we have it easy.)

I plan on posting from the conference, hopefully with a little more detail than I provided from FoxForward.

See you there.

Labels: ,

Full Story

Saturday, September 8, 2007

FoxForward - day 2, part 2

FoxForward 2007 - Alpharetta, GA USA - September 7th-9th

I had lunch with Tod McKenna, Michael Babcock and Paul Ray. I got the chance to ask Tod more about his session and his background. Tod has great ideas about Data Warehousing and what it means to VFP developers. As usual, the conversations outside of the sessions can be as valuable as the sessions themselves.

Subversion - Garrett Fitzgerald

Garrett gave us a soup to nuts session on Subversion.

I have to tell you, my initial reaction was "yuck." Although I've had my share of troubles with VSS, I'm not sure I'd ever chose a tool that required command line setup and configuration.

Garrett did a good job of explaining the differences in approach between VSS and Subversion in terms of check-in and check-out behind the scenes. He also talked about how the revision numbers are handled differently. (VSS: 1,2,3, Subversion doesn't need to be sequential.)

Ok, I can't take anymore - I'm a GUI kinda guy - Subversion is not for me. Hey, the guy in the front row just said "this could really use a GUI front end." Garret mentioned that there is an API so it could be done.

Between VSS and Source Off Site I'm happy. It was a one time investment and it pays off a little more often that it should!

Off to the last session of the day - and it's mine.

Labels: ,

Full Story

FoxForward - Day 2, Part 1

Did I mention I'm in Atlanta? Perhaps the best thing about this conference for me personally is that the hotel serves Coke, not Pepsi. :)

I got up on time and got set up for my 8:00 session without any trouble. There are two "big" rooms and one small room. I was in the small room. There are about 56 people here including speakers. I had 2 in the room at 8:00. (It was early, right?) Before I got started one of the attendees said that reason she was at this conference was to see my session. (No pressure there!) She's working on an international application where color-coding regions based on certain values would be beneficial. We looked at the MapPoint site and it doesn't look like MapPoint Europe fully supports Ireland so she might be out of luck.

A few minutes into the session I was up to 5 people.

The session went ok. My newly rebuilt tablet wasn't quite as snappy as I'd hoped for, but it did ok. (My impatience and double clicking slowed things down too) Everyone stayed until the end except for Kevin Cully who had to go get ready for his session or run the conference or something like that.

We had some great questions and discussion during the session and it helped me remember why I think MapPoint is such a cool, underrated tool.

Although I really just wanted to sleep, I went to see Brian Marquis' Fox Trails session which discussed his approach for VFP web development which is based on concepts from the Ruby on Rails framework.

For the third session this morning I went to Tod McKenna's Data Warehousing with VFP. Tod's session was great and targeted at people like me who have only heard of "Data Warehousing." Tod did a really good job of explaining the concepts behind data warehousing and showed several examples of VFP code that is used in the process. If you've never seen an "intro to Data Warehousing" session, I'd highly recommend Tod's session. (I'm also going to recommend that he get on DAFUG's agenda at some point in the future.)

Next up - lunch.

Labels: ,

Full Story

Friday, September 7, 2007

FoxForward - Day 1

I went down and picked up my name tag, conference book and various other goodies from Kevin Cully's wife, Kim, and joined the crowd for the "Get to know you session" over beer, cheese, crackers and cookies. I had a chance to chat with Dave Bernard, Michael Babcock, Ed Leafe, Kevin Ragsdale, Kevin Cully and others.

Kevin Ragsdale opened with part one of a two part "VFP 101 Crash Course" which I've heard was very good from at least one attendee. It was described as "how to be a 10-year veteran in 3 hours" by this attendee.

I'd seen Dave's session on "Instrumenting your application" so I took advantage of the time to practice my session a little more. I really needed the time because I rebuilt my machine from scratch late this week and hadn't actually tested every example. (I know, I broke a cardinal rule for speakers.)

So, I worked through my examples and everything was going great until I fired up one VFP form and the installer dialog popped up. I don't have any idea what I needed, but I'm sooo glad that I brought my MSDN disks with me.

I did come down to see Stein Goering's Web Connection Revisited. Stein did a great job of walking us through version 5. Some of the highlights include Rick's integration with Visual Studio's IDE for easier building of pages. Actually - it looks just as if you were working on a ASP.NET page with a C# or VB code behind page - except that the code behind page is a PRG! Way cool.

Stein walked through several aspects of Rick Strahl's framework including security. He also talked about Rick's "panels" which can be made visible or not through code. (In this case he showed how a user's details were not visible until after the proper credentials were supplied.)

Stein mentioned that the new framework is very backward compatible and indicated that he brought forward his entire code-base which he started in 1997. He said it only took him 2-3 hours to convert the entire application.

I couldn't count how many times Stein said "Rick makes this easy"

Late Evening Session

After the session we all walked across the parking lot to the Loafing Leprechaun that did a really great job of taking care of us - and even provided separate checks for everyone. There were at least 30 of us, maybe more and one waitress took care of the whole crowd. (I think, anyway)

The conversation was great - as it usually is at a VFP conference. I sat with Dave Bernard, Alan Stevens (whom I hadn't met before), Michael Babcock and Brandon Harker. I particularly enjoyed hearing Dave's ideas on the future of his company and some of his clients. I also enjoyed talking with Alan about his Unit Testing session, which unfortunately is scheduled opposite my session. (I thought i might get a chance to see it yet since he's added a second session to fill an opening created by a speaker that couldn't be here. Unfortunately - it is opposite me again!) Fortunately I'm already signed up to see him present it as a pre-conference session at Southwest Fox.

I left a bit earlier than some of the others so that I could walk through my sample code one last time.

Labels: ,

Full Story

FoxForward - getting here

Made it to the airport on time for my 7:09 AM departure. Whew.

Slept on the plane.

Landed, got my luggage, picked up my rental car. (Remind me never to get the cheapest no-name rental from Orbitz again.) The service was a bit slow and at one point the clerk asked where I worked and looked at the Geeks and Gurus logo on my shirt and asked If I could take a look at her computer, which was on the fritz. I told her I really write custom software and don't spend so much time fixing computers - which is mostly true these days. Anyway, got the hand-written paperwork (since the computer wasn't working) and followed her instructions to take a U-turn around the counter and cross the street and wait in the "orange" section. Fortunately a shuttle was there waiting and off we went.

The shuttle took me to the off-airport lot where my car was ready and waiting. I was told it was a purple Cobalt in space B5. I couldn't see any markings for the spaces, but I did see two Cobalts. One I'd call blue and one gray - no purple. The keys didn't work in the blue one so I tried the gray one and lo-and-behold it is actually purple in the right light. These cars we all so beat up I couldn't believe they'd rent them. Anyway, other than the fact that I was parked in I haven't had any problems with the car so far.

The hotel has been great so far. Very courteous help checking me in - keys were ready upon arrival. Took my stuff up and came back down to move the car - leaving the room keys in the room. The front desk kindly made me another set and told me to bring the first set down when I had a chance. A little while later I went across the hall to get a coke and discovered I took the old set of keys which didn't work any more! Back downstairs where they kindly made the original set work again.

So I'm here and need to spend some time reviewing my session. The conference starts today, but I don't present until tomorrow at 8:00 am.

Labels: , , ,

Full Story