Tuesday, January 31, 2006

Ken Levy is moving on...

You may have already read on Ken Levy's blog how he is planning on taking a new position inside of Microsoft. Congratulations Ken, and godspeed on your new project.

I suspect many people in the Fox Community will find this news a bit disheartening. The last nail in the Visual FoxPro coffin.

This should not come as a surprise to anyone, I don't. I see it as a chance for fresh ideas and perspective from a new leader. I believe intelligent people need change in their careers. Especially in our business. Ken's announcement confirms what I suspected for quite some time. I told Ken when I heard about his decision is I thought it was going to happen earlier last year. The only thing I am surprised about is the project where he is landing. I thought he was going to head over to Channel 9 and become the second Scoble. Guess the crystal ball was foggy on that one. {g}

How many of you have been in the same job, doing the same project for more than a few years? I am not talking about the same company, but literally doing the same thing for more than three years? Same code, same support calls, same status reports, same bosses, same development tool, same technology? I suspect there are a couple, but most of you are not raising your hands. Someone who is as smart as Ken is needs to do something different, and now is the right time to do so. I applaud his decision and his choice in jobs. Something totally different. I applaud someone willing to take risks.

I also know Alan Griver (yag) and Milind will not disappoint. They understand our needs because the Fox Community is not shy about telling them. I have known yag for years and he is as energetic today as he was when I first met him. I met Milind at the MVP Summit and at Southwest Fox and he really gets what our community is all about. They both understand what we like about VFP and how it really rocks when it comes to solving problems for our customers. Why do you think they want to enhance Visual Studio to incorporate Fox like data features?

I suspect you can put the Ken into Windows Live, but you cannot take the Fox out of him. It sounds like he is planning on attending Southwest Fox and other VFP events throughout the year. Knowing Ken and his relationship with the VS Data team, I even suspect he will still influence from afar.

In my personal career as a corporate developer I have found things flow in three year cycles. The first year everything is new, fresh and exciting. The second year is like putting on comfortable tennis shoes since you are up to speed and can solve most problems. The third year things get a little stagnant and boring, which ushers in the need for change. This was part of the reason I decided to move on to be an independent developer 5 years ago. I like things fresh and challenging and I get that with each new project and each new customer. So from that perspective, I really understand Ken's decision.

So Ken, good luck with Windows Live. Thanks for your service to the Fox Community and to helping guide FoxPro to what it is today. VFP rocks!

Saturday, January 28, 2006

Real World Fox 2006 World Tour

Each year I try to visit as many Fox User Groups as I can fit into my schedule and still bill enough work to pay the bills. White Light Computing has a corporate directive to share knowledge with other developers and one of the ways we do this is by going on the road and speaking through the user group presentations and developer conferences. Last year I was on the road for six man weeks. This exceeded the corporate goals and made me look good to the boss (always looking for ways to win back brownie points so I can push for a raise during my next review).

I am starting to plan out my tour dates for 2006. This year I am calling it the "Real World Fox 2006 World Tour."

So far I have firm dates for the Grand Rapids Area Fox User Group and Detroit Area Fox User Group here in Michigan. A couple of other groups already have asked, but I want to make the offer open to all groups who are interested. So if you are the geek in charge of schedule meeting presenters, send me an email (it can be found on the contacts page on the White Light Computing Web site) and I will see what I can do to make it happen.

GLGDW Early Bird Deadline Approaching

Your first purchasing decision with respect to the Great Lakes Great Database Workshop (GLGDW) is rapidly approaching. Whil is hosting a completely different conference April 21-24, 2006 in Milwaukee, Wisconsin. If you want to reserve one of the limited seats at GLGDW and for the least amount of cash, you need to react before the end of the day on Monday, January 30th.
Your Next Ten Years as a Visual FoxPro Developer Strategies, Tactics and Best Practices for the Long Run
My session Best Practices for Error Handling and Reporting is one of 14 best practice sessions filled with wisdom needed to develop Visual FoxPro applications for the next decade and beyond.

Reflecting Twenty Years Ago

I think we all have moments in life we will never forget. Time that is frozen. Time where you recall exactly what we were doing when something earth shattering interrupted that moment.

