Which implies that you have to write bug-free code. If you write generic enough code with bugs in it, how is the maintainer to know which incomprehensible operation on which inscrutable object is wrong?
People tend to document the original class better than random uses of the class. With static type checking, you can get back to the declaration and at least find what the class had in it when it was created, which will give you some idea of its use.
This was not helped by the fact that the implementors overused dictionaries. These inscrutable objects contain dictionaries of values indexed by abbreviations opaque to those not in the secret order.
I went Fortran -> (Assembler)->Algol->Coral->(Assembler)->Pascal->(Assembler)->(Assembler)->C++->(Assembler)->Java->Python
Each Assembler is a different machine.
Coming from that trail, I really miss typing in Python, which I otherwise like. I would love an optional typing scheme: define an interface, and check that the variables passed locally conform to that interface.
My problem with this is that Python does not require you to specify what type is expected.So, when maintaining code, you have no idea what this strange thing being passed in, other than it seems to support methods foo() and bar(). I keep having to read code, written admittedly by hardware engineers, where some strange object is passed through many layers of call. It may be documented somewhere, but the source code leaves me no way of finding it. It makes for unmaintainable code unless you are meticulous in your embedded documentation. Even the best of us fail occasionally in this department, and IME Python encourages this tendency.
So you think you own the code in the engine control system of your car, a delivered item? Or the code in your mobile phone, equally delivered? Or, for that matter, Microsoft Windows, delivered on CD?
Entirely agreed. Government should be the machinery we have set up to implement the necessary interchanges in society - a means to an end. the trouble is that it all to often becomes an end in its own right.
Eh? Where did you get the Libertarians from? I was talking about the Liberal Democrats, or a hypothetical newly founded Clean party if you don't think the Lib Dems are clean enough: they have been involved in the politics which has led us to this mucky hole, even if without power. I strongly reject the basic Libertarian principle: I believe that there is such a thing as Society, we are all part of it, and we owe something (though exactly what is more debatable) to it, just as we can expect to take from it in case of need.
But the Brits really need someone to set up a third party that can get their political and law-enforcement houses in order.
We have a third party who might (or of course, might not) prove more ethical - the Lib Dems. But we have an electoral system that will never allow them to get in. They have been 15-25% of the vote for decades, but never got the point where they could influence, let alone control, policy because of the First Past The Post electoral system. Even if they are not the solution, a new Clean Party would have exactly the same hurdle to jump.
Not "just like everybody else". Yahoo and others were happy to censor their search results silently, while Google insisted that they be able to display the fact that they had been censored. In my opinion, this was the least bad option. If they had meekly followed Yahoo, the Chinese people would have no idea what was being censored and how often. If they had refused to censor, China would simply have thrown them out and walled them off, and Chinese searchers would have been limited to silently censored searches. Any change to China must come from inside China, from the Chinese people. But what they don't know they cannot change; Google's solution at least told them when something was being hidden from them, so they can ask if they want a government that does that. If Google pulls out of China, it will revert to the state that the Chinese will not even know what is being hidden from them.
I don't think what you want to do is possible, because I don't think modern drives actually write the 1s and 0s in the way that earlier ones did. They use Viterbi coding, which means that the exact change to the magnetic field to encode a 1 or 0 depends on what the preceding pattern of 1s and 0s is. They literally can only write sectors at a time.
Then again, what is meant by a sector has changed with time with different servo technologies. With the embedded servos in current drives, you would need to know a lot about the particular geometry of the particular drive you are using.
And to do any of this, you would have to bypass the controller completely - which, I am pretty certain, cannot be done without serious hardware modifications
Then maybe you should be offering your services to all these these companies with failing software. If you can do such testing, so can the creators of the software. Yes, it needs a test team who are not the original designers - but so, frankly, does any software. The designer can never see the faults in their own baby. This result suggests that the companies creating the software are just assuming "it will be alright on the night" - which is a recipe for disaster in an environment of positive attacks. It is pretty bad when your only enemy is Murphy's law: when you have an intelligent enemy, code-and-hope does not fly.
Why? Surely, if I was going to send my software for external security testing, I would first test it in house, both more cheaply and less humiliatingly. This is not 60% of all software failing, this is 60% of all software sent for test failing. This suggests that in-house testing is remarkably badly thought through.The sorts of the sorts of tests that Veracode are going to do should be predictable - shouldn't you run them yourself before submitting the software?
According to Kate Adie, the British Army, at least, had a magnificent porn collection in the Gulf War. They just took it with them and didn't need the internet to download it. She was commenting on The Sun newspaper trying to get kudos for sending cheesy girlie pics to "our boys" when the said boys had stacks of the heavy stuff.
But that is because you explicitly pass your rights to your employer in return for your salary. This is usually written into your contract. Likewise, Linus was paid by Transmeta, and the tuba player is paid by the orchestra, who recoup their costs from the tickets. If you write software in your spare time that is nothing to do with your day job, the rights are yours.
If the sculptor was working as an employee of the body that raised the statue, the copyright is theirs (not public). If he was, as is most likely, working as a free-lance, tehe (unless contracts said otherwise) the copyright is his.
Firstly, the 100 million "lines of code" is in "70 to 100 microprocessors". I would bet that is not lines of C source, but at least assembler instructions, and probably bytes of software. Someone has summed all the roms in all the microprocessors to get this value. Several of those microprocessors are likely to be identical (e.g. the ABS on each wheel). And, given that problems rise geometrically, the software on any one processor is likely to be a lot less frightening than the total.
Also, you need to distinguish between development releases and debug releases. Development releases are much more risky, because people are trying to add new features. If something is a pure debug release, then it is pretty likely to be safe to upgraded it.
"Bricking" something is actually a function mostly of consumer devices. The device is not actually destroyed, it is just that the cost of repairing it is greater than the cost of a new device - a small number of hundreds of dollars. And usually, behind the bricking there is usually some form of Rights Management, whether it is the RIAA keeping you off music or Apple keeping you from jailbreaking phones. This means that programming can only be done bu software in the device, and if you overwrite that software, you are lost, An in-car component is unlikely to have these features; it is much more likely that a car is reprogrammed by going straight to the programmable device by a hardware port such as JTAG or I2C
I would not judge car software by consumer software. While not as safety-conscious as the aerospace people, they are in a different league from consumer devices. Hence the fact that car electronics lag consumer electronics by about five years at new model introduction, and far more as the model ages.
The first thing Google should do is block uploading of videos to Google Video (and YouTube, which they own) from Italian IP addresses with an annoying great splash screen explaining that, in compliance with Italian Law, they are no longer able to accept them. Still allow viewing of other people's videos, of course, so Italians still use Google Video. of course, it will involve some revenue loss as Italians move to other places to store their pictures. This should get a significant number of pissed-off Italian users asking their politicians WIHIH?
And, if they can, hide any clips they already have up loaded from such addresses. Nothing like people having they prized videos suddenly become inaccessible to make them ask for explanations.
Furthermore, every newspaper picture should seek the consent of every person in every photo they print. And at every sporting event, they should get the consent of every spectator who might get into shot? OK, in paid-for venues, you could put a condition on the tickets that you give your consent to being shown. But sporting events in public venues, political rallies, any crowd scenes... It is just impossible.
It baffles me that anybody thinks it worth the time to write a blog like this. OK, you don't like xkcd? Don't visit it. There is a whole web out there, people. There are probably more webcomics alone than any one person can read. Move along, leave this one behind. For me, it is funny enough often enough to justify the energy spent in clicking on the link to it. Which is not the highest of praise.
I would say that he is dong his best to rectify exactly the problem you raise. He seems to be well aware that simple knowledge of the language syntax is not enough to qualify to use the language, and is asking how he can rectify his lack of experience. I give kudos to him for being as aware of the problem as this, and more kudos for seeking out a place like/. to learn and to ask the question he has done.
I would say that I am more self taught than academically taught - nearly forty years ago. And I have shipped a lot of systems used by a lot of users by choice, so my code cannot be that shitty.
Asimov's degree and Phd was fully earned. He then worked for a short while as an Associate Professor. When he left because writing was paying more, it was agreed that he could keep an honorary unpaid professorship. He was then awarded plenty of honorary doctorates for his writing,
I think you are comparing different technologies. The touchscreens of a few years ago were, I agree, total rubbish. But they were basically single point touchscreens with very crude technology. The multitouch screens, as used on the iPhone and iPad, are qualitatively in a different league. Instead of simple hardware recognisers, they use sophisticated software to work out what you are doing. If you haven't tried one of those, you have not seen what such screens can do.
In the UK, the electric motor is regulated to 15mph. Any faster and it is regarded as a motor bike, needing driving license, insurance, and crash helmet. The motor might take it faster, but the control system will not request it.
The greed factor is handled by competition. What they must not do is simply privatise NASA to one supplier. You need a multiplicity of suppliers - preferably more than two. The airline industry runs high-tech safely (albeit not profitably) because many suppliers compete with relatively low barriers to entry. The large aircraft industry is a duopoly, but sufficiently high profile that they have noe managed to set up the implicit message channels that allow shared gouging. The problem will come if Nasa gives a twenty year contract to a single company.
Suppose that a commercial launch supplier decided that the most economical way to launch was to use the Ariane launch site in French Guyana? Would it be unpatriotic to have American astronauts launched (on American rockets, with mixed launch controllers as might be appropriate) from a foreign country?
Furthermore, if we have a the technology to build gadget which can withstand the pressures and temperatures needed to gather these diamonds, we probably have the technology to duplicate the conditions much more cheaply in a lab on earth. Home-brewed diamonds would be much cheaper than any imported from the outer planets.
Which implies that you have to write bug-free code. If you write generic enough code with bugs in it, how is the maintainer to know which incomprehensible operation on which inscrutable object is wrong?
People tend to document the original class better than random uses of the class. With static type checking, you can get back to the declaration and at least find what the class had in it when it was created, which will give you some idea of its use.
This was not helped by the fact that the implementors overused dictionaries. These inscrutable objects contain dictionaries of values indexed by abbreviations opaque to those not in the secret order.
I went Fortran -> (Assembler)->Algol->Coral->(Assembler)->Pascal->(Assembler)->(Assembler)->C++->(Assembler)->Java->Python
Each Assembler is a different machine.
Coming from that trail, I really miss typing in Python, which I otherwise like. I would love an optional typing scheme: define an interface, and check that the variables passed locally conform to that interface.
My problem with this is that Python does not require you to specify what type is expected.So, when maintaining code, you have no idea what this strange thing being passed in, other than it seems to support methods foo() and bar(). I keep having to read code, written admittedly by hardware engineers, where some strange object is passed through many layers of call. It may be documented somewhere, but the source code leaves me no way of finding it. It makes for unmaintainable code unless you are meticulous in your embedded documentation. Even the best of us fail occasionally in this department, and IME Python encourages this tendency.
So you think you own the code in the engine control system of your car, a delivered item? Or the code in your mobile phone, equally delivered? Or, for that matter, Microsoft Windows, delivered on CD?
Entirely agreed. Government should be the machinery we have set up to implement the necessary interchanges in society - a means to an end. the trouble is that it all to often becomes an end in its own right.
Eh? Where did you get the Libertarians from? I was talking about the Liberal Democrats, or a hypothetical newly founded Clean party if you don't think the Lib Dems are clean enough: they have been involved in the politics which has led us to this mucky hole, even if without power. I strongly reject the basic Libertarian principle: I believe that there is such a thing as Society, we are all part of it, and we owe something (though exactly what is more debatable) to it, just as we can expect to take from it in case of need.
But the Brits really need someone to set up a third party that can get their political and law-enforcement houses in order.
We have a third party who might (or of course, might not) prove more ethical - the Lib Dems. But we have an electoral system that will never allow them to get in. They have been 15-25% of the vote for decades, but never got the point where they could influence, let alone control, policy because of the First Past The Post electoral system. Even if they are not the solution, a new Clean Party would have exactly the same hurdle to jump.
Not "just like everybody else". Yahoo and others were happy to censor their search results silently, while Google insisted that they be able to display the fact that they had been censored. In my opinion, this was the least bad option. If they had meekly followed Yahoo, the Chinese people would have no idea what was being censored and how often. If they had refused to censor, China would simply have thrown them out and walled them off, and Chinese searchers would have been limited to silently censored searches. Any change to China must come from inside China, from the Chinese people. But what they don't know they cannot change; Google's solution at least told them when something was being hidden from them, so they can ask if they want a government that does that. If Google pulls out of China, it will revert to the state that the Chinese will not even know what is being hidden from them.
I don't think what you want to do is possible, because I don't think modern drives actually write the 1s and 0s in the way that earlier ones did. They use Viterbi coding, which means that the exact change to the magnetic field to encode a 1 or 0 depends on what the preceding pattern of 1s and 0s is. They literally can only write sectors at a time.
Then again, what is meant by a sector has changed with time with different servo technologies. With the embedded servos in current drives, you would need to know a lot about the particular geometry of the particular drive you are using.
And to do any of this, you would have to bypass the controller completely - which, I am pretty certain, cannot be done without serious hardware modifications
Then maybe you should be offering your services to all these these companies with failing software. If you can do such testing, so can the creators of the software. Yes, it needs a test team who are not the original designers - but so, frankly, does any software. The designer can never see the faults in their own baby. This result suggests that the companies creating the software are just assuming "it will be alright on the night" - which is a recipe for disaster in an environment of positive attacks. It is pretty bad when your only enemy is Murphy's law: when you have an intelligent enemy, code-and-hope does not fly.
Why? Surely, if I was going to send my software for external security testing, I would first test it in house, both more cheaply and less humiliatingly. This is not 60% of all software failing, this is 60% of all software sent for test failing. This suggests that in-house testing is remarkably badly thought through.The sorts of the sorts of tests that Veracode are going to do should be predictable - shouldn't you run them yourself before submitting the software?
According to Kate Adie, the British Army, at least, had a magnificent porn collection in the Gulf War. They just took it with them and didn't need the internet to download it. She was commenting on The Sun newspaper trying to get kudos for sending cheesy girlie pics to "our boys" when the said boys had stacks of the heavy stuff.
But that is because you explicitly pass your rights to your employer in return for your salary. This is usually written into your contract. Likewise, Linus was paid by Transmeta, and the tuba player is paid by the orchestra, who recoup their costs from the tickets. If you write software in your spare time that is nothing to do with your day job, the rights are yours.
If the sculptor was working as an employee of the body that raised the statue, the copyright is theirs (not public). If he was, as is most likely, working as a free-lance, tehe (unless contracts said otherwise) the copyright is his.
Firstly, the 100 million "lines of code" is in "70 to 100 microprocessors". I would bet that is not lines of C source, but at least assembler instructions, and probably bytes of software. Someone has summed all the roms in all the microprocessors to get this value. Several of those microprocessors are likely to be identical (e.g. the ABS on each wheel). And, given that problems rise geometrically, the software on any one processor is likely to be a lot less frightening than the total.
Also, you need to distinguish between development releases and debug releases. Development releases are much more risky, because people are trying to add new features. If something is a pure debug release, then it is pretty likely to be safe to upgraded it.
"Bricking" something is actually a function mostly of consumer devices. The device is not actually destroyed, it is just that the cost of repairing it is greater than the cost of a new device - a small number of hundreds of dollars. And usually, behind the bricking there is usually some form of Rights Management, whether it is the RIAA keeping you off music or Apple keeping you from jailbreaking phones. This means that programming can only be done bu software in the device, and if you overwrite that software, you are lost, An in-car component is unlikely to have these features; it is much more likely that a car is reprogrammed by going straight to the programmable device by a hardware port
such as JTAG or I2C
I would not judge car software by consumer software. While not as safety-conscious as the aerospace people, they are in a different league from consumer devices. Hence the fact that car electronics lag consumer electronics by about five years at new model introduction, and far more as the model ages.
The first thing Google should do is block uploading of videos to Google Video (and YouTube, which they own) from Italian IP addresses with an annoying great splash screen explaining that, in compliance with Italian Law, they are no longer able to accept them. Still allow viewing of other people's videos, of course, so Italians still use Google Video. of course, it will involve some revenue loss as Italians move to other places to store their pictures. This should get a significant number of pissed-off Italian users asking their politicians WIHIH?
And, if they can, hide any clips they already have up loaded from such addresses. Nothing like people having they prized videos suddenly become inaccessible to make them ask for explanations.
Furthermore, every newspaper picture should seek the consent of every person in every photo they print. And at every sporting event, they should get the consent of every spectator who might get into shot? OK, in paid-for venues, you could put a condition on the tickets that you give your consent to being shown. But sporting events in public venues, political rallies, any crowd scenes... It is just impossible.
It baffles me that anybody thinks it worth the time to write a blog like this. OK, you don't like xkcd? Don't visit it. There is a whole web out there, people. There are probably more webcomics alone than any one person can read. Move along, leave this one behind. For me, it is funny enough often enough to justify the energy spent in clicking on the link to it. Which is not the highest of praise.
I would say that he is dong his best to rectify exactly the problem you raise. He seems to be well aware that simple knowledge of the language syntax is not enough to qualify to use the language, and is asking how he can rectify his lack of experience. I give kudos to him for being as aware of the problem as this, and more kudos for seeking out a place like /. to learn and to ask the question he has done.
I would say that I am more self taught than academically taught - nearly forty years ago. And I have shipped a lot of systems used by a lot of users by choice, so my code cannot be that shitty.
Cirencester is also pronounces by some Sisister or even Sister
Asimov's degree and Phd was fully earned. He then worked for a short while as an Associate Professor. When he left because writing was paying more, it was agreed that he could keep an honorary unpaid professorship. He was then awarded plenty of honorary doctorates for his writing,
I think you are comparing different technologies. The touchscreens of a few years ago were, I agree, total rubbish. But they were basically single point touchscreens with very crude technology. The multitouch screens, as used on the iPhone and iPad, are qualitatively in a different league. Instead of simple hardware recognisers, they use sophisticated software to work out what you are doing. If you haven't tried one of those, you have not seen what such screens can do.
In the UK, the electric motor is regulated to 15mph. Any faster and it is regarded as a motor bike, needing driving license, insurance, and crash helmet. The motor might take it faster, but the control system will not request it.
The greed factor is handled by competition. What they must not do is simply privatise NASA to one supplier. You need a multiplicity of suppliers - preferably more than two. The airline industry runs high-tech safely (albeit not profitably) because many suppliers compete with relatively low barriers to entry. The large aircraft industry is a duopoly, but sufficiently high profile that they have noe managed to set up the implicit message channels that allow shared gouging. The problem will come if Nasa gives a twenty year contract to a single company.
Suppose that a commercial launch supplier decided that the most economical way to launch was to use the Ariane launch site in French Guyana? Would it be unpatriotic to have American astronauts launched (on American rockets, with mixed launch controllers as might be appropriate) from a foreign country?
Furthermore, if we have a the technology to build gadget which can withstand the pressures and temperatures needed to gather these diamonds, we probably have the technology to duplicate the conditions much more cheaply in a lab on earth. Home-brewed diamonds would be much cheaper than any imported from the outer planets.