You can't reasonably support free speech in all instances, just like you can't reasonably support an "open internet" in all instances. There have to be some exceptions.
It's the listing of those exceptions and how you deal with them that's the tricky bit. So saying "I support an open internet" is just ignoring the issue.
My list of what should be legally restricted in its availability is as follows:
1) Child pornography
End list.
National security is not enough of a reason for restrictions. Copyright is not enough of a reason. Further, the assumption that corporations or governments have exclusive moral authority to determine what constitutes impermissible material is, frankly, ridiculous. Giving them the authority to make such decisions is destructive, to both freedom and economy.
Obviously this is an extremely touchy subject, but I think the fact you have even one exception shows you are not grasping the problem here.
So in your country, "Child" may mean <18, while on the other side of the world, it's <21, or maybe even <16.
Even more troubling, the clothes that many teenagers choose to wear in many western countries are clearly considered pornographic in nature in other more conservative countries.
It just makes no sense to say "There are no exceptions. Except this one, that can be interpreted in hundreds of different ways". Once you leave it for interpretation, the scope will expand and expand until children are being listed as sex offenders for taking photos of themselves.
> Obviously this is an extremely touchy subject, but I think the fact you have even one exception shows you are not grasping the problem here.
Or we are discussing two different things, which is completely my doing.
I was thinking of speech in the constitutional sense; I was not speaking of domain seizures. I completely agree that the government/corporations should not have the power to seize domains under any circumstances.
(Although eminent domain might be an interesting angle to consider, although that is another beast entirely.)
grecy wrote in response to our common parent comment:
> > I was thinking of speech in the constitutional sense
> Remember, many countries don't have a constitution and don't care for yours.
For some reason I can't see a reply link under hir answer, so I'll just leave this here:
Constitution is neither the only one, nor the most effective assertion of unalienable freedoms. Since the aftermath of WW2 there have been many Charters, Conventions and Declarations of all sorts, many of them accepted ("ratified") by many countries alongside their local laws.
Just for future reference about "For some reason I can't see a reply link under hir answer".
I believe that the deeper a thread is, the longer it takes for a reply link to appear on a comment. This is to prevent endless flamewars, which immediate replies facilitate.
It is not well defined what "porn" is. In my country it is, as far as I know, perfectly legal to distribute photos of nude children, as long as they are not engaged in a "sexual act". cf. the art of David Hamilton.
This will most likely result in heavy downvotes, but I don't think child pornography is a problem. At all. There's something else we should be fighting, and the Internet has nothing to do with it: child abuse.
I also find it highly ridiculous that politicians (at least here in Germany) still spout crap about "international, millions of dollar heavy child porn rings" or similar nonsense.
I'd wager[1] that most child pornography is either a) documented domestic abuse of children by relatives or b) jailbait (ie, suggestive or explicit pictures of legally underage, but physically mature persons).
For the former, we're fighting a symptom. As I said, we need to fight the cause, child abuse. But there's a problem with that: it's a long term process, and a difficult one at that. Demanding the takedown of websites with child pornography works way better to get yourself elected.
For the latter, I'd go as far as to ask the following: who is hurt by people with a paraphilia involving underage persons[2] masturbating to images? Especially if those images were made in consent with or even by the person depicted?
[1] This is another thing about the entire child porn discussion: you can't confirm anything without getting yourself in all sorts of legal trouble. There was a good example of this here in Germany a while back, see https://en.wikipedia.org/wiki/Joerg_Tauss
[2] I'm putting it this way because Pedophilia isn't the only such paraphilia, even though the term is often used to mean "attracted to underage persons", which is very wrong.
In the case of child pornography, banning the site really shouldn't be the whole solution anyway. They need to co-operate with law enforcement in those countries and arrest the people involved. Taking down their website domain won't do anything to deter the child pornographers.
This is why I believe the banning of child pornography sites is mostly used as an excuse to show "proof of concept censoring" and then use it to expand it to other stuff like copyright. This is why RIAA and MPAA love to use it as example that it's possible to censor them.
Child porn is how .au passed their censorship stuff and it has quickly expanded. Child porn is already illegal and, in my opinion, doesn't need deep cutting censorship bills to combat.
Understood and agreed. Existing statues on child porn are sufficient, and given the tendencies for governments and corporations to expand their abilities at the expense of the people, I would support no new laws, and would be suspicious were any proposed in my country.
Honest question, is it illegal everywhere? I'm just taking a stab in the dark that there are societies somewhere in this world that either haven't established laws or are terribly enforced if they do exist. Playing devils advocate what if a child porn site is hosted in that area, then what? I realize that the situation is unlikely but if it's possible wouldn't there need to be a way to handle it?
Politicians tried that line in Germany. They even gave a number of countries that have "no laws" or don't follow up on them.
For every country named, the ambassador to Germany was able to cite laws that prohibit child pornography (or just porn, eg. in countries with sharia law). In all cases, they stated interest in enforcement by their governments, too.
Given that they tried a couple of times, and failed just as often, I'll assume that no such country exists - otherwise some advisor to our local propagandists would have found and presented it on the second or third try.
Not too long ago in human history (and even today in some places and with some different forms) it was customary for young boys to orally pleasure old men, or wed off girls before or at puberty. Playing more devil's advocate, the only thing that should really be illegal is exploiting children when they can be shown to be incapable of sound personal choices. (So covering both child porn and Britney-Spears-pattern Disney stars at once.) Now we just have to worry about where we draw the line at exploitation and whether potential monetary or status gain is important or not. The main point though is the act has already occurred by the time some pedo sees it on a tor page, and I don't think it's ever been shown that pedo-consumers are much more likely to become pedo-producers if they weren't already. (Someone please correct my belief if that's not the case, and then explain Japan.) Of course, catching either the consumers or producers is fairly difficult without draconian, invasive practices, and on the producers side it reduces to the classic problem of domestic abuse.
I don't want to see any more young teenagers branded as sex offenders, a label they'll have to wear for the rest of their life, because they sent naked pics of themselves from their phone to a friend of theirs that's the same age.
I don't want to see parents being run through the legal system because they've got some pictures of their baby that happens to be naked.
I don't want to see someone being thrown in jail because they have some kind of manga which, under a broad definition, would qualify as this even though no actual children are involved.
Anything that involves abuse, pornographic or otherwise, should be what the laws focus on regardless of the age of the subjects.
If it was merely "child pornography" that could get your site taken down, then the first idiot teenager to post a topless shot of herself or a guy posting his junk, which you have to admit is disappointingly common, would get your site blown off the internet permanently.
With SOPA in place, Chatroulette, or anything like it, would never have happened at all.
If you're saying what I think you're saying, then I agree. There's no reason to block domains where cp has been posted. Rather, work with the owners to track down the perpetrators. If the owners won't work with you and are willing enablers, then seize their servers and traffic records and go after the perpetrators yourselves.
Censorship just stops people from seeing the content; it doesn't deal with any of the root issues.
That's a terrible idea. So if someone hacks my site and installs malware, my site should be taken down by the Government?
There are anti-viruses, browser plugins, and even the browsers themselves protect you from stuff like that. You don't need the Government itself to do it, and they wouldn't be any more effective anyway. They would just abuse the power.
Even those websites should be allowed. Should we provide counter measures to help the user decide of a website is legitimate or not, absolutely, but their right to exist shouldn't be tampered with.
So if a company starts infringing trademarks, polluting search engines en masse, tricking people into buying their rubbish, phishing their details, getting credit card details etc, you'd be fine with that?
What about people who DDoS attack you? Is that fine? No need to have any recourse there?
How about those that hack DNS to dupe people into visiting their site etc
Those are all "Open Internet", but they're also not very nice.
I don't think it's as clear cut as some make it.
I don't know if SOPA gets it right or wrong, or if the current laws are sufficient, but I'm glad we have some of those laws in place to make the internet a slightly nicer place.
Those things are already illegal and SOPA doesn't address them anyway. I think the important point is that the internet should not be restricted in an attempt to preempt any criminal activity (because it won't work). Instead, the internet should be left alone, and those who choose to do illegal things on the internet should be prosecuted.
"So if a company starts infringing trademarks, polluting search engines en masse, tricking people into buying their rubbish"
eBay? also, already illegal based on trademarks, copyright, etc etc.
"What about people who DDoS attack you? Is that fine? No need to have any recourse there?" "How about those that hack DNS to dupe people into visiting their site etc"
already illegal
--------------
from my understanding, SOPA is more about removing due process than making bad things illegal
So, how SOPA makes anything better?
You cannot blacklist a botnet, right?
You cannot blacklist a scummer, as he would just setup another domain, right?
Who you can very well blacklist is a small guy with his blog giving a honest opinion about reality, right?
Here, you're saying you don't know whether to support the warrentless censorship of websites you disagree with. Why are you saying two different things?
To me, Open Internet is the same as an open city. SOPA is like going into a city and shutting down a street corner because someone was heard quoting passages from a book or giving away pirated movies. It's ridiculous. Instead of closing down the website (the street corner) close down the people behind the site.
The US, instead of enacting laws that restrict movement, needs to put into place laws that make copyright infringement illegal. Oh wait, they already have them.
In short, go after the people not the domain. I want to be able to walk around the internet the same way I can walk around a city. If there are seedy places online then it is my choice to avoid them and not the governments right to simply declare them quarantined or off limits.
Its a networking issue, not a legal or political issue. Big Media has decided to go to the mat to defend their dying business model at the expense of the Open Internet by lobbying for legislation like this.
If you want to make the Internet safer, more secure, better for commerce, more accepting of DRM, whatever, then let's take that up as a technical discussion and figure out how to amend the infrastructure so that it continues to work. Hiving off slabs of address space and putting them under the control of national legislatures is the fastest and most direct way to ensure that the entire network stops working real quick.
Please can we at least try to ensure HN doesn't go the way of Reddit?
I'm against SOPA as much as the next guy, but it's a moot issue. Browsers will just release new versions that use alternate DNS systems or get past any 'blocks'.
There's nothing uglier than an internet hate/protest mob.
To say it's a moot issue because there are technical work arounds is pretty naive. I seriously doubt any major browser would ship with a work around to this...I don't know why you assume they would.
This sentiment is exactly the root of the problem. If "the sky started falling" at exactly the moment when governments erected police states or attained excessive powers then they would be blocked from having those powers.
Instead, these things tend to be two stage processes. In stage 1 the government attains new powers in order to further some generally positive goal. However, in stage 2 the lack of safeguards on that power leads to abuse and excess but by then it's already too late to easily roll back or block that power.
If we wait until the sky is falling then we will have waited too long. We need to ensure that personal liberties have strong protections, both offline and on. Failing to do so won't lead to immediate disaster but it will lead to making it nearly impossible to stop a disaster as it's happening.
It helps raise awareness and reach others who are not HN and Reddit regulars too and by extension reach others several degrees out. That's the first step in affecting change i.e. educating others and getting the word out. If you don't attempt to do this, nothing will happen. Its not a waste. A waste is exactly what you suggest, sitting idle while shit happens and you choose not to do anything simply because you feel its a "waste". That's ignorance at its best.
A world without Youtube, Flickr, Etsy, and Vimeo. Plus the suppression of future innovative startups, all at the behest of dying media companies grasping for control.
If you think SOPA is a moot issue, you aren't paying attention.
"""I'm against SOPA as much as the next guy, but it's a moot issue. Browsers will just release new versions that use alternate DNS systems or get past any 'blocks'."""
I really can't stand this kind of stance.
Technical workarounds are NOT AN ANSWER to law/political problems.
At best, they are a kludge.
At worst, they get illegal, and some people end up in jail.
It's nice to have them, but only as a last refuge.
The number one priority is to have a sensible legal/political system, not to work around it.
The claim that everyone has a profiler, debugger and REPL is blatantly false. Only a subset of commonly available desktop browsers include those features, and out of those, only recent versions do. Mobile web browsers don't include any development or debugging tools.
The cost of installing Visual Studio or Eclipse is pretty small considering that you only have to do it once. Compare that with the cost a newbie programmer pays every time they use the comparison operator or the arithmetic operator and they now have to consult their reference text to figure out what the operator is going to do and whether they're using the right operator.
If your goal is to lead someone into a lifetime of programming and help them enjoy it, choosing a language in order to avoid a pesky 15 minute setup cost for a compiler is tremendously short-sighted.
> Mobile web browsers don't include any development or
debugging tools.
LOL. Great point. /sarcasm
> The cost of installing Visual Studio or Eclipse is
pretty small considering that you only have to do it
once.
Boom. That's all it takes to create a barrier of entry. Not everyone has permissions to install whatever they want on the computer they're using.
Then you get into issues with multiple operating systems. Windows does it one way and Linux and OSX does it another way. Also, the tools you've mentioned are always changing. Will it be the same in a year or two?
And for what? So you don't confuse an extra set of comparison operators? Javascript is not that bad.
Boom. That's all it takes to create a barrier of entry. Not everyone has permissions to install whatever they want on the computer they're using.
Then you get into issues with multiple operating systems. Windows does it one way and Linux and OSX does it another way. Also, the tools you've mentioned are always changing. Will it be the same in a year or two?
But won't they need to install an editor anyways? Or are they just going to use notepad? That will be a horrible experience.
And JS is changing too. None of the languages change so drastically that it's not just something simple to incrementally learn. And I think getting students used to the fact that things change isn't a bad thing. But also let them know that typically backwards compat isn't broken with these changes.
With that said I'm a big fan of JS as a first language. I'd probably spend the first day with them using notepad or vi (or whatever is natively installed on the system) -- and then have them install some nice IDE of my choosing.
I'm all for vim, but you're mad if you think first-time coders should pick that up before even writing their first piece of code. Talk about barriers to entry and unintuitive behaviors...
I think the most viable environments for absolute beginners will be online ones that include an REPL and editor, using either JS or something that compiles to JS or to anything else on the backend, so even browser choice is irrelevant. Then you don't have to teach how to load a JS file into a document and so on.
Khan Academy is a training/teaching company. I don't think it's a leap to assume they will be providing online tools to write code with (eg http://c9.io/).
I would find it hard to believe that even a significant minority of users who would have any remote or even fleeting interest in programming anything would have a mobile web browser as their only choice. You'd be hard pressed to find someone who has a smartphone or tablet but not a computer.
I struggle with this mindset. It probably makes sense for Khan Academy, but this industry (software development) needs fewer people who refuse to learn anything unless all obstacles are removed and the information is spoon fed.
I find your statement to be amusing considering a lot of the anti-JS comments on this thread are about how unwieldy it is as a language. Of course, your critique and those complaints are two different things. You are criticizing that people are too coddled about having an accessible environment to program in. The complaints are that JS is too unfriendly and muddled, and so does not coddle beginners enough!
Installing the required tools to use a programming language is a very different kind of challenge than learning the ins and outs of a programming language with lots of gotchas.
When you work as a software engineer, you're expected to be able to install and operate just about any programming environment out there, so you might as well get used to it. Installing any of the big popular programming environments is pretty trivial, Eclipse, Visual studio, Racket scheme, Ubuntu and even the Haskell platform all come with a graphical installer and a comprehensive manual. Learning a new skill is not needed.
Now learning JavaScript wtf's is something entirely different. Stumbling upon one of these issues mentioned in the article while trying to learn to code is very difficult and disheartening.
Once someone has decided that they absolutely want to learn everything there is to know about programming and have decided that they love it, yes, there's no point in spoon feeding. But so many of us stumble into what later ends up being our career or passion, and so our first encounter with any type of activity is almost always "hey, let's see if this is something for me." As a society, we need more programmers and scientists and mathematicians, so best make sure that we make that first impression a good one.
Right the technical stack has become daunting to the point that many cannot get the feedback so needed early on. Now days you either advanced with the technology, or you spent a significant investment of time to learn the trade with the intent of entering the field. The days of the hobbyist programmer have seen their peek until that changes.
This is an eminently solvable problem. There are excellent open source IDEs and toolchains available that can be repackaged in any way, shape, or form.
Double click an installer, and boom - everything's set up.
That's just logical and obvious, since "+" is both numerical addition, and string concatenation, but "-" is only numerical subtraction, and the '5' starts out as a string.
Every language has 'gotchas'. Doesn't really matter which you pick to learn first at all. The more important thing is that you don't give up. possibly there are languages that just make people want to give up, but I'd say perhaps they're not motivated enough to learn if that's the case.
I started out on BASIC, and after a while I decided it was a piece of shit language and learnt assembly. But it taught me programming which is what I wanted to learn. I'm really glad I learnt BASIC first... essentially I learnt to swim really fast through syrup, and then switched to swimming in water.
The good thing about javascript as a first language is that people can be programming in it immediately, in their browser. They have a built in REPL to help them, as well as a debugger, profiler, etc. They have numerous docs to look at, and if they go to any website they can check the source to see how it works. That's a big win.
Calling your example logical and obvious is only logical and obvious if you're completely trapped within the JS mindset. It's the same as how people defend the absurd semantics of Visual Basic and PHP. It's fine if you like it, but to claim that it's objectively okay is just not supported by fact.
It's also worth considering that even if every language has 'gotchas', some of them have far worse gotchas than others. It is worthwhile to choose a starting language that teaches the fewest bad habits and the fewest bizarre rules so that people can easily learn new languages.
Your ideas about what is "logical" are completely arbitrary. Look, I can make up rules too:
* '5' - 3 should return '5', since it's the string '5' minus all the instances of the character '3' in it. There is no other logical outcome!
* '5' - 3 should return an empty string, since it's the string '5' with the last three characters removed. There is no other logical outcome!
* '5' - 3 should return '2' -- since we started with a string, the result should turn back into a string. There is no other logical outcome!
* '5' - 3 should return 50, since the only logical way to do math on a character is to take the UTF-8/ASCII value of it and then do the math. There is no other logical outcome!
* '5' - 3 should return undefined, since subtracting from a string typically doesn't produce a reasonable result. There is no other logical outcome!
You have provided absolutely no rational basis for discriminating between the merits of these choices, so your claim that Javascript's choice is one of exactly two "logical" ones is bizarre. If you think Javascript's choice is better, give a reason why it's better, don't just say that it's better.
The time wasted learning the quirky semantics and special rules covering each operator and data type in JavaScript could be better spent learning to reason about algorithms and data structures in a less confusing language. Not all learning is equal, and not all challenges are exactly the same.
The claim that by hindering a newbie programmer's attempts to express themselves will make them more effective in a better language is ridiculous. Even if it's true, it's missing the point - your goal when teaching newbie programmers should be to teach them good habits and generally applicable skills, and most importantly, you want them to love programming.
Having to memorize arcane minutiae and spend tons of time debugging problems caused by stupid design decisions is not going to make people love programming. JavaScript is tremendously accessible by virtue of its ubiquity, but that does NOT implicitly make it a good language for learning to program. Its numerous flaws and divergent implementations will drive away beginning programmers that might otherwise learn to love programming if presented with a better environment.
It's logical and obvious if you already know the language; otherwise, it's perverse. I had to read your comment (the initial edit of it) twice to be sure you weren't being sarcastic.
You're looking at the wrong side of it. The subtraction does behave in a perfectly logical manner. The problem is that, given the the behavior of the subtraction operator, the addition operator's actions are illogical. Specifically, I'd argue it's perverse because it breaks commutativity:
'5' + 3 - 3 != '5' - 3 + 3
The logical approach would be to only assume that '+' is a string concatenation if both operands are strings and otherwise type coerce into numbers. Then:
'5' + 3 = 8
'5' - 3 = 2
To someone who doesn't code Javascript for a living, the above seems like a far more consistent and useful behavior.
I'd expect "hello" - 1 to return NaN, since you can't perform numerical subtraction on something that isn't a number. That's exactly what Javascript does.
In the same way, I'd expect "hello" + 1 to return Nan, since you can't perform string concatenation on something that isn't a string, and you can't perform numerical addition on something that isn't a number.
I would expect 'hello' + 1 to throw an exception. I would similarly expect '5' - 3 to throw an exception. Why? Because you can't add a string to an integer, and nor can you subtract an integer from a string. Doing anything else is arbitrary and unpredictable, IMO, leading to subtle type errors. You want to find type errors early as possible, rather than letting bogus values flow through the program.
I think Javascript is broken here, and Python has it right.
That's definitely not obvious. Some people think in patterns or generalizations.
String [binary_operator] Number = String
String [binary_operator] Number = Number
That's just begging for further explanation.
Explaining JavaScript is probably more challenging than say Java. Java has many keywords and usages, but when it comes to explaining the concept of those keywords/semantics to students, it may be a little bit less confusing.
Left hand side is a string, and "+" is string concatenation as well as addition. So '5' + 3 = '53' (String concatenation). Just as "Hello" + 1 would equal "Hello1". The right hand side is converted to a string.
Left hand side is a string, but "-" is subtraction for numbers. JS converts the '5' to a number, then subtracts. So '5' - 3 = 2 (Numerical subtraction).
That's the explanation, and it's not terribly hard to get past.
You picked one of a dozen or more examples from one list of problems with JavaScript. Of course this particular example can be understood by those of us who already have programming experience. JavaScript's type coercion is likely to be a big stumbling block for many beginners and Resig specifically points this out.
I hate behavior myself, though it's probably because I learned Perl first, where there's a separate string concatenation operator ("." in perl5, "_" in perl6). I do wish javascript had that same separation so that "+" was always addition and not sometimes string concatenation.
The difference is that with a stream of websocket messages every so often you need to deal with the framing. With a stream of bytes you don't. This precludes the use case that was the basis of the argument for 63 byte messages if you ever have to 'stream' a 'message' that needs to be longer... Sure you can send it as multiple fragments but then you can't do the 'here's a file handle, read the stream' thing that was proposed.
I've always wondered. On the one side you get the naysayers who don't think Twitter is significantly monetizable at all.
On the other side you've got the people who think the Firehose is the greatest thing since sliced bread and is pretty much a golden ticket.
I don't think I get Twitter - I've never found the service to be at all useful, and I find the 140-char limit quaint and out of touch with how users want to use the service (see: URL shorteners, tweet expanders, Twitter-speak shorthand, etc). However, I am willing to accept that there's a social network I totally don't get that nevertheless rakes in some serious money (like WoW!)
But what exactly is the value of Twitter's data? Unlike Facebook, Twitter doesn't even remotely approach having a representative sample of the population. My parents are on Facebook, my uncles and aunts are on Facebook, along with everyone from my generation - Facebook has meaningful demographic data. What data does Twitter have that isn't almost exclusively limited to "young, urban, tech-savvy"?
As a marketer or data miner, what is so good about Twitter's data that would compel me to pay The Big Bucks(tm) for such a feed? Maybe I'm missing something, but it seems like Twitter's biggest proponents believe that the company can justify a multi-billion dollar valuation by providing glimpses into the thoughts of a tiny sliver of the population at large.
More of my immediate family is on Twitter than on Facebook.
I have no idea what value the Twitter data feed has, but the value proposition of the service is compelling: reach interested people with minimal effort, build follower relationships to retain them.
My butcher, for instance, periodically twerps when he's got some oddball piece of beef to offload.
I used Twitter to enroll multiple cryptography classes. I had plans to use Facebook and email as well, but the response I got from a couple twerps filled my classes.
ChiSec, our local meetup for infosec people in Chicago, is scheduled and promoted entirely through Twitter. I use Crowdbooster's scheduled-twerp feature to post consistent reminders. It's miraculously effective.
This "people only use it to track celebrities" thing is a load of crap. Just as many celebs brag about their Facebook likes, but nobody says people go to Facebook for the celebs. The fact is that Twitter has a different, lower-drag interaction model than Facebook (which requires me to decide whether someone I want to talk to gets to see my kid's pictures). It's better optimized to broadcasting than Facebook is.
I'm not an expert on this but here's my hypothesis. People seem to use twitter for interacting with the outside world: celebs, political causes, trends, memes, etc. People use Facebook for interacting with their friends. Could it be that twitter's data is easier to mine for useful marketing information because people make tend to make more explicit connections to brands, causes etc?
I don't see how it matters whether they have a representative sample or not, it just reduces the potential market for their data, it doesn't invalidate it completely.
Twitter data is real-time + are mostly status updates which are usually indicative of intent or state of mind of a person. Besides lead generation, Twitter paints a different facet of a person where instead of social relationship (FB) its more of interests and current needs/intent. All these characteristics are great for marketers.