skysight-inc/HackerNews huggingface dataset:
Remember, a central idea in the Constitution is a balance of power, often called "a system of checks and balances". Much like the 2nd Amendment, the jury system is partly about preventing the government from taking too much power from the people. Deciding if a law was broken is part of it, true, but there are other aspects. For example one of the reasons for the jury is to decide if mitigating circumstances or evidence are valid enough that a violation of the letter of the law is still acceptable. A bad or unjust law is definitely a mitigating circumstance.

You frequently see people put behind bars or otherwise punished for absurd violations of absurd laws, which even the members of the jury find stupid, because they are told that their opinion of the law doesn't count, even when the law is obviously being applied in an unfair or power grabbing way. Jury nullification is a powerful tool against such abuse and absurdity.

Finally, look into the tenets of the common law system, upon which the US legal system is built. It is surprisingly enlightening, and will probably piss you off a bit at how things are currently being done (alternately, that we having fully purged it depending on your base mindset I guess :) ).
> Also if jury nullification is important to the defendant's case then it would be the job of their attorney to make sure the jury is aware of that choice.

They're not allowed to inform you in most states, as I understand it. I think, however, that there are one or two states which are exceptions in that regard and say something about jurors having the final say in their jury instructions, but it's been quite a while since I've read up on this.
Agree, Server Sent Events is an incredibly simple API, has none of the problems with proxies, security and complexity that websockets has run into and is perfect for the typical case where Ajax is fine for sending events to the server, but you need a way to stream events in the other direction.

I just launched the beta of a small service for making Server Sent Events painless at http://eventsourcehq.com

It's currently only available for members of Heroku's beta program, but I plan on launching it as a stand alone service as well. In any case all the code behind it available on Github...
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.
To rephrase, we found that most logic in our app was view/event/interaction-related, and we found that keeping that stuff in the views made more sense for us.
http://stylate.com/
Forming a new software startup, how do I allocate ownership fairly?
I can't dispute the author's concession that falling 90% against the dollar in a short period of time is a sign of an unstable currency.

On the other hand, I most heartily dispute the author's assertion that rising 90% against the dollar in a month is a sign of a stable currency.
(note, I am not a lawyer)

I've dealt with this exact issue before, although through US law and not UK law. One thing I found is that a lot of places who have trademarks have to send out notices like this in order to maintain their ownership of the trademark.

That said, it's hard to get context on this with the information you've given us. Did this message come from a lawyer, or just an executive working there? A name change can kill a company, and the burden is likely on them to demonstrate that you are directly impacting them, which is hard to say without knowing anything about them. Do you think they have the resources to bring an infringement suit on you?

Trademark infringement can be hard to establish. A quick example: in the US, there are over 30 trademarks on the letters "AMD", for all kinds of different purposes. Trademarks are more than just a name, an infringement has to meet multiple standards.

I would look at the law on the books (in the US it's at uspto.gov, I don't know about the UK) and proceed from there.
To be fair, WordPad (Windows) and TextEdit (Mac) do come bundled with the OS and are perfectly usable as word processors (RTF style).

I'm not saying that they approach the feature set of MS Office, OpenOffice, LibreOffice or iWork, but for writing a letter or two they are perfectly reasonable.
Collective Artificial Intelligence Thesis Recap
In the opinion of a court, which would rather not recognize the concept at all. Courts hold a dim opinion of jury nullification, going so far as to legally sanction mentions of it in a courtroom, and to provide "instructions" to the jury that try to expressly prohibit them from considering anything other than whether the facts of the case meet the law as explained to them. Even hinting that you might understand the concept will get you thrown off a jury. In some cases, bringing up the concept during jury deliberations will result in a mistrial.

Personally, I like the way the state of Oregon handles the issue. Quoting the Oregon constitution, article I, section 16: "In all criminal cases whatever, the jury shall have the right to determine the law, and the facts under the direction of the Court as to the law, and the right of new trial". That said, I don't know whether in practice Oregon courts do any better about not censuring jury nullification.
I'm sorry to be off topic, but are those slow cookers cooking PG's recipe in the first picture?
No, you're both wrong! It's a defense against injustice and it's a side effect of having trials by an independent jury of ordinary citizens!
> Why not start from a language that teaches the basics of the common programming paradigms, such as OOP (Java) or FP (Scheme)?

