Dec
09

Last night one of my clients was implementing their vertical market application half way around the world. The onsite support people were reporting an error when the app was started: “Invalid path or file name.”

Thanks to the new error handler we implemented in the app I tracked this problem down to a single line of code:

CD &lcDataPath;

Looking at the value of lcDataPath it became instantly apparent what the problem was, spaces in the folder name. The tech support person right away explained to me the standard for the install is no spaces in the folder names. This site deviated from the standard folder name recommended by my customer. Now she knows exactly why the original developers proclaimed this “requirement” years ago.

I have not been burned by spaces in code for a long time because I always use indirection in my code whenever I deal with file names or folders.

CD (lcDataPath)
USE (lcFileName) IN 0 SHARED AGAIN
DELETE FILE (lcFileName)

I posted this issue on Twitter earlier today and Andrew MacNeill noted this is probably a great rule to add to Code Analyst up on VFPX. I agree. I am now curious how many developers do not test their applications in folder structures with spaces in the name. I just checked my development machine and all my test folders are space free. But I do install my applications on a virtual machine in the Program Files folders and this tests out the space problem.

Yet one more reason why we have standards at White Light Computing and why the adoption of industry best practices gives us more solid deployments and apps in production. Fortunately the onsite tech people were okay with renaming the folder, otherwise my customer would have been hiring us to review the application for other macro expansion gotchas.

Dec
07

German DevCon – Day 3

The final day of the conference in Germany is like the final day of any conference, you start out the day exhausted. Add on top of the fact I have not slept more than a couple hours a night because of the jet lag and the time zone difference from home.

I also did not have the first session of the day so I was able to attend Bo Durban’s 8:30 session on “Creating Custom Controls with Sedna.” Yes, another reporting session I am sure will be very useful to me in the near future. Bo showed us how to take the Sedna reporting architecture and extend it for our own purpose. His extensions show how you can drop a shape on the report and have it be one of the custom shapes he has predefined. His custom shape takes on the attributes (size, color, etc.) of the standard VFP shape you drop on the report. Very interesting and will take a little to sink in.

Up next is Tamar’s “Solving Common Problems with VFP SQL” session. It sort of was a session that gave me that time-warp sensation. I recall sitting in on one of Tamar’s SQL sessions at one of the early DevCons (probably 1993 in Orlando). Tamar has been giving SQL sessions for many years so I am not sure if it was then or 1996 in Scottsdale. Or maybe both. It does not matter how many times I see sessions like this, I always walk away being reminded of some technique I have forgotten about. It also reminded me I probably should reread her book: “Taming Visual FoxPro’s SQL – Real World Data Solutions For VFP“. There are techniques I just have not used that were introduced in VFP9 like the ability to create SQL Selects from virtual tables (another SQL Select).

I skipped the Microsoft keynote given by Tim Fischer of Microsoft Deutschland because I probably would only understand about 1% of it. The topic was interesting as it was about Software + Services and VFP, but it was given in German and my mind was not prepared to pseudo translate.

After lunch was “Practical Uses of XML” by Doug. I really liked this session. I definitely have used XML in my customer applications and developer tools, but it is always interesting to see what applications other developers come up with. Doug’s session gave a brief overview of XML and some of the gotchas you have to be aware of and some techniques for working with XML data.

Last session of the conference was my “Extending the Sedna Data Explorer” session. I have done this session numerous times and I got tripped up in the last example where I display the ShowPlans for all the views in a database. The demo crashed and burned. This is a demo I did in the morning when I ran through all my examples one last time. During the day I was working on the Upsizing Wizard chapter and upsized the VFP NorthWind database. I was testing the upsizing of VFP views and when you do this it turns them all into remote views. Well the ShowPlan code is counting on local views and I was seeing the SQL Server login dialog during the demo. Not cool. Fortunately everyone was understanding that the demo gods were not kind during the last 5 minutes of the session. See why I don’t update my machine for a couple weeks before a conference? Even something a silly as a demo can get tripped up by changing data.

