Wednesday, February 28, 2007

DataExplorer - CTP 4

I see in the CTP 4 (February 2007) readme file the list of things added and fixed to the Sedna Data Explorer is incomplete. Here is the list of changes made just for this release:

Bug Fixes:
  • None in this release (waiting for the Fox Community to provide feedback)
Enhancements:
  • Return from Options dialog no longer collapses the treeview. (ER in CTP 3 Preview)
  • Menu Manager Dialog, Add-in Manager, Drop and Drag Manager - Double-click on the menu list brings forward the Script to Run page, and right-clicking on script editboxes will bring up script in program editor.
  • VFP Database Documenter - Has HTML option. HTML controlled by CSS in template (user maintainable)
  • Refresh button added to the main form just like Visual Studio Server Explorer
  • Icons now available on the main form buttons. Icons are compatible with VS .NET Server Explorer where appropriate.
  • Main form buttons now have user selectable properties on Option Dialog (show or hide icons, and separately set the Hot Tracking style).
  • Run Query dialog now runs selected text if user has selected text, otherwise runs entire query
  • Run Query dialog now displays query error message in the Messages tab, previously nothing happened if problem with query.
  • BROWSE form now adds records when Ctrl+Y keystrokes pressed for VFP data sources.
  • Exposed the location and file name of the Data Explorer metadata on the Options dialog so user knows where it is located.
IMPORTANT: To test the add-in enhancements you have go into the Data Explorer Options and press the Restore to Default button. I recommend you keep any connections you have and any third-party options added. This will load the new features into your DataExplorer.DBF metadata file where your connections are, as well as the add-ins, menus, and drag/drop functionality.

If you are interested in the list for CTP 3 (October 2006) you can check it out here.

Enjoy!

Labels: , ,

OzFox 2007 - Wrap up

The post conference buzz is abound with OzFox and I am feeling it as I spend 13 hours flying from Sydney to Los Angeles, push/rush through US Customs to change terminals, and hop on my four and a half hour flight back to Detroit Metro. The best part of traveling back to Detroit is I arrive three hours after I took off. Looks like I found a time machine after all {g}.

We headed to the Sydney International Airport by cab. I'm still not used to the driving on the opposite side of the road. The only other time I experienced this was back in 1995 when I was on a business trip to Buenos Aires, Argentina. You also have to be extra careful as a pedestrian too, or you could get blindsided. I also noticed Aussies are a bit more aggressive drivers than I am use to.

I have mentioned how nice the weather has been during our short visit. Storms hit the airport just as we were about to board our flights and this delayed us for the better part of two hours. Fortunately the winds were kind and pushed my flight to LA. We arrived only an hour later than expected. I was concerned because I had to clear customs in LA, get my luggage and walk 15 minutes to another terminal. I was expecting the same long lines I have experienced in Detroit and Sydney, but instead got the short lines I experienced in Frankfort last November. There was even time to grab a veggie burger and make a couple of phone calls. Shocking - I did not have someone sitting in the seat next to me on both flights. What a treat!

There is one thing I want to point out that I forgot to mention in previous posts. Andrew Coates mentioned something at OzFox, something I have been looking from Microsoft to make my life easier. I have battled the beta software installs and the disclaimers that you might have to reformat your machine to fully unload the product before you install the RTM'd version. I have asked Microsoft to just provide me a virtual machine with the product loaded. This saves every beta tester the hassle of building their own VM, and simplifies setup. The negative drawback is the vendor (in this case Microsoft) don't get the software tested on a variety of machines and configurations. No matter, Andrew's "reveal" during my Professional Developer Toolkit session is the VHD Test Drive Program. He discusses it on his blog. Andrew also mentioned it costs nothing to register as a Microsoft Partner (which I have already done to get the Action Pack) and the program is available to registered partners. So at least we can offer this service to our customers. Now I hope Microsoft (and other software vendors) start offering this to me. The big deal on this is you don't have to worry about distributing your OS license. This program makes it ok to do so via the VHD redistribution agreement.

I am back home now. I love to travel and see different parts of the world, but there is nothing like coming home to your family and your own bed. Gotta get my rest because tomorrow is going to be a big day with a couple new projects to get started, a conversion to run, and a big announcement too! Whew, no rest for the jet-lagged.

