Archive

Archive for the ‘Uncategorized’ Category

Jan
02

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.

Jan
02

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.

Jan
02

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.

Dec
31

Yesterday was a great day. I started the day out playing Santa to a few developer friends, went to work at one of my clients, came home early to finish our annual Christmas/New Years letter to put in our Christmas cards (we never get them out on time), spent a fun evening with my wife’s extended family, and then came home and relaxed by watching a geeky movie.

One of the benefits of being a geek is being able to appreciate movies like Boondoggle Films’ Aardvark’d -12 Weeks With Geeks. I bought it strictly out of curiosity to see how a successful developer shop like Fog Creek works, and how they directed interns to crank out a production ready application in just twelve weeks.

I really respect Joel Spolsky (the same Joel of Joel on Software fame) based on the common sense expressed in his blog. I appreciate and value common sense. If the movie is truly representative of the way he runs his company (and I really believe it is), then Fog Creek is the reality of the vision I had for my own company more than 8 years ago when I was sitting in the cube farm at EDS.

As I watched the 80 minute movie I found myself laughing and reminiscing about past projects. I learned a couple of things and took notice on how cool his office is designed. The movie is interesting. There are no flashy special effects like Star Wars, no seriously tense scenes like you find in Indiana Jones (although the cock roach infestation was close {g}), no time traveling like Back to the Future, and no mushy romance like in When Harry Met Sally or Sleepless in Seattle. Yet I found it entertaining, educational, and done well. Heck, I even learned you can grow tomatos in the shade eighteen stories high in cement canyons.

I have given some thought to working with interns in the last few years. Our local school district has a program where the best and brightest can go to the Math, Science and Technology program for a half day. Each of these brilliant students work as an intern at the end of their junior year. The problem I have is my office is in my home. So I am not sure it would work out.

While I worked at Kirtland Associates I lead two projects with interns from my alma mater who were “slaving” at one of our clients. I assisted two students from Oakland University’s business school who entered into the Applied Technology in Business(ATiB) program. This is a great program based completely on scholarships. Jannel and Tone, and later Angela and Alan successfully worked on projects developed in Visual FoxPro 6 with Visual MaxFrame 4. They knew nothing about Visual FoxPro, and very little about developing software. But in a very short time, with our mentoring and direction, we took them through the software development lifecycle and produced a program implemented at the clients central office. It was a cool experience that I appreciate more now than I did back then. Angela now works for Deloitte & Touche LLP, Alan went to work at Accenture, Jannel started at Eli Lilly, and I see Tone is working for Ford Motor Company. Fun times.

After watching this movie I also found myself pondering the question: will White Light Computing be the realization of the original dream from 8 years ago? Or has my dream changed based on the experiences I have gained at Kirtland, Geeks and Gurus, and now White Light Computing? The original dream was based on my experiences at very large companies like Unisys and EDS where I spent the first thirteen years of my career. The dream has survived for eight years through the Y2K boon, the dot-com bust, and the lean years following the terror attacks on 9/11/2001. I also think it has been enhanced.

The last two years have revived my faith in our industry and in the realization of the goals I set out accomplish when I handed in my resignation at EDS back in 1998. I am very excited by the prospects of 2006, energized by a very successful 2005, and extremely proud of the work White Light Computing is doing to make this world a better place.

In 2006 you can expect me to keep paying-it-forward with this blog, some articles I have almost completed and those in the planning stages, conferences sessions already accepted and in the planning stages, another user group tour (although probably shorter this time around), as many forum posts as I have time for, the MenuDesigner (yes, it is almost ready for testing), SednaX, and several other things I am going to do but cannot talk about yet. This is definitely going to be another E-Ticket year.

Life is so good! Have a safe, healthy, prosperous and Happy New Year.

Dec
23

I wish all my readers a blessed, safe and healthy holiday season. I for one am looking forward to the break this weekend, and spending time with family and friends.

Dec
22

Craig Boyd Rocks! Ok, I know, I am the master of the obvious. {g}

My last post about IIS Dead in the Water proves two things.

  1. Blogs are simply powerful and an easy way to solve problems.
  2. People in the Fox Community are the smartest and most generous around

Craig pointed me to a post on Experts Exchange. So I ponied up $10 for a one month subscription and hit the “View Solution” button. The first solution was to reinstall IIS so I was a little nervous. The second solution pointed me to a Microsoft KnowledgeBase article (811259 – How to determine and recover from Winsock2 corruption). In this article is a command to reset the Winsock. So in the Windows command window:

netsh winsock reset

Reboot the computer, and whammo, bingo, magic, IIS is running properly and my OpenWiki and FogBugz is running.

Sweeeeeeet!

I must admit, I was a little nervous resetting something important like a Winsock, but I appeared to be hosed anyway. There is a warning for me to watch:

