skysight-inc/HackerNews huggingface dataset:
> Flu: Still beats me why this would be useful other than general interest (which sometimes is enough I guess).

Babies
Vim is a text editor and WordStar is a word processor that supports a rich text format. Although Vim + Markdown would probably do the trick too.
And they said, "Lua doesn't come with Batteries included"
> Just abolish public schools

This suggestion is highly inconsistent with the data from the article.

Every nation out-performing the United States has a strong and well-funded public school system. Although some have a hybrid model, the hybrid models favor public schools over private schools. And hybrid models hardly constitute "abolishing".

There is also a strong correlation between states (in the US) with high per-pupil spending and states which out-perform the US average [1].

> but every segment of the population will be catered to by price, taste and other preferences.

"Same quality, lower price"? Extraordinary claims require extraordinary evidence.

[1] I am comparing Fig. 1 of the article with the table titled "Current Spending per Pupil" on this page: http://www.governing.com/gov-data/education-data/state-educa...
This is a good thing.

If something terrible is posted online and it is true but it hurts nobody if you take it down, it seems like common courtesy to not repeat it. You have to weigh the public interest versus peace of mind for the individual. It's not clear cut and dry.

There are things you choose not to say in real life, even if the are true. Just because something is on the internet does not preclude you from that courtesy and respect. Technical reasons (such as caches) can be used as an excuse to act respectably. You do not go around telling colleagues at work about what other colleagues have done. What would you have to gain?

Imagine if you had relations with someone and it was recorded online. The allegations might be true but who has more right for that information to be left up there for all to find? Should you be allowed to post all you like about others, disregarding the potential effects on that person? Or should you be thoughtful about what is in the public interest?

Now imagine a site that records who had relations with whom. There is no maliciousness in this one: it's more of a public record or encyclopedia. Do you have the right to opt out of it?

To go further with my example. Imagine having a sexually transmitted infectious disease. Is the answer the same?
I disagree. I have a friend that had some crazy person badmouthing him on various usenet groups. It really bummed him out because when you googled his name, you'd see all those things first. Replace "usenet" with "blog" and you could have the same problem today.
Patent Trends From Last Year
Firefox.

