Agile works best when it's both easy and cheap to build, test, and deploy changes to an existing product. If your testing processes are slow and painful, or if your finished product is a very well defined embedded unit, like a toaster, Agile becomes only one of the many approaches you might choose.
For example, if you're building a pacemaker or an airplane flight control system, there's an awful lot of engineering and design that has to go in up front. It all has to work together and be perfect the first time, because if you get anything wrong, you've got dead bodies on your hands. Agile may not be your best choice here.
If you're burning a CD-ROM release of software, you better be putting out a disk you can live with. What goes in the box needs to have a reasonable chance of working well at every client's site. If you have an automatic online updater, it's somewhat less important, but still, you don't want to ship a bad version.
But if you're building an iPhone app, you can put out a crappy 1.0 version just to see if people will fall for your advertising gimmicks and download it. Next week you can push a version 1.1 out to add a few features and fix a few bugs, version 1.2 can follow a couple weeks later, and so on. Most iPhone users are conditioned to clicking the "update all" button every day or two, and many people are tolerant of feature-poor apps. Same with web sites. You can release a new web site to the world four times a day, if you want. The trick is that it costs you almost nothing to push out a new version of software.
Even when you can't deliver to all your end users quickly or cheaply, you can almost always use an Agile or iterative methodology to evolve the product with your clients and beta testers. The ideas for a car start out as rough designs that are tested and iterated until a working prototype exists.
If your problem is with development and testing, though, then your options are limited. If you can't start by running automated unit tests and automated system tests of your software, Agile is just one more way to throw your money away quickly.
That sounds too much like 'pay to play', and is a bit corrupt for my tastes. Google holds the cards, not the politician. They could build their multimillion dollar data center somewhere else, and allow the good Senator to exist without the benefits that the increase to his tax and voter base would bring.
Donating to a politician of any stripe is guaranteed to cheese off 49.9% of the people.
They'd be better off acting honestly than entering politics. If OK won't give them what they need, move next door to TX or somewhere they'll get the concessions they seek.
Jumping in bed with a politician can only give you the venereal diseases they have - it can't cure any problems you started with.
If Manning only released relevant information of wrong doing, he might get some sympathy.
He actually has a lot of sympathy from a lot of people. I'm not exactly pleased with what he did, especially the betrayal of trust, and so I very much agree with his prosecution.
But I'm also interested in history, and the documents are an interesting look at our country from a perspective we rarely get to see. When you line up the State Department negotiations with the info that made the nightly news, you can see a lot of things more clearly.
This isn't that different than the Venona decrypts revealing the nature and extent of Soviet espionage activity in the US during the post-war era, corroborating the information that was made publicly available at that time (especially when crossed with information now available from the KGB archives.) More information is always good, even though it may be embarrassing to the parties involved.
It's much less common than a mag stripe reader picking up a piece of dirt that scratches the hell out of everybody's cards. Then the reader has to be fixed and you get to replace every card in the system.
The memo specifically called out Office365 and Azure, which is the foundation of their plans to extract an annual tithe from all the copies of Office in the world.
They've been seeing this day come for over a decade, and it's been their number one concern. How do they keep selling something that isn't improving as much as its price tag might suggest? Office 2010 had only one real competitor, Office 2007, which in turn had only Office 2003 to beat. Since Microsoft has turned the corner on code quality, their latest products are so well written that the users have stopped clamoring for a not-broken version. They aren't putting out an Office 2013 because even their thickest users no longer see any value in upgrading.
The thing Microsoft believes users really want these days is multiple-device integration and someone else to manage their systems. Users want their documents at home, at school, on the road, at the office, and on their phone (specifically on their iPhones and Androids, screw you Windows phone.) And they don't want to back up their stuff any more, they'll pay someone else to back up their stuff. This move lets them give away Office for free, because they get to collect the rent on your files forever.
Oh, and did we tell you what happens if you stop paying? Nahh...
You're missing the bigger picture. Typing error rates only matter on actual letter-at-a-time typewriters (regardless of any correction technology.) Once word processors arrived, though, the error rate ceased to have any meaning. If you can maintain 80 WPM while making 10 errors that you went back and corrected, you are twice as productive as someone who can type 40 WPM with no errors.
Typing teachers harped on error rates long after the point where they made sense. We have to remember they were "typing" teachers, and they were just passing on the way they learned.
Except it turned out not to be the case when the Soviets were bugging the U.S. Embassy's typewriters. CBS News had learned about the original typewriter bugging from a leaker, and in their reporting sought out an expert to explain how the bugs worked. The expert guessed that it was an audio bug. But this technique was refuted in the NSA paper "Learning from the Enemy", on page 18:
"In an article entitled "Tapping the Keys," a bugging expert offered the following explanation of the Soviet bug:
The Soviets must have taken advantage of the way the Selectric types. A metal ball covered with characters spins so that the appropriate character strikes the paper and then spins back to its starting point. The time it takes to accomplish the rotation to each letter is different. A lowtech listening device planted in the room could transmit the sounds of a typing Selectric to a computer. The computer could then easily measure the time intervals between each key stroke and the character being put on the paper, and thus determine which character had been tapped.
[ ], an engineer in the COMSEC organization, who was involved in reverse engineering the GUNMAN bug, explained that the press had a good idea, but it was inaccurate: "IBM Selectric typewriters used a spinning ball to get the right character on the paper. The bug was not based on sound or timing." [ ] further elaborated: "The Soviets were very good with metal. Housing the bug in a metal bar was ingenious. The bar was difficult to open and it really concealed the bug from inspection." [ ], an engineer from R9 who also worked on this project, agreed:
To the naked eye, the bar looked like a single unit. You could not see that it could be opened. The use of low power and short transmission bursts also made it difficult to detect this bug. The bug contained integrated circuits that were very advanced for that time period. The implant was really very sophisticated."
Elsewhere in the paper, the NSA explains the bug was hidden in a metal bar, and magnetically detected the ball moving mechanism.
In an ironic twist, I present this paragraph from page 23 of the report:
"Eight months after the GUNMAN discovery, the story broke in the press. By highlighting the damage, press coverage helped to focus the attention of the U.S. government on improving the security of its information."
Perhaps Ed Snowden or Bradley Manning can present this in their trials.
Surprisingly, yes. There's one in the building next to ours, and we often browse the shop during lunch. They have Seeed Studios Seeeduinos, Arduinos, and various shields including a GSM shield. A friend bought one which he wired to remotely operate an outlet via SMS.
In a related story (also quite old), researchers were able to pick up enough leaked RF to read a USB keyboard from an adjacent room. Again, you have to get physically close, but not necessarily into the exact room.
The attacker would have to physically implant the bug in the machine, which would take training. Once it's in, however, the bug can isn't limited to wired networks or short range technologies like Bluetooth or WiFi. It could use GSM or SMS with nothing more than parts bought at a Radio Shack.
By simple, I mean it's obvious that seven million lines of code doesn't translate into seven million business rules. Yes, they likely have a couple thousand weird rules and conditions, and "simple" is a gross understatement. But it's not like it's a billion dollars worth of complexity; each rule certainly won't take half a million dollars to understand, explain, and implement. The rest of the problem is keeping it all in a big database, and letting the right people access the right data, and that's something Oracle does very well.
contract out that stuff to someone who is good at it... like ADP.
They did! That billion dollars wasn't to rewrite it -- that was just to buy and integrate a PeopleSoft package! Supposedly, PeopleSoft is good at that kind of thing, since that's what they sell to other big companies too stupid to write and maintain a simple payroll system.
They don't need to try integrating to someone else's package again, unless they want to shovel another billion dollars into some other undeserving contractor's hands.
that's $6,500 per soldier, per year, in pure bureaucracy.
When you contrast that number to the old $900 toilet seats and $450 hammers, $6,500 for corrupt bureaucracies to maintain their computer systems almost sounds like a bargain.
The claim that the documentation "vanished" seems bogus. Far more likely in my opinion that it never existed in the first place, or that at some point they fired everyone, and thus broke the chain of custody.
I think the truth is probably much simpler than that. Someone dropped the card deck containing the documentation, and they never managed to sort it back into the right order.
Check out https://panopticlick.eff.org/ and all the things that JavaScript can potentially reveal to the sites that you trust to execute JS. My favorite is that the list of fonts you have installed can uniquely identify you.
You also missed the obvious settings regarding cookies, your browser cache, referrer tags, and user agents. I assume that was just oversight.
Yes, I know NoScript will block all JavaScript if you're ruthless, but that means never letting your desire for convenience, functionality, or access to a site allow you to bypass NoScript, ever. And make sure you're blocking Flash and Java as well.
That's why a series of graduated separation processes has a lot of appeal. Heat it to 90C and only the "type 1" materials are released. Heat it to 95C and the "type 2" materials are separated, etc.
It doesn't have to be heat actuated, either. Heat is nice and low tech. Anybody can slowly heat a product and wield a crowbar, but it could certainly be made to work with a more complicated recycling machine.
As I also suggested above, connectors could be held shut with a series of embedded fusible wires hooked up in loops controlling the release of related recyclable components. Energize loop 1 and the first set of wires melts some key latches holding the case shut. Energize loop 2 and the copper wiring harnesses fall out. Energize loop 3 and the circuit boards pop out. Loop 4 holds all the ABS plastics. The next loop releases the polycarbonates, and so on.
This could be as simple as embedded wires leading to a series of externally accessible "recycling contact points" labeled 1, 2, 3. Or maybe they are all internal and exposed when you crack open the case. A standardized 2D barcode could contain the info needed on contact sequencing and electrical current requirements, and automatically guide the recycling equipment through the separation process.
The idea is to make recycling complex assemblies cheap and reliable, while keeping the products durable and affordable. It's not impossible.
Agile works best when it's both easy and cheap to build, test, and deploy changes to an existing product. If your testing processes are slow and painful, or if your finished product is a very well defined embedded unit, like a toaster, Agile becomes only one of the many approaches you might choose.
For example, if you're building a pacemaker or an airplane flight control system, there's an awful lot of engineering and design that has to go in up front. It all has to work together and be perfect the first time, because if you get anything wrong, you've got dead bodies on your hands. Agile may not be your best choice here.
If you're burning a CD-ROM release of software, you better be putting out a disk you can live with. What goes in the box needs to have a reasonable chance of working well at every client's site. If you have an automatic online updater, it's somewhat less important, but still, you don't want to ship a bad version.
But if you're building an iPhone app, you can put out a crappy 1.0 version just to see if people will fall for your advertising gimmicks and download it. Next week you can push a version 1.1 out to add a few features and fix a few bugs, version 1.2 can follow a couple weeks later, and so on. Most iPhone users are conditioned to clicking the "update all" button every day or two, and many people are tolerant of feature-poor apps. Same with web sites. You can release a new web site to the world four times a day, if you want. The trick is that it costs you almost nothing to push out a new version of software.
Even when you can't deliver to all your end users quickly or cheaply, you can almost always use an Agile or iterative methodology to evolve the product with your clients and beta testers. The ideas for a car start out as rough designs that are tested and iterated until a working prototype exists.
If your problem is with development and testing, though, then your options are limited. If you can't start by running automated unit tests and automated system tests of your software, Agile is just one more way to throw your money away quickly.
That sounds too much like 'pay to play', and is a bit corrupt for my tastes. Google holds the cards, not the politician. They could build their multimillion dollar data center somewhere else, and allow the good Senator to exist without the benefits that the increase to his tax and voter base would bring.
Donating to a politician of any stripe is guaranteed to cheese off 49.9% of the people.
They'd be better off acting honestly than entering politics. If OK won't give them what they need, move next door to TX or somewhere they'll get the concessions they seek.
Jumping in bed with a politician can only give you the venereal diseases they have - it can't cure any problems you started with.
If Manning only released relevant information of wrong doing, he might get some sympathy.
He actually has a lot of sympathy from a lot of people. I'm not exactly pleased with what he did, especially the betrayal of trust, and so I very much agree with his prosecution.
But I'm also interested in history, and the documents are an interesting look at our country from a perspective we rarely get to see. When you line up the State Department negotiations with the info that made the nightly news, you can see a lot of things more clearly.
This isn't that different than the Venona decrypts revealing the nature and extent of Soviet espionage activity in the US during the post-war era, corroborating the information that was made publicly available at that time (especially when crossed with information now available from the KGB archives.) More information is always good, even though it may be embarrassing to the parties involved.
I used to do both those things with my schoolwork. But I never had a 7 million card deck, either.
It's much less common than a mag stripe reader picking up a piece of dirt that scratches the hell out of everybody's cards. Then the reader has to be fixed and you get to replace every card in the system.
The Nozzle will adapt.
Please remain still while The Nozzle is scanning.
The Nozzle is continuing to scan.
Thank you.
In other words, it's about 1.6 Kessel Runs? But how fast is that?
The memo specifically called out Office365 and Azure, which is the foundation of their plans to extract an annual tithe from all the copies of Office in the world.
They've been seeing this day come for over a decade, and it's been their number one concern. How do they keep selling something that isn't improving as much as its price tag might suggest? Office 2010 had only one real competitor, Office 2007, which in turn had only Office 2003 to beat. Since Microsoft has turned the corner on code quality, their latest products are so well written that the users have stopped clamoring for a not-broken version. They aren't putting out an Office 2013 because even their thickest users no longer see any value in upgrading.
The thing Microsoft believes users really want these days is multiple-device integration and someone else to manage their systems. Users want their documents at home, at school, on the road, at the office, and on their phone (specifically on their iPhones and Androids, screw you Windows phone.) And they don't want to back up their stuff any more, they'll pay someone else to back up their stuff. This move lets them give away Office for free, because they get to collect the rent on your files forever.
Oh, and did we tell you what happens if you stop paying? Nahh...
You're missing the bigger picture. Typing error rates only matter on actual letter-at-a-time typewriters (regardless of any correction technology.) Once word processors arrived, though, the error rate ceased to have any meaning. If you can maintain 80 WPM while making 10 errors that you went back and corrected, you are twice as productive as someone who can type 40 WPM with no errors.
Typing teachers harped on error rates long after the point where they made sense. We have to remember they were "typing" teachers, and they were just passing on the way they learned.
Except it turned out not to be the case when the Soviets were bugging the U.S. Embassy's typewriters. CBS News had learned about the original typewriter bugging from a leaker, and in their reporting sought out an expert to explain how the bugs worked. The expert guessed that it was an audio bug. But this technique was refuted in the NSA paper "Learning from the Enemy", on page 18:
"In an article entitled "Tapping the Keys," a bugging expert offered the following explanation of the Soviet bug:
The Soviets must have taken advantage of the way the Selectric types. A metal ball covered with characters spins so that the appropriate character strikes the paper and then spins back to its starting point. The time it takes to accomplish the rotation to each letter is different. A lowtech listening device planted in the room could transmit the sounds of a typing Selectric to a computer. The computer could then easily measure the time intervals between each key stroke and the character being put on the paper, and thus determine which character had been tapped.
[ ], an engineer in the COMSEC organization, who was involved in reverse engineering the GUNMAN bug, explained that the press had a good idea, but it was inaccurate: "IBM Selectric typewriters used a spinning ball to get the right character on the paper. The bug was not based on sound or timing." [ ] further elaborated: "The Soviets were very good with metal. Housing the bug in a metal bar was ingenious. The bar was difficult to open and it really concealed the bug from inspection." [ ], an engineer from R9 who also worked on this project, agreed:
To the naked eye, the bar looked like a single unit. You could not see that it could be opened. The use of low power and short transmission bursts also made it difficult to detect this bug. The bug contained integrated circuits that were very advanced for that time period. The implant was really very sophisticated."
Elsewhere in the paper, the NSA explains the bug was hidden in a metal bar, and magnetically detected the ball moving mechanism.
Thanks, AC, for the link. Very interesting story!
In an ironic twist, I present this paragraph from page 23 of the report:
"Eight months after the GUNMAN discovery, the story broke in the press. By highlighting the damage, press coverage helped to focus the attention of the U.S. government on improving the security of its information."
Perhaps Ed Snowden or Bradley Manning can present this in their trials.
Surprisingly, yes. There's one in the building next to ours, and we often browse the shop during lunch. They have Seeed Studios Seeeduinos, Arduinos, and various shields including a GSM shield. A friend bought one which he wired to remotely operate an outlet via SMS.
When you go that old school, you have to be sure to shred your carbon paper, too.
I'm not sure if my son has ever seen a sheet of carbon paper.
In a related story (also quite old), researchers were able to pick up enough leaked RF to read a USB keyboard from an adjacent room. Again, you have to get physically close, but not necessarily into the exact room.
The attacker would have to physically implant the bug in the machine, which would take training. Once it's in, however, the bug can isn't limited to wired networks or short range technologies like Bluetooth or WiFi. It could use GSM or SMS with nothing more than parts bought at a Radio Shack.
By simple, I mean it's obvious that seven million lines of code doesn't translate into seven million business rules. Yes, they likely have a couple thousand weird rules and conditions, and "simple" is a gross understatement. But it's not like it's a billion dollars worth of complexity; each rule certainly won't take half a million dollars to understand, explain, and implement. The rest of the problem is keeping it all in a big database, and letting the right people access the right data, and that's something Oracle does very well.
contract out that stuff to someone who is good at it... like ADP.
They did! That billion dollars wasn't to rewrite it -- that was just to buy and integrate a PeopleSoft package! Supposedly, PeopleSoft is good at that kind of thing, since that's what they sell to other big companies too stupid to write and maintain a simple payroll system.
They don't need to try integrating to someone else's package again, unless they want to shovel another billion dollars into some other undeserving contractor's hands.
that's $6,500 per soldier, per year, in pure bureaucracy.
When you contrast that number to the old $900 toilet seats and $450 hammers, $6,500 for corrupt bureaucracies to maintain their computer systems almost sounds like a bargain.
The claim that the documentation "vanished" seems bogus. Far more likely in my opinion that it never existed in the first place, or that at some point they fired everyone, and thus broke the chain of custody.
I think the truth is probably much simpler than that. Someone dropped the card deck containing the documentation, and they never managed to sort it back into the right order.
Microsoft has long provided CRT macros for mapping memory allocations and finding leaks. Turning on _CRTDBG_MAP_ALLOC does exactly what you describe. http://msdn.microsoft.com/en-us/library/10t349zs.aspx
Check out https://panopticlick.eff.org/ and all the things that JavaScript can potentially reveal to the sites that you trust to execute JS. My favorite is that the list of fonts you have installed can uniquely identify you.
You also missed the obvious settings regarding cookies, your browser cache, referrer tags, and user agents. I assume that was just oversight.
Yes, I know NoScript will block all JavaScript if you're ruthless, but that means never letting your desire for convenience, functionality, or access to a site allow you to bypass NoScript, ever. And make sure you're blocking Flash and Java as well.
I know! We'll call this mythical virtual machine something catchy, like "Flash".
Knock-knock.
Who's there?
UDP packet.
UDP packet who?
That's why a series of graduated separation processes has a lot of appeal. Heat it to 90C and only the "type 1" materials are released. Heat it to 95C and the "type 2" materials are separated, etc.
It doesn't have to be heat actuated, either. Heat is nice and low tech. Anybody can slowly heat a product and wield a crowbar, but it could certainly be made to work with a more complicated recycling machine.
As I also suggested above, connectors could be held shut with a series of embedded fusible wires hooked up in loops controlling the release of related recyclable components. Energize loop 1 and the first set of wires melts some key latches holding the case shut. Energize loop 2 and the copper wiring harnesses fall out. Energize loop 3 and the circuit boards pop out. Loop 4 holds all the ABS plastics. The next loop releases the polycarbonates, and so on.
This could be as simple as embedded wires leading to a series of externally accessible "recycling contact points" labeled 1, 2, 3. Or maybe they are all internal and exposed when you crack open the case. A standardized 2D barcode could contain the info needed on contact sequencing and electrical current requirements, and automatically guide the recycling equipment through the separation process.
The idea is to make recycling complex assemblies cheap and reliable, while keeping the products durable and affordable. It's not impossible.