Because that stuff is boring and it drives away a bunch of people who might really get in to programming if there wasn't a huge gap between "just starting" and "doing anything remotely cool".

I for one would not have become a developer if my first experience with programming was a typical "CS101: Let's spend 3 months learning about loops" class, which unfortunately is many students first introduction. This class alone probably drives away half of the people who were interested in programming enough to take the class in the first place, which I find disturbing.

I spent a bunch of my free time as a kid making (really bad) web pages, (really bad) Javascript, and (really bad) PHP. Did I understand OOP, or how/why it's different than FP? Heck no. It wasn't until years later that I even took a programming course. But by the time I was ready to learn solid programming fundamentals, I'd already been bitten by the programming bug.

If I had to guess, I'd say this class is more about getting people interested in programming than it is intended to teach everything you Should Know. IMO, that's what a beginner course on any heavy material should be anyway.
Wikipedia and cynicalkane aren't conflicting. cynicalkane is making a claim about why nullification exists. (It is impossible to prohibit nullification without also giving courts the power to ignore jury decisions based on what they think is in the jurors' heads.) Wikipedia is making a claim about the effect of nullification. (Nullification can effectively repeal laws, a very powerful consequence.)
I have to agree. BASIC is a far better option. It will obviously never be used for anything, but it will teach the student basic concepts like output, input, variables, etc.

These are not simple concepts for somebody starting from zero!
If I worked for the music or entertainment industry, then the act, as described http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act would be very attractive.

I'm sure HBO, and all of its employees, and their families, would appreciate being able to somehow DNS blackhole all the search engines leading to torrents of the content they try and sell for $18/month on digital cable, or $85/Season for DVDs.

If you are Adele, or one of the tens of thousands of artists like her (or their families, or the people that provide services to them) - don't you think you'd like to DNS blackhole, and remove from every search engine of note, http://mp3skull.com/mp3/someone_like_you_adele.html starting today?

The Global entertainment industry is worth 100s of billions of dollars, much of it created in the United States - SOPA is an attempt, however ham handed, at protecting that industry.

I'm curious, dos1 - how would you protect rights holders? I don't have any good answers, but perhaps you do.
Very similar to "The Things He Carried" by The Atlantic back in 2008. Bruce Schneier shows how worthless the TSA is.

http://www.theatlantic.com/magazine/archive/2008/11/the-thin...
I have argued JS as an intro language for years. My main argument has been not based on language features which I feel are unimportant in forming a young programmers mind but rather in the complete lack of barriers to getting started.

Take for instance python( my personal language). At a minimum you need python installed on the computer. Then you need to deal with issues such as the PATH and PYTHON_PATH. Also you have to understand package naming and import scheme.

With JS you only need a .html text file on the desktop.

Write code, save, double click, results. It is something that anyone who has even seen a computer can understand.

Particularly if the student has not had much experience in computers in general, things like paths, imports, file system knowledge and command line interfaces can be a barrier to learning code. You will eventually need to learn all of the things above to be a programmer but why bore a child or teenager with the details of a file system or command line when you could be showing them how to code animations on a web page.

I will admit, that struggling with run time environment, compilers and class path issues made me into better engineer sooner, but I already had a passion for what I was doing.
To me this sounds - a litte - overengineered.

To do more than 99.9% of the companies out there it would be enough to just send generic follow up autoresponders based on sign up date. Email them on day 0, 1, 3, 7, 11, 14 ... etc.

You can do this with AWeber, Mailchimp, Getresponse and a dozen other services.

Just tell the customer what he can do with your service and
ask a lot of questions: "Have you tried this?", "Did you know you can...", "How can we help?". Use the feedback you already have to come up with ideas for content. Point them to a lot of your help and learning resources. In each email tell them you are really interested in their feedback and give an easy option to contact you. Then read the feedback as it comes in - like manually reading, with your eyes ;-) - and respond promptly and indvidually.

Setting his up takes a day or two - and mostly consists of coming up with ideas for the content. After having this running for a few weeks you might come to the conclusion that you don't need a complicated machine learning, metrics based system :-)

I've written about this in another context earlier this year, basically about how we handle the trial period:
http://news.ycombinator.com/item?id=2979048

TL;DR: "Eighty percent of success is showing up." (Woody Allen)
He did talk about making "public knowledge accessible in the future".

Yes, but the conclusion does not follow from this goal.

