"We've all had little flashes of brilliance, some of us have worked on them and abandoned them. Over the last 35 years of working in IT I'm sure I'm invented some stuff that no one else thought of"
This is the essence of programming. You're presented with a problem and you invent stuff to solve it. The core of programming patterns was the realisation that in general programmers (or, as the law calls them, persons skilled in the art), faced with a given problem, will produce similar inventions.
This should set a bar for claiming a patentable invention: it should be demonstrable that the problem has been recognised for some time and acknowledged to have not had a solution. Only in that way does it become clear that the level of originality in the invention exceeds that expected of persons skilled in the art.
I suppose one of the few examples of this is HTTP/HTTPL. It should also be salutary to realise that it wasn't simply the invention itself that made the web successful; it was making it freely available. Without that it would have had as little effect as the patent of BTs which seems to have simply sat on the shelf until someone decided to try to use it to cash in on other people's work in producing working code.