Archive | May 19, 2004

Blogging with Python

While troubleshooting my recent problems with Radio Userland, I happened across the Python Desktop Server and the matching Python Community Server.
It looks like the PCS is a drop-in replacement for a Manila hosting
site for Radio, so I could continue using the product I’ve bought.
Alternatively, I could also deploy the PDS to Linux or Mac and be able
to post to my blog that way. Cool!

Why I Don’t Answer Your Questions

Eric S. Raymond’s essay “How To Ask Questions The Smart Way” ought to be required reading before getting your Internet learner’s permit. A few of my thoughts after a recent, frustrating attempt at helping someone.

You don’t tell me enough to even ask a followup: you need to specify make, model, RAM, diskspace, operating system, VFP version and SP version, what you are trying to do, preferrably in code, what you are seeing (the error message, not ‘crash’) and what you expect to see. Anything else relevant to the discussion, like you’d never tried this before on this particular machine, or you just installed an update yesterday, could be helpful. Withholding this information is crippling the efforts of those who want to help.

If I have to ask the who, what, where, when, how questions, I might not even be able to get back to you later.

When you just post “Has anyone else seen a bug with XMLTOCURSOR returning the wrong values?” you are just begging for the correct answer of “No.”

If you’ve tried alternatives, and they didn’t work, say so, and save us all some time.

If you have a small piece of code that reproduces the problem, post it. If you don’t have one, make one. If you can’t make one, you don’t understand the problem, but that’s a great clue: the simple case works and the big one inside your application doesn’t. The question is then, not “why doesn’t function xxx do what it is supposed to” but rather, “what is it in my app that caused function xxx to do yyy instead of zzz?”

You assume it’s a bug. There are thousands of bugs in FoxPro. There are billions of lines of code written. Your chances of finding one are infinitesimally small. In alphas and betas over 15 years, I’ve probably found less than a hundred, and very, very few in the released version. Instead, it’s a much better attitude to assume that you are misunderstanding how the function/command/feature should work, and explain (again, as in #1) what you are doing, what you are seeing, and that you expected something else. Enlightenment may follow.

I used to have a rule when reading CompuServe forums (at 300 messages a day) of ignoring all messages with “bug” in the title. It avoided aggravation. When you are not asking the right question, you’re unlikely to get the right answer.

You’re belligerent in your attitude or your email sig. I’ll put up with some discomfort with a paying client. I don’t need to do that for free.

I have a number of clients who keep me on retainer because I tend to be really good (or really lucky) at troubleshooting problems. I am glad to lend my ability to the community, at no charge, to return the great support and help I’ve gotten over the years. But you have to work with me here!

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.