While it's nice and all that we're getting 72x more performance per watt, since we are at 100x times the performance, that means that we are using 100/72=1.39 times the power that we used to.
I could start into a tirade about how this is contributing to global warming, but I'll leave that somewhat political stance for another time.
I was thinking more of a situation where in what is otherwise a two-party consent jurisdiction, you simply record the thoughts of one consenting party. Since their thoughts will necessarily include what is being heard by that person, you can effectively record what the otherwise unrecorded person is saying simply by recording the mental activity of the person hearing what they are saying.
Numbers don't mean shit to networks except insomuch as those numbers will generate revenue. Since there are no commercials an Netflix, there's no opportunity for an increased viewership to translate directly to more revenue generated by that program, and so there is no need to disclose viewership data.
.... that there exist things that unknowable, then would that proof constitute proof of the nonexistence of an omniscient god? If an omniscient being knows it, then it seems to follow that whatever "it" is cannot be unknowable, and if "it" is truly not known, then the alleged being is not omniscient.
Not everyone will be any good. Anyone can learn to draw, but not everyone will be any good. Anyone can learn to play an instrument, but again, not everyone will be any good. There is a teachable component to all of these, but at at least some natural aptitude is involved in performing any skill. Certainly no less important is how much time and energy a person wants to put into actually mastering that skill.
Of the three you mentioned, sure... but by far the easiest sorting algorithm to understand IMO is merge sort: Take a list, if it is only one entry long, you are done, otherwise split the list in half and sort each list separately, then finally merge the two lists together into a single one by comparing the leading entries of both list halves.
More to the point, promoting CS for everyone is just a way for the pols to claim they are somehow in tune with the current economy
Which itself is laughable, since going by current trends, the percentage of jobs for computer programmers has been declining (albeit quite slowly), and is expected to keep doing so for at least the remainder of the decade.
Most Canadian networks will allow online viewing of their programs via their website, typically one day after national broadcast and viewable for free for about a week. I haven't had a television for 6 years, but still watch all of the shows I used to via the network website, which is about 6 different shows a week.
My biggest beef with those websites is that they still require flash, and are not yet using html5 video, so I have some restrictions on the platform I use.
My point is that if something tiny is flying below the height of nearby buildings anyways, why should the FAA be regulating it on some alleged grounds that it might interfere with other aircraft?
For FAA to be able to regulate to the ground their jurisdiction has to extent to the ground.
FAA regulates "navigable airspace".... an aircraft cannot generally navigate less than about 500 feet above the ground, particularly in an urban area, because it may crash into tall buildings.
FAA has jurisdiction from the ground up within a prescribed and fairly small range of any airport, outside of that range the FAA's jurisdiction has not ever extended to anything below 500 feet.
I think that the loudest objections to this are coming from people who feel that what Stack Overflow is requesting here is not unlike a computer science department in a university stating that all examples that their professors may write on the blackboard are copyrighted by them, and any use of those examples outside of the classroom must be attributed or they may get sued for copyright infringement.
Understanding exactly what a function is supposed to do in the first place is the first step to understanding why the function is even there. If the code is clean, elegant, and concise, you do not need a comment to clarify that point.... and all that adding a comment does is increase the chance that if the code should ever change, the comment may get deprecated without anybody noticing, and later the code may be misunderstood by another programmer because the comment no longer reflects what a maintainer may have needed to know about the function.
The reason for validating user input should be self-explanatory: you do not otherwise have any control over whether it may be valid as input to lower level routines. That the variables involved were user input should be clear from the identifier name that reflects that content, and that the purpose behind the function to validate an email address is to ensure that its input is clean should be clear by its name as well.
Because modern IDE's have variable name completion, long identifiers do not really significantly increase the likelihood of errors as they might have at one time.
One should be able to infer that from the function name, and if that's not enough, finding the places in the code where the function is called (common functionality in a modern IDE).
Really, is it the tendency for comments to be deprecated by evolving code that is the fundamental problem.... because the compiler rarely checks comments for accuracy, there is nothing to stop a programmer from leaving a deprecated comment in the code that may go undetected for weeks. Another new programmer comes along and reads the comment and misunderstands what the code is doing and ends up being the source of dozens of hours of wasted time. If programmers were instead forced to read the code, this would not have happened. If the code is clear, functions are kept small enough that what they do is transparently obvious, and identifiers are given descriptive names that reflect their purpose, then it should take very little time for a fluent programmer to understand even a potentially very long program fragment.
When you have 10,000s of lines of glue code, to glue your systems together, and you're actively maintaining them against one another,... and the alternative was to write a 500 line program that would do EXACTLY what you want, and is easy to modify and understand,...... something has gone horribly, horribly wrong.
Obviously, but if computer programs are written by humans, who are, unfortunately imperfect, and make mistakes. Sometimes we don't think of everything right away, and a better solution may simply not be known at the time of initial implementation. That's not anybody's fault.
Anyone who expects a good programmer to be someone who never make mistakes (or at least who has already made all of the mistakes they ever will by now) and will never have to sometimes do something completely over again from scratch because they did it wrong is living in a fantasy. A good programmer is not someone who doesn't make mistakes, it is someone who can *LEARN* from the mistakes that they do make.
Lately, I have been working for an employer that eschews comments. His beef with them is that they are capable of telling lies, and you won't necessarily know what a function does or how it works without reading the code itself anyways, so one should try to write code that is clear and easy to read *without* comments. He argues that writing a comment is an admission of failure on the part of the developer, that the developer has knowingly failed to write their code in a concise a clear way so that what it does and how it works should be transparently obvious to someone reading the code itself. All code submissions are reviewed by a peer or superior before being committed to the master repo, and the system actually seems to be working quite well.
The Peter principle is only applicable here insomuch as a developer is not capable of learning from mistakes.
Everyone makes mistakes... But if they overcome those mistakes and learn from them, then they may continually take on challenges of ever-increasing complexity and not cap out on their skills until retirement.
[nt]
While it's nice and all that we're getting 72x more performance per watt, since we are at 100x times the performance, that means that we are using 100/72=1.39 times the power that we used to.
I could start into a tirade about how this is contributing to global warming, but I'll leave that somewhat political stance for another time.
I was thinking more of a situation where in what is otherwise a two-party consent jurisdiction, you simply record the thoughts of one consenting party. Since their thoughts will necessarily include what is being heard by that person, you can effectively record what the otherwise unrecorded person is saying simply by recording the mental activity of the person hearing what they are saying.
Numbers don't mean shit to networks except insomuch as those numbers will generate revenue. Since there are no commercials an Netflix, there's no opportunity for an increased viewership to translate directly to more revenue generated by that program, and so there is no need to disclose viewership data.
If so, it will be interesting, I think, to see what effect this would have on wiretapping laws.
.... that there exist things that unknowable, then would that proof constitute proof of the nonexistence of an omniscient god? If an omniscient being knows it, then it seems to follow that whatever "it" is cannot be unknowable, and if "it" is truly not known, then the alleged being is not omniscient.
Did you even read what I wrote?
Not everyone will be any good. Anyone can learn to draw, but not everyone will be any good. Anyone can learn to play an instrument, but again, not everyone will be any good. There is a teachable component to all of these, but at at least some natural aptitude is involved in performing any skill. Certainly no less important is how much time and energy a person wants to put into actually mastering that skill.
Of the three you mentioned, sure... but by far the easiest sorting algorithm to understand IMO is merge sort: Take a list, if it is only one entry long, you are done, otherwise split the list in half and sort each list separately, then finally merge the two lists together into a single one by comparing the leading entries of both list halves.
More to the point, promoting CS for everyone is just a way for the pols to claim they are somehow in tune with the current economy
Which itself is laughable, since going by current trends, the percentage of jobs for computer programmers has been declining (albeit quite slowly), and is expected to keep doing so for at least the remainder of the decade.
My biggest beef with those websites is that they still require flash, and are not yet using html5 video, so I have some restrictions on the platform I use.
My point is that if something tiny is flying below the height of nearby buildings anyways, why should the FAA be regulating it on some alleged grounds that it might interfere with other aircraft?
FAA regulates "navigable airspace".... an aircraft cannot generally navigate less than about 500 feet above the ground, particularly in an urban area, because it may crash into tall buildings.
FAA has jurisdiction from the ground up within a prescribed and fairly small range of any airport, outside of that range the FAA's jurisdiction has not ever extended to anything below 500 feet.
I think that the loudest objections to this are coming from people who feel that what Stack Overflow is requesting here is not unlike a computer science department in a university stating that all examples that their professors may write on the blackboard are copyrighted by them, and any use of those examples outside of the classroom must be attributed or they may get sued for copyright infringement.
I know quite a few people here in Canada who use US Netflix by simply manually specifying a specific DNS server.
[nt]
Understanding exactly what a function is supposed to do in the first place is the first step to understanding why the function is even there. If the code is clean, elegant, and concise, you do not need a comment to clarify that point.... and all that adding a comment does is increase the chance that if the code should ever change, the comment may get deprecated without anybody noticing, and later the code may be misunderstood by another programmer because the comment no longer reflects what a maintainer may have needed to know about the function.
The reason for validating user input should be self-explanatory: you do not otherwise have any control over whether it may be valid as input to lower level routines. That the variables involved were user input should be clear from the identifier name that reflects that content, and that the purpose behind the function to validate an email address is to ensure that its input is clean should be clear by its name as well.
Because modern IDE's have variable name completion, long identifiers do not really significantly increase the likelihood of errors as they might have at one time.
This is something like what my wife and I have planned.
(facepalm) I hate you.
Really, is it the tendency for comments to be deprecated by evolving code that is the fundamental problem.... because the compiler rarely checks comments for accuracy, there is nothing to stop a programmer from leaving a deprecated comment in the code that may go undetected for weeks. Another new programmer comes along and reads the comment and misunderstands what the code is doing and ends up being the source of dozens of hours of wasted time. If programmers were instead forced to read the code, this would not have happened. If the code is clear, functions are kept small enough that what they do is transparently obvious, and identifiers are given descriptive names that reflect their purpose, then it should take very little time for a fluent programmer to understand even a potentially very long program fragment.
Obviously, but if computer programs are written by humans, who are, unfortunately imperfect, and make mistakes. Sometimes we don't think of everything right away, and a better solution may simply not be known at the time of initial implementation. That's not anybody's fault.
Anyone who expects a good programmer to be someone who never make mistakes (or at least who has already made all of the mistakes they ever will by now) and will never have to sometimes do something completely over again from scratch because they did it wrong is living in a fantasy. A good programmer is not someone who doesn't make mistakes, it is someone who can *LEARN* from the mistakes that they do make.
Lately, I have been working for an employer that eschews comments. His beef with them is that they are capable of telling lies, and you won't necessarily know what a function does or how it works without reading the code itself anyways, so one should try to write code that is clear and easy to read *without* comments. He argues that writing a comment is an admission of failure on the part of the developer, that the developer has knowingly failed to write their code in a concise a clear way so that what it does and how it works should be transparently obvious to someone reading the code itself. All code submissions are reviewed by a peer or superior before being committed to the master repo, and the system actually seems to be working quite well.
The Peter principle is only applicable here insomuch as a developer is not capable of learning from mistakes.
Everyone makes mistakes... But if they overcome those mistakes and learn from them, then they may continually take on challenges of ever-increasing complexity and not cap out on their skills until retirement.