Chromium is a mess, Opera is Chromium, WebKit will support this no doubt.
Coda 2.5 and the Mac App Store
4chan: smart people pretending to be dumb.
jasmine and mocha are test frameworks (they're the things that supply your describe() and it() functions), but they don't really supply you with everything you need to get set up to run tests.

jest is a test runner that includes a few additional things to try to make all aspects of writing and running tests a little easier...such as:

* Searches for tests to find + execute so that you can put tests near the modules they are testing

* Runs tests in parallel processes so that your test runs finish sooner

* Replace's node's built-in require() function with a custom one that acts almost entirely the same -- except (by default) it returns mocked versions of modules (rather than the real things) when your tests run

* Gives you a fake DOM implementation (using jsdom) so that you can test code that depends on DOM APIs on the command line without having to boot up a browser
Word 2013: File -> Options -> Proofing

Feel free to turn off whatever auto-correction options you like.

From an IT perspective I always find this type of thing interesting. Everyone is trying to add automation to make things easier for low skill users. That same automation is exactly what low skill users will fight with relentlessly. Primarily because people are each so different. The worst thing you can do to a writer is change what they wrote, but I know hundreds of people who wouldn't be able to function without spell check.
Ask HN: Unknown IPs visiting my mock web app. Should I be worried?
I am renting a VM at Digital Ocean to make a small web app. Nothing is ready yet and I have only given the link to some friends, and today while checking my log I saw something like:

INFO:werkzeug:186.237.38.73 - - [14/May/2014 01:14:17] "GET /webman/info.cgi?host=HTTP/1.0" 404 -
INFO:werkzeug:125.108.128.98 - - [14/May/2014 08:48:10] "GET /webman/info.cgi?host= HTTP/1.0" 404 -
INFO:werkzeug:198.20.70.114 - - [14/May/2014 09:42:07] "GET / HTTP/1.1" 200 -
INFO:werkzeug:198.20.70.114 - - [14/May/2014 09:42:07] "GET /robots.txt HTTP/1.1" 404 -

Those IPs seem to be from Brazil, which is not from where I or the friends I gave my link are from. I suspect they are people trying to see if my VM is hackable, but I don't have the technical knowledge to see exactly what they want and how I can prevent them to take control of my VM. For example, do I need to set up robots.txt or webman/info.cgi?host= ?
This article manages to spend quite a lot of time talking about its author's hurt feelings before it gets to anything that resembles an argument. When it does, it's this:

The real problem with end to end tests is that when end to end tests fail, most of the time you have no idea what went wrong so you spend a lot of time trying to find out why.

I've worked on big systems with predominantly (in some cases, exclusively) high-level test coverage. I can confirm that this indeed a thing. Unit tests very rarely fail in such a way that the cause of the failure is not immediately obvious. High-level tests often do. Not most of the time, but often.

Here's the thing, though. When a high-level test fails without an obvious cause, that is something that unit tests would not have caught at all.

Obvious causes are things that are localised defects in individual parts. Your product listing is showing in the wrong order? The error is in the sorting code. Orders in Japan are being billed with prices off by a factor of about a hundred? The error is in the currency conversion code. Unit tests would catch those errors and make their location blindingly obvious. High-level tests catch them, and make their location sufficiently obvious; obvious enough that pinpointing the problem is not a significant speed bump.

Non-obvious causes are things that are defects in interactions between multiple, often distant, parts. Only every second FTP'd file is triggering emails to users? Turns out the error handling code in the parser is disabling the scheduled refresh checking job, which is then not triggering the batch job to recalculate the numbers, which is then not feeding new data to the email job. Every single part is working as intended, but the composition of those parts is not. That's a tough problem, and when the high-level test catches it, you will have hours and hours of the wrong kind of fun unravelling the strands of cause and effect to pinpoint the problem. But unit tests would not have caught it at all.
For me it's 'stays connected' For some reason Google Drive will disconnect periodically and there is no reconnect option. You have to exit and restart, and then it needs to re-index everything.

Multiple Dropboxs. New feature, but I can run my work and home dropbox at the same time and they sync to different folders.

Sharing is cleaner. When I invite a Dropbox user to a share, the share appears in their drive. With Google drive, they get access to the share web only but it doesn't sync to their drive. The UI to get it to sync to drive isn't clear, so I end up doing a lot of 'support'

I also find the Google Drive .gdoc files bizarre. They aren't actual files, users don't understand you can't copy them out of the drive to back them up, etc.
Input from an arbitrary source (i.e. without referential transparency) implies that there can be no equational reasoning, almost by definition. This is kind of the case for IO in Haskell[0], but for subprograms/procedures/functions I tend to find it an absolutely essential property, both in terms of reasoning and in terms of testability. For example, it's the whole reason that QuickCheck works.

[0] Modeling IO as a World->World function doesn't quite work.
> If your students just want to get something animating on screen without having to dive too deep then surely there are many libraries/engines built on top of OpenGL that will allow that.

The reason my students are learning graphics programming vary with the student. Some just like making pretty pictures. Some are thinking of themselves as future game-engine writers. And of course, this being a university degree program, many of them just want to pick up some elective credit so that they can graduate. So I take a more short-term view. I teach low-ish level graphics programming so that my students will know low-ish level graphics programming. What they do with it after that is up to them.

> ... what is the point of leading them into a dead end?

That's a good question -- one I've had to give substantial thought to.

There are really three aspects to VBOs/EBOs.

(1) Capabilities of the graphics system and the data it needs. We are dealing with a system that can render (for example) triangles arranged in strips, specified via 3-D vertex positions and other attributes.

(2) Data format. Arrays of attribute values.

(3) Storage management. Buffer objects.

If I do VBOs from day one, then I am introducing these three aspects all at once. It's tough to catch that they really are separate ideas; the concepts get all jumbled up, and understanding suffers.

OTOH, if I start with immediate mode, then I can focus on the capabilities of the graphics system. What can it do, what information does it need from us, and how do we figure out that information. This is important stuff; it's good to learn issue (1) well without having to worry about the others.

Students also get some quick success. They can write code to do interactive 3-D animation without having to worry about issues (2) and (3).

So then I move to vertex/element arrays, focusing on issue (2).

Lastly, buffer objects, and issue (3) is done.

Yes, some people would call it a waste of time to talk about immediate mode. But even ignoring the above arguments, I can cover immediate mode in an hour, complete with a functioning demo written nearly from scratch. If that's wasted time, then it isn't very much wasted time.
Here's a well reasoned statement that will be downvoted because it's unpopular.
Testing Essentials for Node.js
> If i want to generate url requests, i have to use a serializer class...

No, you don't. There's nothing stopping you from creating `NSURLRequest` directly.

> ...wouldn't it be better to just expose all the setup functionality through simple wrapper functions?

Request serializers are not unlike any other class in Cocoa, like say NSURLSessionConfiguration, which is not often mutated beyond initial setup, but exposes properties to remain flexible and not overwhelm the user with init parameters.

What you're suggesting sounds much, much worse.

> For multipart requests, why did a protocol with appends and requiring a block with stateful appends end up making more sense than just taking an array of the parts?

Not using a protocol / builder pattern here would be awful.

You'd have to create classes for each kind of part, which gets complicated because AFNetworking handles data, files, and streams alike. So that's, like, 3 extra top-level classes. And even that doesn't really work, since it makes it really difficult to just append data to the multipart body manually, in case there was some missing functionality that AFN didn't provide. Add to that the consideration of how to specify options on the stream itself, like throttling...

You should give all of that another look—it's one of the best parts of AFNetworking.
Poll: Do you regret not going to college or university?
Those who chose not to go to college or university after high school, do you regret that decision?
Packrat is the most important part of Dropbox for me - has saved me countless times when I need an old version of a file.
what about LaTeX?
> But i'm so tired of those preordering-sites.. really, i want to order your stuff. now.

Agreed, but unfortunately the business environment has changed. The cost to start a business has decreased so much it is much harder to convince investors to drop a few million into something when there are so many cheaper alternatives.

Additionally everyone is doing preorders, and you are not, you are probably at an disadvantage.

> And if you need additional funding to make your vision happen, sites like kickstarter offer a clean and generally well understood way of making that happen.

They do not allow medical devices.
Utility Theory and "Deal Or No Deal"
We're not talking about text messages; we're talking about DTMF tones. You push the button once, the remote end receives that digit (say, "2"), not a character.

Hence, the remote end must assume the "2" to represent either an "A", "B", or "C". What I'm saying is that it's reasonable to further assume that, if the user pressed "2", they may have pressed it to indicate one of the three corresponding lowercase characters. Humans generally ignore case.

What's not reasonable is to assume that a human, faced with a DTMF pad without a Q or a Z, would press anything. Sure, you could interpret all digits as a possible "Q" or "Z", but it's equally likely that a human in such a situation would leave the character out, or give up and call tech support. It's simpler to just disallow these characters.
On the other hand, if your students are learning OpenGL to write such libraries/engines on their own then what is the point of leading them into a dead end?

Because it lets them get feedback along the way while exposing them to some of the concepts they will be using later?

Taken to the extreme, that statement is the same as saying 'If your students aren't ever going to print "Hello World!", why ever use that string? They should be finding something more relevant to their eventual goal.' That is, as stated, extreme, but you can extrapolate my point from that.
Is their site seriously broken or what? I keep getting no images loading and scrolling to the bottom I get a ton of links to handbags and purses, shoes and fake oakleys
We're not using CoffeeScript inside of Facebook. But we are using many ES6 features that make JS look a lot like CoffeeScript such as classes, arrow functions, rest arguments, destructuring assignment ... I figured that CoffeeScript would be a good example to show that Jest supports languages that transpile to JS :)
Join the Rally to Save the Internet, Tomorrow (May 15th) at FCC Headquarters
Do you believe you can meaningfully compare Massachusetts to the rest of the US ?

Because even compared to Massachusetts, which is anything but homogeneous, the US at large does miserably.
>I am not sure that a purely data centric approach with no rules even makes sense.

Fraudsters generally follow fairly specific patterns that can definitely be picked up in a rich enough dataset, and the consortium-based approaches of Falcon and Sift allow the models to generalize pretty well. Rules are way less expressive than complex-enough machine learning methods (combined with good data).
Big shoutout to Travis @ FullContact for making this happen. Lots of work over the past few months.

I love the use case "When I scan a business card, automatically invite them on LinkedIn to connect". Then I can toss the card guilty free.
What's the best way to hire a UI guy/gal to jazz up a site? Where to find them?
Hilarious:

> How I got my girlfriend pregnant using JavaScript.

> How we became ramen profitable by pivoting our cat consulting business to dogs.

> Mildly interesting topic (wikipedia.org)
Yahoo buys Snapchat rival Blink
It's not even necessary to exploit the analog hole. You can get an HDMI splitter that will strip HDCP, and an HDMI capture card that will let you save full quality, digital video from any protected source.
It would be interesting how big the libraw asm.js file is. One downside is usually that it gets quite big.
Video here: http://www.youtube.com/watch?v=X5REM-3nWHg
<words of praise for fishfood>

Edit: you jokers need to learn your internet history. http://bash.org/?23396
There's plenty of room for simplicity and abstraction, but this is not a particularly good one, if I'm going to be honest. I can't think of any situation in which I'd recommend this over either AFNetworking or the built-in Foundation URL Loading system.
Not just case-insensitive, but character-group-agnostic. All the backend knows is that the user pressed "2"; it doesn't know whether that "2" means "A", "B", or "C". (Or, to my point, "a", "b", or "c".)

But you're making the mistake of assuming they're hashing passwords at all ;)
Yahoo.com for the headlines