Later in the evening of the last day is the speaker dinner. Rainer always comes up with a spectacular spread of interesting food. Each year there is fun discussion and lots of laughs. I thought I would leave by 11:00 but they kicked us out sometime after midnight. I was nearly falling asleep at some point, but got my second wind along the way.

The conference was terrific. I learned a lot, got some important work done, and was able to get some ideas spawned for VFPX during my time in Germany. In fact, during the conference one of the German speakers submitted a project to automate VFP builds. It was accepted and is the first time I was able to tell the project manager face-to-face that the project was accepted. We have not announce the project yet because the project manager is busy with his real job, but expect to see it soon. Looks real interesting. I am looking forward to next year if I am so blessed to be selected to speak in Germany for the fifth straight year.

Dec
07

German DevCon – Day 2

I skipped all the morning sessions so I could work on my customer projects since I have seen all the English sessions already. I did not get a lot done Wednesday and Thursday and was feeling the heat to produce some code for the deliverables I promised. The code is not very glamorous as it is changes to a FoxPro for DOS app, but the implementation is extremely important for my customer and the code I am working on has some cool elements in scheduling service calls out for the repair people. My customer is changing the process of assigning the calls to the repair people for the first time since the 1990′s so I have to make sure it works and assigns the calls correctly every time.

The first session I attended was Doug’s “Creating Explorer Interfaces in VFP”, a session I have looked forward to since he submitted it as a session for SWFox. His screencast generated a lot of interest among the people who registered for SWFox and it received a lot of praise from people I talked to who went to it (both at SWFox and in Germany). During the session Doug went into something I am coining as “high-speed Canadian” as he started speaking quickly. You can tell when a speaker is really excited by the material they are presenting. Doug is a natural high energy speaker and he was ramping up during the early part of his session. He did slow down eventually. You see, while the Germans are terrific at English, it is not their first language so it is the responsibility of English speakers to conscientiously slow themselves down. The session did not disappoint. Doug has a really powerful treeview wrapper class with all the bells and whistles you could want. I also know he added the ability to disable the treeview after his session based on feedback he got during the session. He also showed how he uses VFPX components from the Themed Controls project as well.

The second part of my “Using VFPX Components in Production Apps” session was next. I presented a couple of components and filled in the rest of the session by showing off the new changes to the New Property/Method and the Edit Property/Method Editor being worked on by Jim Nelson and Doug Hennig, and the recent FoxTabs project lead by Joel Leach.

The last regular session of the day was Kevin McNeish’s “Rich Internet Applications in Silverlight 2.0.” There has been some buzz around Silverlight and I have a potential project that might be best done as a Web app so I wanted to get the scoop on Silverlight.

Rainer asked me to talk about VFPX in the second bonus session during his segment on the future of Visual FoxPro. He wanted me to briefly discuss the importance of VFPX, why it is so important to the future of VFP. I took the opportunity to ask people to get involved one more time.

Dec
07

German DevCon – Day 1

Rainer Becker (organizer) starts out the first day at 9:30am with a brief Welcome session. It is in German, but I still catch part of it based on the technology words he uses.

First up was Tamar’s “Making the Most of the Toolbox” session. I vaguely recall seeing Tamar do a session like this many years ago, and Toni Feltman did a session on this tool several years ago at DAFUG. I even present a couple of uses of the Toolbox during my “Get Productive with VFP” sessions. That said, I rarely use the ToolBox. I drag and drop classes from the Project Manager. But Tamar reminded me that the Toolbox is way more than the Form Controls toolbar on steroids. There were lots of interesting things presented, but the one I really liked is how you can set properties on an item in the toolbox. The property settings you make are applied to the control when it is dropped on the designer. For instance, you have a command button in a class library to close forms. I drop this on to the designer and right away I am compelled to name the control cmdClose via the Property Sheet. You can set this up in the Toolbox so it is done for you. This works almost like a builder or property editor, but handled behind the scenes and is custom to the class you are working with.

