My Ignite talk hits YouTube (http://bit.ly/95Jith), in which I define programming in terms of energy, intelligence, and evolution. As it says, "... the magic of computer programming has been lost on its practitioners."
just ask all the users you worked with during development to spread the news. What's that? You didn't actually work with your future customers while developing the software? And now you're surprised that total strangers you didn't value during development don't value your project now? Classic.
This actually happens with shareware all the time. People code up something that scratched their itch. Build a website. Find a credit card provider. Issue a press release. And then are disappointed when there are 0 sales after a month.
If you want to make software for you, go into a cave and do it, and be happy with what you get. If you want to write software for people, then you have to work with (surprise!) people. The payback is, the first day the software ships, you already know it's useful to others, you already have a user community, and they are already spreading the word for you. When people tell you they aren't interested in trying your software, they're telling you your software is not very useful. Either they are right, or you can't describe your software very well.
There's nothing creepier than showing up for your weekly radiation treatment just to find out there's a delay because they're "installing a Windows upgrade". When I asked the radiologist if there was any failsafe in the device, he assured me there was. When I asked if there was a radiation detector positioned behind the patient that was capable of shutting off the beam if it detected too much radiation, he said "no, nothing like that."
Medical radiation equipment should be designed with a secondary, independent piece of hardware capable of measuring pass-through radiation and shutting off the equipment. Doctors should demand such designs. Do you face much worse risks in your daily life? Sure. But your local Toyota dealer did not swear an oath to "first, do no harm."
Now anybody can see what you did and how. Patents are as much a learning tool as they are an economic engine.
That's the sentence where you stuck your foot in it. How many hundreds of thousands of programmers on the planet? OK, now how many programmers search the patent database for ideas they can buy before coding? 100,000? 1,000? Can you name me even 10? Where is the Eclipse plug-in for searching the patent database for relevant algorithms? Where is the panoply of web startups offering an online search tool that locates the patented algorithms that will help you get your next project done faster if you license them?
When it comes to software, patents have had half their faces blown off. They no longer function at all as a learning tool, or even as an economic engine for a hard-working programmer/inventor to profit from their non-obvious invention/algorithm. With much of their original, intended functionality rendered useless, patents (most especially in the realm of software) have long since passed the point where they offer society more costs than benefits. They are almost entirely the tool of large companies, lawyers, and those who sell services to inventors gullible enough to believe we still live in an age where patents work the way you describe.
Non-oncs generally don't understand that a whole lot of cancer is "clinically irrelevant". That is, it would never go on to kill you. Thus, as early detection gets better in most areas, you detect a greater percentage of cancer that was never going to hurt the patient. However, once you see the cancer, you are duty-bound to slash/burn/poison (Susan Love's famous chapters) to cure it. Statistically speaking, you know you are actually harming some patients, but it is a dilemma -- you hurt all the patients in order to serve a greater good for some percentage of them. A good example is the growing backlash against general PSA screening. Even just a biopsy for prostate cancer can't be 100% risk-free, but the treatment is really risky, assuming you're not enthusiastic about being impotent and/or incontinent for the rest of your life.
So don't get too excited about increased early detection of cancer. Currently, it is usually a double-edged sword that brings suffering to some percentage of patients who would have avoided it before the new test existed. An exciting development would be a detection test for distinguishing cancer that's just sitting there from cancer that's on the move and likely to kill.
Descartes would have been a programmer if he were alive today. The unpleasant little fellow didn't think too much of the intellectual ability of others, and was always inclined to solve problems on his own. This has led to my definition of Cartesian Programming.
"An idealist is one who, on noticing that a rose smells better than a cabbage, concludes that it will also make better soup." - H.L. Mencken