Twenty years ago I was debugging a COBOL module I was working on when my then future sister-in-law came into my office and told me she just heard the Challenger exploded on launch. My wife just told me she was in a Chemistry class. We did not have the Internet back then so I scrambled to find a radio station with the news. How could this happen? How could I miss this launch?

I am a space geek so I took the rest of the day off and went home and watched the extensive news coverage. It did not take me long to see what happened. I did not know it was an o-ring failure, but it was clear to me the solid rocket booster failed and ignited the fuel stored in the external tank.

I will never forget the sacrifice of Challenger's STS-51L crew: commander Francis "“Dick"” Scobee, pilot Michael Smith, mission specialists Judith Resnik, Ellison Onizuka, Ronald McNair, payload specialist Gregory Jarvis, and teacher/civilian Christa McAuliffe.

It is hard to believe it is really twenty years ago. So much has happened since the disaster, but it is literally a half a lifetime ago for me so I guess I should not be surprised. Reflecting on this event each year is a gentle reminder how short life is, and why it is so important to live each day doing something to better ourselves and helping others do the same.

Friday, January 27, 2006

Emoticons Patent? :(

Ran across a crazy sounding article today. Cingular Wireless has won a patent for the use of emoticons on cellular phones? Here is a quote from the article on ConsumerAffairs.com:

The patent applies not only to graphic versions of the ubiquitous smiley/mad face but also to simple text versions. :)

Cingular says the aim of the patent is to enable the displaying of graphics on its subscribers' handsets, the patent would also prohibit sending simple text versions via a dedicated or programmable key.

Human beings have been communicating with emoticons for decades. Now all of a sudden a wireless powerhouse here in the USA can patent how one can enter in text and graphical emoticons into their text messages on a phone?

So I hit the United States Patent and Trademark Office Web site to check this out. I could not find the exact patent noted in the article, but I did search and found fourteen patents have been issued for emoticons. Who would have guessed this? Certainly not me.

Guess I better start using them on my blog before someone gets a patent on entering emoticons on blog posts. ;)

Wednesday, January 25, 2006

SednaX Admins Interviewed

Craig Boyd, Doug Hennig, and I (your SednaX administrators) have been interviewed by Andrew MacNeill on the first The FoxShow podcast of 2006.

If you're interested in helping the Visual FoxPro Community improve Visual FoxPro through SednaX, this interview will give you details on what SednaX is, what it isn't, and where its headed. The interview discusses the SednaX licensing, how you can submit project proposals, how you can participate in a project, various roles you can play, types of projects anticipated to be included in SednaX, how awareness can be raised, how projects will evolve, and several other SednaX related topics.

You know I am a big fan of The FoxShow. Head over to Andrew's site and give The FoxShow a listen. You will understand a lot more about SednaX and some of the challenges and benefits of participating in the Fox Community extensions to Visual FoxPro. We live in exciting times.

Monday, January 23, 2006

SednaX Proposal Template

Just in case you have not heard of SednaX, it is an umbrella code name for add-ons, extensions, and tools developed for Visual FoxPro 9.0 and beyond by volunteers. There is a SednaX site hosted on the GotDotNet site and already has over 400 VFP developers who are interested in creating and participating in the open/shared source products for the Fox Community.

Today Doug Hennig posted our first template for a formal project proposal. It is a simple document so developers can propose projects to be included in SednaX. You can read the official announcement on the SednaX site.

The process is straightforward. Propose a project, community will discuss on the site message board to see if it is viable and something which works in the spirit of SednaX, and something valuable to other Visual FoxPro developers. The administrators will evaluate the proposal and discussion to make a decision whether it will be accepted or not.

There are several really cool sounding ideas posted on the messageboard. We need people to take charge and fill out the proposal so we can get the process moving. We already have one example done for a real project so others will understand what we are looking for in a proposal. The OOP Menus is a popular idea and one we expect to be a successful project so we used it for the example.

The example and templates are in the download section on the site. Looks like people are already finding it and have already downloaded them. Excellent!

We are working on other document templates for the other aspects of a project (like technical specifications, project plans, code reviews, test plans, and more). While some developers might think this sounds a bit more formal than kicking out some code and posting it on a Web site for people to try, we feel strongly that projects will go smoother with a simple framework of software methodology to back them up.

If you are not already registered, please head over to the site and sign up. There is no monetary cost involved, just the time you invest in making the VFP development experience better.

