skysight-inc/HackerNews huggingface dataset:
Strongly typed JS is actually pretty hard - probably not by Haskell and Scala standards - but if you take promises for example the signature of `then` is:

Promise<A,E> -> ((A -> (Promise<B,F> | B)),(E -> (Promise<C,G> | C))) -> Promise<B|C,E|G|C>

That is - a promise's then - takes the promise (as this) and executes either a `.then` fulfillment handler or a catch handler.

If the `fulfill` handler executes the value is unwrapped and either a new value, or a Promise over a new value and its own type of error is returned.

Now, if the `reject` handler is executed the error is unwrapped and either a new value, or a promise over a new value or a new error is returned.

This is quite simple and easy to use because it behaves like try/catch in the dynamic type system of JS with recursive unwrapping - however it is challenging to reason about when you're starting to type code and you want to actually have correct type information with promises.

Static languages generally approach these problems with pattern matching on the type - in JS that's not common nor is it feasible at runtime - you just expect a value of a certain type. When I implemented promises in another language (swift) this was a lot of fun to work through and not very trivial - if their compiler cna do this I'd be very impressed.

Promises are just one example.

Anyway - this looks cool. I definitely agree that full sum types would've made more sense - having explicit nullables is usually a smell (like in C#).
Nice, we have 37k slaves in the Czech Republic.
Flow, Meet Underscore
Start blogging solutions to problems and contributing to Open Source projects, even if it's just docs. Raising your exposure online in general increases the number of random freelancing offers you will receive.
you can start here, but you might need to be a registered dev to get to the content:

https://developer.apple.com/library/prerelease/ios/documenta...
iOS 8.1.1 Download started with performance for iPhone 4s and iPad 2
EDIT: looks like it supports type annotations similar to closure compiler's (in docs) https://github.com/facebook/flow/blob/master/tests/docblock/...

Try running an annotated file in the browser - it's simply not valid ECMAScript syntax and no JavaScript runtime will run it 'as is'.

If the code requires transformation by a compiler aware of the language semantics and syntax - it's transpiling in my book. Just like TypeScript is a superset of ECMAScript - so is Flow (in a much lighter, closer to source sense it seems).
How does this not throw the case into "fruit of the poisoned tree" territory? If they used illegal tracking to further gather evidence, shouldn't all of that evidence be thrown away?
The CAs have agreed to stop using SHA-1 by 2016, and Let's Encrypt will launch with something stronger on day one.

