I'm a UK employer with around 50 employees in the business, with 6 in the dev team. The sales team are mostly remote and whilst my development team are office based I'm not that worried where they're based as long as they get the job done. Our head office is oop north and the dev team down south anyway so there is already an element of remote working involved.
However I've yet to see anyone make a truly compelling case for routine remote working. My developers tried it when we first started the business and really didn't like it. They missed being in an environment dedicated to work with no kids running around downstairs and also the social aspects of being part of a team physically sat in the same room.
I'm recruiting at the moment for a new web developer (good all round skills required in PHP and / or Node, general experience with SQL databases) so if someone can convince me they can do the job remotely then I'm all ears.
Because the campaigners always take it a step further and say it's more distracting to be on the phone than not even if you have a hands free kit. Usually their studies are in contrived circumstances and omit that doing anything other than focusing 100% on driving is going to increase the risk of mistakes, including just having a conversation with someone sat next to you. Are they going to campaign against car sharing lanes as they encourage people to be in the same car as each other which in turn promotes distracting conversations?
Of course not as that would be ridiculous. Likewise banning hands free mobile phones may improve accident rates slightly but doing so is absurd, and yet that is what people are campaigning for. Here in the UK we already have enough laws to cover this - using a non-hands free mobile phone whilst driving is illegal, and driving without due care and attention covers any other poor driving due to distraction of any kind, but requires you to actually be driving poorly. We're not all the same and there are plenty of god awful drivers out there who are quite oblivious to what's happening around them regardless of how much they are forced to concentrate on driving the car.
The reason is risk. When our backs are against the wall we take far greater risks, both financial and in risking human life. We'll try everything no matter what the cost and see what sticks. When things seem all peachy we lack the motivation to take that same level of risk, and are completely against anything that may involve personal risk to the humans involved.
It was the first processor I learned to write assembly for, back on the Acorn Archimedes. Brilliant computers, so far ahead of their time, and I wouldn't be half the programmer I am now were it not for learning on those machines.
Several journalists have made this mistake, such as the drivel posted here: Trusted Reviews
They seem to think that the register size being equal means that software written for them is somehow much more similar. In reality the CPUs and the software they run are no closer to each other than before. The main benefit of this move to the latest ARM CPU design is ironically much the same as the advantage brought by x86_64 - more registers are now available and some floating point operations are more efficient. This will translate into a small performance increase but it won't be night and day.
But equally there are thousands of really talented programmers who examine the source code very thoroughly, many of whom contribute back. If there were back doors then there is a high chance that they would have been detected. Plus anyone really paranoid about it CAN go and check the source code to make sure for themselves.
With propriety operating systems you do not have that luxury.
Component sales to Apple are a relatively small percentage of Samsung's profits from the mobile sector. They've probably calculated that the potential gain in market share, and related profits, easily outstrips any drop in component orders by Apple.
If we're lucky Apple will realise that patent reform is in their best interests as well as ours. More likely though is that this will be seen by Apple as a sign they need to step up their legal activities even further.
I know there will be apologists but Apple really brought this upon themselves with their frivolous lawsuits based on patenting rounded corners and their seeking of bans of other devices. Whilst the rest of the phone manufacturers have all joined in the same rotten game, and many were playing at it before Apple, it was the Cupertino based company that (in my view) turned to the courts as their primary competitive strategy.
Someone needs to teach them that lesson at some point in their lives. It'd be nice if it were their parents. By definition advertising only works if you allow it. They are giving you information that you process, you evaluate, and you either accept or reject. The best advertising should be able to achieve if people are critical of all they see is brand awareness, and it's your choice to then blindly trust that brand or do things like check out other peoples experiences online.
The fundamental concept of the parent post, that advertising only works if you personally let it, is true. Your mind is your own and you can choose what to believe and what to distrust.
Tell that to Apple's retina display department. I'm now on my 8th screen, with six of those being complete laptop replacements, all because of clusters of dead pixels and all in the same horizontal band across the screen (50-75% up). Sure I've probably been a little unlucky and maybe I've been better at spotting and complaining about the problem than some, but just how low a failure rate can that display have if I am now on my eighth brand new unit and am staring at yet another cluster of dead pixels as we speak?
And Apple has had plenty of teething issues with a huge number of products over even just the last couple of years. How polished was Apple Maps? Or the iPhone 4 aerial? Or the already scratched before unboxing iPhone 5? Etc. etc.
Revision control is just one aspect. If you aren't the only person working on the code, or if there are other external dependencies such as you publish an API that others depend upon, then some form of automated testing will help ensure you haven't broken anything by deleting that code. Heck even if you are the sole developer then automated tests are still an incredibly good thingl.
If you are deleting code within a larger project then try deprecating the code first. Flag it as deprecated in the documentation (you do have documentation don't you?) and put log messages in the code that warn whenever it is called. After a while you can be confident that it is unused (or only used in obscure rarely called functions) and you can delete with confidence.
Revision control is your safety net, your last line of defence if you erroneously delete code that is in fact needed. It also allows you to always refer back to that code. Good commit messages will also help.
Not only that but there's a relatively simple solution with today's tools. Allow people to play the game for a bit for free but then make a single in app purchase to play it through to completion. As long as you're very up front about this then you're effectively giving people a free trial, and putting a block on piracy. I'm sure it's not a fool proof block, just look at the problems on iOS right now, but hopefully it's at least another step that doesn't harm genuine users but makes it a bit more difficult for the pirates.
But here you have garbage in = non-numerical return value from a function that is supposed to return a number albeit in string form. If this function is just being used to display a number to the end user, which is pretty typical use, then the result is going to be garbage in = a number somewhere isn't displayed properly to the user so they need to notice this and report the bug.
If garbage in = throw an error then whilst the user would see an error this is much more easily detected by the code itself and gracefully handled whilst notifying the developer of the problem. The developer will also be able to see where the problem is and be able to trace it back through the code from the input to the number_format call backwards, rather than having to worry about any code after that function call and trying to work out exactly what the user did in order to trigger this weird result in the first place. By having an error with a good error message they get an exact starting point for their investigation.
PHP is riddled with functions that instead of doing the right thing try to guess at what they should be outputting, leading to a huge number of hard to detect bugs, erroneous behaviour, and ultimately fragile programs. This particular call merely highlights one such function, and it looks like the core devs simply do not understand the innate issues with their chosen approach.
To bring this back to the topic of the article itself - a huge amount could be done to improve PHP by forking the project and redesigning the core library to be safe and consistent, removing all the broken functions that have been retained for backwards compatibility, and simplifying the library as a whole.
Yes throwing an error would be better than an inconsistent or, for some developers at least judging by the comments, an illogical result. If the input doesn't make sense then throwing an error is the only sensible way of dealing with it. This will flag the issue to the developer rather than leaving the possibility of an edge case bug sat in the code. But it would appear the PHP devs don't think like that and instead like to preach that their arbitrary way of doing things is better than some other arbitrary way of doing things.
I agree with most of what you say but equally how sad is it that the world judges someone's suitability to run a multinational based on their qualifications rather than the many years of experience they have had since then and / or how good they are at their job. That bit of paper doesn't make someone better suited to run a company than Steve Jobs or Bill Gates etc. just because they didn't complete their courses.
And this is illustrated beautifully by the pretty shoddy visuals that Intel are showing off. These graphics would have been jaw dropping 15 years or so ago, but frankly today they look amateur and desperately outdated. Reflection and refraction are nice gimmicks but it'll be a rare game that actually makes use of them to improve the gameplay. For all the other titles out there these effects are usually faked to a high enough quality that it doesn't make much of a difference to the gamer.
If Intel really want to revolutionise the graphics market just shooting for ray tracing in and of itself is not going to be enough. They need to look for something truly compelling that is beyond what is capable with current polygon based rendering. If they were showing off, I dunno, a real time volumetric renderer with natural ray traced lighting that looks as good as todays AAA titles but allowed for fully deformable worlds AND reflections and refractions, then I would be impressed and predicting a revolution. As it stands Intel have a gimmick that they can point at whilst the rest of the world shrugs and gets on with their lives.
Except Labour did effectively renationalise Network Rail when they forced Railtrack into administration and then created Network Rail to take its place paying £500m in the process. However they couldn't call it nationalisation otherwise they would have had to pay an extra £1.5bn to the shareholders, so instead they created a really convoluted management structure but still get to have their say in how it is run due to the government paying for various projects and by being able to appoint a director that other members cannot remove. Network Rails debts (all £20bn) are also underwritten by the government. Network Rail receives something in the region of £5bn a year in taxpayers money on top of the revenue collected from the tain operators.
So the tracks, signalling and numerous stations are all state owned and state run. And yet the regulator says that Network Rail is significantly less efficient than other track operators across Europe (some 30+% less efficient), and we still have massive infrastructure problems in the UK.
The train operators are pretty dire, thanks to privatisation that didn't include competition at the passenger level which makes it a state sanctioned monopoly, but it is laughable to suggest that things were any better when the entire show was publicly run or that Network Rail are doing any better. The UK government, or more rightly the civil service as this spans multiple governments, doesn't exactly have a stellar record in delivering value for money or even just good services let alone large scale projects. Can you name one major project that has come in under budget or ahead of schedule? The vast majority end in failure, massively late, massively over budget, or some combination of all three.
I am in business for myself and, depending on the industry, 2 years is enough time. Certainly if something can be trivially reverse engineered, as in the parents point, then 2 years is typically more than enough to bring that idea to market. I only used Dyson as an off the top of my head example so apologies if I made some assumptions.
But your own post kind of validates my point - Dyson has been hugely successful despite not having a patent stopping competitors from copying, despite taking many more than 2 years to bring the product to market, despite it taking many more than 2 years to catch on and take off, despite it being a new application of an old idea, and they have been competing using innovation again despite not having that blanket patent.
So quite by accident I guess this is a perfect example of where not having a patent hasn't held back an innovative company that makes products people want at a quality and price point that people are happy with.
If it's that trivial to reverse engineer is it really worth the patent? For discussions sake let's take James Dyson's vacuum cleaners. They are of a novel design, likely took a fair bit of R&D, and by most standards are probably worth a patent (despite copying the basic principles from elsewhere and simply applying them to a vacuum cleaner).
How long a monopoly should he have been granted for that design? Ten years? Twenty? If the answer is one to two years then that is probably the lead time on designing a good product in that sector even when you are reverse engineering the design. That time would still be enough for Dyson to establish themselves in the market, make a good return on their R&D, and then compete against the established players in a free market. Dyson would have been forced to compete on quality, value, and other traditional differentiators rather than being able to just benefit from the patent granted monopoly.
That introduction of competition soon after the initial release is actually likely to spur more innovation from many more companies and will ultimately benefit the consumer far more than granting any single entity a monopoly.
Perhaps a high quality patent system with a shorter time limit on patents is a lot better than the current system; but I would argue we are unlikely to ever get that, and that having no patent system at all is at worst the next best option.
Anything that is trivial to reverse engineer and steal in such a manner probably didn't require that much R&D and isn't worth a patent, certainly for the length of time current patents grant a monopoly.
The current situation is that companies with lots of money can hold smaller competitors to ransom by abusing the patent system. The worst case of abolishing patents is that companies with lots of money can spend more on marketing than smaller competitors and therefore dominate the market. At least with the latter we have a system where more people can build upon those products and try to do something novel, rather than the absurd situation we end up with at the moment where you HAVE to have a valuable patent portfolio that you're willing to use in legal action on other companies in order to compete.
If that were the case then they would just be seeking damages and a licensing deal. They are not, they are actively seeking to ban those devices on what are really quite flimsy patents and design patents. For Apple this isn't about fair play or seeking a fair deal, it's about market domination and obliteration of the competition. Heck, Steve Jobs even stated that his goal was to destroy Android.
I hate flash as much as the next guy, but HTML5 has worse performance for all but the simplest of animations where it is, at best, comparable. And "refusing to include" is the same as "banning". They gave end users no way at all from installing the flash software on their own devices - if that isn't a ban then what is?
And yes they do try and stop OS X from being installed on other devices. The Hackintosh crowd is currently small enough to escape their attention but how many independent hardware manufacturers are there that ship PCs running OS X and that haven't been sued out of existence by Apple?
It's amusing that you think the "Haters" will just not let people use what they find suits them best, when that is precisely Apple's strategy (not letting people just use what they find suits them best) and the reason the majority of "Haters" exist.
Maybe the solution to the patent problem isn't then to increase the difficulty of getting a patent, as the powers that be seem to be happy with the current system. Perhaps we would have more joy if we focussed on making it much much easier to have flimsy patents invalidated.
I'm a UK employer with around 50 employees in the business, with 6 in the dev team. The sales team are mostly remote and whilst my development team are office based I'm not that worried where they're based as long as they get the job done. Our head office is oop north and the dev team down south anyway so there is already an element of remote working involved.
However I've yet to see anyone make a truly compelling case for routine remote working. My developers tried it when we first started the business and really didn't like it. They missed being in an environment dedicated to work with no kids running around downstairs and also the social aspects of being part of a team physically sat in the same room.
I'm recruiting at the moment for a new web developer (good all round skills required in PHP and / or Node, general experience with SQL databases) so if someone can convince me they can do the job remotely then I'm all ears.
Because the campaigners always take it a step further and say it's more distracting to be on the phone than not even if you have a hands free kit. Usually their studies are in contrived circumstances and omit that doing anything other than focusing 100% on driving is going to increase the risk of mistakes, including just having a conversation with someone sat next to you. Are they going to campaign against car sharing lanes as they encourage people to be in the same car as each other which in turn promotes distracting conversations?
Of course not as that would be ridiculous. Likewise banning hands free mobile phones may improve accident rates slightly but doing so is absurd, and yet that is what people are campaigning for. Here in the UK we already have enough laws to cover this - using a non-hands free mobile phone whilst driving is illegal, and driving without due care and attention covers any other poor driving due to distraction of any kind, but requires you to actually be driving poorly. We're not all the same and there are plenty of god awful drivers out there who are quite oblivious to what's happening around them regardless of how much they are forced to concentrate on driving the car.
The reason is risk. When our backs are against the wall we take far greater risks, both financial and in risking human life. We'll try everything no matter what the cost and see what sticks. When things seem all peachy we lack the motivation to take that same level of risk, and are completely against anything that may involve personal risk to the humans involved.
It was the first processor I learned to write assembly for, back on the Acorn Archimedes. Brilliant computers, so far ahead of their time, and I wouldn't be half the programmer I am now were it not for learning on those machines.
Several journalists have made this mistake, such as the drivel posted here: Trusted Reviews
They seem to think that the register size being equal means that software written for them is somehow much more similar. In reality the CPUs and the software they run are no closer to each other than before. The main benefit of this move to the latest ARM CPU design is ironically much the same as the advantage brought by x86_64 - more registers are now available and some floating point operations are more efficient. This will translate into a small performance increase but it won't be night and day.
But equally there are thousands of really talented programmers who examine the source code very thoroughly, many of whom contribute back. If there were back doors then there is a high chance that they would have been detected. Plus anyone really paranoid about it CAN go and check the source code to make sure for themselves.
With propriety operating systems you do not have that luxury.
Component sales to Apple are a relatively small percentage of Samsung's profits from the mobile sector. They've probably calculated that the potential gain in market share, and related profits, easily outstrips any drop in component orders by Apple.
If we're lucky Apple will realise that patent reform is in their best interests as well as ours. More likely though is that this will be seen by Apple as a sign they need to step up their legal activities even further.
I know there will be apologists but Apple really brought this upon themselves with their frivolous lawsuits based on patenting rounded corners and their seeking of bans of other devices. Whilst the rest of the phone manufacturers have all joined in the same rotten game, and many were playing at it before Apple, it was the Cupertino based company that (in my view) turned to the courts as their primary competitive strategy.
Let the flamewar begin!!
Someone needs to teach them that lesson at some point in their lives. It'd be nice if it were their parents. By definition advertising only works if you allow it. They are giving you information that you process, you evaluate, and you either accept or reject. The best advertising should be able to achieve if people are critical of all they see is brand awareness, and it's your choice to then blindly trust that brand or do things like check out other peoples experiences online.
The fundamental concept of the parent post, that advertising only works if you personally let it, is true. Your mind is your own and you can choose what to believe and what to distrust.
Tell that to Apple's retina display department. I'm now on my 8th screen, with six of those being complete laptop replacements, all because of clusters of dead pixels and all in the same horizontal band across the screen (50-75% up). Sure I've probably been a little unlucky and maybe I've been better at spotting and complaining about the problem than some, but just how low a failure rate can that display have if I am now on my eighth brand new unit and am staring at yet another cluster of dead pixels as we speak?
And Apple has had plenty of teething issues with a huge number of products over even just the last couple of years. How polished was Apple Maps? Or the iPhone 4 aerial? Or the already scratched before unboxing iPhone 5? Etc. etc.
Revision control is just one aspect. If you aren't the only person working on the code, or if there are other external dependencies such as you publish an API that others depend upon, then some form of automated testing will help ensure you haven't broken anything by deleting that code. Heck even if you are the sole developer then automated tests are still an incredibly good thingl.
If you are deleting code within a larger project then try deprecating the code first. Flag it as deprecated in the documentation (you do have documentation don't you?) and put log messages in the code that warn whenever it is called. After a while you can be confident that it is unused (or only used in obscure rarely called functions) and you can delete with confidence.
Revision control is your safety net, your last line of defence if you erroneously delete code that is in fact needed. It also allows you to always refer back to that code. Good commit messages will also help.
Not only that but there's a relatively simple solution with today's tools. Allow people to play the game for a bit for free but then make a single in app purchase to play it through to completion. As long as you're very up front about this then you're effectively giving people a free trial, and putting a block on piracy. I'm sure it's not a fool proof block, just look at the problems on iOS right now, but hopefully it's at least another step that doesn't harm genuine users but makes it a bit more difficult for the pirates.
But here you have garbage in = non-numerical return value from a function that is supposed to return a number albeit in string form. If this function is just being used to display a number to the end user, which is pretty typical use, then the result is going to be garbage in = a number somewhere isn't displayed properly to the user so they need to notice this and report the bug.
If garbage in = throw an error then whilst the user would see an error this is much more easily detected by the code itself and gracefully handled whilst notifying the developer of the problem. The developer will also be able to see where the problem is and be able to trace it back through the code from the input to the number_format call backwards, rather than having to worry about any code after that function call and trying to work out exactly what the user did in order to trigger this weird result in the first place. By having an error with a good error message they get an exact starting point for their investigation.
PHP is riddled with functions that instead of doing the right thing try to guess at what they should be outputting, leading to a huge number of hard to detect bugs, erroneous behaviour, and ultimately fragile programs. This particular call merely highlights one such function, and it looks like the core devs simply do not understand the innate issues with their chosen approach.
To bring this back to the topic of the article itself - a huge amount could be done to improve PHP by forking the project and redesigning the core library to be safe and consistent, removing all the broken functions that have been retained for backwards compatibility, and simplifying the library as a whole.
So throw an error and highlight the incorrect input rather than choosing between one arbitrary output or another.
Yes throwing an error would be better than an inconsistent or, for some developers at least judging by the comments, an illogical result. If the input doesn't make sense then throwing an error is the only sensible way of dealing with it. This will flag the issue to the developer rather than leaving the possibility of an edge case bug sat in the code. But it would appear the PHP devs don't think like that and instead like to preach that their arbitrary way of doing things is better than some other arbitrary way of doing things.
I agree with most of what you say but equally how sad is it that the world judges someone's suitability to run a multinational based on their qualifications rather than the many years of experience they have had since then and / or how good they are at their job. That bit of paper doesn't make someone better suited to run a company than Steve Jobs or Bill Gates etc. just because they didn't complete their courses.
And this is illustrated beautifully by the pretty shoddy visuals that Intel are showing off. These graphics would have been jaw dropping 15 years or so ago, but frankly today they look amateur and desperately outdated. Reflection and refraction are nice gimmicks but it'll be a rare game that actually makes use of them to improve the gameplay. For all the other titles out there these effects are usually faked to a high enough quality that it doesn't make much of a difference to the gamer.
If Intel really want to revolutionise the graphics market just shooting for ray tracing in and of itself is not going to be enough. They need to look for something truly compelling that is beyond what is capable with current polygon based rendering. If they were showing off, I dunno, a real time volumetric renderer with natural ray traced lighting that looks as good as todays AAA titles but allowed for fully deformable worlds AND reflections and refractions, then I would be impressed and predicting a revolution. As it stands Intel have a gimmick that they can point at whilst the rest of the world shrugs and gets on with their lives.
Except Labour did effectively renationalise Network Rail when they forced Railtrack into administration and then created Network Rail to take its place paying £500m in the process. However they couldn't call it nationalisation otherwise they would have had to pay an extra £1.5bn to the shareholders, so instead they created a really convoluted management structure but still get to have their say in how it is run due to the government paying for various projects and by being able to appoint a director that other members cannot remove. Network Rails debts (all £20bn) are also underwritten by the government. Network Rail receives something in the region of £5bn a year in taxpayers money on top of the revenue collected from the tain operators.
So the tracks, signalling and numerous stations are all state owned and state run. And yet the regulator says that Network Rail is significantly less efficient than other track operators across Europe (some 30+% less efficient), and we still have massive infrastructure problems in the UK.
The train operators are pretty dire, thanks to privatisation that didn't include competition at the passenger level which makes it a state sanctioned monopoly, but it is laughable to suggest that things were any better when the entire show was publicly run or that Network Rail are doing any better. The UK government, or more rightly the civil service as this spans multiple governments, doesn't exactly have a stellar record in delivering value for money or even just good services let alone large scale projects. Can you name one major project that has come in under budget or ahead of schedule? The vast majority end in failure, massively late, massively over budget, or some combination of all three.
I am in business for myself and, depending on the industry, 2 years is enough time. Certainly if something can be trivially reverse engineered, as in the parents point, then 2 years is typically more than enough to bring that idea to market. I only used Dyson as an off the top of my head example so apologies if I made some assumptions.
But your own post kind of validates my point - Dyson has been hugely successful despite not having a patent stopping competitors from copying, despite taking many more than 2 years to bring the product to market, despite it taking many more than 2 years to catch on and take off, despite it being a new application of an old idea, and they have been competing using innovation again despite not having that blanket patent.
So quite by accident I guess this is a perfect example of where not having a patent hasn't held back an innovative company that makes products people want at a quality and price point that people are happy with.
If it's that trivial to reverse engineer is it really worth the patent? For discussions sake let's take James Dyson's vacuum cleaners. They are of a novel design, likely took a fair bit of R&D, and by most standards are probably worth a patent (despite copying the basic principles from elsewhere and simply applying them to a vacuum cleaner).
How long a monopoly should he have been granted for that design? Ten years? Twenty? If the answer is one to two years then that is probably the lead time on designing a good product in that sector even when you are reverse engineering the design. That time would still be enough for Dyson to establish themselves in the market, make a good return on their R&D, and then compete against the established players in a free market. Dyson would have been forced to compete on quality, value, and other traditional differentiators rather than being able to just benefit from the patent granted monopoly.
That introduction of competition soon after the initial release is actually likely to spur more innovation from many more companies and will ultimately benefit the consumer far more than granting any single entity a monopoly.
Perhaps a high quality patent system with a shorter time limit on patents is a lot better than the current system; but I would argue we are unlikely to ever get that, and that having no patent system at all is at worst the next best option.
Anything that is trivial to reverse engineer and steal in such a manner probably didn't require that much R&D and isn't worth a patent, certainly for the length of time current patents grant a monopoly.
The current situation is that companies with lots of money can hold smaller competitors to ransom by abusing the patent system. The worst case of abolishing patents is that companies with lots of money can spend more on marketing than smaller competitors and therefore dominate the market. At least with the latter we have a system where more people can build upon those products and try to do something novel, rather than the absurd situation we end up with at the moment where you HAVE to have a valuable patent portfolio that you're willing to use in legal action on other companies in order to compete.
If that were the case then they would just be seeking damages and a licensing deal. They are not, they are actively seeking to ban those devices on what are really quite flimsy patents and design patents. For Apple this isn't about fair play or seeking a fair deal, it's about market domination and obliteration of the competition. Heck, Steve Jobs even stated that his goal was to destroy Android.
I hate flash as much as the next guy, but HTML5 has worse performance for all but the simplest of animations where it is, at best, comparable. And "refusing to include" is the same as "banning". They gave end users no way at all from installing the flash software on their own devices - if that isn't a ban then what is?
And yes they do try and stop OS X from being installed on other devices. The Hackintosh crowd is currently small enough to escape their attention but how many independent hardware manufacturers are there that ship PCs running OS X and that haven't been sued out of existence by Apple?
It's amusing that you think the "Haters" will just not let people use what they find suits them best, when that is precisely Apple's strategy (not letting people just use what they find suits them best) and the reason the majority of "Haters" exist.
Maybe the solution to the patent problem isn't then to increase the difficulty of getting a patent, as the powers that be seem to be happy with the current system. Perhaps we would have more joy if we focussed on making it much much easier to have flimsy patents invalidated.