Up next was the conference keynote and keynoteX (where Ken “KenX” Levy talked). Ken gave a little history of VFP and how Microsoft actually at one point killed the product after the 6.0 release, but it was not killed based on the community uproar and the efforts of the Fox Team. He also noted that developers need to try VFP 9 SP2 to make the appropriate business decision for themselves instead of making the decision based on what they hear SP2 is like. There are over 100 bugs fixed and a couple of serious regression bugs that might not affect your application. Ken also mentioned some interesting statistics from community surveys. The one I remember is half of VFP developers are using SQL Server.

As far as the future of VFP, Ken mentioned several things. He expects Microsoft to provide hotfixes for VFP 9 if there are issues related to Windows 7 (note these are Ken’s opinions, not Microsoft official statements – he no longer works for Microsoft). He said that the Fox Community must remain active to support each other. He had high praise for VFPX and the efforts of the people working on projects. He even referred to the developers as the “New Fox Team.” He is watching and recommends the community watch the progress of VFP Studio, Guineu, .NET Extender for VFP and the VFP Compiler for .NET.

Ken finished up noting the four pillars of the VFP Community:
1) Product and Experience (VFP9, Sedna, & third party products)
2) Frequent Communication (online forums, online content, Web casts, screencasts, blogs and white papers)
3) Deep Engagement (conference, events, influencers, open source)
4) Product Enhancement (VFP tools online, VFP XSource, and VFPX)

After lunch I gave the first part of my “Using VFPX Components in Production” session to a crowded room in the auditorium. As a speaker I prefer crowded rooms because I feed off the energy. Rainer said my two VFPX sessions had the highest attendance of the conference. Sweet. I think the session went okay. I did have trouble finding a couple of examples, which is uncharacteristic of my sessions at a conference (I blame the jet lag). I did get some positive feedback afterwards and during meals. VFPX is really taking off in the community right now so it is not unexpected that there is some buzz going on at conferences too.

Doug Hennig followed my session with his “Advantage Database Server for Developers” session. I really looked forward to this session and was not disappointed. I am learning bits and pieces of ADS and Doug’s session really helped me understand the positives and minor negatives with this product. One of the things that impressed me is the full text searching you can do on memo fields. If I recall correctly it took five minutes to do a search with the $ operator in native VFP and less than a second using the ODBC drive and the full text index capability of ADS. Very cool stuff.

Bo Durban’s session on “VFP 9 and SP2 Reporting Component Basics” was one of the sessions I really wanted to see at SWFox, but knew I could see in Germany. It is always cool to have this in my back pocket when I am picking sessions I want to see. Being able to spread them across two conferences rocks. I arrived a little late as I was talking with Igor Vit and Christof Wollenhaupt between sessions. In this session I was hoping to pick up some tips on working with some of the new SP2 reporting enhancements because I have not had a lot of time to work with them based on my current projects. Getting a refresher on the Dynamic properties was worth the price of admission. Bo has a knowledge packed white paper for the session. It is definitely going to be one of those white papers I will need to read several times for everything to sink in.

After dinner is the evening sessions. The first was more from KenX. Ken showed the NET4COM and My Intellisense tools from Sedna. He also showed his AppScanX tool he has been working on
this year and plans to submit to VFPX as a new project. Ken mentioned AppScanX to me several months ago and was planning on showing it at SWFox, but decided at the last minute he was not ready. I have been wondering how this new tool was different from Code References. It is actually a cool tool that takes a different approach to searching for text in all the source code in the project. You can search for text strings just like Code References, but you can also tell it to skip instances of the string based on different conditions. The tool is a little rough based on the fact the UI is done by BROWSEing a table, but it shows a lot of promise and should be something to look at in the future. I am looking forward to seeing Ken submit the project to VFPX. We kidded Ken at the speakers meeting that we are under strict orders to reject anything he submits. I am sure it will be accepted.

That is all I could take for the day. It was busy for sure and I was feeling a little guilty because I was neglecting my customer work, but I make that up on Friday as you will read: I played hookie in the morning to work on my customer projects.

Dec
07

German DevCon – Day 0

Sorry for the delayed posts, but life has been very busy since returning from Germany.