But SHA-1 attacks are going to be a huge problem all over our protocol stack :(
The thing that's causing the delay is not the client software development, it's the need to create the CA infrastructure and then perform a WebTrust audit. If we were ready on the CA side to begin issuing certificates today, we would be issuing them today.
Excellent advise - the biggest problem most people have when starting playing with databases is that they don't have any data to begin with. Unless you have, let's say, a couple of tables 1000 records each, you cannot actually grasp the significance of what you're doing.

Search for elections results, weather/climate change, air pollution, crime rate - there's a lot of it online.
I understand the issues they present in the article and don't disagree, but if you look at it from another angle, that book describes a scenario that plays out regardless of sex, I've seen plenty of times people who are in positions that don't know what to do, get help from others and take credit. In a way this book is describing what hard working individuals (male AND female) go through when they do the work and others take the credit, and in fact it's encouraging it. I'll admit, the book is rough (this comment solely based on what I read/saw on the link that is here).
Yes, whatever it is you do, you should embrace it, brag about it and wallow in it. And if you can't do those things, then stop.
In B Flat: An Experiment
Just because a suspect confesses doesn't mean they skip the trial process. The normal procedure at that point is to plead guilty and head into sentencing. The police can have the defendant clearly on video describing the crime in exact detail but if he pleads not guilty you get a trial.

Which, even though it might seem odd at first, this is a good thing because how many people in the past were coerced to provide a confession to a crime they did not commit?
This article and comment thread from yesterday has some good freelancing tips.

https://news.ycombinator.com/item?id=8616952

My article about freelancing:

http://typicalprogrammer.com/tips-for-successful-freelancing...
You don't know Lester Freamon.
Apple Watch Human Interface Guidelines
According to moxie, that's unlikely.

Source: https://twitter.com/moxie/status/534757705466908673
Not being digested doesn't stop you getting killed.
It's hard for me to give appreciation but while Google have traditionally been tech leaders in web technologies: Facebook are doing really awesome stuff lately. It's not just React and this - it's also FLUX, HHVM, Hack, Haxl (Their Haskell libraries), contributing to writing a spec for PHP and other ventures.

I'm interested in who is the driving force behind this open source change in Facebook, I don't recall facebook in behaving these way 4 years ago.

Can anyone find anything on a policy change that happened? They really turned around.
Yeah, that can be confusing. On the other hand, if you write unit / functional tests then testing for invalid inputs one of the first things you'll probably do. Your comment makes me think a fuzzer to test all those falsey values could be useful.
This is going to backfire big time on WhatsApp and get them banned from many countries like India , Saudi Arabia etc.
Thanks! I am a dev, but was mainly curious if they were opening up the heart rate sensor to apps directly or if we would have to go through HealthKit.
I'm waiting to see the alternative.

It's an honest question to ask in the face of an assertion about testing -- or how strong or static typing eliminates the need to verify that the code behaves as written. In the sample I provided, I provided a concrete example as to how I could verify that the code accomplishes the task. If tests are not needed, then fine... show me how with code that accomplishes the task and that show how.

Like the "unit" where the two operations are covered in one method... Sure, but how else would it be done? The client asked for the log and the email, so somehow, someway... someone has to write code to do it.

I threw up my Ruby sample in just a few minutes... why can't the alternative be coded up in a few more?
4 Sales Mistakes That Lead to High SaaS Churn
Hehe, fun story. Totally agree with you about Scala. I'm hoping to do all future development in Haskell.
Thanks, I didn't realize that process was so far along!

It might still be challenging to get large sides to adopt padding that will increase the amount of traffic they send (of course, the idea of reducing the efficiency of compression has the same net effect). But it's great to know that there's already a tool in place for traffic padding, at least in some implementations.
Yes, it sounds too good to be true. Like the Yes Men's "New York Times Special Edition".
Coinbase Tip
Based on the typography guidelines, the DIN-like font used on the Apple Watch is named "San Francisco":
https://developer.apple.com/library/prerelease/ios/documenta...

Here's hoping it will replace Helvetica on iDevices and Macs as well...
Yay! This will keep me busy next weekend I'm sure. Quickly glanced through the catalog of objects available and it doesn't seem to be borrowing UI from iPhone the way iPad did. Some similar UI elements but judging by the names they are different implementations and not just differently scaled/laid out.
With basic certs, the CA just verifies that the entity controls the website the cert is being issued for. The OP explains how Let's Encrypt will do that. (And if they appeared not to be doing that, no software vendors would include the CA in the trust list).

With an "Extended Validation" cert, the CA additionally verifies that they are who they say they are on the cert (not just that they control the (web)sites the cert was issued for). I'm not sure if Let's Encrypt plans on issuing EV certs, but if they are, they will have to comply with whatever verification standards are standard, in order for vendors not to revoke them from trusted stores. Same as anyone else.
"To say that music is the product of a gene for “art-making,” naturally selected to impress potential mates—which is one of the things Pinker believes." No, it's not. "Pinker doesn't care much for art, though." Assumes facts not in evidence. "It's O.K. to rewire people's “natural” sense of a just price or the movement of a subatomic particle, in other words, but it's a waste of time to tinker with their untutored notions of gender difference." Snidely misrepresents Pinker's thesis, which is simply that gender differences are real, are a product of evolution, and that an assumption that gender differences are social constructs is dangerous and wrong. "He argues, for example, that democracy, the rule of law, and women's reproductive freedom are all products of evolution." No, he doesn't. Would anyone? That's all in just a few lines. I don't really have the time or intestinal fortitude to give you a whole line-by-line refutation. Maybe just read what Pinker wrote, instead of this hatchet job?

A final note, as I think we're both growing bored with this, but if you find accusations of logical fallacy so tedious, perhaps avoid making statements like "He's also in dangerous territory alongside assholes like Charles Murray and the Thornhills."
Some comments on that:

- Has other comments have said: TypeScript is getting (already in master branch) union types.

- Support for JSX isn't really a huge deal.

- Windows support will probably come - it's an open source library. I hope it's not the OCAML tooling.

You make some great points about generics and using their own type system instead of TS, especially since TS has investments from both Microsoft and Google (with AtScript which supersets it).

They state they use a model like Hack - and the repo also looks this way but I'm also curious, it looks like a very peculiar choice.
"bored" and "delusional" are personal attacks, but isn't "SJW" about the argument? Has that term become totally muddled when I wasn't paying attention?
You're going to be pretty unhappy (or pretty uninformed) if every time a subject matter expert in security starts a project, you have to discount everything they say about everything in the space their project is in.

Yes, I'm going to go ahead and say "zero conflict of interest". Also: he's simply correct. If you'd like to rebut what he said about Telegram, actually rebut it.
One of the cases I've seen they actually wanted a copy of the pay stub. Which I found a bit frustrating.
It's certainly possible that these could be used in combination. GCC optimizations aren't significantly enhanced by JSDoc annotations, so presumably this could generate code for GCC to optimize without losing major benefits on either side.

The React.js team has been explicit about the library being GCC advanced mode compatible, so they certainly have awareness of its capabilities. Whether they are using them together internally or they use a different solution for tree shaking et al is another question.
>Does that make it better?

It avoids the "think of the children" reaction, so yes.
Angular and jQuery ARE JavaScript.
It would be really helpful if your how it works page explained in detail how it works, in particular that all browsers are covered, that a key and csr are generated, the certs recd, and that the private key never leaves the server (I'm assuming that at present).

My dream cli tool would just generate key, get certs, and dump them in the dir of my choice. The server config is nice to have but not really essential or the hard part.

Really looking forward to seeing this happen, is there any beta program at present?
Also https://news.ycombinator.com/item?id=8625259.
I have an application set up with Devise handling authentication for me and Devise allows me to create multiple accounts with the same email address. Considering how commonly used Devise is for setting up a site with Ruby on Rails, this is a huge open hole for a lot of websites who might not appreciate multiple user accounts tied to the same email.
I'm inclined to call that "optionally typed". As in, values nominally have a static type associated with them, but it's possible (even easy) to bypass the type system.

C#, for example, is mostly strong and static. But within 'unsafe' contexts you're allowed a lot of those kinds of C-style shenanigans, and you can replicate C unions using the StructLayout and FieldOffset attributes, so the type system is ultimately optional.

I think of weak typing as a whole continuum of different things. At an extreme end you have C's level of optional typing. But there's also more tame stuff like implicit casting (which C# also has) that I'd also count as a form of weak typing.
Recent Developments and Recurring Dilemmas in Cancer Screening
A lot of JavaScript is UI code though, so unit tests might not be possible, and a suite of comprehensive functional tests with something like Selenium gets dog slow very fast, in my experience.
Also https://news.ycombinator.com/item?id=8625526.
It's included in their resource pack if you want to try it out :) along with a punch of .psd templates.
The article very clearly indicates the data is from COSAC, an instrument on the lander. It also indicates that the sampling came from the "atmosphere" of the comet rather than drilling.
Comments moved to https://news.ycombinator.com/item?id=8625448.
but your defense of them with no evidence given
is exactly the same but in the opposite direction

I am trying to avoid a digression (1) from the discussion of the Harappan civilization. I thought tjradcliffe might consider phrasing his comments more courteously next time. Of course he doesn't have to, but I believe it would be the right thing to do, especially if someone is interested in healthy discussion and separation of theological and secular issues.

Anyway, the underlying questions about the role of God in nature and reality (and the exploration of it through science) are essentially metaphysical questions. Many people take materialism (all reality is physical, people are just fizzing bags of chemicals) as a first principle. Some of these people then dismiss other viewpoints as irrational.

A different position would be that proving God exists is hard to impossible and to prove materialism is true is not any easier. Again, it's all metaphysical and a result of what first principles you start from. In a monotheistic view, scientific exploration and discovery only explain how the Designer created things. Even filling in gaps (like the fossil record) doesn't disprove God's existence, it could instead be showing that He created an internally consistent universe. Even old fossils cannot disprove God because He could have created the universe on Nov. 5, 1955 as if it had started with a big bang a long time ago.

My point is that, like any metaphysical question, there is no definitive answer that can be reached from physical evidence.

...so I think we should give each other some slack by keeping things civil. This includes forgoing pot shots that can't fairly be responded to.

1. OK, so I digressed a little in hopes of convincing people to be more courteous. I'm not sure how to create a space on HN to discuss the religion and science topic. I'm happy to move this discussion elsewhere if people are interested and if the whole thing results in mutual understanding (as opposed to the typical polemics).

EDIT: Wikipedia's summary on some ideas is serviceable:
http://en.wikipedia.org/wiki/Relationship_between_religion_a...
http://en.wikipedia.org/wiki/Relationship_between_religion_a...
http://en.wikipedia.org/wiki/Relationship_between_religion_a...
...and there are summaries of the interaction between science and different religions linked from that page.
Thanks for the kind words. For context, I'm an HHVM alum who has been at Facebook for almost six years now (wow time flies).

From my point of view, most of what has changed is resources and the immediacy of our survival-level concerns. Four years ago Google had declared nuclear war on us, we had far fewer users, we were not profitable, there were constant fires to put out with basic production operations stuff we've gotten better at, and we were enormously more under-staffed. I was working on HHVM already, but it was in a million little pieces spread across Drew's, Jason's, and my desks. The tools we're open sourcing over the last two years mostly did not yet exist, and if they existed, it was in some primordial form. We also have gotten much, much better imho at being good stewards of our open source projects; HHVM's predecessor system, the HipHop compiler, was also open source, but we people were spread way too thin to be able to respond to bug reports, pull requests, get FB's latest code into public hands, build binary packages for popular distros, etc. on a timely basis. Huge props are due to all of the technical people on our open source teams.
It also may not include any taxes owed. That's just as orthogonal to how much Teespring has paid out, which is the entirety of their claim.
ChangeTip [1], which I've seen on reddit for some time, does this already (among other social services).

1. https://www.changetip.com/
The most prolific ski bum
Correct, but perihelion might be too close for comfort.
And all because people like YOU donated :)

Thanks :)

btw if you want to donate too, here is the link: https://supporters.eff.org/donate
you're not a real scotsman
Probably not. Your traffic may be getting backhauled someplace. For example, I occasionally show up as being in New York because my company is headquartered there and that's where the VPN end points terminate.
It's particularly interesting to see which UI elements has made it to the small screen of the apple watch. Not much else than switches, buttons and sliders are featured in the guidelines. Looking forward to see what developers eventually will come up with for these devices.
Work vs. Labor in the technological age
This is really cool. Does anyone have pointers to relevant papers that inspired/influenced their type system?
This is somewhat complicated. I'm sure Moxie would agree with me that the trust and glorification of individuals in the context of cryptography is ridiculous. Open algorithms and protocols make trust obsolete. Please ignore webs-of-trust for a second — I'm talking mostly about end-to-end encryption. I'm not saying you shouldn't or can't trust people, but I'm quite happy that it's optional.

I don't mind a healthy distrust in governments either, but it's hard to ignore that WhatsApp, Apple and Google are US companies bound to US laws. In other words, while end-to-end cryptography protects you against dragnet surveillance it certainly doesn't solve any of the other, and arguably much bigger, problems we're facing.

When it comes to respect for WhatsApp I'm still undecided. A huge win for WhatsApp is that they actually have a business model, but on the other side they took a decentralised system (XMPP/Jabber) and centralised it.

Effectively what we have here is XMPP/Jabber with TextSecure on top of it instead of XMPP/Jabber with OTR on top of it, which has been around for quite some time now. Maybe that's not terribly impressive but it's great to see big companies join the privacy-by-design camp.
Akamai published a blog post about their role: https://blogs.akamai.com/2014/11/lets-encrypt-boosts-push-fr...
When they're talking about "digging up dirt" I don't see how that's going to apply to children. Context is important, and reducing it to 'threat' is misleading. Even though yes it is a subtype of threat.
You can't really use sum types as they are found in Haskell in Javascript. With Haskell option types you do a pattern matching and create a new binding for the non-null value but in Javascript you don't do that - you keep using the same object that you tested against null.

case mx of Just x -> f(x)

vs

if (x != null){ f(x) }

What you can do in a Javascript-like language is use union and intersection types. However, they can get a bit complicated (specially if you allow unions of non-primitive types) and the extra flexibility can confuse the type inference a bit so I can understand them restricting things to the common case of handling null.
Quickly Create Amazon Affiliate Links on Android
First, congratulations. And good on you for not putting the cart before the horse (quitting before having revenue).

Could you hire an employee, part-time, using the revenue you are currently bringing in?
Free Certificate Authority to Dramatically Increase Encrypted Internet Traffic
RI Seminar: Wojciech Matusik: Abstractions for Multi-Material 3D Printing
> Anyone with access to the connection can tell what site you're talking to.

HTTPS encrypts the URL paths you access [1]. Would you rather an adversary knew which IPs you visited, or the IPs plus the URLs?

[1] http://stackoverflow.com/questions/499591/are-https-urls-enc...
Microsoft Implementing AllJoyn into Windows 10 to Support IoT
Don't forget "be armed to the teeth and express a willingness to violently respond to any intrusion into your territory". It's pretty much standard lex talionis strategy, which has been around as long as humans have formed groups.
"inability to make more money than the employer charges for fees/housing/..."

You could argue that America has this as a de facto result of real estate speculation. In any given region, real estate has a tendency to inflate until it sops up all excess earnings. Getting "above" real estate is only possible if you can save up a large down payment, etc., and get ahead of it... essentially like how old Roman slaves could purchase their freedom if they could save enough.

The announcement of feudalism's demise was premature.
You would have to simply install the certificate for the CA that signed the certificate. Self-signed just means that YOU are the CA.
How does static checking work with dynamic types? Can the type checker figure out if a field/method exists on a type given that it can be added dynamically?

Edit: I assume it just checks bool/number/string and doesn't care about prototypes?
Those free certs will encrypt from the browser to CloudFlare's CDN. You still need to do something to encrypt from CloudFlare to the publishing webserver. Self-signing can work for that hop, though Let's Encrypt may wind up being smoother for sys admins.

We've been working with CloudFlare to drive HTTPS adoption, and plan to work with them further on integration.
Metrics 2.0
Ask HN: Cloud Content Scheduling Software
I am in dire need of some sort of scheduling software to keep track of what clients we need to post what piece of content for.

For instance Jacks Tshirt Co. needs 1 blog post 2x per week. Janes Jeans needs minimum of 1 blog post every day. Hope I explained that correctly.

We are a web dev. agency but do some blogging management. Right now we are using a paper calendar but it just isn't working obviously because we need to see the calendar from multiple locations.

The other problem is I don't know exactly what I need. I also figured there were a ton of Show HN products that came close to this. Willing to pay for software.

Please help!
And if either of you send me your email - I'd be happy to send you a message that'll give you an account!
I hadn't read that first one, but yea I used the developers API for my stuff, I have been using AngularJS so I made a service it's located here:
https://github.com/onaclovtech/library/blob/master/library.j...

it's an ISBN search only, but could be improved.