skysight-inc/HackerNews huggingface dataset:
To expand a little bit:

I have found at least anecdotally that the benefits of a strong, rich type system are multiplicative with other features, not additive. For example, types in Java are largely a nuisance. The type system lacks facilities to express obvious things (I want a list of things that all have this interface) in clean ways. Instead you have to resort to "clever" hacks which ultimately just circumvent the guarantees you wanted to establish. For small projects this is a non-issue. For large projects, this is hell.

By contrast, type systems thrive in contexts with algebraic or sealed case types, or any form of pattern matching really. Or just plain old enums. In conjunction, these features enable very powerful static checks. Forcing you to handle None/Null/NONE/Nothing/nil cases everywhere encourages critical thinking. This introduces more issues, such as staircase code, but these are largely (I would personally say completely, and with a nice surplus) fixed by things like pipes, monads, computation expressions, and so forth.

This extends to libraries as well. I can't count the number of times I've used libraries which changed their API's in "non-breaking" ways, such that certain functions returned types I assumed would never be returned. Was this my fault? Yes. But if the return type had been strongly typed and I had been working in such a language as described above then:

1) I would be forced to handle every extant constructor in that type.

2) If a new one was added, I'd get a compiler warning alerting me to the fact that I hadn't handled it (this is great!).

3) If the type changed entirely, I'd get an error warning me to the fact that my code was no longer compatible with the API provided.

In the end, working with and writing libraries is about respecting contracts. Types are a tool for codifying those contracts. Strong typing and matching facilities are even more powerful tools for alerting you to violations.
Political science students?
It shouldn't be. Mining pools are a solution, not the problem. The problem is centralization transaction selection, which is an entirely orthogonal problem. The OP gets rid of pooling and pushes miners to hosted solutions, which is far, far worse.
You mean like p2pool?
This. If you're writing code before having at least thought out a preliminary solution, you're doing it wrong.

Types let you codify your idea, and then make sure your implementation aligns with it as you write it.
Canvas: A New Way to Build Email
Au contraire, I think GitHub's editing features are actually close enough to make a wiki.

Though... you might as well just use GitHub's Wiki...
What about a secret message web widget on a shared computer that uses localstorage as a database and requires the recipient to enter a password to reveal the message, or an offline diary app made with node-webkit that encrypts diary entries? There are lots of uses for JS crypto in cases where information will never leave a local computer. I know that's not what you were saying, but I think it's important to realize that JS has gone beyond remote delivery at this point.
The onboarding process was really jarring. I expected to be able to use it instantly. Instead, I had to wait ~30 seconds while my username was registered, and now I'm sitting on my hands waiting for some SMS with a code that will allow me to login. Also, there's no easy way for me to use the app with other people without inviting them first (which, given my circle of friends and family, would have to be preceded by a sales pitch on why they should download this stupid thing in the first place).

As an app that prioritizes ease-of-use and fast communication, Yo really falls flat on it's face.

I'm not going to comment on the potential usefulness of this app, because I'm sure others will and I don't think it'll yield any particularly interesting discussion. References will be made to Snapchat and WhatsApp, the word "bubble" might come up, etc.
I played one game of Diplomacy by email.

In preparation for that I read everything I found about (advanced) strategy, all the possibilities that are open to the different countries and so on.

In the end I was probably the only English player who never managed to leave his island...

After that I was so terribly frustrated that I never tried another game.
The co-founder of Yo could sell ice to Eskimos. That's my kind of sales guy on my team.
I usually have tests for features, regardless of static or dynamic types. You need feature tests anyway, because even sophisticated/complicated static type systems can't catch serious implementation logic bugs. And these tests implicitly cover what a static type system would give you and more.
1693 words about an app that doesn't say much.
> for example, most of the 25 top software errors don't look like type errors to me, and neither goto fail; nor Heartbleed look like type errors either,