Labels: , , ,

Tuesday, February 27, 2007

OzFox 2007 - Day 3

I like traditions. I have one with respect to the last day of a conference that has developed over the years. Some may say it came together by accident, but I know better. The tradition is I present during the first session of the last day of the conference. I asked Whil years ago when I started to recognize the "trend" and he confirmed he scheduled me because I don't drink, and he knew I was reliable to not have a hangover. Smart plan if you are conference organizer.

So I asked Craig today if this was planned and he claims to know nothing of this tradition. So know I have to believe there is some sort of supernatural intervention going on when Whil, Russ, Bob, Mike and Toni, Rainer, Christa, and now Craig put together their schedules. The good thing is I never mind and I have always been amazed when people show up for the session. At this point in the conference you are exhausted, physically, mentally, and maybe even spiritually. I am always appreciative of everyone who hangs out.

Today is packed with seven more grey-matter expanding sessions:
  • Rick Schummer - "Using and Extending VFP's Data Explorer"
  • Lisa Slater Nicholls - "Getting the Most Out of Reporting in VFP"
  • Alain Legrand - "Using a data driven approach to application customization"
  • Doug Hennig - Stonefield Query (during lunch)
  • Rick Schummer - "Professional Developer's Toolkit"
  • Lisa Slater Nicholls - "Migrations: Many stops on a tour"
  • Doug Hennig - "Best Practices for Vertical Application Development"
I definitely got something out of each session. When I first read the title of Lisa's second session I thought it was "Migraines". I think we all have gotten headaches when developing {g}. This session showed how VFP apps can extend 2.6 apps and even do cool interop using XML and other techniques. I was particularly interested in this session because I am doing a lot of 2.6 to VFP migrations.

Alain's session was very interesting as he talked about his application architecture to localizing his CRM package. It was not traditional localizing though. When you think of localization you normally think of changing strings from one language to another. Alain's app does do this, but his application often interacts with other systems. Not only does the app change strings, but it goes to the level of changing the names of the fields to be in the native language. Initially I thought this was strange because most presentation of the data is handled with metadata so users won't care what the columns are named. Alain's app is accessed externally so the localization of the data elements helps the local software developers who access the structures. Once this was understood the whole thing made perfect sense. The bonus was how cool his app looks and works. Nice job.

There was lots of good discussion in my "Professional Developer Toolkit" session. I actually finished this session early which is the first time this has happened. I really appreciated Andrew Coates' participation. He is the local Microsoft evangelist and seemed to throw Team System into the discussion for nearly every category. This shows how wide this product is and how it addresses the various aspects of software development. Great discussion.

The last session of the conference was "Best Practices for Vertical Application Development". I listened to this session in Milwaukee last year, but again as it happens so often for me, hearing it the second time still reminded me of things important to some projects I have on the horizon.

Craig wrapped up the conference after Doug's session with some thank yous and really cool speaker gifts. More good news - sounds like there will be another OzFox next February.

This conference was fantastic! I really enjoyed talking with the developers about Fox, the real world problems they face, the real world solutions they are developing, and the successes they are achieving down-under. Craig and the Talman team were very hospitable. My head hurts because of the lack of sleep, but mostly because of the amount of information I digested over the last two and a half days. You have my highest recommendation to attend OzFox 2008.

Labels: , ,

Monday, February 26, 2007

OzFox 2007 - Day 2

The second day of the conference started with a review of "Get More Productive with VFP" session at 5:00am in the morning. I have been waking up around 4:30am to 5:00am each day no matter how tired I am. For a while this morning I tried to understand the rules of Rugby which seems to be on most TV stations here in Sydney. I learned that there are four different versions of the sport played, which solved much of my confusion. I also tried to understand Cricket, but have no clue how this game is played. It is nice that the American morning shows are played between 5:00am and 7:00am so I can catch up on the news from home. Some American shows are played in the evening, but they seem to be a season behind in some cases.

It has been raining the last couple of days. This is unusual from what I have been told and the Aussies have been very apologetic (like they control the weather {g}). Our sightseeing was not interrupted with bad weather and since we sit in the conference all day the rain has not affected any activity. Perfect timing. Therese has not been very sympathetic since Sterling Heights was hit by an ice storm and I am in very warm temperatures.

