This is a liitle offtopic, but I have a simply question, one that I've had for awhile but cannot find the answer to, can anyone give an example of a legitimate software patent -- a patent that beyond its superficial veneer doesn't seem utterly absurd.
> e.g. using machine learning for handwriting recognition
This is one of the problems with software patents. Using machine learning for handwriting recognition is a pretty obvious "innovation" to anyone with a little background in AI who has thought about the problem at all. If we allow people to patent "using machine learning for X" for all activities X, that blocks a lot of innovation. The field is moving so fast right now that people are thinking of new ideas all the time; we don't need patents to encourage that.
There are some non-obvious algorithms that are worthy of patenting (that is, if algorithms were actually patentable). One that comes to mind is the fast inverse square root algorithm (https://secure.wikimedia.org/wikipedia/en/wiki/Fast_inverse_...). In our field, trade secret (e.g. compiled source code) is usually sufficient to provide protection against a competitor stealing a novel algorithm, rendering patents largely unnecessary.
So the economic idea behind a patent is to prevent a free-rider problem. Say I spend years and tons of my money inventing the telephone. I finally make it work, then sell it on the market. Without the patent system, someone can buy my product, reverse engineer it, and release a knock-off at a vastly lower price than me because he doesn't have to recoup all of my R&D investment. If this happens all the time, then we have a market failure, where nobody has an incentive to engage in research-intensive invention where the end result can be easily copied.
This is really the only economically sensible basis for patent law. Unfortunately it tends to get clouded in lots of other fuzzy ideas, like protecting ideas and incentivizing innovation.
So to give an example of something I think is a legitimate software patent: consider a hypothetical solution to the hidden node problem in the context of white space devices and wireless microphones: http://www.shure.com/idc/groups/public/@gms_gmi_web/document...
Basically, say you have a transmitter T and a receiver R, and a whitespace device W. W listens to the spectrum and opportunistically uses whatever radio channels it hears as free. T transmits on a fixed frequency to R, and R receives without transmitting. There are situations where because of geography, R can hear T, but W cannot hear T. So W detects T/R's frequency as free, tries to use it, and interferes with R. This is the problem that Microsoft's white space devices ran into with unlicensed wireless microphones in the FCC tests.
What algorithms could you put in a whitespace device (or a network of whitespace devices) to alleviate this problem? This is not really something that a programmer of average competence would find obvious. Indeed, so far nobody has a good solution to the problem, despite quite a bit of research. However, when somebody does come up with a good algorithm, it will be fairly easy for other manufacturers to copy it. Even if it's not, unless it can be protected by a patent, whoever discovers it will have a huge incentive to keep it secret, which means people can't work on improving it.
I think this is a pretty good case for allowing patenting of the algorithm within the specific context of a whitespace device (which is basically what the current law is supposed to be). You have a situation where solving a problem requires quite a bit of investment. You can't really do research on this without buying a bunch of whitespace devices and wireless mics and doing a bunch of testing in different conditions). At the same time, because the end result would be easy to copy, nobody really has the incentive to work on it, especially not smaller research labs which might be able to solve the problem but certainly wouldn't have the manufacturing muscle to build and sell their own whitespace devices.
The reason so many software patents sound ridiculous is because they don't really require any innovation. They're simply an attempt to take obvious ideas and keep other people from using them. As a rough rule of thumb, for a patent to make sense, it should take way more effort to come up with the algorithm than it does to implement it. If it doesn't then there isn't really any free rider problem.
I agree with the article that good writing is concise and clear, but don't conflate clear and concise with simplistic and short, thinking the only good sentence is a short sentence, as if we should all write like Hemingway in a hurry.
"Vigorous writing is concise...this requires not that the writer make all sentences short, or avoid all detail and treat subjects only in outline, but that every word tell."
- Strunk and White "The Elements of Style"
From the outside Popper's book looks as just a simple attack on Plato, Hegel and Marx, however at it's core is one of the greatest defenses of democracy, liberalism, and rational thought ever written. As you read it, you'll find even though the failed political and economic philosophies of Hegel, Marx, and Plato have very few followers in modern politics today. The methodologies they used, to "discover" their philosophies, still remain and are utterly rampant across the whole political spectrum.
I hope you enjoy Popper as I did when I first read him. The book was like an inflection point for me, before it I was someone else, after it I was changed forever. Only great books can do something like that and this is one of them.