Traveling to Germany is not high on the physical fun list when you go and come back in less than a week. I like the conference and the people, but my body does not do well on the trip. The flight to Frankfurt was empty when I booked the trip and nearly as empty when I checked-in online the day before leaving. Wouldn’t you know, someone picked the seat next to me when there was an empty row behind me. So I moved my seat so I could have two seats. When I got on the plane the person across the aisle made a bed out of 5 seats. I watched a couple of movies (Wall*E being one of them) and tried to sleep, but instead worked a little on customer code and some on the Upsizing Wizard chapter for the Sedna book.

We made it to Germany 30 minutes early. Normally I get there before Doug and I would go to his terminal. This time my flight was arriving after Doug and Tamar and so they came to my terminal. We got a taxi to the hotel. Rooms were not ready so we ate breakfast and talked about Southwest Fox feedback. Once the rooms were ready I took a nap and did a little bit of work before the speaker meeting Wednesday evening. Before the meeting I met Bo and his wife and listened to their stories about traveling in Germany before the conference. This is exactly what I did with Doug and Jeff the first year I came to the conference.

All the VFP sessions I attended at the conference were excellent. Normally you will see me rate them with a certain number of stars. I learned something in every one of the sessions and rate them all 5 of 5 stars.

I did a lot of live posts during sessions on Twitter using the #GerDevCon hashtag, but Hashtags.org is dead and Search.Twitter.com does not find them which bums me out as I was hoping to use them as notes for these posts. I did have lots of fun interacting with my friends on Twitter, especially when I offered twitter beer when Rainer brought in beer during the evening sessions.

The conference hotel rooms have a new digital TV and digital service. I thought it was cool that I could filter channels by language. Mostly watched the BBC to keep up on news, and CNBC to hear about the financial crisis and watch the Tonight Show for some American humor. After the speaker meeting I went back to the room and slept as solid as I have in Germany.

Nov
03

Joel Leach blogging

Joel Leach has entered into the blogosphere over the last few days over on Foxite. In case you don’t know Joel, he is the new project manager of FoxTabs over on VFPX.

http://weblogs.foxite.com/joel_leach/default.aspx

Welcome Joel!

Nov
02

Blaming It on Rick

Just in case you are not one of the 3 people who follow me on Twitter, I have a new Web site. If you need to blame someone for something you did or want to avoid the responsibility, please check out the newest social Web site:

http://BlameItOnRick.com

Just in time for election day, a new week of the job grind, or just living everyday life.

And for the record, it could be: BlameITonRick (IT as in Information Technology), but we want the non-geeks to have a place to shirk responsibility too. {g}

The site is all cutting edge Web 1.0, with hints on where it will go next. All the important details are found on the About page on my newest technical experiment.

Oct
26

Southwest Fox: The Wrap Up

Finally to the wrap up. Based on feedback given to me at the conference, emails received since, and scanning through a third of the evals handed in, I can say we are getting the same positive vibes about Southwest Fox 2008 as we did in 2007. Many people have noted that we did an even better job this year, which I honestly thought was going to be tough to do. We are also getting lots of suggestions for improvement and I can assure you we take each suggestion and give it serious consideration. I hope those who attended Southwest Fox 2007 noticed several improvements in 2008 based on ideas submitted.

“Bring a FoxPro Ambassador to Southwest Fox 2009″ – $1161 (collected and pledged)

All I can say is WOW! There are a couple of things I want to mention about the fund. The first is 100% of donated money will go to the travel costs for the ambassador. Not a single penny will be used to cover administrative costs. The conference fees will be covered by Geek Gatherings (Rick, Doug, and Tamar). All time managing the fund and working through the selection process will be donated. No one will be paid for their time. So if you want to donate to the fund, please send a check or we can arrange non-credit card PayPal transaction so we don’t have to eat unnecessary discount fees. Checks can be made out to Geek Gatherings, LLC. Please note the “Ambassador Fund” in the check memo even though it will be obvious. All checks can be mailed to:

Geek Gatherings, LLC
Ambassador Fund
42759 Flis Dr.
Sterling Heights, MI 48314

We definitely will share more in the coming months as far as the nomination and selection process. We will be consulting others in the worldwide Fox Community to define the selection process and hopefully get something in place around the first of the year.