Busy conference day with six conference sessions, and two bonus sessions crammed in:
  • Doug Hennig - "Installing Applications Using InnoSetup"
  • Colin Nicholls - "Extending VFP 9.0 Xbase Reporting Components"
  • Rick Schummer - "Get more productive with VFP"
  • Bing Bao - "Security and the VFP Developer" (bonus session during lunch)
  • Lisa Slater Nicholls - "Reporting in Sedna/SP2 - A Tour"
  • Mark Crichton - "Getting a Visual FoxPro application to Market"
  • Colin Nicholls - "Data Visualization in Reports with VFP 9.0 SP2"
  • Andrew Coates - "Creating Office OpenXML Documents in VFP" (bonus session)
All the sessions were good. I missed most of Doug's session because I saw it in Pheonix and wanted to catch up on some work I needed to do. The reporting sessions are causing lots of brain cramps with the large volume of information and exciting new functionality. Each of the sessions are building on the previous sessions. Extendibility is getting the doors blown off again.

Bing Bao (from Sydney) came in and tried to scare us all with some insecurities with applications and VFP data. It was a great way to spend lunch. Mark Crichton is also a local speaker and talked about some history of his app, business decisions he faces, the processes and tools he uses to get his vertical market application to market. Interesting ideas to consider if you are into this type of application.

Andrew wrapped up the day with an excellent session on the new MS Office file formats and showed us how we can create the files from VFP without any automation. It is all XML files and ZIP technology. This is the second time I have seen this topic only this time it had VFP used to create the files. I think this has lots of potential, but I also believe this is going to be very complex once you get past the fundamental and trivial examples. That said, I think it is great because you can build in scalability without worrying about Office being in the way, or licensing concerns, and the file formats are an open standard. This means other office vendors will be compatible in the future and the world just got a little smaller.

Excellent Thai food for dinner - finally (Doug and I have been looking since we arrived). We walked in the rain to a small little place down closer to the harbor. Conversation at dinner was more shop talk. The day was long and most of us have full skulls.

Labels: , ,

OzFox 2007 - Day 1

The first day of OzFox is on a Sunday and starts at 1:45pm. Doug and I went through the keynote which was similar to the one we did last year at Southwest Fox, but with new/updated material, but was a little lower energy level because Craig Boyd was busy digging out his car from a snow bank back in the USA.

The keynote was focused on the bright future of VFP and it went well. I talked about the new SP2 and Sedna CTP released last week just in time for the conference (I could not load them because of my no-new-software-before-conference-rule). I provided a high level overview of the changes in SP2, but no details because Colin and Lisa are doing five sessions on the topic. The future as we see it:
  • VFP 9 Service Pack 2
  • Sedna
  • VFPX
  • Other CodePlex projects
VFP 9 Service Pack 2 contains:
  • Bug fixes (the list is lengthy)
  • Vista compatibility
  • Reporting enhancements
Sedna currently contains:
  • Data Explorer enhancements
  • NET4COM (.NET COM interface)
  • DBi Technologies’ components
  • My Namespace
  • Upsizing Wizard enhancements
  • Vista Toolkit
  • Other components
I covered the Data Explorer, Net4Com, and discussed the generous DBi Technology controls (not in the CTP). Doug handled the My Namespace, Upsizing Wizard, and the Vista Toolkit (big thanks to Craig Boyd for setting us up with a great demo). We wrapped up the keynote talking about VFPX and other CodePlex projects, and made a call to action for the attendees (and the rest of the Fox Community):
  • Download and start working with CTP
  • Join VFPX and other projects
  • Start your own blog
  • Join (or start) a user group
  • Tell the world about VFP
The rest of the day the attendees listened to Doug's session "Extending VFP with VFP" and Colin's session "VFP 9.0 Reporting Fundamentals."