Reddit for the lulz and the opinions of the world

Twitter for friends and public personalities

Hacker News just because

Feedly aggregated news feed for tech blogs

Then check email
> It probably could, however I'm sure it would be shut down quickly by advertisers and parties showing ads

What legal leg would they have to stand on? There's no law that prevents me ripping out the ads of magazines that get delivered to me…
It's amazing how accurate it is.
that plan was canceled.
On Javascript:

No, it's awful. But it's the only client side scripting language out there, and Web guys love to pretend they're just as skilled as systems guys. They take concepts that systems programmers discovered 30 years ago, put a fancy name on it and do it worse.

Funny, but that's exactly what people were saying about Java programmers in the 90's. Now, the Java ecosystem is full of useful libraries and well optimized systems. It's become the default language for implementing big business systems. I wonder if Javascript won't simply follow the same course?

EDIT: I seem to have struck a nerve. Please read this at face value and not as some kind of snark. What I say is factually true. There are plenty of horrible things written in Java, but eventually, that becomes true of any language, and there are tons of great things written in it. It's no accident that HFT is written in Java nowadays. Also no accident that Clojure and Scala are written on top of it.
No, alternatives are not using DRM at all.
If it dies he will ask his fans for one, or rustle through his couch cushions for a few thousand bucks to buy one from a willing seller.
Does it continue to be free after you stop being an academic?
Loads for me. Don't see spam links. Can send you over the post in Pocket. What's your email?
ABC in # lines of JavaScript (400 comments, 1000 points)