There's no reason that an open format will be readable in the future. If I define some document format, build an application that reads/writes it, and publish it to github with GPL licensing, then in all likelihood it will be forgotten completely in a decade. My inability to gain users will ensure that it withers.

On the other hand, even if the .DOC and .XLS files made by Microsoft are proprietary, they've been reverse-engineered and are well-understood; the .DOCX and .XLSX file formats are even documented. Because they're so universally used, out of necessity, someone in the future will be thinking about how to read those old files.

So being open might make it more likely that something obscure will be readable in the future. But I don't think it's nearly so strong a likelihood as what demand from an army of users of proprietary software will lead to.
Karan from the locations team at Facebook posted a response on Reddit. He said:

"""
I am an engineer at Facebook working on the Locations team. We use the text entered in the location field of the album by the album owner and match it to the best guess for an existing Facebook Page using text matching. The popularity of the place is also used to rank the suggested places.
"""

http://www.reddit.com/r/WTF/comments/nkktm/facebook_is_reall...

(I work at Facebook, not on locations/photos.)
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.
Ask HN: Recommend an easy audio sharing site?
I'd like a bunch of different people in different countries with different equipment to record short voice messages for me, and upload those to a website. It'd be great if I could then download the sounds.

Does anyone on HN know a suitable site? Are you involved with such a product?
Same here. Too bad.
NaN !== NaN

Apart from that, I agree.
Awesome post Paul. We've been thinking quite a bit about this at Mailgun.

As usual, we default to giving developers more tools to help build this. We are rolling out some exciting stuff early in the new year to make this a lot easier.
No, we (Betabeat and I) totally welcome feedback in any form--criticism, questions, concerns, etc. Have at us!

We usually change the headlines from paper to blog and from the blog to Hacker News only because the paper ones tend to be more opaque and literary and it seems like HN readers like it a little more straight-forward, so they know what to expect when they click on it. I've noticed other submissions doing that too, although maybe it's not the norm?

Stanford was taken aback by the unusual penalties in the contract and the negotiating stance of the city. Cornell says it was par for the course, but other NYC institutions agreed with Stanford.

I totally hear you about reintroducing issues people familiar with the backstory are already well-versed with, it's something we wouldn't do in a blog post, but the idea here was a feature that stands on its own, to encapsulates what happened over an unexpectedly tumultuous 72 hours.

Really appreciate the feedback. Always looking to improve.
I want to take this further still. Most JavaScript programmers already use a subset of the language and I believe that there is quite a broad union of those subsets that should resonate with the majority of us. Excluding certain parts of the language will lead to more robust code that is easier to reason about (and more fun to write), I claim. My attempt to formalize it is called "restrict mode for JavaScript" http://restrictmode.org and I laid my case here: http://blog.lassus.se/2011/03/case-for-restrict-mode.html . Would be curious to hear other thoughts about it.
That would be ridiculous because then what would 'hello' + 1 equal? Everyone would expect it to equal 'hello1'.
Choosing the best charity through metrics
Hi Andrew. I hope I do not come across as a troll - I am a massive fan!

So let me rephrase. Confidence is the lifeblood of a startup founder. If they do not back themselves, who will? Sometimes over-confidence and even self-delusion can be very dangerous. I once tried to start a music label that gave away all the music for free and made money putting on live shows. I was deluding myself and drunk on my own confidence. The flip-side is what you describe: where people never recover from a knock to their confidence. This is much harder when the opportunity is actually really great. I think it is great to explore the confidence of entrepreneurs.

What my pedantic and pernickety side took issue with was the phrasing of the question and the context in which it was asked. Drew had just said he hacked together some code and you launched into a question about the confidence it must have required. I my mind was stuck on the notion that firing up a text-editor required confidence - a ridiculous notion I know but that is where my mind lept. I get the same awkward feeling when people begin any sentence with the word 'surely' because the presupposition is that surely they are right.

At that stage of the interview I would have been curious to know when, why and how the storage side-project made the transition from personal use to active user-base. You covered that really, really well later on. Which is why I love Mixergy.
Totally agreed. Emulating an entire x86 CPU, and booting a Linux image over the network in javascript? And it's fast enough to be completely usable? Jaw-dropping achievement.
Please do not downvote maximusprime's comments just because you disagree with them.
Can you give examples of it doing unexpected things? I get the feeling the unexpected part about it is your operands are not of the types you thought they were?
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.
Yeah, the idea of knowing how to build in NYC was a big plus. There's actually still so many hoops to jump through still: the land use agreements, any remediation of the site, potential community benefits, etc.
New revenue stream for LivingSocial!
Well, I grew up in a day when it was even easier.