The conference has one track so all attendees attend the same session. I first experienced this style of conference at GLGDW 2006 and it works well when you have good sessions all the time or follow a specific theme. In the case of OzFox - it is jammed with great sessions. Even listening to sessions I have already seen (like Doug's Extending VFP with VFP) has its benefits.

The last session of the day was called "Networking." Craig Bailey (conference host) asked people in the room to introduce themselves and describe how they use FoxPro and a little about their business. This was an interesting session because it showed how diverse the projects are in Australia and New Zealand.

Afterwards we had dinner in the hotel restaurant (no Thai food yet {g}). Microsoft brought in XBox 360s like they did at the last OzFox conference. Spectacular graphics on large HD TVs. I am not into video games, but it was fun to watch a bunch of geeks race cars and play shoot'em up games. In particular the chain saw slaughters were humorous.

Labels: , ,

OzFox Rocks - touring and sightseeing

There was no possible way I was not taking a couple of days off to see the beautiful sites of Sydney Australia while I am halfway around the world from our humble home in Michigan.

The flights from Detroit to LA and from LA to Sydney were pretty uneventful. Minor turbulence over the Pacific did wake me up a few times. I got about 4 hours of sleep on the leg to Sydney interrupted each time someone used the bathroom and locked the door. The good news is this was 4 hours more sleep than I expected. I watched a couple of movies and a couple of episodes of Quantum Leap (Season 1) I bought for the trip. It is one of my all-time favorite TV shows.

Sydney is gorgeous. Craig Bailey was a fantastic host on day one of our tour. He kindly picked us up at the airport. The city reminds me of Seattle because it is near a large harbor, close to the Pacific Ocean, has ferries, a bustling downtown, numerous tall buildings, mass transportation, people of all nationalities, and lots of coffee shops and restaurants.

As Doug mentioned in his post we got a sweet tour from Craig on Thursday after our arrival. We talked about the life down-under, VFP, conferences, VFP, running software businesses, the future of VFP, and our busy lives. A major highlight was the view from the Sydney Tower. We could see for miles as the weather was clear. I have always enjoyed going up the towers like the Seattle Space Needle, the Empire State Building in NYC, and CN Tower in Toronto. I am not sure I have seen a more spectacular view of a city. The end of the day was topped off by a fantastic dinner, and watching the Queen Elizabeth II leaving port just outside the restaurant.

Tuesday we let Craig get back to work on the conference and headed out on our own. The Taronga Zoo was fabulous. I have not been to many zoos, but the number of animals and the native Australian animals like wallaby (see Doug's picture how close one came up to me), kangaroos, and koalas made my day. My pictures are still in my camera and I forgot the cable needed to bring them to my laptop. I'll try to post them later including the one of the wallaby I caught up close when I return home.

Doug and I headed from the Zoo to the Olympic Park. In between we almost lost our lives when our ferry boat almost was taken out by a couple of sailboats that were tacking against a very strong wind. I have some great shots of these boats too (not the ones that almost rammed us). I am a big fan of the Olympics and really enjoyed the Sydney games in particular. We walked all over the complex and even went into the Aquatics Center where the swimming and diving events were held. The pools were filled with lots of people learning to swim. It is nice to know the venues are still in use today. We must have walked 10 miles on Friday and spent a lot of time in the sun. I was hoping this would help with the jet lag, but in my case it did not as I barely slept that night.

Saturday we were off to the Blue Mountains and the Jenolan Caves. Doug does a great job describing the trip. He mentioned the "somewhat white-knuckle road", but did not mention the tunnel we went through where there is barely a foot in each side of the bus and the walls of the tunnel, and it winds around a bend. Nice driving by our driver Steve. The Lucas Cave. It reminded me of the time my family went to the Mammoth Cave in Kentucky. Lots of cool formations, lots of cool history, and a fantastic sound in the "Cathedral". The cave is host to concerts and weddings in this dome that goes up to 168 feet from the floor. Coincidentally, back in Michigan my wife was at a Josh Groben concert with her sister taking my place. The music played in the cave was similar to Josh's so the moment was a bit chilling for me. Fortunately, I grabbed a nap on the way back to Sydney.

Sunday I got up early after a decent 6 hour sleep. I wanted to rehearse my part of the keynote and my first couple of sessions. I have been waking up between 4:00am and 5:00am every day, regardless if I want to or not. Doug and I got together to fine tune the keynote and got ready for the conference to start.

I have had a little struggle with email and Internet connectivity here at the Vibe Hotel. The people have been great and helpful. The good news is the conference has wireless available and it appears to be working well.

I have met some developers I know from blogs and even a couple of customers of my developer tools. The Fox developers here are as friendly as the Aussies we met on our tour of Sydney. This should be a great conference. The trip certainly has started out with some unforgettable memories.

Labels: , ,

Thursday, February 15, 2007

Fighting a new laptop - Part 1

Last we left our humble hero, he was installing 100+ apps on his new ThinkPad and working on configuring many of them. The good news is I am mostly done and on my self-imposed pre-conference moratorium of not installing new applications with OzFox only 10 days away.

I have come up against a little glitch I have never seen before with a new machine. It is not a show stopper by any stretch of the imagination, but one that is irritating me every day. In my Windows Quick Launch toolbar I have short cuts to different versions of VFP. The weird thing is the VFP icon is the VFP 7 icon, not the VFP 8/9 icon for the VFP 8 and VFP 9 shortcuts. Even the icons for the VFP8.EXE and VFP9.EXE files are the older foxhead in Windows Explorer. Why?

If I try to change the icons in the shortcut properties I see all the icons inside of the VFP executable and the old foxhead is there, not the new foxhead. It smells of a registry problem, but I am not sure where to even start.

Has anyone else experienced this? I know I can use my own icons, but it would be nice not to workaround the issue if possible.

Labels: ,

Monday, February 05, 2007

The Streak is Broken

I have a streak of good luck when it comes to the stereotypical tech support call in the middle of the night. I have never taken an unexpected phone call from a customer between the hours of midnight and six in the morning. You know the call, the one that wakes you out of a slumber when the only thing you can think of is something bad has happened to someone you know! I have supported customers and users of my software in some way shape or form since January 1984. The streak really is 23 years.

I should say was 23 years - broken this weekend on Saturday morning at 2:01am.

Now I guess I should consider myself lucky, but the streak would still be alive if someone had done their job. I should have expected the call because of a conversation I had with the client earlier in the day Friday. His big concern with the latest conversion was that the end users were calling the Help Desk with requests for unsupported printers. I reported to him my concern is the onsite consultants and end users were not looking at the data we have converted for their review no less than 5 times before, including one last Tuesday. It was too quiet. I had repeatedly asked if the data looked good and got nothing but positive confirmation, but the signs were all there. You all know conversions are quirky, and every one of them is unique. This is the 21st different conversion I have run for this client and every one of them reveals something new. Data conversions are never smooth, never normal, and rarely clean, especially on the night they are processed for production.

Sure enough I get a call at 2:01am. I answer my phone on the second ring, which is real slow for me. Normally I get it on the half ring in the middle of the night, and definitely before the second ring starts. But I was dead tired and in the middle of an excellent dream that had nothing to do about coding or natural disasters. I asked who it was three times before I understood who was calling. Dead tired. Nothing like being greeted with "Hi Rick, the conversion you ran did not work. There is missing data and we think you pulled the wrong data or converted an older set of the files."

Unlikely. Not that I am infallible (just ask my wife, kids, customers, friends, enemies, well - any human and even some non-humans), it is that I follow a process and the process has checks that make this nearly impossible. Things happen though, and I normally accept it as my problem. I am not a fan of finger pointing.

In the mean time while I was scrambling to determine what went wrong several emails went out to every important person on the planet for this project proclaiming my failure to process a clean conversion.

Come to find out there was data missing. Sure enough the review of the data showed certain records after January 11th did not get converted. But we ran a conversion on 1/30, strange? The fact is: if someone had reviewed Tuesday's conversion the problem would have been recognized and the streak would be alive. The problem happened because someone did not follow the documented process and run a report that archived the data that we use in the conversion.

I really hate when that happens.

Not a single email was sent proclaiming the real reason for the failure. So my reputation takes a beating and the real troublemakers skate free without showing even a scratch. I am guessing they will get bonuses or some other recognition for finding the problem and getting the goofy Fox guy out of bed to fix his problem. Ah, the joys of being the hero. {g}

The good news is the conversion went into production on time, and I am on day two of my new streak.

Labels:

Super Bowl Sunday Tradition

I have a tradition about Super Bowl Sunday for the last four or five years, maybe more of watching the commercials, and usually kicking out some code or do something techy as I listen to the game (occasionally watching the replays). This year was no different.

I purchased a new laptop before Christmas. I am typing this blog entry with my old laptop. Goofy for sure!

The fact is I have been too darn busy cranking out VFP code, running conversions, doing sales calls, and preparing for conferences that I have not had time to load 100+ apps and configure everything to make the screaming ThinkPad Z61P anything more useful than a boat anchor running Windows XP Professional. OK, maybe it only takes 50 apps to make it useful, but I think I will have close to 110 apps loaded when I am done later this week.

I started out late in the afternoon recalling where I left off. Last I left the machine I finished installing IIS, and uninstalled all the unnecessary apps like Norton Anti-virus and Google Desktop Search and a few other cycle stealers.

I joined the White Light domain, installed AVG Network Anti-virus, installed the firewall on my server, installed ZoneAlarm Pro, upgraded to IE v7.0, and of course installed FireFox v2.0. I figure any one of these apps could take out the machine so if I have to rebuild, now is the time to destroy {g}.

Next was Office 2007 Enterprise. I have been a little reluctant to load it only because I probably don't have the time to get adjusted to it at the moment. I was pleasantly surprised how fast it installed and I installed everything (2 GBs of everything). I opened up Word and activated it and started typing the paper log I was creating to a document this process. So far I am really liking the ribbon. Microsoft has made some subtle changes to it since I last saw it demoed and it looks like they were reading my mind on some of the things I disliked from a discoverability perspective. I am hoping the rest is going to be so pleasurable.

The next thing I installed is Visual FoxPro, starting a VFP 5 all the way to VFP 9 SP2 CTP. For some reason the Visual Studio 6 (VFP 6) install barfed and won't let me install the Visual Studio 6 .0 SP5 disk. Not a big deal since I can just copy the VFP 6 directory from my old machine. I am a bit worried about the InterDev implications, but it should be okay.

I am probably 33% of the way to productively using the machine. A couple more nights this week should do it. It is not installing the apps that is a pain. It is the configuring them and getting data moved over for SQL Server, setting up all the ODBC connections, and getting all the Web sites up in IIS that is time consuming. I cannot take the new machine to production until I can certify my presentations work for OzFox and I can remotely support customers while in Australia in a couple of weeks. I am already bordering on breaking the new app installation rule so I will have to see how things go over the next couple of days.

Speaking of traditions...I was really disappointed in the Super Bowl commercials this year. Very little humor, and very little creativity. Nothing really stands out except the FedEx "outer space", which I enjoyed the theme of going opposite of the dinosaurs, but still had one of the astronauts getting whacked like they did with the caveman getting whacked last year. The animated Coke commercial was good because of the pay-it-forward theme.

Labels:

Thursday, February 01, 2007

Advisor Summit - Going To DisneyLand

I received an email this evening from Christa at Advisor letting me know I will be speaking at the Advisor Summit from May 6 - 10, 2007 in Anaheim, California at the Anaheim Marriott Hotel. Looks like my schedule will be a busy one with four different sessions:
  • Professional Developer's Toolkit
  • Visual FoxPro Debugging Essentials
  • VFPX Tools and Components - Live
  • SQL Server Toolkit for the VFP Developer
I am not sure who else is speaking, but I am sure the line up will include some great sessions.

Labels: , ,

Consolas Font: Paying it forward

Last month at the Detroit Area Fox User Group, my friend Paul Mrozowski demoed a number of tools and tips he uses every day in his VFP and .NET development. It was a great presentation and one where I learned a number of new things. One of these tips is to use the Consolas font from Microsoft.

The Consolas font is a non-proportional font like Courier New, but is better in many respects. The first is it is heavier or thicker than the Courier New font, but it is narrower too. In my opinion it is easier to read and provides more text in the same space. Other big differences are number zero (is it the letter O or the numeric zero?), the possible semi-colon vs. colon confusion, and the comma vs. period. Here is an image with both fonts set at 12 point, bold:



You can download the Consolas Font Pack for Microsoft Visual Studio 2005 direct from Microsoft. It works with Visual FoxPro too ;).

I like to work with smaller fonts and work at a high resolution (1920x1200) on a 15.4 inch wide screen monitor running Clear Type. I believe the eye strain I experience working long hours is reduced.

Thanks Paul for this simple, but fantastic tip!

Labels: ,