up a level
post article
search
admin
Contact
main
|
| Medical Open Source Boot Camp |
 |
 |
 |
Posted by Real Hacker on Saturday October 21, 2000 @ 10:26 AM
from the stop-reading-java-for-dummies dept.
Editor's note: this post makes excellent points and obviously speaks from experience, but it was posted anonymously which means no sugar coating: People who try to 'get out in front' and lead the Open Source
community are not helping it. The Open Source community is a
Meritocracy, where your responsibility and status are determined
by your programming output. Doctors who want to head up projects with
little programming knowledge and less programming experience won't attract
Real Programmers to do their bidding.
Digg this article
Executive Summary
The Open Source Movement is about source code. People who
can't program should get out of the way.
[Note: Real Programmers are
experienced programmers that are 100 times more efficient than average
programmers. Think Carl Lewis vs Roseanne. ]
Let's break it down this way:
1) You are a real programmer and you want to start a project from
scratch. Go read ESR's papers. You
need a working program that's useful to you first. No one can tell if
you are a real programmer if you don't have code. In fact, you
can't be a real programmer without the code to prove it.
Your goal is not to get people to follow you and write your
software. People don't like being exploited. People will follow you if you
are already going somewhere and doing something useful. [ Proof: Stand
up in a crowd and say "I want to be your leader and you should all follow
me." Wonder why people followed Ghandi, but not you. ]
When you are a project leader, people will add to your program and send
you the results. Your job is NOT to incorporate them all. Your job
is to evaluate them. If it's a good feature and it's good code,
then you incorporate the code. If the code is bad, you can rewrite it
yourself, or send it back to the author. If your criticisms are valid,
the author will be happy to rewrite it the way you want it. After all, the
author wants to feel useful. If a contribution is accepted, that means the
author is trustworthy, and you should incorporate him in the project
decisions. You may even break off a piece of the project and give him
responsability for it. If there are disputes, they are settled in the
'pecking order'. You are at the top, the others are valued according to
their contributions.
2) You are a computer novice and/or you think you can program. Of
course, you want to start a project from scratch because it's no fun
following others. You assume that real programmers will tell you what to
do to make the project better. The problem is that you can't tell
a real programmer from a self-inflated poser windbag. You will get good
suggestions and bad suggestions, but you won't have the experience to know
which are which. Even worse, real programmers will instantly detect that
you don't know what you are doing and leave. They can detect you, but you
can't always detect them. [ Proof: Build a house without plans. Try to
detect which of the passers-by are expert builders. See how many expert
builders detect that you aren't one of them. ]
Your best bet is to join an existing/established project and
contribute as best as you can. Even as a novice programmer, you
can point out errors in the documentation, write a FAQ, ask intelligent
questions, find bugs, etc. If you have valuable contributions, you
will be recognized as one of the contributors to the project, and you will
gain experience and be allowed leadership. Only after you have experience
can you consider yourself a real programmer. Warning: Not
everyone who wants/likes to program can become a good programmer. If a
project leader dumps on your ideas, remember that they are
experienced, and you are not. [ Proof: A Zen student wants to "hurry up
and figure out what this Zen thing is already". The master laughs. Should
the student resent the master? ]
3) You are a doctor and you want to help out. First, admit that
you are not a programmer, and you couldn't tell a real programmer from a
dorky kid with glasses. Don't try to program any more than you would try
to rebuild your car's engine. You don't have the tools or the expertise,
and you will make a mess that even an expert wouldn't touch.
Next, recognize that the medical profession isn't likely to drive
breakthroughs in technology. (Sometimes, as with MRIs, they do, but
not real often.) When it comes to computers, doctors are way
behind. [Proof: Go to a hospital ward or outpatient clinic and count the
number of staff with and without a computer. Go to a 'conservative' bank
and try to find an employee without a computer. ]
You have heard about these ".coms" doing "e-business" and making
everything computerized and you want a piece of the new-fangled
action. But recognize that all that glitz was built on 10-30 year-old
technology (TCP/IP, UNIX, e-mail, Databases, perl, the Web). [Note: The
first 3 were started in the 60's. Perl was written in the mid 80's. The
Web was invented in 1989. Great, now I feel old. ] Ignore the latest
buzzwords -- they are for the computer people, not for you.
If you want to help, do some thinking and write down what you
want. Remember, Thinking Is Hard. Writing down the first thing that
pops into your mind won't help ("I think it should be user
friendly"). Don't tell programmers what to do ("It should be done in Java
and XML because I hear those buzzwords a lot"). Be pragmatic and practical
(Would you have a highly skilled nurse do data entry? What if it increased
the accuracy of the information?) Recognize that almost no vendors have a
useful EMR system, and the few places that have one can't replicate it
elsewhere. [ Quiz: What do Motorola, Intel, Kodak, 3M, Bell & Howell and
Siemens have in common? They all have health care divisions, and
most are churning out useless software like there's no tomorrow. None are
known for their good programming. Few are likely to attract good
programmers, when good programmers can go work for .coms. They all have
enough money to write junk and just 'see what sticks'. ]
Your best bet is to give a dose of reality to programmers. Programmers
assume that everyone can type, everyone knows how to navigate a file
system, etc. If you have experience with an EMR, write up your thoughts,
both good and bad. Is it unrealistic to ask for exact hospitalization
dates because few patients remember them? Is it more useful to have large
friendly icons for navigation or an information-packed control panel that
shows at a glance what you need know? What information do you need
on the screen at all times? Would you rather see a list of 100's of tests
performed on the patient, or a short clinically relevant summary? Would
you rather have items sorted by date (episode) or by type (type of test)?
(hint: neither is right.) Do you want to enter a lot of data so you can
see it later (the computer is just like a chart), or do you want to enter
a little data so it can help you track and manage your patients (the
computer can do more than a chart ever could)?
Writing a program isn't hard, but making a program useful is. (In
exactly the same way that firing a gun is easier than aiming a gun.) Ok,
this is degrading into a rant because I've run out of useful things to
say. [ Proof: Try to find my last point. ] Here's some tips:
- Do fund open source software developers. No, don't stuff
cash in an envelope. Hire some random techies to investigate open
source software. See if you can devote a departmental server to be a
source code mirror. Donate old hardware to promising projects. Grill your
software vendors on interoperability issues ("Does your software work on
my mac and my daughter's Linux box?")
- Don't try to start a programming project. Leave the
programming to the programmers and we won't try to see your
patients. Thank you.
- Don't try to control an existing project either. You can make
suggestions, but don't get angry if no one follows you.
- Do start a web page, but recognize that it won't help
much with writing software. It may help people doing google searches.
- Don't try to co-opt open source by doing something that
doesn't involve source code. The "Source" in "Open Source" refers to
source code, not some abstract 'source of all that is good in the
universe'. You can label it "Open Wishful Thinking" or something. [ Tip: I
hear that the "Power" and "Active" buzzwords are under-utilized this
week. ]
- Do understand that sarcasm rules the net.
- Do accept that programmers look down on techie doctors in
exactly the same way that doctors look down on patients who say "But I
just read about a new experimental drug that they got to work on lab rats
once."
- Do download software and send e-mail to the authors with
suggestions. But be aware that some software tries to solve
issues that you don't understand yet (but will).
- Don't write anything without the net in mind. The GUI wars are
over. The Web has won. Things that are not web applications better have a
darn good reason for doing so. Things that do not store their data in a
database should be taken out back and shot. Hint: My/mSQL are not real databases.
- Don't think "Programming can't be that hard". Any attempt to
dumb it down (e.g. Visual Basic) should be looked at with the same disdain
as a "Do-It-Yourself Surgery Kit" or attempts to "fix" the fact that
people drop out of med school. Programming is hard in exactly the same way
that saving someone's life is hard.
- Do investigate wireless. 802.11b is your friend. [ Hint: All
the cards are really made by Lucent. ]
- Don't think that a PalmPilot would be the perfect tool if only
it had decent medical software. Graphitti is slow, carrying around a
keyboard sucks, the screen is too small, it has a proprietary OS and the
handspring port is proprietary. Don't hold your breath for WinCE
either.
Signed,
A Real Programmer (TM) sick of all the useless "follow me, I'm
clueless and I've got a plan" projects.
<
|
>
|
|
The Fine Print: The following comments
are owned by whoever posted them.
( Reply )
|
|
Over 10 comments listed.
Printing out index only. |
Re: Medical Open Source Boot Camp
by Saint on Saturday October 21, 2000 @ 03:05 PM
|
I really like a lot of what the above says. Unfortunately, in a system that values heirarchy and seniority, the above is likely to go un-spoken for fear of getting a 'reputation' even if it truly needs to be said. It is a well-studied phenomenon that heirarchical organizations are the most resistant to change, even if their survival depends upon it. Those who are realistic about the current and future state of medicine know why I bolded the last sentence.
-- Saint
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp
by physix on Saturday October 21, 2000 @ 05:18 PM
|
I am one of these M.Ds that also happends to be interested in programming. I am attracted to Java because it shows so much resemblance to the human genome (I am pretty convinced that some of the people from Sun that developed Java had deep knowledge of molecular biology). Of course I have som project sketches, and of course I am interested in XML. I am a curious person. I have a PhD on murine AIDS... But knowledge in the field of molecular biology is almost of no use when I work as a Physician in Europe. When I practice as a doctor (I'm a Rheumatologist) I work in two modi:
a)Collecting information, evaluates and thereafter makes decisions on the basis of the collected information.
b) Execute those decisions.
My problem is lack of information and lack of good information systems. This prevents me from doing a really good job in front of the patient. This is my MAIN problem. Its a catastrophy!
I believe that the health care sector is an extremely underdeveloped information marked. In projects my aim is to express my self in such a way that programmers understand what I say. I have seen many medical informatics projects that are destined to fail, and I have spend much time trying to find exactly what is wrong in these in order to understand..
I believe that the quality of the dialogue between the problem owner / the future user and the developer is extremely important. But Developers must have more input than expressions from Doctors about what they want! I believe that the key is usability analyses; Does the program work when the user uses the program?
I have also met many programmers that dont care a shit aboat doctors and doctors needs, and that care more for the system (stability, how easy the system can be maintained) than the users ability to perform tasks in front of the system. (I use to call them holy preasts). I have also met many programmers that are stuck in old, non-scalable technologies and that dont "accept new remedies".
I think it is very hard to distinguish a really good programmer from a lousy one (just as it is hard to distinguish a good from a bad Rheumatologist :-)) and that most programmers have suboptimal skills. Sometimes I have been in situations where I have been forced to put the programmers against the wall. I have many patients that put themselves in my role, tries to tell me what I shall do instead of beeing interested in my skills as a Rheumatologist. Of cource this can sometimes be a problem. But patients with deep insights in their own disease and problems can also be looked upon as a resource.
If Real Hacker is a highly skilled programmer that fails to get acceptance from his problem owners the root of the problem can also be a communication problem. Doctors become doctors through a strong selection process and constitute in many ways a very special subpopulation. I like to say that I am more interested in information than in technology and would be eager to work with programmers whos programming skills are at the same level as my skills as a Rheumatologist :-).
|
[
Reply to this ] |
|
|
Necessity
by Andrew P. Ho on Saturday October 21, 2000 @ 10:36 PM
|
This is the first point made by ESR in his excellent Cathedral and the Bazaar:
1. Every good work of software starts by scratching a developer's personal itch.
Programmers typically don't care about what physicians care about. Few are willing to provide free software to the wealthy physicians. Most are not motivated by the certainty that they themselves will be the ultimate users of these software. Some may even feel threatened by our success!
From ESR's most excellent second point -
2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
It is true that producing a real program that is useful is non-trivial. However, the "programming" part is not the most challenging part (contrary to what self-proclaimed programmers may tell you). Designing and evolving a solution over time (without writing new code) - that, in my view - is the real challenge.
Better technology and tools are making it possible to accomplish much with little or no code. Those programmmers who rely on their arcane art of coding 1000x more efficiently may soon be without work if we are successful. (OIO-0.9.3 download is only about 300k - it is fully web-based and can evolve over time without writing new code). This is only the beginning.
|
[
Reply to this ] |
|
|
Re: Medical Open Source Boot Camp
by Karsten on Sunday October 22, 2000 @ 10:08 AM
|
Have a look at
http://hilbert.webprovider.com/os-pms/index.html
and also read the documents relating to the Quick Quack Medical Manager linked from the projects page here on this site.
There you'll find what you are asking for: Thoughts of doctors or nearly-doctors about what they would like their "perfect" frontend to be like.
And maybe you can graciously accept in your wisdom "suggestions" humbly made by doctors who do have some idea of the difference between a keyboard and a mouse as to what tools or other projects are available. Maybe you didn't know about that and it just _might_ be useful. You never know.
Even the Zen student can inadvertantly grasp the Whole into one word without even knowing it. (Of course it is then Zen only to the master who does understand.)
Regards,
Karsten
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp
by Niels on Tuesday October 24, 2000 @ 07:39 AM
|
What this discussion is showing is that programmers and MD's are not able to work together. The distance between the two worlds are to big.
On one hand we have the programmer die-hard how knows all about programming code and programs architectures. Just tell him EXACTLY what you want and he'll code it.
But don't expect him to have an objective, subtle comprehension of an extremely complicated real-world (like in medicine) where his application is going to be used. The interest lies with the application not the real-world. So MD's, in this case that is, need to tell him about the real-world and the sort of functionality his program should deliver.
On the other hand we have the MD who know's all about the extremely complicated real-world of medicine and the demands and functions involved in the process of dealing with patients. Give him an application and he can say EXACTLY whether it is applicable or not.
But don't expect him to have a grasp of things like unambiguity, consistency, sufficient level of detail, etc... when he speaks about his real-world.
The problem here is that both parties speak different languagues. Although on the surface it may look the same old english there is a huge difference in the way it is used.
The programmer will insist on unambiguous, consistent use of languague, because these are elementary prerequisites for translating into source code, while the MD will insist on validity of what is said, because he wants a program for HIS real-world and no other.
This can be abstracted into the programmers main concern for "form" of languague and the MD's main concern for "content" of the used languague.
I'm aware of the criticism expressed already that MD's 'don't know what they want', but that does not contradict the former remarks, because a programmer is not so much interested in 'what' a MD wants but rather that he tells him EXACTLY what he wants. Furthermore the fact that a MD does not exactly knows what he wants tells something about the complexity of his real-world.
What is needed her is a "interpreter". In my believe this is an information scientist who is able to translate valide real-world demands and functions in a formal manner in formal representations wich are unambiguous, consistent and with sufficient level of detail so that it fullfils the prerequisites of both MD's and programmers.
Furthermore it is needed that a programmer will listen to and implement these translated real-world demands and functions. Otherwise he will produce a shinny program with lots of functions, but with no user-base.
It is also needed that MD's don't start hacking something themselfs, since it will deliver a 'monstrum' that might be used, but with little functionality and with a high risk of being technicly inferior. What produces problems for maintenance, scalability, and usability.
Conclusion is that in order to produce a usefull program or system three parties need to cooperate in a constructive manner.
When this is not possible within an open source construct (because MD's must first donate source code (which, by all means, they shouldn't), or programmers just want to hack code irrelevant from all demands or functions described by MD's) then it will have to be done in an closed source construct.
Regarding all the comment on this page I'm starting to believe it will be the latter construct.
an medical information scientist
|
[
Reply to this ] |
|
|
Re: Medical Open Source Boot Camp
by Tim Cook on Tuesday October 24, 2000 @ 09:48 AM
|
Well said. Along with some great follow up. Why would the author want to remain anonymous? Heck, I'd be proud of that article if I'd written it.
|
[
Reply to this ] |
|
|
Re: Medical Open Source Boot Camp
by Real Doc Non-hacker on Tuesday October 24, 2000 @ 06:24 PM
|
This series of posts is worth attention. To summarize:
- Good hackers write tight, functional code.
o Physicians are rarely good hackers...
- Physicians don't communicate their needs well.
o physicians don't really understand how they work.
o physicians are therefore unable to guide hackers.
There are three fundamental points about medical software here, to which I add a third:
1 - physicians' essential work with medical record is to mine relevant information from it
2 - therefore medical software must be founded on a carefully constructed database
3 - such software will actually be helpful to physicians (and their staff) only to the extent that it promotes efficiency (attends to ergonomics).
As the author of the QuickQuack documents, first written in 1986, I appreciate the comment about their insightfulness.
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp = Drivel
by A Real Physician on Tuesday October 24, 2000 @ 09:21 PM
|
Executive Summary:
What drivel.
Let's break it down like this:
This guy comes across as a wannabe who didn't quite have the equipment to get into med school, or to pursue something more meaningful than designing the millionth reimplementation of "yet another menuing system."
"Real Programmer" makes the kinda dumb error of assuming that because physicians don't spend their free time surfing for pornography, they must be computer illiterate. Of course, we're actually doing useful things like saving lives, instead of writing a new IRC script. Of course, we're usually searching NIH to try to get a cancer patient into the latest chemo trial, instead of clocking penny stocks and reading "The Drudge Report" during the two hour lunches at his "conservative" banks.
Curse our technological backwater-ness! And hail to bankers as the true torch-bearers of our technological future. Who'd a thunk it. Engines of innovation, they.
And no, I can tell you that as a programmer who previously worked in the industry for years, writing software pales in significance and difficulty compared with the daily demands of medicine. So forgive us if we're less than impressed with "real programmers" who spend 6 hour days lifting an occasional finger to do something as globally significant as correcting a mismatched opening brace.
Most physicians use computers in sophisticated ways that are foreign to most "real programmers", which is why "real programmers" can't understand what a physician/scientist is discussing. What we need are programmers able to understand a discussion of strategies for manipulating protein and nucleotide databases, statistical tests, natural language processing, large-scale simulations, and artificial intelligence.
Instead, what we get for the most part are folks like "real programmer" here, who thinks the hard problems are at the level of "how can I hook up my [real] database to my [latest] Java incarnation of 'The Mortgage Calculator?'"
Whoa. Programming is deep.
Programmers who are conversant only with computer language and technology are literally a dime a dozen. Keep cranking out those B2B.com applets, kiddies. The money's good, but it just ain't really "that hard."
Programming is simple enough that any programmer who doesn't have broad training in science or some other field OTHER than computer science is highly unlikely to be of ANY use in solving today's real problems.
Do: leave the deep design of medical and scientific software to those who understand those fields, and who are involved in problems a wee deeper than spending days coming up with a really keen new way of implementing a Singleton.
Hint: we will call you when we come up with the solution to a real medical or scientific problem, and need you to port it to the OS/platform of the month. But I'm afraid for most of you the understanding of the problem and solution will be at, um, register level.
Signed,
A Real Physician (C) and Real Programmer (TM) who thinks programming ain't nothing more than writing recipes for fast cooks.
|
[
Reply to this ] |
|
|
Hit Nail on the Head & Whacked Your Fingers, too
by Captain Fantastic on Wednesday November 01, 2000 @ 02:23 PM
|
Some good points here Real Programmer, but on some points *Real Developers* would take issue with.
For Example:
*Since when* does a programmer drive a software application feature set/requirements? (That's circa 1960 MIS shop-thinking, IMHO.)
The Answer: When the programmer also happens to be an MD or qualified healthcare professional (i.e., the intended user/customer).
Programming is the *third phase* of the system/software development lifecycle, not the first. Requirements analysis/specification and design are second and third respectively, then *programming*, else 'wag the dog'.
To use your construction metaphor, programmers developing medical information systems had better be building to *plans* based on requirements and specifications, which are compiled, written and signed off by *MDs* and other healthcare professionals working with business systems analysts.
After signoff of the requirements specification, a system design team (design phase), which can consist of system/software developers and MDs as well, go to work.
When the Design Specification is signed-off, now the developers (programmers and other technical specialists) get the specs by which to build the system & software, *to the satisfaction* of the users (the Doc's).
Real, this is basic stuff for programmers involved in enterprise (medium/large scale, mission-cirtical) systems development. My feeling from reading your post is that your experience is on small/medium size PC software projects, where programmer/analysts are more the norm. P/A's still would put the MD's in the driver seat; programmers are not Docs!
Yes, ESR does talk about needing actual code for the success of an open source project (requirements specs won't cut it alone, and code is needed to attract developers). But ESR does not say that programming is the starting point, or that programmers should drive the feature set of the software, does he?
But I digress.
I have of course witnessed and been a part of projects that are driven by programmers. Most of the time, these projects:
- deliver results that do not meet the needs of users (i.e., you talk to the users; I'll start programming syndrome).
- are all over the boards with respect to requirements, if they are even written down. Shall we offer global language support or work on getting the patient medical record correct?)
- have a hard time sticking to deliverable deadlines (who needs a project manager; they can't code!). Oops - our competitor just got funded - time-to-market.
- have no sense of priority with respect to ideas and suggestions from users, because they do not have a lead user (MD) to assign priorities.
- have their projects cancelled, because they do not have Executive-level sponsor/support - Medical director - MD again - (read: funding and help with politics, which is a huge challenge to successful adoption regardless of the how-cool-the- software-is factor) in a mediaum to large medical practice).
Real, keep the Docs and other healthcare providers in the first two phases of the lifecycle and you are sure to have better success. Slap their hands when the start dictating technology solutions (Java or V/Basic) - yes - but don't kid yourself into believing that you understand their needs better than they do.
Lastly, Keep in mind that there are gifted Docs and other healthcare professionals out there that may have forgotten more about programming than you or I will ever know, despite the fact that it's out passion which we live, eat and drink. Doc's work on the human system which makes the computers we program look like tinker-toys in comparision.
Thanks for your post - you did make some excellent points which have already been covered and spurred some great comments from all that participated.
Jim Intriglia
-A Real Healthcare IT System Developer
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp
by Dr. Roy Blackburn on Saturday January 10, 2004 @ 12:16 PM
|
The article is entertaining and true. Doctors are scurrying for ways to reduce costs as their overhead goes up yearly while their reimbursement goes down. Unfortunately, the third parties (non patient payor) in charge of this chirade have been given legal immunity via ERISA and abuse of government power to do what they please while the doctors have been stripped of legal rights granted to other professions (such as plumbers); therefore, physicians are forced to play on an "unlevel" field. If the government did to truck drivers what they have done to doctors there would have been blood in the streets a long time ago. So, any programmer who can help the profession fight this trend in a cost effective manner (remember, reimbursement is declining while overhead is going up) is much appreciated. Yes, we need your help. We need simple systems that are user friendly, reliable, portable, flexible with different operating systems, compliant with the volumes of regulations thrust upon the medical field and inexpensive. I hope that your profession never suffers the same fate as ours.
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp
by Real Doctor, Wannabe Hacker on Monday December 20, 2004 @ 10:39 AM
|
I can understand being disgusted with a physician who hopes to harness the power of some "real programmers" like a troop of Oompa-Loompas to make reality of his brainchild. I have just enough programming knowledge to be dangerous which makes me a target for my peers who approach me with their "great ideas" to incorporate into my "informatics thing". (BTW, I seem to have misplaced my informatics thing. If you see it, let me know.) Most of these brain children are the bastard sons of Uncle Fester and Britany Spears, a little flash and a whole lotta dumb. Your post is appreciated by me, made me laugh, and probably needed to be said. There was some gross overstatement (see sarcasm), but on the whole a clearly stated perspective.
My perspective is a bit different. First off, I don't think the open source movement is about source code. In fact, that is what it is NOT about. Proprietary, commercial software is about source code. Who owns it, how to protect it, who can buy it, how much to spend outsourcing its development to India, being stuck with it if it doesn't do what you want it to, and of course, cracking the copy protection on it so it can be used by the general public for free.
The open source movement....(ok, a rant...what the hell is the "open source movement". It sounds like an extremely impressive fecal elimination in which the colon is completely eviscerated). Anyway, I think open source is about communication and evolution. We need to find a way to connect "real programmers" and "real doctors". I think there are enough of us in the middle ground that we might be able to bridge the gap. More on later post as I must go to work...
|
[
Reply to this ] |
Re: Medical Open Source Boot Camp
by dr neo on Wednesday May 30, 2007 @ 04:49 AM
|
"Next, recognize that the medical profession isn't likely to drive breakthroughs in technology. (Sometimes, as with MRIs, they do, but not real often.) When it comes to computers, doctors are way behind. [Proof: Go to a hospital ward or outpatient clinic and count the number of staff with and without a computer. Go to a 'conservative' bank and try to find an employee without a computer. ]"
Dont take in general,there are doctors who can write good progies and are expert in various interdisciplinary areas.
have a look http://smst.iitkgp.ernet.in
with best regards
|
[
Reply to this ] |
The Fine Print: The following
comments are owned by whoever posted them.
( Reply )
|
|