Most of them do to me. (But I'm coming from Haskell, so it's not only the static typing, it's the very strong one).

Anyway, http://ro-che.info/ccc/17.html
Technology has a tendency to distill everything to its essence. This is just another step towards a world in which the number one film in the country is called "Ass" [1].

I'm 50/50 on this happening within a decade.

[1] http://en.wikipedia.org/wiki/Idiocracy
C# has local type inference, and is getting a bit better in type parameter inference in the next version.

The languages with strong type inference (say OCaml or Haskell) provide less in the form of tooling like autocompletion either through neglect (their communities don't demand it) or design limitations in Hindley Milner (mostly algebraic and structural, poor support for nominal typing where code completion menus begin to make more sense in ways that we currently understand them). Scala would be in the sweet spot of a well tooled statically typed language if the IDE situation could ever be straightened out enough.

> For functions with sufficiently rich types, there are often only a couple ways to implement the function.

That is only kind of true in pure function land. Any kind of state manipulation, even though monads with powerful dependent typing, drastically opens up how a function can be implemented.
The line length in your edit is WAY too long.
Body Snatchers of 2050
A very large amount of my phone messages are actually null-content messages: my phone is very often a "I'm here" when picking someone up, or "let me in" or "done shopping, waiting for you" if I'm grocery shopping with someone.

Basically any time someone says "message me when..." there is no conversation when I message them. There is just a contentless phone call or text message. This is filling a communication niche that isn't well supported by the existing methods.

That said, I'm still not willing to install a new app just for that, but that doesn't mean there isn't value there.
Grails. I'm a C#/.NET programmer. I've been trying out Scala with Play, and Clojure with Luminus, and RoR before then. Grails is making me the happiest as an open source alternative to C#.
Here is the actual statement about 2%:

http://schd.ws/hosted_files/buildstuff2013/ce/The%20unreason...

"2% of reported Github issues for Javascript, Clojure, Python, Ruby, are type errors"

The study referenced in that presentation, http://www.inf.fu-berlin.de/inst/ag-se/teaching/V-EMPIR-2014..., study 80 implementations of the same program by 74 people. The reported times in the study do not last for over 63 hours.

The study referenced in the blog post, http://courses.cs.washington.edu/courses/cse590n/10au/hanenb..., study "49 subjects that studies the impact of a static type system for the development of a parser over 27 hours working time."

The only conclusion that can be drawn from these datapoints, if 2 is enough, is that programs written in no longer than 3 days time can be implemented faster in dynamic languages than statically typed languages. There's nothing that calls out maintainability of a program over years of time, nor the number of pre-written libraries used in those programs recorded.
I too have noticed that static typing enthusiasts use dogmatic rhetoric more often than their opponents. One reason may be that the benefits of static typing are more obvious (catching type errors, documenting code). The largest benefit of dynamic typing, I believe, is that it encourages you to solve your problems with generic data structures like lists and maps, rather than inventing new types for everything in your program. This, I think, is what Alan Perlis was talking about in his forward for SICP [1] when he compared Pascal to Lisp, noting that in the former "the plethora of declarable data structures induces a specialization within functions that inhibits and penalizes casual cooperation".

[1] http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-5.html
Depending on your type system, Heartbleed can be a type error. As can at least (a) buffer overflows; (b) buffer size calculation; (c) format string misuse; (d) SQL injection. There are many real programming languages used in practice in which all of these are type errors. There are also more experimental and/or research-oriented type systems that protect against other vulnerabilities; for example, reliance on untrusted input in a security decision, or integer overflows.

Despite that, I do agree with the notion that type systems are a tradeoff, and some projects benefit more from strict typing than others. Dynamically typed languages certainly have their place.
1-bit communication can get a lot done.

Not sure? (don't do this) Try calling your local emergency service (911 in the US) and hanging up.
> ... most of the 25 top software errors don't look like type errors to me....

First off, most of the 25 top software errors aren't actually _programming_ errors. There's nothing any programming language, whether static or dynamic, can do to help you with them. So that's really a red herring.

Secondly, look again. At least two of the top 25 _are_ actually type errors:

CWE-134 Uncontrolled format string: this goes away if you constrain the input to be a discriminated union type instead of a plain string.

CWE-190 Integer overflow or wraparound: this goes away if you use an integer type which _can't_ wrap around. In fact, they almost come out and suggest exactly this in the details:

> Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
>
> If possible, choose a language or compiler that performs automatic bounds checking.
I never said the idea was a good one, it's a bad one of course. One which I don't believe many people are doing thankfully. Myself I am not doing it because I don't want to reduce the quality of results from adding hundreds of thousands of spam listings. However, I was angry before about Google's actions on a site I was managing and acted out. I am calm and rational now.
Yo is already used by Yeoman, though...
No, they don't. As with most manual labour work, mine workers produce a relatively small amount of absolute monetary value per person compared to software developers and other skilled occupations. Wages are determined by those productivity levels and supply and demand. In general, the more people who can do a job, the lower the wage.

It goes without saying that this doesn't mean those with lower productivity are worth less as people, which is something many forget. All people should be treated with the same amount of care and dignity.

Your argument about us being perfectly ok without modern computers is odd, to say the least.

As for the wages being sustainable, the mining firms are public corporations, publish their financials openly and are audited by both private firms and the government. We are not merely taking their word for it.
That's fair. I think you did just find a use case for it? But I think the very fact that you won't install an app just for that (rightfully so in my opinion!) by definition means there is no value there.
There are not, though I am building such a thing.

Are you in Texas?
Yes. I think saying "you can't sacrifice correctness because of an inability to scale your database" is perhaps conveying the wrong message though. I mean, your very first point is about database scaling issues and the advantages of using something like RabbitMQ to avoid expensive SQL queries.

If you are processing a lot of data in Celery, you really want to try to avoid performing any database queries. This might mean re-architecting the system. You might for example have insert-only tables (immutable objects) to address this type of concern.
Ok, I', not that young but WTF is a "palmtop" and when did such a thing exist?
That's insane. I wonder how many matches have been completed of this game.
Trying to discuss the merits of static type systems by using a Java-level type system as your example case is disingenuous and silly. None of the static typing advocates I know (myself included) advocate for type systems that weak. If you want to make an honest comparison, you need to compare to a strong type system like those in the ML family. Those type systems can solve many of the 25 bugs referenced.
> That is only kind of true only pure function land.

More than that: it's only true in total pure function land. Admitting divergence explodes the state space of functions.
Twitter now with GIFS
Trying it out: you can record GIFs with in your browser at http://myface.in and post to twitter from there.
> but was there really no place to spend that better?

Maybe. Consider all of the competing opportunities that might be discovered in a short window, like say a week. Out of all of those options, which ones are still early stage, which ones are demonstrating any amount of traction, and which ones have fancypants metrics like "over 5,000 messages sent per day"? (I'm just making that number up. But I'm sure that sort of number was mentioned at least once. Even if they had to squint to ignore the power law distribution.)

edit: and which ones are riding on the news or rumors of a >$1 billion exit (while still demonstrating traction)? (Snapchat/Whatsapp rumors were probably floating around for a bit before they happened.)

How much is traction worth? what about fad traction?
If most of the Bitcoin Core clients, including all the "light" wallet servers like Electrum and Mycelium, and businesses (like Coinbase) switched over, then the bitcoins created by the miners on the "old" blockchain will completely lose their value as they would not have any uses. They'd have no choice but to switch.
Japanese. Got the JLPT N3 in two weeks.
It feels almost exclusively like a device you carry around in your pocket to help you buy more shit from them. Regardless of the usefulness it just feels super slimy.
Yeah, I think I agree with you. Here is how I score it.

* Is the company good for workers?
Some fulfillment center workers say "no". From what I know of the company and people who work there I'm going to say a solid "probably yes" it is good for workers.

* Is the company good for the owners?
I'm saying "no" on this one because the average amazon stockholder has only made money from Amazon by speculating the price would continue to rise as it always has and sold it off at some point.

* Is the company good for the customers?
It probably does squash out some competition (and thus choice), but overall I'm going to say "yes" it is good for the customers because people generally seem happy with Amazon.

* Is the company good for suppliers / producers of content/goods?
I honestly cant answer this one.

* Is the company good for society?
I think I'll say "yes" to this one because they offer competition to other industry giants with AWS, new phone, etc. I am not a fan of kindle or their work in that industry.

By the way I like the phrase "unusually unethical".
Your point is valid :)
I could see the Tinder-style pivot actually making this an interesting app.

As it stands, what this app fails to do is establish a channel of communication. If I message a friend on Skype, I know that we're most likely going to converse over Skype. Same with email, SMS, phone call, etc. With Yo, however, they have to choose some method of communication which may not be ideal for me. Furthermore, given that there is zero metadata regarding the "Yo", they have no clue how urgent it is that they get in touch over some real communication channel. The only context that one can have around a Yo would have to be established before-hand (over a medium for real communication).

In fact, since there's no metadata (besides the identity of the sender), Yo is actually less useful than a beeper.
Can we just leave Haskell out of it? It really makes no sense for the Haskellers to come here and say 'but these would all be type errors in my program'. Its like when there is an argument between Bud Light and Miller Light and you come in with 'but no seriously you have to try this new IPA I just brewed'. Its just not even the same topic.
I wouldn't say food, housing, health, and education comprise "all needs"...and I'm pretty sure the behavior of billions of people supports that. How many people earn enough to simply have food, shelter, and healthcare and then go "well I guess I have enough, I don't want a single other thing". Even the usual claim that "people will just spend it on weed, beer, and videogames" shows the clear desire for things beyond the necessities. _That_ is what would motivate people.
I'm hoping that this app and the investment are really some kind of performance art project.
I actually recall reading somewhere that a good many of the survivors had a complete recovery and no longer suffered from depression (I think it may have been in a discussion about the documentary mentioned below), but I can't find any hard data on the matter.
The campaign for north africa is a little much. It's two teams of five people -- and the five people each have roles if you're doing it right. Logistics officer, etc.

I'm more a fire in the east type guy: http://boardgamegeek.com/boardgame/8993/fire-in-the-east
The existing method, of course, is a standard SMS message that says "Yo". I've sent plenty of them.
I recently had a Professor of Computer Science state unequivocally that anyone who doesn't use static typing should have their degree revoked.

From what I have seen, static typing has one important quality: It is somewhat more clueless-management proof! It's entirely possible to have perfectly cromulent development in a dynamically typed environment. Unfortunately, over a 10 year lifespan, it's also likely that during some span of time, the project will be mismanaged and someone will do something stupid vis-a-vis putting an object of the wrong type in an instance var, temporary, or collection, thereby causing problems sometime down the line.

Does this mean that dynamic typing is no good, or should only be used for prototyping? I think not. I think it's more indicative of the poor quality of management of programming teams in the general population.
No, really don't do this, you could get someone killed like that (priority traffic causes tons of traffic accidents annually, if they follow up on a 9/11 when there is nothing wrong you are in very hot water, and rightly so).

There are a lot of situations where one bit communications can make big changes. Sending a voltage down the wire to the 'launch' relay on some missile will do a lot worse. In the end, any actuator anywhere is going to respond to just a single bit changing state. So we're in violent agreement about that.

But to reduce the available bandwidth to nothing when lots is available has me puzzled. Twitter found that reducing the number of characters (by necessity, rather than by choice) launched a new medium. I can see how taking that to its logical conclusion (from 840 bits to 1 bit) may create an entirely new mode of expression.

At the same time I fear it will not leave them with a value that is is 1/840th of twitter, that '1' is perilously close to a '0'. In that sense it is like 'pair', which tries (tried?) to be a social network for 2.

Maybe someone should come up with a 0 bit medium?
In Resistance you're essentially forced to lie if you're one of the spies, so people are less likely to take it personally.
Here at Standard Treasury, for awhile we had exactly six people. We played a bunch of Diplomacy games on http://www.playdiplomacy.com/ (terrible site). It was really fun, but terribly time consuming. We eventually stopped because six games over six months with the same six people is a little much.
Award-Winning GIFs by Micaël Reynaud Warp Space and Time
mayday seems like someone's wet dream.
Oracle may buy Micros Systems for more than $5 bln
So the consensus is that LaTeX is perfect, except that it's complex and hard to use. What's the evidence that recreating LaTeX from scratch will lead to something simpler?
It's always much more expensive direct from the network.

Here you can buy the 16GB iPhone 5S for £0 up front, on a £33pm contract.

http://www.dialaphone.co.uk/plans?upfrontPriceRange=Free&tar...
I don't know why I'm having a crack out of this. It's just so silly.
Amazon Cloudsearch With Ruby And Asari Moving Towards 1.0
This. In my experience Celery's capabilities are greatly oversold, both by itself and others. Most problems Celery purports to solve it tends to just overcomplicate and often not really solve at all. And most the time I've dug into the code I'd rather I hadn't (discovering that the thing you'd assumed was implemented fairly bulletproofly, really wasn't).

And don't get me started on RabbitMQ.
What this is, I believe, is a tell-tale sign of the second bubble.
i disagree on some points. when playing these types of games with people you played many times with, its really about knowing WHEN and HOW to backstab.

playing a game where everyone is honest (especially in diplomacy where there is no random variation), you already know who is the winner from the onset. who would even want to play. diplomacy will always end in a tie if 'teams' are even and once you outnumber the enemy its over, unless someone doesnt keep their end. maybe I am remembering the game wrong
Excerpt:

“It’s really lightweight,” said Arbel. “You don’t have anything to open. The Yo is everything, it’s all there is. You don’t have a badge you need to remove or any hidden content. Just a Yo.”

Words fail me.
It shouldn't be this hard to tell a fad from a start-up.
FWIW I don't think the normal syntax for bounded generic types in Java should be considered a "clever" hack, it's just a feature of the language which is actually quite powerful (in spite of type erasure):

List of things that all have interface I:
List<? extends I> l;
Also: record GIFs quickly in the browser at http://myface.in - to share on Twitter and elsewhere.
This Is Amazon's First Smartphone: The Fire Phone
Nice comparison. I'm of a different opinion on the schema language point: XML is readily usable with standard libraries, whereas any "custom" language is unlikely to be. This matters when users want to implement their own tooling that understands the schema directly.

Three years ago I built a similar no-serialization message system, and while people initially objected to XML as the schema language, it was the right choice (even vs. JSON, which some wanted but would have been worse, e.g. no comments).

XML has been overused, but I think it's also highly appropriate for a schema language.
what I and others have been saying for so long: that static typing prevents the bugs that are easiest to catch

Not only are such bugs the easiest to catch, but they include bugs that can be insidious, expensive, and prohibit certain refactorings if they are not caught.

This isn't to say that static typing is the only way. It's more accurate to say: If you aren't catching those bugs automatically, you are doing it wrong.