Actually interesting topic (3 comments, 4 points)

Hilarious..
So, aside from DOIs (which anyone can create: http://www.doi.org/faq.html), this post is mostly about free private git repos.

But the thing is, anyone can get as many free private git repos as they like at bitbucket.org right now. You only have to pay when your team is over 5 people, and even then it's pretty cheap. So if you want hosted git but cost is an object, just use Bitbucket. There's no reason to pay a premium for hosted git. It's a commodity.
Holding your phone during dinner. Is it OK?
Nothing in AFNetworking forces a success/failure block. For request operations, `completionBlock` can be set directly. For session tasks, the parameter is a `completionHandler`.
Based on the U.S. Department of Education's description of the sampling process[1], it seems like the representativeness is dependent on how the school framing is done. It's not clear from that description what happens with individual students at the selected schools. You could still get distortions if groups of students within the selected schools are over or under represented.

[1] http://nces.ed.gov/surveys/pisa/faq.asp#4
The problem with Walters' comments, and yours, and the reason I made the statements I made is the assumption that people have spare time.

The discussion started with a statement that you don't have to work at a crappy job for someone you hate; you can just start a business and work for yourself. That was followed with a comment that most people can't do that because they don't have any capital (savings specifically) with which to start a business. Then Walter made a couple of comments saying that you can start a business with 'essentially nothing', and that there is little downside risk to doing so.

What I was trying to point out is that this is not true for the majority of people "working a crappy job for someone they hate", because those people need to work that job to feed and house themselves. They're often working multiple jobs, in fact. Spare time is a type of capital when it comes to starting a business; if you don't have it (and most lower-income people don't) than you're trapped.
"What HN thinks about what 4chan thinks about HN"
Uncanny how "Lapis – A Lua, Moonscript Framework built on OpenResty" fits so well in that list.
very well put together for those who are looking to actually learn OpenGL.

Many people have a romanticized view of OpenGL, whereas in fact it is very very hard and confusing.

For beginner teaching purposes, basically any other graphic library is preferable, and can still teach the same core design philosophies that OpenGL uses.

For students / learners who know what OpenGL is, have maybe played around with the Hello World examples online, and want to really delve into the depths of OGL, this is a very good guide.
On the properties page, what does he mean by deniability?

> The recipient of a Noise box can authenticate the sender, but cannot produce digitally-signed evidence binding the sender to anything.

This seems contradictory -- how can a recipient prove that the expected sender was the one who sent the box, without having binding evidence?
I opened this PR on virtual-dom ( https://github.com/Matt-Esch/virtual-dom/pull/67 ) to get a single file version into the git repo.

It has many folders because the `vtree`, `vdom` and `h` are fundamentally seperate concepts.

Again each one is seperated into it's own files, this allows you to just require the `is-x` functions or the `diff` function alone without having to depend on the entire implementation.

It's also easier to maintain code if it's not one big file.

There are plans to break vtree & vdom out

- https://github.com/Matt-Esch/vtree
- https://github.com/Matt-Esch/vdom

Note `vdom` is an implementation detail, we could also write `vcanvas` or `vwebgl`
> Show HN: My full-stack web framework written entirely in CSS3