Geek Questions

I got together with some geek friends over the weekend and meant to ask them some questions. So instead of emailing them and asking I figure I can get more responses by asking the entire Fox Community.

1) I am considering getting a new cell phone and PocketPC this year. For years I have thought it would be cool to have the integration, but carrying around the PocketPC on my hip is not as comfortable sounding as carrying around a beeper size phone. I know I want the PocketPC to have Wi-Fi wireless so I can browse and do instant messenger type apps. Any recommendations? Any specific brands and models people like? Do you recommend the integration? What features should I be looking on this platform? Has anyone heard any news on things coming down the pike, which might make me wait a bit before deciding? Any accessories you recommend?

2) I am looking for a language translation engine, applet, or Web site. There are a number of non-English writing bloggers who I would like to add to my list, but sadly I am unable to read their language. The only languages I use regularly are English and FoxPro (although one day I hope to "speak" sign language). Does anyone have any recommendations on this? What I would really like to do is copy their text and have it translate the posting so I can read it.

Feel free to post comments here, or if you have some lengthy answers, feel free to email me privately and thanks for your help.

Wednesday, January 18, 2006

Breaking another rule costs me

Here is another one of those rules I have learned the hard way:
Never test install your application installer on your development machine.
Why? Many moons ago I did test one of my install packages on my development machine and then promptly tested the uninstaller. Testing the uninstall is not something I find many developers doing because most do not think their clients will uninstall the app or would prefer they never uninstall the app. Well I prefer a clean Add/Remove Program list on my test machine so I always uninstall right after I install just to make sure it works.

So Monday I was writing up some instructions for the latest install I shipped and needed some screen shots for the documentation. I was out of the office when I was writing the steps so I decided to run the install on my development machine. I needed screen shots for the last step (the progress thermometer) and the "you are done screen". I finished the documentation late Monday night.

The install had a couple of OCX files, which are registered without merge modules (not my favorite way to do things). Do you know what happens when you uninstall an application with OCX files? Well they get unregistered. This is not a big deal unless you use them somewhere else. {g}

Forward to today. I am in a rush. One of my clients needs a new application before Friday. It is a small application and figure I can squeak it out in between the other three projects I am working on this week (which might explain why I have not blogged at all in the last week). So I crank open my friendly Visual FoxExpress Project Wizard to start this new project this evening and I get a crash!
OLE error code 0x80040154: Class not registered.
OK, lets see, what has changed in the last 48 hours? That's right, Mike and Toni pulled their traditional Friday the 13th release last Friday and I updated last night. Great! So I try to put together the reproducible steps to the crash to help the Feltman's debug the problem. I reverse out the update and it still crashes. I dig in to the debugger and try to find the code that is troubled. The code is very straightforward and points me to the class and the class library which cannot be instantiated. This is where it really gets interesting.

I fire up the trusty Class Browser to look at the class and see what object is in the class and firing the OLE error. The Class Browser chokes on the same darn error. Uh-oh.

Then it hits me, I violated another cardinal rule of development on Monday and now I have just wasted 45 minutes tracking down a problem that I never should have hit. Stupid me. I could have simply used a VirtualPC session, but I was not near my external hard drive where I have the virtual machines stored.

So I have decided to fine myself for this rule violation, and added this problem into my personnel file so I can include it on my next review.

I hope you can learn from my mistakes. I hope you can avoid this problem and not waste time chasing problems that never should happen in the first place. OK, back to work.

Tuesday, January 10, 2006

Subscribe to Fox Periodicals

Over the last five days I have received personal messages (other developers I am mentoring) and also seen several posts on FoxForum, ProFox, TechTips, and other sites questions that were simply answered in recent issues of FoxTalk and the Advisor Guide to Visual FoxPro (FoxPro Advisor).

Maybe some developers find it easier to post a question on the favorite site, but think of the knowledge you are missing by not subscribing. Wisdom from fellow developers. Developers struggling with the same day-to-day development you are struggling with. Developers who are more than willing to share their knowledge with anyone willing to read their articles.

Is it the cost? Is it the time to invest in reading? Is it the lack of knowing there are excellent publications to subscribe to for FoxPro content? Is your boss not willing to pay for it?