* Buy home computer (ZX81)
* Turn on
* 10 Print "Hello world"
* run

I don't think the instant gratification and ease of use did me any harm.
I imagine a good lawyer would argue both that the leaflets were harmless, and that it was constitutionally protected speech, as a way of covering all angles.
Interesting Idea.

I know for me the way I learnt programming made me quite flexible and happy.

Working the entire scale from functional to OO languages gave me a really good perspective for anything I face.

I've learnt all the web stuff I use today completely on my own, but I use the foundation I learnt below. The "classic" academic programming languages I've learnt happened in this order.

Basic -> VB -> Pascal (High school/first year Uni) --> C --> C++ --> Java

Too much code out there rarely exists entirely on the OO or functional end and projects are often heading towards one or the other.

Once I had traversed this, I was easily able to pick up .NET, whether any one of the .NET languages was OO or functionally based (Foxpro, or whatever). Javascript was interesting because it extended from Java for me.

I really do feel that programming needs to be learnt at the mathematical/computational level of functions for clear process/analytics and then learn the benefits of using functions in an OO world.

Be interested to hear what order others learnt
For the interested (and with the caveat that I definitely would not suggest it for the Khan Academy's purposes), CoffeeScript does try to address all of the issues that John raises in his post.

Type Coercion: There is no `==` in CoffeeScript. You usually write `if x is y` in order to be particularly clear, but if you're in the mode of most other scripting languages, and you write `if x == y`, it will compile to `if (x === y) {` in JavaScript.

John's note about `x == null` being the only useful application of double equals is quite true, and something that CoffeeScript provides in the existential operator: `if x?`

Falsy Values: The existential operator helps you ask the question "Does this value exist?" (Is this value not either null of undefined?) ... which covers many of the use cases for having saner falsy values in JavaScript. For example, instead of JS' `if (string) {` ... where the string may be the empty string, you have `if string?`

Function Declarations: JavaScript having function declarations, function expressions, and named function expressions as three functionally different things is indeed a wart on the language. Especially so because JavaScript having a single type of function is one of the beautiful aspects that shines in comparison to languages like Ruby, where you have methods, blocks, procs, lamdas, and unbound methods -- all of which behave in slightly different ways. CoffeeScript only provides JS's function expressions.

Block Scope: This is a tricky one, because unfortunately it can't be emulated in a performant way in JavaScript. So all that CoffeeScript can provide is the "do" keyword, which immediately invokes the following function, forwarding arguments. So, if a regular "for" loop looks like this:

for item, index in list
...

A faux-block-scoped "for" loop would look like this:

for item, index in list
do (item, index) ->
...
"Just Let the Kids Play" by Bob Bigelow who describes what is going wrong with much of youth sports and has a concrete philosophy about how to improve the situation. It provided me with a lot of relevant perspective as my involvement with youth sports became greater over the past year.

[http://www.amazon.com/Just-Let-Kids-Play-Ruining/dp/15587492...]

http://www.bobbigelow.com/book.html]
If it comes to it, I'd rather just let him keep his 50% share as we've already agreed upon (for as long as the sites make money) and just go solo on the new sites. So while I know what I need to do, having my best friend at stake and his trust and loyalty in our business from start (even when it wasn't even making money) is what has made matters so complicated for me.

> Out of curiosity, what type of sites are these?

These are three B2B sites mainly targeting small website owners and designers.
I was hoping to read of something truly innovative, like putting up your Steam account as collateral. Oh well.
> still, on average, it seems it would drastically skew the pool of jurors away from a random sample of the general populace.

A jury pool has never been meant to represent a random sample of the general populace.

Indeed that would be enormously counterproductive: in, say, a Klan dominated county we might expect a random sample of the county populace to turn up 9 racists in a sample of 12, but that is not a jury makeup likely to result in a fair verdict for a black defendant.

All of these questioning and dismissal mechanisms exist to make sure that the jury pool is absolutely NOT 12 random people, but is instead as close to a collection of 12 people who are believed to be able to return an impartial verdict as can be reasonably managed in the opinion of the court, by balancing the concerns of both prosecution and defence council.