Southwest Fox Final statistics

9 countries (more than last year)
37 US states (more than last year)
135 attendees registered
58 people attending their first SWFox
28 people attending first Fox conference
16 speakers
10 vendors (more than last year)
3 staff
164 in total

SWFoxTV – I have heard a lot of positive feedback on the live broadcasts. I was amazed how people from around the world watched this live and provided feedback in the chats (which is unfortunately lost once the live feed is done). The VFPX session was particularly interesting as it turned out to be sort of a teleconference with questions being posted from those watching. I think we need to expand a little on this next year.

Our bribe for evals worked. 78% of the people turned in evaluations this year vs. the 60% from last year. A huge THANKS! I was hoping we would get 80-90%, so close enough. If you accidentally or even intentionally took your eval home and still want to help us out, please drop it in the mail to the address above. I already received one via the postal service so be assured you won’t be the only one. The more the merrier. If you prefer to send us ideas without the eval, please email them to me, or drop me a letter in the mail if you want to remain anonymous.

I want to finish up by thanking a few people. First our core “staff”: Therese and Marshal. These two individuals know a little about our community, but have nothing to do with software development. Their real affiliation is to be married to one of the organizers. Yet over the last couple of years they handled and solved many of the behind the scenes issues that pop up during the conference like making sure the chairs in the back of the room were distributed as needed based on popularity of some sessions. They just handled things and I am sure to this day there are things I don’t even know about. I am grateful for their help and support of our conference. Without them we would be even busier during the conference.

To our speakers – we are once again in debt to you. I know how much work and sacrifice it takes to put together your sessions. Some of our speakers have to take vacation time to come to Southwest Fox, or give up billable hours to be there. It absolutely is not easy even though they might make it look like it is. For my readers: each session averages between 40 and 80 hours of planning, writing, assembling and rehearsing. Some obviously spent more, and some probably spent less. I know one of our speakers this year put 200 hours into one session. This is five man-weeks! They do not get paid for this. They do it for the love of the community, and it is in their genetics to share with others. While some of the speakers have threatened to retire, I already look forward to seeing what the rest offer us for next year. I have already seen some ideas proposed and it is exciting. Our speaker community is one of the best around and I look forward to hearing from new people too, so get inspired and consider submitting ideas next February when we make the call for speakers for 2009 (we will post the announcement on the conference blog, personal blogs, and on the forums so watch for it).

To Doug and Tamar – I cannot say enough about these two. The success of this conference is highly dependent on the partnership of the three of us and our workload distribution and areas of expertise. It is absolutely good to know I can rely on my partners. When something gets delegated I know it will get done and done well. Each time I felt the water level raise around my neck one of these two stepped up and made sure to pull the stopper out so the water level would stop rising. I already posted some where that Doug may be the single most organized person I know. I thought I was pretty well organized, but Doug is light years ahead of me. His handling of our vendors and door prizes, the Web site, our conference booklet, and marketing was terrific this year. Tamar handles all the speaker details once the three of us make the selections. I am not sure the schedule of sessions could be any better, and I doubt there is a speaker out there that does not know when our deadlines are and what our expectations are for materials. We know how important our speakers are; they are the reason most people come to the conference.

Finally to the people who attend Southwest Fox. Your support for this conference over the last couple of years has surpassed our expectations both times. THANKS! Without people like you this conference would be fading into the sunset as many people have predicted. When I told people I was taking this over from Bob after the 2006 conference I was told by some I was crazy. Wasting my time. Conferences are on the down slide, people will not support it, the Internet has destroyed the business model. Me thinks not. The networking I observed during this year’s conference may have surpassed the networking I have seen at any conference I have attended. My Twitter list has grown significantly since the conference finished as many of the attendees discovered it is not a complete time sink, but another way to connect with colleagues. I met a lot of new people in the community this year. I also have seen the interest in VFPX swell over the last couple of weeks. All of this would not have happened if the conference did not occur.

So thanks all for your support and please look forward with great expectations for Southwest Fox 2009 being held in Mesa October 15-18th, 2009.

Only 354 days until we gather in Mesa! {g}