See, this is one of those places where we should discuss mass, not weight. Because it's not clear whether we're talking about robots which would weigh 660 pounds on earth or 660 pounds on the moon (which would be about 3960 pounds on Earth, quite a difference). The C-Net article (on which the PopSci article is based) took the information from a blog post from a Japanese Blog called Node. In that blog post, it says 300kg. The author of the C-Net article (Tim Hornyak) did the sloppy thing and just converted it to pounds without giving context. If you really want it in imperial units, the correct unit of mass is slugs. So the robots can be correctly described as being 300 kg, 20.56 slugs, or 660 pounds on Earth at sea-level.
It's nice to talk about what happens if you're on a laptop, but the fact of the matter is that there are still a lot of power-hungry applications out there where response-time is key. Mainly these are scientific simulations, genome processing, image processing, 3-d render farms and similar (and these days, computer games some of the time). For those high-power applications, they would love to get a 20% speed-up across the board (rather than just in the parallelizable portions of their code). Obviously sure, this isn't going to cut it when you're worried about cents per computing power or battery life, but that's not the only market which exists.
It's true that in this case we're looking at a max of about 20%, but we're also looking at an average of about 16-18% (I'm eye-balling from the graphs). There's one test in the benchmark suite which is almost entirely CPU-bound and it is only a few percentage points faster. This, of course, makes perfect sense as some real processes are CPU-bound and so should be included in the benchmark suite. But realistically, no allocation scheme can speed up a process which does almost no allocating by very much. The rest of the tests in the benchmark show a pretty uniform increase in speed in the 15-22% range (again, eye-balling from the charts).
That's kind of the key point. It could be more clearly defined in the bill, but it's clear from context that they're talking about private networks used to run infrastructure like the power grid, the water system, etc. In order to use it to disconnect someplace like WikiLeaks, they would first have to declare WikiLeaks to be critical infrastructure.
I've read the bill. It honestly isn't that bad. First off, the "kill switch" doesn't apply to arbitrary web sites or anything like that. It specifically targets 1) government computer networks and 2) computer networks connected to "critical infrastructure". By "critical infrastructure", they mean things like the power grid, water and sewer systems, natural gas systems, stuff like that. Some people who have read this bill have made the assumption that "infrastructure networks" is synonymous with "network infrastructure", i.e. internet backbones, but it's pretty obvious from the context that this is not what the bill is meant to cover. There's nothing in the bill which allows the president to turn off your internet or disconnect you unless you are a utility company.
Now, that said, they really could have more precisely defined "critical infrastructure networks" in order to make that clearer. There is still a little weasel-room in the bill where it is possible that someone could try to justify ridiculous actions using it. They could have eliminated this with a more specific definition of what comprises "critical infrastructure". So I wouldn't say that I support it 100% in its current form, but honestly, I don't think that the bill is all that terrible.
The bigger problem to me is that I don't see any reason to believe that the measures in this bill will do anything significant to address the problem which they are purporting to address. Although I'm not convinced that a "cyber attack" is a real threat, if it is, by the time the president declares a state of "cyber emergency", it will probably already be too late. If there really is a serious on-line threat then the way to fight that is not to give more power to people at the top to respond, it is to give people at the bottom more authority to make decisions and respond quickly to a developing security situation.
Yeah, I realized that later after I had posted. I don't use WYSIWYG web-editors, so I hadn't really paid attention to stuff like who made it. It was just the first WYSIWYG web editor which sprang to mind. My bad.
When you really look at it, there's no reason that Adobe shouldn't embrace HTML 5. Fundamentally, maintaining a cross-platform plug-in is not a profit center for them, it's a cost. They don't make money on the plug-ins, they make money on the Creative Suite product which allows designers to create animations, games, and the like easily. All this work of maintaining their own actionscript standards and standard library just serves to make their pay products more useful.
Imagine for a moment that at some time in the near future, Adobe has a new option on the menu "Export to HTML5". Would this make their product less useful? Of course not. Widespread adoption of HTML 5 means that their product can now be used to create content for even more devices, including several, like the iPhone, from which they have previously been locked out. And it wouldn't even be surprising if over time they transitioned entirely to HTML 5, giving up the work involved in maintaining Flash. They probably won't do this in the short run, but in the long run, it's entirely plausible.
I'm sure some people will point out that the move to HTML 5 opens them up to more competitors, and it does. But they've already got competitors even with the Flash ecosystem. There are a variety of ways to make swfs, including swftools, FlashDevelop, and the free Actionscript compiler which Adobe itself released as part of the Flex SDK. There are even a few other pay products out there. So, essentially, they already are in a market where there are a bunch of other tools which are cheaper but either can't produce complex content or require a bunch of coding to produce similar content. If they switch over to HTML5, they will likely be in the same boat, just in a bigger lake. Sure they'll be competing with DreamWeaver or whoever, but they'll have a clear and immediate advantage when it comes to "Flash-like" stuff such as animations and games.
So in summary, if they manage the transition properly, moving towards HTML5 means less costs and a bigger market. That sounds to me like a pretty clear win.
Because there were two things which went wrong: 1) falls from over six foot were deemed to not be that serious but also 2) a computer error (in program or configuration) caused that to override anything else.
That is, under the decisions made by the bureaucracy the rules should have said: 1) if someone has fallen from a great height it is a type A (highest class) emergency 2) if someone has fallen from a moderate height it is a class B emergency unless there is something else which elevates it to a class A 3) if someone has fallen from ground level (slipped or tripped), it is a class B emergency unless there is something else which elevates it to class A 4) if someone is having trouble breathing, it is a class A emergency 5) is someone is bleeding profusely, it is a class A emergency (etc).
The rules as implemented by the system actually effectively said: 1) if someone has fallen from a great height it is a type A (highest class) emergency 2) if someone has fallen from a moderate height it is a class B emergency 3) if someone has fallen from ground level (slipped or tripped), it is a class B emergency unless there is something else which elevates it to class A 4) if someone is having trouble breathing, it is a class A emergency 5) is someone is bleeding profusely, it is a class A emergency (etc).
Note the shortened version of rule 2 and why this is relevant: moderate falls were being categorized as class B even when there were other risk factors. In the example case, we had an ambulance which was on its way to treat a woman who had fallen a moderate height and was bleeding profusely. It was diverted to instead help a woman who had slipped and fallen and was having trouble breathing because the first was classified as urgency level B and the first as urgency level A. This is clearly an error in either the software code, configuration, or the use of the program (most likely the configuration, I would guess, but that's just speculation on my part).
The committee's decision was that moderate falls shouldn't automatically elevate to class A. In practice, the system was assuming that moderate falls always were class B. So something was going wrong with the program, its configuration, or its use.
It is correct to say that Warner issued the previous takedown notice, but it's not correct to say that they actually owned the copyright to any of the songs in the video. Warner's takedown notice was due to the Muppet version of the song "Mahna Mahna" which was published on a Muppet's Greatest Hits album released by Rhino (a Warner Subsidiary). However, Warner does not own the copyright to that recording of that song. They were just licensed to release it. The copyright is owned by the copyright holder of the original recording of that song, which is currently Disney by way of the Muppet's Holding Company. Warner almost certainly accidentally added this CD to their song database without checking the actual copyright status of it.
I had been hoping to see something come out of that, but I never saw any updates from Lessig about what happened in the long term (counter-notice or whatnot). If you look at his blog, the last update was here which reveals that it was "Mahna Mahna" which lead to the takedown notice. Given that the song was only licensed by Warner and not owned by them, I don't understand how they could issue a takedown notice without committing perjury.
Look, just because the underlying studies are terrible doesn't mean that you can't produce good research out of it. You just have to do a tranching process. You bundle together the best parts of all of the different studies into the top level tranch which is then rated AAA and sold to high end news sources like the New York Times, Washington Post, BBC, etc which have a low risk tolerance. The second level tranch contains the best parts which aren't in the AAA tranch. This will probably still be rated A and can be sold to news organizations which are willing to take on a little more risk to get a little more sensationalism. So local papers, NBC Nightly News, CNN, places like that. Now the third tranch has a few good parts from studies in it, but also has a lot of crap. It'll probably be rated C or D and can only be sold to the very bottom of the barrel news organizations who care far more for sensationalism than accuracy: New York Post, British Tabloids, MSNBC, Fox News, local TV news channels. The fourth and final tranch has all of the remaining flaws from a variety of studies. This one the authors keep for themselves.
So there you go, the perfect research derivative. What could go wrong?
During my time at CMU, I saw very little of this going on. The female students in my admission class were just as good as the guys and didn't need a lick of help (with the exception of one who got a -lot- of tutoring to make it through anything, but she got that through official department channels, not through flirting). The only time I saw it happen at all was non-majors taking CS-127, the Introduction to Programming Course in Java. Unfortunately, introductory programming is a hard course to teach well because you have to teach people who to think in a completely different way (unless, of course, they already think that way). Most universities are not good at doing that and instead wind up just weeding out the people who don't have an easy time programming. CMU was no exception. I did my best to help talk some people on my dorm floor through CS-127, but it was really tough for them because they just couldn't think about things the correct way. At this point, the CS department has revamped that whole structure, eliminating the course and replacing it with a number of different alternatives based on level of experience so that people who've nver programmed before can start with Alice rather than Java.
But I suspect that part of what's happening at Stanford is people who've never gotten a B in a course in their lives are suddenly facing a C or D in intro programming and panicking. You can't just study your way to an A in intro programming because it's not about memorizing, it's about thinking differently. You have to get it.
And really, I think it can be taught better, but it will require making some substantial changes in approach. When we see rampant cheating, we need to ask what we can change which will decrease this. Some of what we can change may be improving the nature of the instruction to students.
The whole "no women study computer science" thing isn't funny, it's just insulting. Women in CS are given a hard enough time without you belittling them too.
Okay, I can see your point. The "rec" is definitely confusing and it's one of the things I would remove from the language. It's short for recursive and is required if your definition of the function is going to make a call to the function. I've never understood why that would be required.
I really think that "let" is pretty straightforward. If you've never heard a teacher or professor say "let f equal..." then I'm not sure where you've gotten your mathematics background.
The "match" and "with" parts seem pretty straight-forward if you understand that what happens in any of these definitions is that the value of the variable is matched against possible patterns until it matches (same thing happens in Haskell with the multiple definitions of the function), but if you're new to them, I can understand the confusion.
And _ is definitely just a magic piece of punctuation whose role is not clear to the layman. In case you're curious, it's used to match anything. You might think that it would make more sense to use something like "what's left" or something like that, but the _ really is useful when doing more complex pattern matching because you can use it inside the pattern.
So I see what you mean. But I should note that all of these things (rec, match, with, _) come from Ocaml (from which F# is immediately derived. You can write Ocaml code and add one line and F# will compile it). The differences between Ocaml and F# in the wikipedia examples is primarily a difference in coding choices rather than syntax. You could use the if-style or the match-style version of the function in either language. (Not that I'm expecting you to know that because there's nothing in the wikipedia article which indicates this.)
I'm sorry. I don't understand. What is it about this that's so objectionable?
let rec factorial n =
match n with
| 0I -> 1I
| _ -> n * factorial (n - 1I)
Is it the match? We could write it using if instead if you'd prefer:
let rec factorial n = if n > 0I then n*factorial(n-1I) else 1I Is it using I as a postfix for arbitrary precision integers? That's a little awkward but doing something like that is necessary if we're going to use successfully infer the type. I just don't understand what's so confusing about this.
Or you could just use PasswordMaker and do the same thing except instead of your own scheme, it uses a master password and a cryptographically secure hash function.
I have no mod points or else I would mod the parent up. PasswordMaker is the right solution to the password management problem. I don't understand why no one seems to use it. I should, however, note that you don't have to actually remember the options you used. They don't need to be kept secret, so you can write them down, put them on your website, whatever. Your master password obviously should be kept secret, however.
There is a helpful Firefox plug-in, but you can also get an HTML page to download which uses JavaScript to calculate the password so you can run it in situations where you can't install binaries as long as you can open local files using a relatively modern web browser. It does a cryptographic hash of your master password with a URL for the site you're using. If you want ones for something which isn't a web site, just make up your own URL-type things and enter them. For instance, if you have different passwords for different servers at work, you could use "work:wwwserver" as your URL to have a unique password for it. The only thing it doesn't handle smoothly is places which require you to change your password regularly. You can potentially handle this by generating passwords for "work:1", "work:2",... , but that means that you have to remember the number yourself (or write it down). Again, though, as long as the master password is secure, the number wouldn't need to be secret.
Any class offering a history of science fiction should include an english translation of Rossum's Universal Robots by Karel Capek. It's short, but important. I took a Sci-Fi Fantasy class in high school, and the two stories we read which blew me away the most (and gave me the most helpful context later) were that and one of the original Conan stories by Robert E. Howard. I highly recommend including both of those.
Well, except that in this case, the extra features are just features which allow people to share files with their peers more easily. This is of use to pirates, but could be of use to others too. I know that I make my own music files and video files and like to be able to share them with the world. So, it's more like building a car with fast braking and acceleration and doors which are easy to open and close. Sure, those are all useful to bank robbers, but they're nice features for non-bank robbers too.
Now, for some of the cases we've seen, like the Grokster case, you ad copy example is right on. Clearly Grokster went out of their way to promote the idea that their product could be used for piracy and this is why the courts ruled against them (although they did so despite the fact that "promotion of piracy" was not against the law or a recognized civil tort). But there have been other cases where no evidence of intent was introduced, where the features alone were considered de facto evidence of piratical intent.
Sort of like the civil forfeiture cases where it's been argued that anyone carrying a large sum of cash must be carrying it for illicit purposes. The mere fact that a program uses a peer-to-peer model and allows people to share files with each other shouldn't lead to an automatic assumption that it's intended primarily for piracy, but in at least some cases it has.
Your selective quoting is killing me here. It's much easier to argue with what I say when you throw half of it out.
There are two different types of decisions: decisions which find certain sites to be criminal and decisions which find certain programs to be criminal. I've been talking about, and only about decisions which find certain programs to be criminal and I made that very clear in my comments (although you decided to remove those parts from your quotes). The questions of "safe harbor" for instance, are not relevant to the legality of programs because copyright law contains no safe-harbor provisions for programs, only for service providers.
You also specifically use an example, a warez tracker, where the owner of the server would be charged criminally, not the maker of the software. Thus far, BitTorrent has proven much more resistant to lawsuits because they've successfully (and accurately) cast themselves as being more of a client-server model in terms of who provides the content.
By contrast, we have had several decisions (especially outside of US courts) in which the ability of a program to be used for the sharing of arbitrary files between peers (rather than between server and client) combined with a lack of filtering in the program has been used as de-facto evidence that its primary intent is for piracy. In some cases, such as the Grokster case, this was not done, and rather evidence was introduced that the makers intended the program to be used for piracy. In those case, actions and intent are relevant, but in other case, no evidence of the software distributor's actions or intent have been offered. This has been especially true in international cases.
Instead, the simple combination of something being capable of peer-to-peer file sharing and not supporting the "filtering" that the RIAA and MPAA keep insisting can and should be done (but is not done in any existing program) is treated as evidence that piracy is the main goal. There is an immediate assumption that any program which enables end users to share amongst themselves must be used primarily for piracy. My point is that a great many programs actually meet this criteria, such as ftp, tftp, and http since it's very easy to set up both a server and a client on the same machine. As such "peer-to-peer" and "client-server" are not worthwhile technological distinctions. And yet, certain courts are treating them as if they are. This question of whether or not these programs should be treated as different sorts of programs is terribly germane to the question of whether or not there are substantial non-infringing uses, and that is precisely why I bring it up. In something like the Sony decision where they were being sued for creating the home VCR, they were allowed to argue for the non-infringing uses of the whole class of video recording devices, not just the particular VCRs they were selling. Part of their argument was that similar devices had been in use in the television industry for some while.
So the question of whether or not there's a technological distinction between "peer-to-peer" and "client-server" is in fact very relevant to these cases. And in at least some of these cases, that technical knowledge is not something which the judges have. It also may be something that they never gain, being that it perhaps too technical. This is not unique to computer science. If you look at the history of the law, judges are not capable of being experts on every field that they are asked to rule on. This is why we have expert witnesses. But it is also possible that they will gain more expertise as we have more judges joining the bench who have used it for a greater percentage of their lives. Whether or not this will impact the decisions they are making is an interesting question worth discussing. And that is all I said to begin with.
Anyway, what bugs me most about this reply, and especially, it's being modded up is this quote:
It's not quite chicken soup anyway because it's intentionally a question. There's no reason to believe that it necessarily will get better if and when they understand the technology better. It's merely a possibility.
But frankly, no, they don't understand the technology. They get the basics of how it works, but they don't understand the ways in which it is similar or different from other technology. Having read a lot of the decisions, I've yet to see one which says, "Well, this can be used for infringement, but technologically, it's no different from other programs which are not used for infringement". There's a failure to recognize that many of the distinctions they're drawing separate how programs have been used rather than how they're designed.
To use a metaphor, if some particular car brand became a favorite of bank robbers, it would be ridiculous to go after the makers of that car. And yet the makers of software are being hauled into court based on the actions of their users, whether or not the software is designed specifically to be helpful in illegal acts. The bar for "contributory infringement" has been set very low in many cases, especially outside of the United States, this Brazilian case, for instance.
Now, of course, not all of these cases have been about the software. Many of them have hinged on the operation of servers which host or index pirated content. That's a pretty easy legal distinction to make.
But in at least some of the cases, the logic being applied is that the software is useful for piracy. Certainly that's been what's been behind the decision to ban "peer-to-peer software" on a lot of private networks. And yet, this same logic isn't applied to other technologies which have also been used for piracy like ftp, tftp, newsgroups or http.
The judges aren't idiots. They have a basic understand of what's going on and how these programs work, but they don't have a deep understanding of how the internet actual works. If they did, at least some of the decisions would have to be written quite differently. Whether or not this would have any impact on the conclusions is not clear.
Firefox gets used for piracy a lot too. Why not ban it?
I'm not really clear why the courts have been treating peer to peer software as different from client-server software. My best guess is that in a client-server model, they see the server as being responsible for the illegal content, but in the peer-to-peer model, they blame the software for the illegal content. Really, this doesn't make a bit of sense, especially in light of the fact that there is no technical distinction in any TCP/IP protocols which differentials which computers are "servers" from which are "clients" or "peers". It's just a model of network interaction which exists in the minds of the software developers and users.
I'm curious if this will change if and when judges understand the underlying technology better.
Not all public key cryptography is built on the assumption that P != NP, just most of what's in popular use. There has to be some assumption about what's easy and what's hard, but there does exist cryptography where they assume that E is easy and NE is hard. You could also make assumptions like "O(n^2) is easy, O(n^100) is hard". If you could find a trapdoor function which is O(n^2) to compute and O(n^100) to reverse, even though they are both polynomial, you can chose a key length which makes things computationally infeasible or at least guarantees that something won't be cracked for some chosen number of years (using Moore's law to estimate future computing power available).
First off, there are cryptographic protocols which don't involve one-way-functions. Consider one-time-pad, for example.
Secondly, the bigger mistake you're making here is presuming that a lack of absolute security is a lack of security. Security isn't a binary predicate: something that you have or don't have. You could just as easily argue that you don't have any security because there are human being who run the programs and control authorization and human beings are fallible. Really, the lack of cryptographic primitives which can be proven secure without any assumptions (other than one time pad) is one reason why there's no such thing as absolute security. Other reasons are human fallibility and the impossibility of tamper-proofing.
These don't mean that there is no such thing as security, it just means that security isn't an absolute. Security is about risk mitigation. A proper security analysis looks at the likelihood of different things happening and the cost to the system if those things do happen and uses this to calculate an estimated risk (as best as we can). The goal of security is to minimize the risks. The goal is not to eliminate all risks because eliminating all risks is not possible.
Regardless of the fact that "Happy Birthday to You" infringed upon Good Morning to All, there is one theory that because the "Happy Birthday to You" variation was not authored by the Hills, and it was published without notice of copyright under the 1909 U. S. copyright act, that the 1935 registration is invalid.
It's not really definitive evidence when the page itself says that it's possible that they don't own it. If you really want to understand the copyright status, you should read Robert Brauneis's article about it. He concludes that it isn't entirely clear that the Hill sisters wrote the Happy Birthday lyrics, that the 1935 publication of the song did not credit them as having written the song, and that no one properly renewed the copyright (as was required by the law at the time). As such, his conclusion is that the lyrics are currently in the public domain.
Politicians aren't that expensive. We just need a few tens of millions in the right places.
See, this is one of those places where we should discuss mass, not weight. Because it's not clear whether we're talking about robots which would weigh 660 pounds on earth or 660 pounds on the moon (which would be about 3960 pounds on Earth, quite a difference). The C-Net article (on which the PopSci article is based) took the information from a blog post from a Japanese Blog called Node. In that blog post, it says 300kg. The author of the C-Net article (Tim Hornyak) did the sloppy thing and just converted it to pounds without giving context. If you really want it in imperial units, the correct unit of mass is slugs. So the robots can be correctly described as being 300 kg, 20.56 slugs, or 660 pounds on Earth at sea-level.
It's nice to talk about what happens if you're on a laptop, but the fact of the matter is that there are still a lot of power-hungry applications out there where response-time is key. Mainly these are scientific simulations, genome processing, image processing, 3-d render farms and similar (and these days, computer games some of the time). For those high-power applications, they would love to get a 20% speed-up across the board (rather than just in the parallelizable portions of their code). Obviously sure, this isn't going to cut it when you're worried about cents per computing power or battery life, but that's not the only market which exists.
It's true that in this case we're looking at a max of about 20%, but we're also looking at an average of about 16-18% (I'm eye-balling from the graphs). There's one test in the benchmark suite which is almost entirely CPU-bound and it is only a few percentage points faster. This, of course, makes perfect sense as some real processes are CPU-bound and so should be included in the benchmark suite. But realistically, no allocation scheme can speed up a process which does almost no allocating by very much. The rest of the tests in the benchmark show a pretty uniform increase in speed in the 15-22% range (again, eye-balling from the charts).
That's kind of the key point. It could be more clearly defined in the bill, but it's clear from context that they're talking about private networks used to run infrastructure like the power grid, the water system, etc. In order to use it to disconnect someplace like WikiLeaks, they would first have to declare WikiLeaks to be critical infrastructure.
I've read the bill. It honestly isn't that bad. First off, the "kill switch" doesn't apply to arbitrary web sites or anything like that. It specifically targets 1) government computer networks and 2) computer networks connected to "critical infrastructure". By "critical infrastructure", they mean things like the power grid, water and sewer systems, natural gas systems, stuff like that. Some people who have read this bill have made the assumption that "infrastructure networks" is synonymous with "network infrastructure", i.e. internet backbones, but it's pretty obvious from the context that this is not what the bill is meant to cover. There's nothing in the bill which allows the president to turn off your internet or disconnect you unless you are a utility company.
Now, that said, they really could have more precisely defined "critical infrastructure networks" in order to make that clearer. There is still a little weasel-room in the bill where it is possible that someone could try to justify ridiculous actions using it. They could have eliminated this with a more specific definition of what comprises "critical infrastructure". So I wouldn't say that I support it 100% in its current form, but honestly, I don't think that the bill is all that terrible.
The bigger problem to me is that I don't see any reason to believe that the measures in this bill will do anything significant to address the problem which they are purporting to address. Although I'm not convinced that a "cyber attack" is a real threat, if it is, by the time the president declares a state of "cyber emergency", it will probably already be too late. If there really is a serious on-line threat then the way to fight that is not to give more power to people at the top to respond, it is to give people at the bottom more authority to make decisions and respond quickly to a developing security situation.
Yeah, I realized that later after I had posted. I don't use WYSIWYG web-editors, so I hadn't really paid attention to stuff like who made it. It was just the first WYSIWYG web editor which sprang to mind. My bad.
When you really look at it, there's no reason that Adobe shouldn't embrace HTML 5. Fundamentally, maintaining a cross-platform plug-in is not a profit center for them, it's a cost. They don't make money on the plug-ins, they make money on the Creative Suite product which allows designers to create animations, games, and the like easily. All this work of maintaining their own actionscript standards and standard library just serves to make their pay products more useful.
Imagine for a moment that at some time in the near future, Adobe has a new option on the menu "Export to HTML5". Would this make their product less useful? Of course not. Widespread adoption of HTML 5 means that their product can now be used to create content for even more devices, including several, like the iPhone, from which they have previously been locked out. And it wouldn't even be surprising if over time they transitioned entirely to HTML 5, giving up the work involved in maintaining Flash. They probably won't do this in the short run, but in the long run, it's entirely plausible.
I'm sure some people will point out that the move to HTML 5 opens them up to more competitors, and it does. But they've already got competitors even with the Flash ecosystem. There are a variety of ways to make swfs, including swftools, FlashDevelop, and the free Actionscript compiler which Adobe itself released as part of the Flex SDK. There are even a few other pay products out there. So, essentially, they already are in a market where there are a bunch of other tools which are cheaper but either can't produce complex content or require a bunch of coding to produce similar content. If they switch over to HTML5, they will likely be in the same boat, just in a bigger lake. Sure they'll be competing with DreamWeaver or whoever, but they'll have a clear and immediate advantage when it comes to "Flash-like" stuff such as animations and games.
So in summary, if they manage the transition properly, moving towards HTML5 means less costs and a bigger market. That sounds to me like a pretty clear win.
Because there were two things which went wrong:
1) falls from over six foot were deemed to not be that serious but also
2) a computer error (in program or configuration) caused that to override anything else.
That is, under the decisions made by the bureaucracy the rules should have said:
1) if someone has fallen from a great height it is a type A (highest class) emergency
2) if someone has fallen from a moderate height it is a class B emergency unless there is something else which elevates it to a class A
3) if someone has fallen from ground level (slipped or tripped), it is a class B emergency unless there is something else which elevates it to class A
4) if someone is having trouble breathing, it is a class A emergency
5) is someone is bleeding profusely, it is a class A emergency
(etc).
The rules as implemented by the system actually effectively said:
1) if someone has fallen from a great height it is a type A (highest class) emergency
2) if someone has fallen from a moderate height it is a class B emergency
3) if someone has fallen from ground level (slipped or tripped), it is a class B emergency unless there is something else which elevates it to class A
4) if someone is having trouble breathing, it is a class A emergency
5) is someone is bleeding profusely, it is a class A emergency
(etc).
Note the shortened version of rule 2 and why this is relevant: moderate falls were being categorized as class B even when there were other risk factors. In the example case, we had an ambulance which was on its way to treat a woman who had fallen a moderate height and was bleeding profusely. It was diverted to instead help a woman who had slipped and fallen and was having trouble breathing because the first was classified as urgency level B and the first as urgency level A. This is clearly an error in either the software code, configuration, or the use of the program (most likely the configuration, I would guess, but that's just speculation on my part).
The committee's decision was that moderate falls shouldn't automatically elevate to class A. In practice, the system was assuming that moderate falls always were class B. So something was going wrong with the program, its configuration, or its use.
It is correct to say that Warner issued the previous takedown notice, but it's not correct to say that they actually owned the copyright to any of the songs in the video. Warner's takedown notice was due to the Muppet version of the song "Mahna Mahna" which was published on a Muppet's Greatest Hits album released by Rhino (a Warner Subsidiary). However, Warner does not own the copyright to that recording of that song. They were just licensed to release it. The copyright is owned by the copyright holder of the original recording of that song, which is currently Disney by way of the Muppet's Holding Company. Warner almost certainly accidentally added this CD to their song database without checking the actual copyright status of it.
I had been hoping to see something come out of that, but I never saw any updates from Lessig about what happened in the long term (counter-notice or whatnot). If you look at his blog, the last update was here which reveals that it was "Mahna Mahna" which lead to the takedown notice. Given that the song was only licensed by Warner and not owned by them, I don't understand how they could issue a takedown notice without committing perjury.
Look, just because the underlying studies are terrible doesn't mean that you can't produce good research out of it. You just have to do a tranching process. You bundle together the best parts of all of the different studies into the top level tranch which is then rated AAA and sold to high end news sources like the New York Times, Washington Post, BBC, etc which have a low risk tolerance. The second level tranch contains the best parts which aren't in the AAA tranch. This will probably still be rated A and can be sold to news organizations which are willing to take on a little more risk to get a little more sensationalism. So local papers, NBC Nightly News, CNN, places like that. Now the third tranch has a few good parts from studies in it, but also has a lot of crap. It'll probably be rated C or D and can only be sold to the very bottom of the barrel news organizations who care far more for sensationalism than accuracy: New York Post, British Tabloids, MSNBC, Fox News, local TV news channels. The fourth and final tranch has all of the remaining flaws from a variety of studies. This one the authors keep for themselves.
So there you go, the perfect research derivative. What could go wrong?
During my time at CMU, I saw very little of this going on. The female students in my admission class were just as good as the guys and didn't need a lick of help (with the exception of one who got a -lot- of tutoring to make it through anything, but she got that through official department channels, not through flirting). The only time I saw it happen at all was non-majors taking CS-127, the Introduction to Programming Course in Java. Unfortunately, introductory programming is a hard course to teach well because you have to teach people who to think in a completely different way (unless, of course, they already think that way). Most universities are not good at doing that and instead wind up just weeding out the people who don't have an easy time programming. CMU was no exception. I did my best to help talk some people on my dorm floor through CS-127, but it was really tough for them because they just couldn't think about things the correct way. At this point, the CS department has revamped that whole structure, eliminating the course and replacing it with a number of different alternatives based on level of experience so that people who've nver programmed before can start with Alice rather than Java.
But I suspect that part of what's happening at Stanford is people who've never gotten a B in a course in their lives are suddenly facing a C or D in intro programming and panicking. You can't just study your way to an A in intro programming because it's not about memorizing, it's about thinking differently. You have to get it.
And really, I think it can be taught better, but it will require making some substantial changes in approach. When we see rampant cheating, we need to ask what we can change which will decrease this. Some of what we can change may be improving the nature of the instruction to students.
The whole "no women study computer science" thing isn't funny, it's just insulting. Women in CS are given a hard enough time without you belittling them too.
Okay, I can see your point. The "rec" is definitely confusing and it's one of the things I would remove from the language. It's short for recursive and is required if your definition of the function is going to make a call to the function. I've never understood why that would be required.
I really think that "let" is pretty straightforward. If you've never heard a teacher or professor say "let f equal ..." then I'm not sure where you've gotten your mathematics background.
The "match" and "with" parts seem pretty straight-forward if you understand that what happens in any of these definitions is that the value of the variable is matched against possible patterns until it matches (same thing happens in Haskell with the multiple definitions of the function), but if you're new to them, I can understand the confusion.
And _ is definitely just a magic piece of punctuation whose role is not clear to the layman. In case you're curious, it's used to match anything. You might think that it would make more sense to use something like "what's left" or something like that, but the _ really is useful when doing more complex pattern matching because you can use it inside the pattern.
So I see what you mean. But I should note that all of these things (rec, match, with, _) come from Ocaml (from which F# is immediately derived. You can write Ocaml code and add one line and F# will compile it). The differences between Ocaml and F# in the wikipedia examples is primarily a difference in coding choices rather than syntax. You could use the if-style or the match-style version of the function in either language. (Not that I'm expecting you to know that because there's nothing in the wikipedia article which indicates this.)
Anyway, thanks for answering my question.
I'm sorry. I don't understand. What is it about this that's so objectionable?
let rec factorial n =
match n with
| 0I -> 1I
| _ -> n * factorial (n - 1I)
Is it the match? We could write it using if instead if you'd prefer:
let rec factorial n = if n > 0I then n*factorial(n-1I) else 1I
Is it using I as a postfix for arbitrary precision integers? That's a little awkward but doing something like that is necessary if we're going to use successfully infer the type. I just don't understand what's so confusing about this.
Or you could just use PasswordMaker and do the same thing except instead of your own scheme, it uses a master password and a cryptographically secure hash function.
I have no mod points or else I would mod the parent up. PasswordMaker is the right solution to the password management problem. I don't understand why no one seems to use it. I should, however, note that you don't have to actually remember the options you used. They don't need to be kept secret, so you can write them down, put them on your website, whatever. Your master password obviously should be kept secret, however.
There is a helpful Firefox plug-in, but you can also get an HTML page to download which uses JavaScript to calculate the password so you can run it in situations where you can't install binaries as long as you can open local files using a relatively modern web browser. It does a cryptographic hash of your master password with a URL for the site you're using. If you want ones for something which isn't a web site, just make up your own URL-type things and enter them. For instance, if you have different passwords for different servers at work, you could use "work:wwwserver" as your URL to have a unique password for it. The only thing it doesn't handle smoothly is places which require you to change your password regularly. You can potentially handle this by generating passwords for "work:1", "work:2", ... , but that means that you have to remember the number yourself (or write it down). Again, though, as long as the master password is secure, the number wouldn't need to be secret.
Any class offering a history of science fiction should include an english translation of Rossum's Universal Robots by Karel Capek. It's short, but important. I took a Sci-Fi Fantasy class in high school, and the two stories we read which blew me away the most (and gave me the most helpful context later) were that and one of the original Conan stories by Robert E. Howard. I highly recommend including both of those.
Well, except that in this case, the extra features are just features which allow people to share files with their peers more easily. This is of use to pirates, but could be of use to others too. I know that I make my own music files and video files and like to be able to share them with the world. So, it's more like building a car with fast braking and acceleration and doors which are easy to open and close. Sure, those are all useful to bank robbers, but they're nice features for non-bank robbers too.
Now, for some of the cases we've seen, like the Grokster case, you ad copy example is right on. Clearly Grokster went out of their way to promote the idea that their product could be used for piracy and this is why the courts ruled against them (although they did so despite the fact that "promotion of piracy" was not against the law or a recognized civil tort). But there have been other cases where no evidence of intent was introduced, where the features alone were considered de facto evidence of piratical intent.
Sort of like the civil forfeiture cases where it's been argued that anyone carrying a large sum of cash must be carrying it for illicit purposes. The mere fact that a program uses a peer-to-peer model and allows people to share files with each other shouldn't lead to an automatic assumption that it's intended primarily for piracy, but in at least some cases it has.
Your selective quoting is killing me here. It's much easier to argue with what I say when you throw half of it out.
There are two different types of decisions: decisions which find certain sites to be criminal and decisions which find certain programs to be criminal. I've been talking about, and only about decisions which find certain programs to be criminal and I made that very clear in my comments (although you decided to remove those parts from your quotes). The questions of "safe harbor" for instance, are not relevant to the legality of programs because copyright law contains no safe-harbor provisions for programs, only for service providers.
You also specifically use an example, a warez tracker, where the owner of the server would be charged criminally, not the maker of the software. Thus far, BitTorrent has proven much more resistant to lawsuits because they've successfully (and accurately) cast themselves as being more of a client-server model in terms of who provides the content.
By contrast, we have had several decisions (especially outside of US courts) in which the ability of a program to be used for the sharing of arbitrary files between peers (rather than between server and client) combined with a lack of filtering in the program has been used as de-facto evidence that its primary intent is for piracy. In some cases, such as the Grokster case, this was not done, and rather evidence was introduced that the makers intended the program to be used for piracy. In those case, actions and intent are relevant, but in other case, no evidence of the software distributor's actions or intent have been offered. This has been especially true in international cases.
Instead, the simple combination of something being capable of peer-to-peer file sharing and not supporting the "filtering" that the RIAA and MPAA keep insisting can and should be done (but is not done in any existing program) is treated as evidence that piracy is the main goal. There is an immediate assumption that any program which enables end users to share amongst themselves must be used primarily for piracy. My point is that a great many programs actually meet this criteria, such as ftp, tftp, and http since it's very easy to set up both a server and a client on the same machine. As such "peer-to-peer" and "client-server" are not worthwhile technological distinctions. And yet, certain courts are treating them as if they are. This question of whether or not these programs should be treated as different sorts of programs is terribly germane to the question of whether or not there are substantial non-infringing uses, and that is precisely why I bring it up. In something like the Sony decision where they were being sued for creating the home VCR, they were allowed to argue for the non-infringing uses of the whole class of video recording devices, not just the particular VCRs they were selling. Part of their argument was that similar devices had been in use in the television industry for some while.
So the question of whether or not there's a technological distinction between "peer-to-peer" and "client-server" is in fact very relevant to these cases. And in at least some of these cases, that technical knowledge is not something which the judges have. It also may be something that they never gain, being that it perhaps too technical. This is not unique to computer science. If you look at the history of the law, judges are not capable of being experts on every field that they are asked to rule on. This is why we have expert witnesses. But it is also possible that they will gain more expertise as we have more judges joining the bench who have used it for a greater percentage of their lives. Whether or not this will impact the decisions they are making is an interesting question worth discussing. And that is all I said to begin with.
Anyway, what bugs me most about this reply, and especially, it's being modded up is this quote:
It's not quite chicken soup anyway because it's intentionally a question. There's no reason to believe that it necessarily will get better if and when they understand the technology better. It's merely a possibility.
But frankly, no, they don't understand the technology. They get the basics of how it works, but they don't understand the ways in which it is similar or different from other technology. Having read a lot of the decisions, I've yet to see one which says, "Well, this can be used for infringement, but technologically, it's no different from other programs which are not used for infringement". There's a failure to recognize that many of the distinctions they're drawing separate how programs have been used rather than how they're designed.
To use a metaphor, if some particular car brand became a favorite of bank robbers, it would be ridiculous to go after the makers of that car. And yet the makers of software are being hauled into court based on the actions of their users, whether or not the software is designed specifically to be helpful in illegal acts. The bar for "contributory infringement" has been set very low in many cases, especially outside of the United States, this Brazilian case, for instance.
Now, of course, not all of these cases have been about the software. Many of them have hinged on the operation of servers which host or index pirated content. That's a pretty easy legal distinction to make.
But in at least some of the cases, the logic being applied is that the software is useful for piracy. Certainly that's been what's been behind the decision to ban "peer-to-peer software" on a lot of private networks. And yet, this same logic isn't applied to other technologies which have also been used for piracy like ftp, tftp, newsgroups or http.
The judges aren't idiots. They have a basic understand of what's going on and how these programs work, but they don't have a deep understanding of how the internet actual works. If they did, at least some of the decisions would have to be written quite differently. Whether or not this would have any impact on the conclusions is not clear.
Firefox gets used for piracy a lot too. Why not ban it?
I'm not really clear why the courts have been treating peer to peer software as different from client-server software. My best guess is that in a client-server model, they see the server as being responsible for the illegal content, but in the peer-to-peer model, they blame the software for the illegal content. Really, this doesn't make a bit of sense, especially in light of the fact that there is no technical distinction in any TCP/IP protocols which differentials which computers are "servers" from which are "clients" or "peers". It's just a model of network interaction which exists in the minds of the software developers and users.
I'm curious if this will change if and when judges understand the underlying technology better.
Not all public key cryptography is built on the assumption that P != NP, just most of what's in popular use. There has to be some assumption about what's easy and what's hard, but there does exist cryptography where they assume that E is easy and NE is hard. You could also make assumptions like "O(n^2) is easy, O(n^100) is hard". If you could find a trapdoor function which is O(n^2) to compute and O(n^100) to reverse, even though they are both polynomial, you can chose a key length which makes things computationally infeasible or at least guarantees that something won't be cracked for some chosen number of years (using Moore's law to estimate future computing power available).
First off, there are cryptographic protocols which don't involve one-way-functions. Consider one-time-pad, for example.
Secondly, the bigger mistake you're making here is presuming that a lack of absolute security is a lack of security. Security isn't a binary predicate: something that you have or don't have. You could just as easily argue that you don't have any security because there are human being who run the programs and control authorization and human beings are fallible. Really, the lack of cryptographic primitives which can be proven secure without any assumptions (other than one time pad) is one reason why there's no such thing as absolute security. Other reasons are human fallibility and the impossibility of tamper-proofing.
These don't mean that there is no such thing as security, it just means that security isn't an absolute. Security is about risk mitigation. A proper security analysis looks at the likelihood of different things happening and the cost to the system if those things do happen and uses this to calculate an estimated risk (as best as we can). The goal of security is to minimize the risks. The goal is not to eliminate all risks because eliminating all risks is not possible.
Did you read your own link?
It's not really definitive evidence when the page itself says that it's possible that they don't own it. If you really want to understand the copyright status, you should read Robert Brauneis's article about it. He concludes that it isn't entirely clear that the Hill sisters wrote the Happy Birthday lyrics, that the 1935 publication of the song did not credit them as having written the song, and that no one properly renewed the copyright (as was required by the law at the time). As such, his conclusion is that the lyrics are currently in the public domain.