Warning Programs that access or monitor the Internet such as antivirus, firewall. or proxy clients may be negatively affected when you run the netsh winsock reset command. If you have a program that no longer functions correctly after you use this resolution, reinstall the program to restore functionality.

Small price to pay if it materializes, but so far everything seems to be functioning so far.

So I called Craig and thanked him for his pointer and ultimately solving my problem. I interrupted him during a recording of his latest Learning Visual FoxPro screencasts, but he took time out of his evening to chat about the solution I implemented, VFP, and things going on in our community. It is great having friends who are so darn smart and more important willing to share. Thanks again Craig.

I also emailed the very helpful Technical Support people at Fog Creek so they have one more solution to offer their other customers if this happens to them.

Dec
21

Dead as a doornail. Less useful than a pet rock. Internet Information Services (IIS) v5.1 on my Windows XP Professional SP2 (all the latest patches) development box has decided to take a holiday break. Normally this would not be a big deal, but I use it every darn single day to access the OpenWiki running on my machine and Fog Creek’s FogBugz for my bug tracking.

I am almost positive it started with the latest Windows Update. All of a sudden I was getting these “HTTP 403.9 – Access Forbidden: Too many users are connected” errors from IIS when I accessed FogBugz. I checked this error in Google and have all the proper settings in IIS. If I ran IISRESET the problem would go away for a short period of time, then the error would come back. Huge aggravation, but I could still get to my information.

I sent in a support ticket to Fog Creek. They had me follow the documentation on the their handy support site (I already found this before submitting the support ticket), but unfortunately all my settings for IIS and user IDs were just fine. The last instructions were to reinstall FogBugz. I did and now IIS is completely dead. Grrrrreat!

I now get back a completely blank browser when I hit any of the Web site home pages on my machine. The world wide web still works, but all the sites on my machine are nothing. The pages are there and I can use the IIS applet and the Computer Management applet to access the IIS Service, but it will not serve a page.

Running IISRESET now displays this:

Internet services successfully stopped
Attempting start…
Restart attempt failed.
IIS Admin Service is disabled

Looking inside the MMC services, the IIS Admin shows it is started and same with the dependencies. If I use MMC to restart IIS I get “Unexpected error: 0x8ffe2740, Remote Procedure Call Security Account Manager.” (when are errors ever expected??)

I found nothing on the usually very helpful Microsoft Knowledgebase. Googling was not much help either. I did find a couple of interesting Developer Help sites which tease you with alleged expertise, but they want high subscription rates and I am not sure of the quality of the people even monitoring the forums. I have read several threads on forums and they typically die without any posted resolution.

Fog Creek is telling me to reinstall IIS. I thought I would check with the real world experts first. Anyone got a fix for my bind?

If IIS needs to be reinstalled, what is the impact to my current configuration of Web sites I am running (like the Wiki and FogBugz which are both classic ASP apps, and my test configuration for my Web sites I host with ISPs)?

Have I mentioned I hate software when it goes bad? Why can’t things just work together in the sandbox?

Dec
20

In Andrew’s The FoxShow #34 podcast he mentioned my frustration with DBFs I posted as “DBFs cause hair loss”. He noted in his show how my views broke when I changed the structure of my table. This was not correct. Breaking views is something that never, ever happens to me when I change DBF table structures.

My frustration post was about the DBF structure not matching what the DBC thought it should be. The DBC contains metadata about all the DBF columns (and much more). This is how VFP determines the mismatch. There is only one way I know to accidentally cause error 1984. You can copy a different set of DBC files (DBC/DCX/DCT) or a different set of DBF files (DBF/CDX/FPT) into the appropriate folders. This would cause the mismatch between the DBF and the DBC. I guess something programmatically could go wrong. I can see this problem occurring if you issue an ALTER TABLE, and between the changing of the DBF and the update to the DBC the power goes out or VFP crashes. I think this possibility is extremely low. No matter how it happens – it is a frustrating error.

The view problem Andrew mentioned is fairly common. So how can I claim my views never break when I change table structures? It happens to everyone right? No. The simple solution is to never write views which have the asterisk as the fields clause. You see, the view with an asterisk tells VFP you want all columns, so in the DBC the columns are specifically listed when the view is saved. If you change the table structure and do not modify the view, the DBC still only knows about the original list of columns, not the new ones added or the ones you removed.

Every view I create has the individual columns specified in the view (the ViewEditor Professional helps with this via the columns to clipboard feature). It does mean I have a little extra maintenance when I change table structures, but the trade off is well worth it to me. If you use Stonefield Database Toolkit (SDT) to maintain your table structures it automatically validates the views and updates the DBC so this problem does not bite you in the behind. Either way works great. I use SDT for reindexing and updating the structures in production all the time, but prefer xCase for data modeling and table structure changes.

So Visual FoxPro developers have at least two different ways to code views and not have them break. I would not doubt if there are more.