When the program was being designed, it was estimated there would be a 1 in 75 "disaster potential."
2/127 is not less than 1/75
True, but we don't know that 2/127 is the failure rate, and 2/127 is not massively out of line with 1/75 either. But we won't have a better estimate for the real risk until later, presumably when the shuttle programme finishes (we won't have a large enough number more flights to get the uncertainty in the risk down much).
Seems to me that if you're unsophisticated, you should consider everything important and back everything up. Life's much simpler without analysing the compromises and dealing with their shortcomings when things go wrong.
If you have the space to do a full backup, sure do that. Consider also keeping another backup of the irreplaceable stuff; for most users this means the things within their home directory (and subdirs of it). It's only the semi-skilled who are really at risk; they know enough to have multiple drives, but not enough to ensure that things are properly backed up. (With real ordinary users it's actually easier since they usually won't squirrel away stuff they care about all over the place. Keep it all in a big unsorted heap on their desktop, yes, hide it on a hidden partition, no.)
Of course, this won't help you if there's a house fire. The fireproof hard drives are still darned expensive. Internet-based remote backup is great, if your broadband can handle it.
Best bet: have both a local backup and at least one remote backup. Consider carefully what to backup (it's irreplaceable data that you need to prioritize, such as photos of your oldest child's first steps). Keep more than one backup; the limit is determined by the tradeoff between your paranoia and your wallet, but the responsibility is yours as you're the person who cares about it.
(Fires are deadly for disks. If the temperature of the platters goes over the Curie temperature for the material, the data just gets forgotten as if it never existed. That's physics.)
He may have voluntarily agreed to hold off discussing a related known problem until it is fixed. I've done that a few times for other software (no, I don't feel like telling you what even though the fixes have been done for many years now) and with responsive OSS projects - either because they've got someone who really cares about this sort of thing, or because they've got lots of effort anyway - such issues tend to get fixed very rapidly. To be fair, that's true of the good commercial developers too; nobody conscientious likes having a security problem about as they tend to make for other difficulties too.
I don't want the power company, or the government, controlling when and how I use appliances in my house. MY house, MY appliances. STAY OUT. Smart-meter my ass.
Oh, you're a Libertarian with far too much money? The only way in which government is getting involved is to get variable rate electrical power charging exposed to consumers. Big industrial users have had this sort of thing for many decades (in fact, I don't think they've ever had flat-rate charging). Given that there will be differential rates available, do you want to take advantage of them to run some of your appliances at cheaper times of the day, or do you feel that you love your power company so much that you want to give them all your money (and have their love children too, it sounds like)? All this smart metering stuff (apart from the parts owned by the electricity company, like the meter itself) does is make it easier for you to find out the current rate, and for suitably-adapted appliances to take advantage if told to.
All that government has done is change the basic rules to ones that are more free-market oriented. It's up to you to make that work in your favor. (The alternative is that they ratchet up the flat-rate electricity price hard, which I can guarantee you'll hate.)
Bah. Sometimes reading here I think we've got a situation like this. There's a guy standing naked on a rail line and there's a freight train approaching at full speed. A cop on the sidelines is shouting at them to get the fuck off the rail line because the train is coming, but the guy is refusing because that would mean that the government is telling him what to do. The fact that he's going to get turned into mincemeat in a few seconds is of absolutely no importance to him by comparison with showing that he's not one of the sheeple, despite the fact that the governmental action is just common sense and clearly in his best interests by any objective measure. Such is the sheer power of anti-governmental stupidity.
Still, maybe your idiotic attitudes will at least mean that you subsidize everyone else's electricity. I like the idea of taxing utter foolishness like that.
It would make more sense for them to send a couple of cops out to my house with warrants to confiscate my machines. If that happened, THEN it would become a game of "who is more clever". Is my stuff really hidden, or can they get to it? You can damn sure bet that I'm not going to just GIVE it all to them.;-)
Do you really think that's going to save you and your data? They can take images of the whole disks quite easily (there are hardware tools for doing this) and they most certainly can get someone who will tell them that if it's a truecrypt partition, they should make sure to check for multiple stacked encrypted partitions, especially if the dates of the innocuous files don't match up with recent use of the system.
The only thing that is saving you right now is the fact that you're not breaking any law they actually care about. (OK, I can't tell whether you're breaking any law at all, given the stupidity of some jurisdictions' legislatures, but I prefer to assume you're not going about committing felonies and bragging about it on slashdot. That would be jaw-droppingly dumb...)
By contrast, my defense is simple. If the cops want to know what I'm doing, they can just ask and I'll tell them in great detail. I've even got several presentations that will make my explanation easier, though the use of that much powerpoint might count as Assaulting A Police Officer...
Well, there goes one of the major savings from cloud computing then. If you can't rely on them to back it up, you still have to host all your data yourself (as backups).
You can buy backup space from another provider if you want, or do it yourself with your own equipment. If you want to do it yourself, you have to remember factoring in the costs of doing it properly, keeping the system up when you need it. If you care hugely about your data (which you might or might not do; not everyone feels the same) then you'll want to keep multiple backups in multiple locations, with at least one under your direct control. But it's up to you to work out how much you're willing to spend on caring.
For that matter, having all your data sitting in a big tarball somewhere hardly counts as a backup unless the infrastructure is in place for all your enterprise users to switch over to it on demand.
Of course we both know hardly any cloud computing users will actually do that.
Backups aren't the same as having hot replication; they have different purposes and different properties. Hot replicas tend to be far more liable to corruption by normal operations. Backups are for recovering from "oh shit" moments, and should be kept fairly long term, yet they're also slow. If you think they're the same... well, let's just say you're going to end up losing all your data and there won't be anyone around to save your sorry ass.
This happens all the time (the Major Leage Baseball deletions, Microsoft's older DRM, etc). The difference here is that Amazon was generous enough to refund the price; usually the company just keeps it because "all sales are final".
Personally I think they should be banned from using the word sale; indefinite rental is more accurate.
Either it's a sale or it's a rental. The law doesn't recognize anything else (or at least nothing else that's remotely relevant given that a consideration is changing hands). Given that Amazon are retrospectively trying to change what the contract terms are under which they offered the works, it is exactly right that at the same time they compensate those materially affected. Without that, they'd have been inviting a lawsuit (and no, I don't think that a click-through "binding" boilerplate would have got them off the hook given the overwhelming disparity in power of the parties to the contract).
When I was arrested as a juvenile and got charged with 2 moderately serious charges, I had 2 counts of conspiracy, which were also felonies, added for "thinking" about doing it before I actually did it.
You must've done more than just "thinking" about it. For one thing, "conspiracy" requires that there's more than one person involved. If you're just planning things out in your head and not telling anyone about it, then you're not conspiring and you're not committing a crime and that's how it should be. After all, there are other legitimate reasons for planning a crime in your head (e.g., writing a crime novel, working out how to take preventative action, etc).
As I said, you must've done substantively more than "just thinking about it", and the prosecutor must've either persuaded you to plead guilty or a judge/jury to think you are guilty (don't know how juvenile courts work in your jurisdiction). No idea what though; I'm not a lawyer (and I'm especially not a criminal lawyer).
Could you expand that abbreviation? I don't recognize it and none of the definitions that Google offers up make that much sense. (How do you "Indian Premier League" a system anyway?)
All of these are low power, low cost, and produce a visible or audible result for immediate gratification.
You have excellent suggestions that have brought back many memories of when I was at school. The only component I'd add to that list is a cheap op-amp. They're great when you start to build circuits with sensors that are more sophisticated and sensitive than a simple switch. (Get them to build an amplifier out of transistors first though; like that they'll have at least some knowledge of what that op-amp is doing for them.)
The other thing that it would be nice to have is a bit more of a big-ticket item: an oscilloscope. If you have access to an oscilloscope, that makes showing what different components do much easier, especially with reactive loads. You might have to share one between everyone, but most students will be able to handle that.
What happens if you're going from 1.8.1 to 1.9.3, then 1.9.3 to 2.0.0? How do you tell which is a major update?
What happened was you missed a bunch of (probably minor) versions. The major update is the one going to 2.0.0, since that's probably where stuff you've been doing breaks; see the release notes for details. The 1.8.* to 1.9.* change is unlikely to break things, though it is possible that there are new features present that it would be a good idea to take advantage of.
The Java versioning system is instructive. What they do is they have both "programming" versions and "marketing" versions. The former follow strict rules and are easy to understand technically. The latter ("Java 5", etc.) are just flim-flam technically, but keep the marketers happy. By having both, the different uses of a version number can all be supported.
I looked into becoming a CA once in order to support a state contract - we were just going to use OpenSSL and a strongly physically secured computer with no network access.
You might use a two-layer system. Have a master CA and a production CA. The master CA is kept offline (and probably normally unpowered and in a locked fire-proof safe) and is only used to sign the production CA. The production CA issues all the certs that you're actually using to secure normal servers and users. (Actually, you can go with more than one layer of production CAs, but that's less important.) The idea is that the master only needs to be used extremely rarely, so it can be secured using extra strong methods.
A student could certainly do worse. If anything, given this whole list, I'd hope that the school is even more focused on concepts than he's complaining about.
The school could probably also do with teaching functional and logic programming as well, because they are different ways of telling computers what to do. That's not to say that the programming languages that focus on those are widely used (they aren't) but the techniques and ways of thinking are very useful.
Learn how to work on a team, work with QA, and learn how to deliver products.
That's what you need to be asking.
Only after you've grokked the fundamentals, which that proper CS degree seems to be about teaching. Otherwise you won't have any real idea what's actually possible, and what shouldn't be tried (either because it is stupid, or because it is impossible). Some people grok some parts of CS intuitively, but they should focus on understanding more of the bits that they find hard so that they get the whole lot.
Once you've got the basics (especially data structures and algorithms, but not just that) then, if you want, go the way described by the parent because you'll be prepared to know what is right and what isn't. Launch straight into it, and you'll just be using a bunch of ideas in a disconnected way and won't be able to advance your career nearly so fast.
Computer Science is about designing the software. This is engineering, scaling from deciding the hardware to use to the language to use, to the data structures and optimizations, all before the software exists (or, when the problem is being addressed). This is knowing how to think about a plowshare and create the idea of the plowshare (or improvements) and then explaining it (drawings, diagrams, etc.).
Actually, there are two things here: Software/Computer Engineering and Computer Science. You've done a pretty good description of the engineering side, but the scientific side is really quite heavily mathematical and is very deep. The real CS is about the design of new algorithms and new paradigms, and has produced things like programming languages (yes, that they exist at all is up to the core scientific part, though the specifics of individual languages are mostly engineering) and things like functional and object-oriented programming. These things aren't magic; someone had to create them.
OK, there's not many places that do deep CS. Not many need it by comparison with Software Engineering or Computer Engineering. But be aware that it exists, and that these are somewhat artificial distinctions anyway: a good CS person will also know some SE (and a smattering of programming), a good SE will know some CS and some coding, a good coder will have more than a bit of the SE about them while also knowing about the problems of IT, etc.
Actually, you learn about bubble sort so you can understand where is might actually be a valid choice -- i.e. where you need to sort a small set in place with minimal use of stack space or other temporary storage.
That's when you use insertion sort, which sucks less. Really. There's no reason to use bubble sort ever, since there's always a sorting algorithm that is better. (The ones to learn are insertion sort, merge sort and quicksort; all are excellent when used for the right thing.)
Another aspect of the "data control" is user control - some companies don't want their folks logging on to mail from just any old virus-infected, malware laden machine and want them to only connect via known good machines on the corporate network. Gmail makes that control impossible.
If those employees are still using IE6 and old versions of Outlook (depressingly likely) then there's a fair chance that the corporate network is already deeply virus-infested and malware laden. Indeed, I know a number of people who allege that the most common piece of malware out there is McAfee...
Wouldn't a voltage fluctuations inside simply become resistive fluctuations in the motor, causing the motor speed to fluctuate, and thus cause fluctuations on the supply power?
If there's a flywheel in there (and the sheer mass of the rotor assemblies will act as one) then the fluctuations will be so small that it'll be just about impossible to see anything, even with top quality equipment attached at the perfect point (on the outside, of course).
The other possibility is to just put a lot of other disparate busy traffic on in the inside too. Sure you'll be seeing fluctuations, but you'll never figure out what they mean; for all you know, that glitch you've just measured isn't a password but rather a server handing out yet another lolcat picture.
gcc even has a java (the language) compiler now (OK for about 5 years) that generates native machine code (what everyone used to whinge about) and there are independent implementations of the Java libraries (e.g. GNU Classpath).
It would be nice if gcj would work on modern Java programs as it didn't the last time I checked. Or at least not with the sample of programs that I tried, but this was admittedly some time ago. I didn't explore more because my requirement was for those particular programs (I was revising a course I'd written on them) and I just grabbed a suitable Sun JRE instead.
Any Java application written for the Linux desktop that uses Swing over native desktop bindings is foolish. Each has their place, for sure, but on the desktop integration is everything.
You might as well also claim that anyone who has to develop and deploy software across lots of platforms is foolish too. After all, developers have lots of time to reimplement the entire GUI layer for each supported platform. </sarcasm>
For a great many developers, desktop integration is not and should not be everything. They've got real applications to support, and not just desktop toys or reinventions of the wheel. (Some are commercial developers, some aren't, but those specialist apps are not going to go away soon; there's just not that big a global market for them that they commoditize.)
A while ago I was in Germany, and Google insisted that I read the German version of Google, even though my browser said that it only understood English (as I configured it). It's fine when they use GeoIP to present a localized version of a page, but not when the Accept-Language request headers requests otherwise.
I suspect that the problem is that a lot of people have misconfigured (or buggy) browsers that foul up the Accept-Language header, always claiming to prefer English. That puts Google in a bit of a bind; they're damned whatever they try, so they try to satisfy the majority and minimize the level of grief. FWIW, when I use Google in Germany, it still comes up in English. (Well, I think it does, but I've not checked for a bit and my configuration might have other differences too.)
When the program was being designed, it was estimated there would be a 1 in 75 "disaster potential."
2/127 is not less than 1/75
True, but we don't know that 2/127 is the failure rate, and 2/127 is not massively out of line with 1/75 either. But we won't have a better estimate for the real risk until later, presumably when the shuttle programme finishes (we won't have a large enough number more flights to get the uncertainty in the risk down much).
Seems to me that if you're unsophisticated, you should consider everything important and back everything up. Life's much simpler without analysing the compromises and dealing with their shortcomings when things go wrong.
If you have the space to do a full backup, sure do that. Consider also keeping another backup of the irreplaceable stuff; for most users this means the things within their home directory (and subdirs of it). It's only the semi-skilled who are really at risk; they know enough to have multiple drives, but not enough to ensure that things are properly backed up. (With real ordinary users it's actually easier since they usually won't squirrel away stuff they care about all over the place. Keep it all in a big unsorted heap on their desktop, yes, hide it on a hidden partition, no.)
Of course, this won't help you if there's a house fire. The fireproof hard drives are still darned expensive. Internet-based remote backup is great, if your broadband can handle it.
Best bet: have both a local backup and at least one remote backup. Consider carefully what to backup (it's irreplaceable data that you need to prioritize, such as photos of your oldest child's first steps). Keep more than one backup; the limit is determined by the tradeoff between your paranoia and your wallet, but the responsibility is yours as you're the person who cares about it.
(Fires are deadly for disks. If the temperature of the platters goes over the Curie temperature for the material, the data just gets forgotten as if it never existed. That's physics.)
Not at liberty? Isn't Firefox open source?
He may have voluntarily agreed to hold off discussing a related known problem until it is fixed. I've done that a few times for other software (no, I don't feel like telling you what even though the fixes have been done for many years now) and with responsive OSS projects - either because they've got someone who really cares about this sort of thing, or because they've got lots of effort anyway - such issues tend to get fixed very rapidly. To be fair, that's true of the good commercial developers too; nobody conscientious likes having a security problem about as they tend to make for other difficulties too.
I don't want the power company, or the government, controlling when and how I use appliances in my house. MY house, MY appliances. STAY OUT. Smart-meter my ass.
Oh, you're a Libertarian with far too much money? The only way in which government is getting involved is to get variable rate electrical power charging exposed to consumers. Big industrial users have had this sort of thing for many decades (in fact, I don't think they've ever had flat-rate charging). Given that there will be differential rates available, do you want to take advantage of them to run some of your appliances at cheaper times of the day, or do you feel that you love your power company so much that you want to give them all your money (and have their love children too, it sounds like)? All this smart metering stuff (apart from the parts owned by the electricity company, like the meter itself) does is make it easier for you to find out the current rate, and for suitably-adapted appliances to take advantage if told to.
All that government has done is change the basic rules to ones that are more free-market oriented. It's up to you to make that work in your favor. (The alternative is that they ratchet up the flat-rate electricity price hard, which I can guarantee you'll hate.)
Bah. Sometimes reading here I think we've got a situation like this. There's a guy standing naked on a rail line and there's a freight train approaching at full speed. A cop on the sidelines is shouting at them to get the fuck off the rail line because the train is coming, but the guy is refusing because that would mean that the government is telling him what to do. The fact that he's going to get turned into mincemeat in a few seconds is of absolutely no importance to him by comparison with showing that he's not one of the sheeple, despite the fact that the governmental action is just common sense and clearly in his best interests by any objective measure. Such is the sheer power of anti-governmental stupidity.
Still, maybe your idiotic attitudes will at least mean that you subsidize everyone else's electricity. I like the idea of taxing utter foolishness like that.
It would make more sense for them to send a couple of cops out to my house with warrants to confiscate my machines. If that happened, THEN it would become a game of "who is more clever". Is my stuff really hidden, or can they get to it? You can damn sure bet that I'm not going to just GIVE it all to them. ;-)
Do you really think that's going to save you and your data? They can take images of the whole disks quite easily (there are hardware tools for doing this) and they most certainly can get someone who will tell them that if it's a truecrypt partition, they should make sure to check for multiple stacked encrypted partitions, especially if the dates of the innocuous files don't match up with recent use of the system.
The only thing that is saving you right now is the fact that you're not breaking any law they actually care about. (OK, I can't tell whether you're breaking any law at all, given the stupidity of some jurisdictions' legislatures, but I prefer to assume you're not going about committing felonies and bragging about it on slashdot. That would be jaw-droppingly dumb...)
By contrast, my defense is simple. If the cops want to know what I'm doing, they can just ask and I'll tell them in great detail. I've even got several presentations that will make my explanation easier, though the use of that much powerpoint might count as Assaulting A Police Officer...
Well, there goes one of the major savings from cloud computing then. If you can't rely on them to back it up, you still have to host all your data yourself (as backups).
You can buy backup space from another provider if you want, or do it yourself with your own equipment. If you want to do it yourself, you have to remember factoring in the costs of doing it properly, keeping the system up when you need it. If you care hugely about your data (which you might or might not do; not everyone feels the same) then you'll want to keep multiple backups in multiple locations, with at least one under your direct control. But it's up to you to work out how much you're willing to spend on caring.
For that matter, having all your data sitting in a big tarball somewhere hardly counts as a backup unless the infrastructure is in place for all your enterprise users to switch over to it on demand.
Of course we both know hardly any cloud computing users will actually do that.
Backups aren't the same as having hot replication; they have different purposes and different properties. Hot replicas tend to be far more liable to corruption by normal operations. Backups are for recovering from "oh shit" moments, and should be kept fairly long term, yet they're also slow. If you think they're the same... well, let's just say you're going to end up losing all your data and there won't be anyone around to save your sorry ass.
This happens all the time (the Major Leage Baseball deletions, Microsoft's older DRM, etc). The difference here is that Amazon was generous enough to refund the price; usually the company just keeps it because "all sales are final".
Personally I think they should be banned from using the word sale; indefinite rental is more accurate.
Either it's a sale or it's a rental. The law doesn't recognize anything else (or at least nothing else that's remotely relevant given that a consideration is changing hands). Given that Amazon are retrospectively trying to change what the contract terms are under which they offered the works, it is exactly right that at the same time they compensate those materially affected. Without that, they'd have been inviting a lawsuit (and no, I don't think that a click-through "binding" boilerplate would have got them off the hook given the overwhelming disparity in power of the parties to the contract).
No, it would be a set.
Depending on the theological model used, it might be a directed graph. Polytheistic religious models were often rather complex...
and how do you KNOW this ? telepathy ? did the guy STATE HIS REASONS ??
or are you just pulling "facts" out of your ass ?
This is one of the main reasons for having courts: to determine the intentions of the accused.
When I was arrested as a juvenile and got charged with 2 moderately serious charges, I had 2 counts of conspiracy, which were also felonies, added for "thinking" about doing it before I actually did it.
You must've done more than just "thinking" about it. For one thing, "conspiracy" requires that there's more than one person involved. If you're just planning things out in your head and not telling anyone about it, then you're not conspiring and you're not committing a crime and that's how it should be. After all, there are other legitimate reasons for planning a crime in your head (e.g., writing a crime novel, working out how to take preventative action, etc).
As I said, you must've done substantively more than "just thinking about it", and the prosecutor must've either persuaded you to plead guilty or a judge/jury to think you are guilty (don't know how juvenile courts work in your jurisdiction). No idea what though; I'm not a lawyer (and I'm especially not a criminal lawyer).
Please, I know data should never IPL a system.
Could you expand that abbreviation? I don't recognize it and none of the definitions that Google offers up make that much sense. (How do you "Indian Premier League" a system anyway?)
All of these are low power, low cost, and produce a visible or audible result for immediate gratification.
You have excellent suggestions that have brought back many memories of when I was at school. The only component I'd add to that list is a cheap op-amp. They're great when you start to build circuits with sensors that are more sophisticated and sensitive than a simple switch. (Get them to build an amplifier out of transistors first though; like that they'll have at least some knowledge of what that op-amp is doing for them.)
The other thing that it would be nice to have is a bit more of a big-ticket item: an oscilloscope. If you have access to an oscilloscope, that makes showing what different components do much easier, especially with reactive loads. You might have to share one between everyone, but most students will be able to handle that.
What happens if you're going from 1.8.1 to 1.9.3, then 1.9.3 to 2.0.0? How do you tell which is a major update?
What happened was you missed a bunch of (probably minor) versions. The major update is the one going to 2.0.0, since that's probably where stuff you've been doing breaks; see the release notes for details. The 1.8.* to 1.9.* change is unlikely to break things, though it is possible that there are new features present that it would be a good idea to take advantage of.
The Java versioning system is instructive. What they do is they have both "programming" versions and "marketing" versions. The former follow strict rules and are easy to understand technically. The latter ("Java 5", etc.) are just flim-flam technically, but keep the marketers happy. By having both, the different uses of a version number can all be supported.
I looked into becoming a CA once in order to support a state contract - we were just going to use OpenSSL and a strongly physically secured computer with no network access.
You might use a two-layer system. Have a master CA and a production CA. The master CA is kept offline (and probably normally unpowered and in a locked fire-proof safe) and is only used to sign the production CA. The production CA issues all the certs that you're actually using to secure normal servers and users. (Actually, you can go with more than one layer of production CAs, but that's less important.) The idea is that the master only needs to be used extremely rarely, so it can be secured using extra strong methods.
A student could certainly do worse. If anything, given this whole list, I'd hope that the school is even more focused on concepts than he's complaining about.
The school could probably also do with teaching functional and logic programming as well, because they are different ways of telling computers what to do. That's not to say that the programming languages that focus on those are widely used (they aren't) but the techniques and ways of thinking are very useful.
Learn how to work on a team, work with QA, and learn how to deliver products.
That's what you need to be asking.
Only after you've grokked the fundamentals, which that proper CS degree seems to be about teaching. Otherwise you won't have any real idea what's actually possible, and what shouldn't be tried (either because it is stupid, or because it is impossible). Some people grok some parts of CS intuitively, but they should focus on understanding more of the bits that they find hard so that they get the whole lot.
Once you've got the basics (especially data structures and algorithms, but not just that) then, if you want, go the way described by the parent because you'll be prepared to know what is right and what isn't. Launch straight into it, and you'll just be using a bunch of ideas in a disconnected way and won't be able to advance your career nearly so fast.
Computer Science is about designing the software. This is engineering, scaling from deciding the hardware to use to the language to use, to the data structures and optimizations, all before the software exists (or, when the problem is being addressed). This is knowing how to think about a plowshare and create the idea of the plowshare (or improvements) and then explaining it (drawings, diagrams, etc.).
Actually, there are two things here: Software/Computer Engineering and Computer Science. You've done a pretty good description of the engineering side, but the scientific side is really quite heavily mathematical and is very deep. The real CS is about the design of new algorithms and new paradigms, and has produced things like programming languages (yes, that they exist at all is up to the core scientific part, though the specifics of individual languages are mostly engineering) and things like functional and object-oriented programming. These things aren't magic; someone had to create them.
OK, there's not many places that do deep CS. Not many need it by comparison with Software Engineering or Computer Engineering. But be aware that it exists, and that these are somewhat artificial distinctions anyway: a good CS person will also know some SE (and a smattering of programming), a good SE will know some CS and some coding, a good coder will have more than a bit of the SE about them while also knowing about the problems of IT, etc.
Actually, you learn about bubble sort so you can understand where is might actually be a valid choice -- i.e. where you need to sort a small set in place with minimal use of stack space or other temporary storage.
That's when you use insertion sort, which sucks less. Really. There's no reason to use bubble sort ever, since there's always a sorting algorithm that is better. (The ones to learn are insertion sort, merge sort and quicksort; all are excellent when used for the right thing.)
Another aspect of the "data control" is user control - some companies don't want their folks logging on to mail from just any old virus-infected, malware laden machine and want them to only connect via known good machines on the corporate network. Gmail makes that control impossible.
If those employees are still using IE6 and old versions of Outlook (depressingly likely) then there's a fair chance that the corporate network is already deeply virus-infested and malware laden. Indeed, I know a number of people who allege that the most common piece of malware out there is McAfee...
Wouldn't a voltage fluctuations inside simply become resistive fluctuations in the motor, causing the motor speed to fluctuate, and thus cause fluctuations on the supply power?
If there's a flywheel in there (and the sheer mass of the rotor assemblies will act as one) then the fluctuations will be so small that it'll be just about impossible to see anything, even with top quality equipment attached at the perfect point (on the outside, of course).
The other possibility is to just put a lot of other disparate busy traffic on in the inside too. Sure you'll be seeing fluctuations, but you'll never figure out what they mean; for all you know, that glitch you've just measured isn't a password but rather a server handing out yet another lolcat picture.
gcc even has a java (the language) compiler now (OK for about 5 years) that generates native machine code (what everyone used to whinge about) and there are independent implementations of the Java libraries (e.g. GNU Classpath).
It would be nice if gcj would work on modern Java programs as it didn't the last time I checked. Or at least not with the sample of programs that I tried, but this was admittedly some time ago. I didn't explore more because my requirement was for those particular programs (I was revising a course I'd written on them) and I just grabbed a suitable Sun JRE instead.
Any Java application written for the Linux desktop that uses Swing over native desktop bindings is foolish. Each has their place, for sure, but on the desktop integration is everything.
You might as well also claim that anyone who has to develop and deploy software across lots of platforms is foolish too. After all, developers have lots of time to reimplement the entire GUI layer for each supported platform.
</sarcasm>
For a great many developers, desktop integration is not and should not be everything. They've got real applications to support, and not just desktop toys or reinventions of the wheel. (Some are commercial developers, some aren't, but those specialist apps are not going to go away soon; there's just not that big a global market for them that they commoditize.)
from what I hear [Qt is] quite a pleasure to work with.
By comparison with coding in raw X11 or GTK, quite possibly. But you should realize that your view of what is possible is still stunted.
A while ago I was in Germany, and Google insisted that I read the German version of Google, even though my browser said that it only understood English (as I configured it). It's fine when they use GeoIP to present a localized version of a page, but not when the Accept-Language request headers requests otherwise.
I suspect that the problem is that a lot of people have misconfigured (or buggy) browsers that foul up the Accept-Language header, always claiming to prefer English. That puts Google in a bit of a bind; they're damned whatever they try, so they try to satisfy the majority and minimize the level of grief. FWIW, when I use Google in Germany, it still comes up in English. (Well, I think it does, but I've not checked for a bit and my configuration might have other differences too.)