I can tell you I have subscribed to both mags for more than a decade. Always out of my own pocket. The reason is simple: I invest in my career. I also did not want to share with my co-workers each month when the issues arrived. I want my own set of archives. I read them on my own time. The investment has paid off in a big way.

Both FoxTalk and Advisors Guide to Visual FoxPro have online content. You can download solutions and examples immediately. In one case, the developer was looking for ideas on managing security and Doug Hennig is in the middle of a series on Security Roles and has a Security Manager object in the downloads. For US$79, the developer looking for ideas can get everything he needs to get started with an online subscription. Several other developers were experiencing the "Variable _REPORTOUTPUT is not found" error when the VFP 9 Report applications are not distributed with your application. Uwe Habermann's article in FoxTalk clearly addresses all the runtime issues Fox developers face with the new reporting engine. Brilliant article.

Make it a belated New Year's resolution to subscribe to these periodicals if you are not doing so. Save yourself a bundle of time and money by investing US$180. Do it now so you do not have to worry another minute on the excellent reading you are missing. Go ahead, it won't hurt.

Thursday, January 05, 2006

WMF Exploit Patch Available

Just got this from a friend at Microsoft:
This is just a short mail to let you know that we have the patch for the WMF exploit available at http://www.microsoft.com/technet/security/bulletin/ms06-001.mspx. As this is rather a nasty exploit, I recommend you download and install this as soon as possible, and spread the word to whomever you come in contact with. I am pasting in the letter from the Security team that describes the vulnerability below.
Sounds like solid advice.

Philosophical Question of the Day

If you are dreaming while you are sleeping and this dream is about sleeping, are you getting twice the rest?

Ever since I have completely given up caffeine I am dreaming more and having stranger dreams during the prolonged sleep I now need.

Monday, January 02, 2006

HackCX Professional Reviewed!

Technical Editor Andrew MacNeill reviews HackCX Professional in the January 2006 issue of Advisor Guide to Microsoft Visual FoxPro (formerly known as FoxPro Advisor). The article is titled "Tools for Forms and Classes in Visual FoxPro."

Subscribers to the magazine can read the article online before it is delivered to you via snail mail. You can find it on the new Advisor link: http://MSVFP.AdvisorGuide.com. Andrew writes:
"HackCX might have been written to deal with the most common type of "hack" developers need to make when browsing a form or a class -- changing of the name -- but that's not all it does. Click on the Properties tab and you can review or change the settings for each object. Click the Methods tab and you can review the actual code. Perhaps most importantly, HackCX also brings sense to all those reserved fields you saw in figure 1. Click the Reserved tab and each field is labeled with its actual purpose. If you view a class library with HackCX, you'll see that Reserved7 field is where the description of the class is stored and Reserved3 contains a list of all the custom properties and methods."
And goes on to say:
"How valuable you'll find HackCX really depends on the type of development you do. It isn't expensive ($50 per developer license) but if you build applications using frameworks and rarely spend time cleaning up or refactoring code, then it may not be something you need. But the moment you need to re-define a class or make changes under the hood, you'll wonder how you never lived without it."
Heck, even people who develop with frameworks will find this tool valuable. In fact, most of the HackCX customers use one of the many commercial or their own custom frameworks. One customer wrote me about how he used HackCX to transition between frameworks.

Andrew, thanks for saying such nice things about our developer tool and informing the community about HackCX.

Feeling Off By A Second

Is it just me, or are you feeling off by a second since the Atomic Clocks were adjusted yesterday? I am always thinking it is a second ahead what the clocks now tell me it is.

How long will it take me to get my biological clock synchronized? Would it have been a better idea to have accumulated 5 or 10 of these and adjusted it once so everyone does not have to change their clocks by one second? How much time was wasted by this time adjustment?

What did you do with your extra second? I can tell you I was stressing over a big decision, not having fun like I was expecting.

More VFP happenings in the Universe

Just in case you have been hiding over the New Year's break...

Craig Boyd is inspired by Kevin Ragsdale's Fox Phrase 2006 post and created a new Visual FoxPro promo. I think it would be fun to see several VFP developers create something like this.

Want to learn more about Visual FoxPro? Who doesn't! Andrew MacNeill created the Learning Visual FoxPro site/blog. Subscribed.