It's also important to note that Apple has a sort of advantage in these things in that they basically make the whole system, start to finish. The A5 is designed specifically for running iOS devices, and iOS is designed to run on the A5. Apple has a pretty good level of control over both the hardware and software. Meanwhile, companies like Samsung and HTC are using other people's operating systems and other people's chips, and then cobbling them together in a hodge-podge solution, and then putting more customizations on top of that for the sake of branding and competition.
Because of this, it's possible that Apple's competition could have a chip that's a little more powerful and can push a few more calculations per second, but that Apple's device would still perform better for real-world applications. It's not necessarily the case, but when you have the level of control that they do, you can really tweak and optimize the crap out of everything.
Except that its not that easy to write a paragraph of instructions in 'natural language' that unambiguously describes a task.
Not unambiguously, no. I could imagine, though, that a much improved Siri could parse some things well enough to make some guesses and try to parse it. It could still be something with limited capabilities (i.e. not intended to replace real programming), but still enable someone to create a simple script. Like, "I want to find all the files on my hard drive that include the word 'foo' in the file name, and upload a copy to my FTP site." I could imagine a computer parsing that and doing it automatically.
It might even make for a good learning tool-- tell the computer what to do in natural language, have it parsed and translated into a real scripting language, and review the results.
Yes, but the question was raised, why hasn't Apple created a similar product since?
To that, I'd offer that Automator and Xcode are arguably "similar products" in that they attempt to make scripting/development easier. However, if that's not sufficient, I'd ask: If such a product really would be wildly popular, why hasn't any 3rd party developers stepped up to create something similar?
My guess is that there's not as big of a market for this product as the article's author imagines.
(Plus, I hate languages like AppleScript that try to use 'natural language'... natural language wasn't designed for programming, so why try?)
I kind of hate it too. To me, it reminds me of old voice recognition systems. Old voice recognition systems got sold as "just talk to your computer, and give it commands!" But then the commands were very limited and sometimes awkward, and everything needed so much training to get right, and even then any little thing could throw it off.
Languages that try to mimic "natural language" similarly seem aimed at making things "easy" and "natural", but in reality they don't help at all. Instead of saying "put X in Y" they have you type out something dumb like, "Take X and put it in Y". It's longer but not really easier to read or write. But still, the syntax gets pretty specific, so you can't just type out a set of clear instructions and expect them to work. It's still a programming language that you need to learn; it's just a patronizing programming language.
Language is pretty hard for computers to understand. Siri (the voice-recognition program on the iPhone) gives me some hope for both of these things, though. It does voice recognition pretty well without training, but that's not the impressive thing. What's impressive is that it does a decent job of parsing natural language and responding somewhat decently. Maybe in a few years, we'll be at the point that you can write out a paragraph of instructions and have a computer parse it into a script that can be run. Until then, "natural language" programming languages fail to impress.
People tend to see conspiracies whenever something doesn't go the way they'd like. "Why didn't you do what I wanted you to do? It must be that you have a secret plan and you're out to get me!" In reality, I doubt that it was about Jobs wanting to make sure people can't do [whatever] with their computers, but because various people don't want to bother with it. In spite of the article's claim that there were "frequent calls to [revive Hypercard]" and a "more-or-less guaranteed and lively market", there probably wasn't enough actual interest to warrant development.
See here's the thing: there are lots of things aimed at allowing people to script/automate things. There's Applescript and Automator, and some of these sorts of "programs" can be made with Filemaker products. If you want to get deeper, you can get Xcode for free. It's not as though there are no tools available.
I think the real problem is that there's a lot of people who don't want to deal with the complications of making their own applications, even if it's as simple as Hypercard. Then there are people who do want to make their own applications and are willing to learn Xcode. There isn't a lot in between, and for those people, Automator and scripting serves well enough, and Apple probably thinks those are better solutions than Hypercard.
It's not completely meaningless, but you have to know how to read this kind of business-speak. He's saying, "We're either not planning on dropping x86 or we're not prepared to announce that we're dropping it. We do have hopes of moving into additional markets, including mobile, low-end, and scalable architectures, but we don't have any specific plans that we'd like to announce about that either."
"Inflection point" is sometimes used more broadly and metaphorically to mean something like, "a time of drastic change (or potential drastic change)." He's not using it in a technical sense.
Yeah, I suspect that we would do well to look at Linux distros as a model of competition. What's noteworthy to me is the way in which their competition can be fierce, spur lots of changes, and yet be cooperative at some level too.
It's a valid point, but he seems to be explicitly asking for something that will do a backup and wipe, automatically, unattended, one right after the other. Depending on the situation, that may not be the best idea.
Also, I would wonder what he wants to do with the machines next. Maybe instead of or in addition to a wipe, he should set it up to re-image the machine. That's certainly possible too.
I don't know the details and IANAL, but my understanding is that Sarbanes Oxley requires that publicly traded companies keep emails (maybe only some emails to some people) for several years.
The first question that pops into my mind is, what is determining this secure wipe procedure, and how secure does it really need to be? If you're looking to speed things up, you could wipe everything with zeros once instead of "several times". The difference in security is minimal.
Aside from that, there are open source solutions that will image a drive and others that will wipe the disk. It shouldn't be too hard to chain them together, though I don't know of any pre-built solution. I'm stating the obvious here, but if you do try to build your own, definitely be careful of 2 main things: make sure users can't boot into this procedure accidentally, and make sure that the procedure absolutely will not wipe the drive unless the backup was successful.
There may be truth to that, but in an oversimplified example:
If you're going to spend a $10 billion to build Project A, employing 100,000 people, and Project A could be built for $5 billion employing half as many people while using some automation, what do you do? You could still spend the full $10 billion and have everyone dig with shovels, or spend $5 billion and have people sitting around half the time doing nothing-- with roughly the same effect.
But then, why not build Project A for $5 billion and then *also* build Project B for $5 billion, and employ 50,000 people with each project. You spend the same amount of money, get the same number of jobs, but at the end of it, you complete both Project A and Project B.
Ultimately my point is this: there's plenty of work that legitimately needs to be done. If you want to give people jobs, find some of the work that legitimately needs to be done (and that it's arguably the government's job to do it) and fund it. If you can't find that work that needs to be done, I can give you a short list off the top of my head.
Even when I sit in meetings, you know what I do? I take notes. I transcribe it all into writing for later referral, and then when I'm done and I've typed it all out, I email it to the people in the meeting to make sure we're in agreement about what took place in the meeting and what we're going to do next.
I don't do that for fun. I do it because writing is an incredibly useful form of communication. When people ask me to do something specific, I sometimes even tell them to just send it to me in an email so I have it in writing.
The laws depend on the kind of company. I don't know what the rules are, but I believe publicly traded companies are required to have a retention of some number of years, government contractors have different requirements, and some other industries that are regulated might have different requirements.
I've worked with some financial companies in the past which are required by law to retain all IM conversations, too.
It's not that public jobs programs are bad, but they should aim to be efficient and to produce things that are needed. To my mind, the anecdote above is an example of waste, not because there was a jobs program, but because they made the jobs program inefficient. If they could have made the canal with half the men by using better machinery, they should have done that. If they wanted to employ the other half of the men, then they should have devised another useful project to employ them too.
There's always work to be done. No reason to be less efficient on purpose.
You know what costs jobs? Efficiency. Economic efficiency always costs jobs. Often, it's creating other jobs elsewhere, but maybe not. Maybe it just means that job doesn't need to be done anymore.
You can create jobs by paying people to dig ditches and then fill them back in. Or you can create jobs by hiring support people you don't need, building infrastructure that can be handled more efficiently elsewhere, or paying people to write software that you don't need because an open source alternative is already available. It's the same as digging useless ditches.
Do you really want to create jobs? Great. Hire people to do something useful that can't be handled more efficiently by open source software. Or hire them to improve open source software-- god knows there's work to be done.
Yes, obviously there is a happy medium and where that compromise lies should be evaluated for the individual situation. I've been very much a fan of the concept that "if it ain't broke, don't fix it". On the other hand, if a situation is so fragile that I literally can't touch the thing without fear of everything collapsing, then something is wrong. Like if you can't reboot a server without expecting that it should come back up, then I should fix the computer to make it more reliable. If I can't have a server be down for any amount of time, then I need to work to increase the redundancy. If a system is so custom-configured that I don't have any hope of rebuilding it if it dies, then I need to backup the configuration and work towards a more standard setup that a trained monkey could rebuild with proper documentation.
Solutions should be robust. At the same time, I don't think it makes sense to go tearing things apart all the time without reason.
It's also important to note that Apple has a sort of advantage in these things in that they basically make the whole system, start to finish. The A5 is designed specifically for running iOS devices, and iOS is designed to run on the A5. Apple has a pretty good level of control over both the hardware and software. Meanwhile, companies like Samsung and HTC are using other people's operating systems and other people's chips, and then cobbling them together in a hodge-podge solution, and then putting more customizations on top of that for the sake of branding and competition.
Because of this, it's possible that Apple's competition could have a chip that's a little more powerful and can push a few more calculations per second, but that Apple's device would still perform better for real-world applications. It's not necessarily the case, but when you have the level of control that they do, you can really tweak and optimize the crap out of everything.
Except that its not that easy to write a paragraph of instructions in 'natural language' that unambiguously describes a task.
Not unambiguously, no. I could imagine, though, that a much improved Siri could parse some things well enough to make some guesses and try to parse it. It could still be something with limited capabilities (i.e. not intended to replace real programming), but still enable someone to create a simple script. Like, "I want to find all the files on my hard drive that include the word 'foo' in the file name, and upload a copy to my FTP site." I could imagine a computer parsing that and doing it automatically.
It might even make for a good learning tool-- tell the computer what to do in natural language, have it parsed and translated into a real scripting language, and review the results.
Yes, but the question was raised, why hasn't Apple created a similar product since?
To that, I'd offer that Automator and Xcode are arguably "similar products" in that they attempt to make scripting/development easier. However, if that's not sufficient, I'd ask: If such a product really would be wildly popular, why hasn't any 3rd party developers stepped up to create something similar?
My guess is that there's not as big of a market for this product as the article's author imagines.
(Plus, I hate languages like AppleScript that try to use 'natural language'... natural language wasn't designed for programming, so why try?)
I kind of hate it too. To me, it reminds me of old voice recognition systems. Old voice recognition systems got sold as "just talk to your computer, and give it commands!" But then the commands were very limited and sometimes awkward, and everything needed so much training to get right, and even then any little thing could throw it off.
Languages that try to mimic "natural language" similarly seem aimed at making things "easy" and "natural", but in reality they don't help at all. Instead of saying "put X in Y" they have you type out something dumb like, "Take X and put it in Y". It's longer but not really easier to read or write. But still, the syntax gets pretty specific, so you can't just type out a set of clear instructions and expect them to work. It's still a programming language that you need to learn; it's just a patronizing programming language.
Language is pretty hard for computers to understand. Siri (the voice-recognition program on the iPhone) gives me some hope for both of these things, though. It does voice recognition pretty well without training, but that's not the impressive thing. What's impressive is that it does a decent job of parsing natural language and responding somewhat decently. Maybe in a few years, we'll be at the point that you can write out a paragraph of instructions and have a computer parse it into a script that can be run. Until then, "natural language" programming languages fail to impress.
People tend to see conspiracies whenever something doesn't go the way they'd like. "Why didn't you do what I wanted you to do? It must be that you have a secret plan and you're out to get me!" In reality, I doubt that it was about Jobs wanting to make sure people can't do [whatever] with their computers, but because various people don't want to bother with it. In spite of the article's claim that there were "frequent calls to [revive Hypercard]" and a "more-or-less guaranteed and lively market", there probably wasn't enough actual interest to warrant development.
See here's the thing: there are lots of things aimed at allowing people to script/automate things. There's Applescript and Automator, and some of these sorts of "programs" can be made with Filemaker products. If you want to get deeper, you can get Xcode for free. It's not as though there are no tools available.
I think the real problem is that there's a lot of people who don't want to deal with the complications of making their own applications, even if it's as simple as Hypercard. Then there are people who do want to make their own applications and are willing to learn Xcode. There isn't a lot in between, and for those people, Automator and scripting serves well enough, and Apple probably thinks those are better solutions than Hypercard.
But can a machine take over for me? Please?
It's not completely meaningless, but you have to know how to read this kind of business-speak. He's saying, "We're either not planning on dropping x86 or we're not prepared to announce that we're dropping it. We do have hopes of moving into additional markets, including mobile, low-end, and scalable architectures, but we don't have any specific plans that we'd like to announce about that either."
"Inflection point" is sometimes used more broadly and metaphorically to mean something like, "a time of drastic change (or potential drastic change)." He's not using it in a technical sense.
Most people won't get rich getting a paycheck from someone else, but then most people won't get rich from investing, either.
Can I be entirely replaced by a machine? My life is routine, simple, and repetitive.
Yeah, I suspect that we would do well to look at Linux distros as a model of competition. What's noteworthy to me is the way in which their competition can be fierce, spur lots of changes, and yet be cooperative at some level too.
So then you agree that "job days per dollar" isn't the metric that you want to maximize?
It's a valid point, but he seems to be explicitly asking for something that will do a backup and wipe, automatically, unattended, one right after the other. Depending on the situation, that may not be the best idea.
Also, I would wonder what he wants to do with the machines next. Maybe instead of or in addition to a wipe, he should set it up to re-image the machine. That's certainly possible too.
I don't know the details and IANAL, but my understanding is that Sarbanes Oxley requires that publicly traded companies keep emails (maybe only some emails to some people) for several years.
I think this is my favorite answer to this. It may not be *the* answer, but I applaud your approach of "rethinking the problem".
The first question that pops into my mind is, what is determining this secure wipe procedure, and how secure does it really need to be? If you're looking to speed things up, you could wipe everything with zeros once instead of "several times". The difference in security is minimal.
Aside from that, there are open source solutions that will image a drive and others that will wipe the disk. It shouldn't be too hard to chain them together, though I don't know of any pre-built solution. I'm stating the obvious here, but if you do try to build your own, definitely be careful of 2 main things: make sure users can't boot into this procedure accidentally, and make sure that the procedure absolutely will not wipe the drive unless the backup was successful.
There may be truth to that, but in an oversimplified example:
If you're going to spend a $10 billion to build Project A, employing 100,000 people, and Project A could be built for $5 billion employing half as many people while using some automation, what do you do? You could still spend the full $10 billion and have everyone dig with shovels, or spend $5 billion and have people sitting around half the time doing nothing-- with roughly the same effect.
But then, why not build Project A for $5 billion and then *also* build Project B for $5 billion, and employ 50,000 people with each project. You spend the same amount of money, get the same number of jobs, but at the end of it, you complete both Project A and Project B.
Ultimately my point is this: there's plenty of work that legitimately needs to be done. If you want to give people jobs, find some of the work that legitimately needs to be done (and that it's arguably the government's job to do it) and fund it. If you can't find that work that needs to be done, I can give you a short list off the top of my head.
Even when I sit in meetings, you know what I do? I take notes. I transcribe it all into writing for later referral, and then when I'm done and I've typed it all out, I email it to the people in the meeting to make sure we're in agreement about what took place in the meeting and what we're going to do next.
I don't do that for fun. I do it because writing is an incredibly useful form of communication. When people ask me to do something specific, I sometimes even tell them to just send it to me in an email so I have it in writing.
The laws depend on the kind of company. I don't know what the rules are, but I believe publicly traded companies are required to have a retention of some number of years, government contractors have different requirements, and some other industries that are regulated might have different requirements.
I've worked with some financial companies in the past which are required by law to retain all IM conversations, too.
By that metric the people with shovels are actually *more efficient*... if you're measuring job days per $.
But why would you measure it by that metric? You could create job-days per dollar by paying people to sit around doing nothing.
Yes, you're right, and that's actually sort of fine, so long as said manager doesn't use those metrics for actual decision-making.
There aren't as many jobs in the cloud.
It's not that public jobs programs are bad, but they should aim to be efficient and to produce things that are needed. To my mind, the anecdote above is an example of waste, not because there was a jobs program, but because they made the jobs program inefficient. If they could have made the canal with half the men by using better machinery, they should have done that. If they wanted to employ the other half of the men, then they should have devised another useful project to employ them too.
There's always work to be done. No reason to be less efficient on purpose.
You know what costs jobs? Efficiency. Economic efficiency always costs jobs. Often, it's creating other jobs elsewhere, but maybe not. Maybe it just means that job doesn't need to be done anymore.
You can create jobs by paying people to dig ditches and then fill them back in. Or you can create jobs by hiring support people you don't need, building infrastructure that can be handled more efficiently elsewhere, or paying people to write software that you don't need because an open source alternative is already available. It's the same as digging useless ditches.
Do you really want to create jobs? Great. Hire people to do something useful that can't be handled more efficiently by open source software. Or hire them to improve open source software-- god knows there's work to be done.
Yes, obviously there is a happy medium and where that compromise lies should be evaluated for the individual situation. I've been very much a fan of the concept that "if it ain't broke, don't fix it". On the other hand, if a situation is so fragile that I literally can't touch the thing without fear of everything collapsing, then something is wrong. Like if you can't reboot a server without expecting that it should come back up, then I should fix the computer to make it more reliable. If I can't have a server be down for any amount of time, then I need to work to increase the redundancy. If a system is so custom-configured that I don't have any hope of rebuilding it if it dies, then I need to backup the configuration and work towards a more standard setup that a trained monkey could rebuild with proper documentation.
Solutions should be robust. At the same time, I don't think it makes sense to go tearing things apart all the time without reason.