skysight-inc/HackerNews huggingface dataset:
Things I didn't know #11,376
http://www.wolframalpha.com/input/?i=erlang
http://en.wikipedia.org/wiki/Erlang_distribution

Also:
http://www.wolframalpha.com/input/?i=why+arent+you+written+i...

8-o
So for those erlang-knowledgable, I understand that erlang is thread-scalable more than most anything. Are there other areas that erlang is similarly more scalable?
http://singularityhub.com/2009/08/20/avatar-official-movie-t...
That last paragraph is probably what I most needed to read.

I did give The Haskell School of Expression a good whirl -- heh, I brought it down to south america with me, and hacked through a little of it each morning for a couple of months, swinging in a hammock and listening to waves crash and deciding that the water was probably still too cold to go out.

But although I understood what I was reading and understood what the code I had written did ... grok I did not.

I couldn't think creatively in Haskell AT. ALL.

Nonetheless, your comment heartens me. Please reassure me further: are you a person who has ever written or attempted to write a non-trivial mathematic proof?
Dammit, I thought they were talking about this Avatar: http://www.youtube.com/watch?v=DvLUrF3ItGQ

This other one looks pretty cool too.
Multicore Programming in Erlang
Maybe we should try something new for a couple hours.
Let's try something new:

For a couple of hours, I'd like to see everyone post articles they find interesting and questions they want answered here at Hacker News -- so many articles that they drown out this juvenile attempt to drown out someone else with pointless Erlang reposts.
Yes. I was a math major.
OpenPGP for Complete Beginners
What are we, an 'antisocial news' website now?

Go ahead, bury me. :\
To my understanding, a major reason that Erlang was written was because they needed a concurrent system with soft real-time guarantees - in order to work for telephony, it had to operate within predictable, bounded amounts of time.

Conventional Prolog wasn't an option* , because the backtracking inherent in its execution model leads to significant variance for worst-case timing for individual operations. The same problem can happen with lazy evaluation, for both time and space - while the sophisticated compiler optimizations can allow for some really remarkable amortized performance, individual worst-case measurements can still have some serious outliers.

* Though Erlang was prototyped in SICStus Prolog.

With lazy evaluation, forcing a thunk for a seemingly minor operation can trigger a burst of postponed work. This can be a problem if it means a sudden drop in a game's framerate, for example, much like non-incremental garbage collectors' pauses have made people wary of using GC. Similarly, a JITting compiler can do more elaborate optimizations if it can afford to stall the program perceptibly while performing them, but that would disqualify the compiler for many real-world uses.

Real-time operation can impact performance, much like implementing full transactions slows down databases. Still, it's a fairly significant feature in its own right, and a language that does concurrency faster overall, but cannot prevent occasional erratic timing, is aiming for a different target than those (e.g. Erlang) that have such guarantees. It's not unusual for a program that juggles tens of thousands of connections to need to respond to them promptly, for example. Concurrency isn't just about performance.

(Also, that's why the Erlang movie has that "Declarative real-time programming NOW!" banner in the background. :) )
Thoughtful article, but is "the software tries to predict how I'll feel about movies based on my past ratings" this strictly true? Might it not be a broader predictor of what you might like in a changing landscape?

And most seriously, it is not about you, it is really about netflix. That is to say, it may not totally please your every whim, but if it improves netflix predictions over all of its users, it is a big win for them.
And you can call Haskell from Ruby

http://github.com/mwotton/Hubris/tree/master
There are a number of worthwhile things on the "new" page, but it looks like the people who aren't participating in the Erlang flood have given up and taken a break. If you want to push Erlang back off the front page, go vote for some real stories:

http://news.ycombinator.com/newest

(I've been trying to post more things that I think are genuinely interesting and not Erlang- or _why-related.)
The Erlang Paradox
It's so easy to judge someone without walking in their shoes. You (and I) have no idea what this person is going through emotionally. He could have some serious problems.
DevCentral Weekly Roundup Episode 99 - Cloud Frown
upvoted for not being about Erlang
Nice stories. I don't understand how exactly the solution for 'All Signs Point to "No-No"' works. He says he packs the controller id into the pointer slot, allright, but doesn't he also say that the framework will free() the pointer later?
Isn't there a DLR used by the likes of F#?
I have given it a closer look. Many times.

You're making an argument by assertion: Kerckhoffs' principle says don't keep secrets other than the key, so therefore you have to not keep secrets other than the key. Huh?

Kerckhoffs' principle is a great idea - but understand it. It doesn't say that extra secrecy makes you less secure. It just says that when you're designing a system using encryption, the key should be the single point of failure.

Let's say I'm locking a door. So you shouldn't be able to get in without the key - but it's going to be harder for you if you also can't find the keyhole.

When you're designing locks, don't try to hide the keyhole - spend all your effort getting a good, unpickable lock - but still, don't deny that hiding the lock isn't pointless.
Are we celebrating Erlang's birthday or just that Erlang hackers cracked HN?
again,
Are we celebrating Erlang's birthday or just that Erlang hackers cracked HN?
A Surprise Increase in Jobless Claims
Interesting and impressive.

The 64 bit floppy image runs fine under VirtualBox if you select a 64 bit OS.
The Future News: A Thought Exercise
For the majority of humanity's history, man lived by producing roughly enough subsistence to survive day to day. With the advent of agriculture and domestication of wild beasts, etc, man, for the first time ever, had the capability to produce a surplus of goods. From this society formed--as well as the oppression of man by another for the purposes for controlling said surplus. Due to the inherent need to innovate within capitalism, i.e. revolutionize the means of production for the purposes of besting the competition, we have over time, gradually built up the means to produce such a quantity and variety of goods unrivaled in all of human history.

We possess the material means to provide for the needs of all people across the world many, many times over. One simply needs to look at the fact that industrialized U.S. agricultural production is so efficient it can be run by an extremely small pool of workers compared to the rest of the working populace, and yet produce such a glut of goods, that many times, the surplus (the very thing capitalism is compelled to produce over and over again) is destroyed in order to uphold food prices via enforcing an artificial scarcity of goods, e.g. in milk production.

The issue is not about being simply wanting to rich or poor (no one wants to be poor), it's about seeing the system for what it is and what its productive capabilities could potentially be harnessed for.
This is awesome. Seriously. Someone upvote this thing. I almost didn't see it under the mound of Erlang.
I was wondering if you rationally consider failure to be an essential catalyst for eventual success?!

I don't see any rational reason for failure to cause success. There might be a correlation, since failure might be correlated with experience, and experience with success.
If we treat the Erlang blitz as a rarely used cultural hammer, then it represents a community-building/defining meme.

If, as you say, we start whipping out Erlang articles on a monthly basis, it just turns into noise.
Seemed like a good idea when they first got it out. It seems now like it was soo long ago.

Maybe it is interesting for embedded devices, but seems they've lost their purpose. It was never meant for business, but again, what's the point?
I read that Y Combinator was posing applicants with creating a new newspaper as we watch the current newspaper industry crumble. I thought trying to answer this question would be a good thought exercise and make for an interesting blog post. Appreciate any comments or critiques.
As Netflix streams more movies, it might give them the ability to better predict when you might like to watch certain types of movies.
The benchmarks were from what was designed to be a fair test. It might not have worked out that way, but that was the intention of the creator nonetheless. I stuck a massive disclaimer on my link to those benchmarks and let people at it (since NO benchmarks are EVER undisputed - biggest lesson I've learned). The post is at http://www.rubyinside.com/ruby-xml-performance-benchmarks-16... if you want to see how it was portrayed.

If everyone had to bother validating all the third party bits and pieces that get referenced on blogs, no-one would blog. Blogging is a "hey, check this out, I ain't saying it's true, but you might find it interesting" type of affair - it's not the New York Times (which is why regular journalism is foundering; it's expensive to fact check everything and, heck, it's a Ruby blog, not a trusted source of journalism).
You can tell by looking at the colums to the right--they show the load on each of the cores.

What is particularly interesting is that Haskell uses only one CPU to beat Java which is using four.
We're using Erlang to distract us from _why.
Yeah, it definitely feels like a coup or something. It's so lame.
The only thing that really bothers me about what _why did is that he killed all the mailinglists without warning. I happen to know that there were a lot of teachers on the Shoes mailing list trying to use shoes to teach kids to code. It was the center piece of the new hackety hack designed for kids. It seems completely irrational that _why would abandon these innocent people without so much as a "sorry, I'm out". this makes me really worried for his mental health. It is not rational behavior.
These sporadic hn memes put a half-a-smile in me face.
The almost abscence of jokes its great for the noise ratio, but these outbreaks are great fun.
Thanks guys.
You are way off here.

The article was not a customer support complaint about his personal account. Sure he could've written this article a helluva lot better, but his point is 100% valid which you implicitly agree with by recommending he open multiple profiles.

Remember that this guy is a writer not an engineer. His solution is likely bad! So throw out the idea of basing ratings on times of day or mood, etc. The problem statement is still there and valid:

My preferences change over time. How can a good recommendation algorithm account for that?

Brainstorm away...
He's not correct about the Netflix Prize algorithms. The leading ones all assume time-effects so that your rating on one day is not the same as on another day.

For the explanation of the winning team's view on time-effects as of 2008, see here:
http://research.att.com/~volinsky/netflix/Bellkor2008.pdf

For a simpler example of a time-based global effect, (see User x Time Effect, for example):
http://algorithmsanalyzed.blogspot.com/2008/05/bellkor-algor...
Look at the front page of Hacker News right now. Tell me that doesn't look at least as insane.

God, I hope this blows over by the time I get back from my RPG session tonight.
Please God give me the kharma to downvote the erlang.
No, my comment was intended to further elucidate the original comment as to garner an explanation for the reasoning behind your disagreement with the comment.

Instead you dismissed it as "snarky". Why do you disagree that Zed Shaw is attempting to hijack the situation to garner attention?
Mojombo's primer: Flash-like graphics API for HTML5 canvas
I did post articles that I found interesting...it's just that they happened to be articles about Erlang. ;-)

Curiously, the one that was just a mailing list post made it to the front page, while the two PDFs (both of which are much meatier and more educational) got buried in the flood. People have short attention spans.
No, that's not an argument by assertion. It's an argument by pointing out that your "definition" of security through obscurity is apparently at odds with the very origins of the concept.

I'm not saying that hiding the keyhole harms security. I'm saying that pretending hiding the key is the same as hiding the keyhole is an exercise in something so silly I can't even think of the word.
CouchDB From 10,000 Feet
Unfortunately, neither you, Zed, or I actually have claim to the assumed facts upon which he basis his suppositions and invective.
See, there's yer problem.

Err, I mean, my problem. Le double sigh.
if they were so exact then why do they disagree? i play go and i'm speaking from experience.
Zed is doing what so many are unwilling to

Rush to judgement? Yes, I'm unwilling to do that, especially publicly and without any reasonable justification for my own self-involvement with the issue.
"However, obscurity can never make a secure algorithm more secure."

If you're talking about the security of the algorithm, fine. But you're talking about the security of the system, and the algorithm is seldom the problem. If it takes two months to find the problem with the key management, then your obscurity that added two months just doubled the time to break in.

I still say you should use publicly vetted systems - but the community is in denial over the value (second rate, but still value) of security through obscurity.

Case in point: when Slashdot first released their source code, they didn't escape quotes in passwords, so it was possible to log in as an admin using an appropriately modified SQL statement. Sure, you could have figured what the command needed to be via trial and error before the code was released, but I was lazy. Releasing the code meant that I could now break into something I wouldn't try to break into before. The obscurity protected them from a certain threat model. It was still much better when they fixed the bug, of course.
. . . or maybe the short one got upvoted faster because it's easy to form an opinion of it (and thus upvote it with some understanding of it) quickly than the longer pieces, and since Erlang stuff is already flooding the front page, longer and meatier entries are having a harder time getting any attention, especially when they're about Erlang.

I thing that, if you have something actually interesting about Erlang to offer, you're better off sitting on it until after this ridiculous Erlang flurry dies down (if ever).
I've actually been doing so, but it doesn't seem to be making much difference. I only get one vote per item.

I appreciate your efforts to keep this "Hacker News" instead of letting it turn into "Erlang News", in any case.
I'm disappointed that a long-time user such as yourself has participated in such an immature and shameful display.
Yeah, there was at least one link that I found really interesting [1], but it never made it to the front page. Meanwhile, random links to things like the Mnesia reference manual are in the top 10.

1. Kamaelia.org: http://news.ycombinator.com/item?id=776372
Ask HN: Best service for collecting a small monthly payment?
A web app I'm working on requires either an upfront payment or a small monthly subscription (<$10). Are there any standouts in the category?

Three primary considerations are reliability, affordability, and ease of integration. Excellent customer service is a bonus.
How many hundreds of Erlang articles does it take to distract "us" from a handful of _why submissions?
By raising the level of abstraction sufficiently, you can relate anything with anything.
As I see it, there are two possibilities:

a) _why was hacked. a crime has been commited
b) he did this for personal or "artistic" reasons, and other people got screwed

Since (a) is unlikely, I can only assume (b). I understand the artistic mind - the need to create, and destroy, to find beauty in the world. I'm glad that people were touched by _why and are sad to see him go. I saw his persona as an artist, and never got personally involved with his projects because I like more professionalism in my code. It sucks to say it, but now I'm glad that I didn't.
He most certainly IS Jonathan Gillette. Just do an archive.org search on his websites. Around 2004 he changes from Jonathan Gillette to Why the Lucky Stiff.
education is better than irritation, if HN is incapable of providing productive news and information, by flooding it's face with only Erlang, then HN and all of you, need to go away, and find something more useful to do with your time.
This is one of the reasons I do all my development in a Linux VMWare image. No wrestling with MacPorts and I get to develop in an environment that much more closely mimics production. (easy snapshot/rollbacks of the whole OS are just a bonus)
I agree with the sentiment of "hey, let's talk about something else now", and I do like Erlang itself, but there's some good content over on the new page that's being overlooked due to the rush of Erlang posts.
Science toys you can make with your kids
The way to do url-shortening right
I hesitated to post this because the site looks so unprofessional (with its ads and weird layout). But the content is really really great. It's goes way beyond the typical "connect a battery to a lightbulb" type of kids' science.
Downvoted for not being about Erlang.
#songsincode
I don't have the book (although I'm tempted by it) but given that probability theory offers useful tools for NLP and cellular automata are finding some popularity among researchers into probability distribution, I can hazily envision a connection.

On the other hand, I can't discern where the improvements are besides speed and load balancing. Referring back to old YC threads seems to give the same quality of response as reported when it first opened for business.

Forgot to include the link to their developer page - the API docs have matured somewhat and others s/may/will be able to leverage them better than I: http://www.wolframalpha.com/developers.html
I'm sure Erlang's cool and all, but there' no more justification for spamming us with that then there is for spamming us with Beatles links.
My preferences change over time. How can a good recommendation algorithm account for that?

I'm confused. You just re-rate the discrepancies - I do that routinely (some movies seem okay after you watch them, then a few days later you realise they were eminently forgettable). The Netflix UI makes this easy by showing you the movies you recently rated for a while afterwards. I'd be pretty surprised if the recommendation algorithm didn't have a time weighting in it too, counting the movies you have rated recently more than the ones you have rated in the distant past.

You also seem to think that multiple profiles is a workaround - well to me, it's a really good solution to that kind of problem. When Netflix announced they were going to pull the feature I was one of the many people who complained, and was very happy when they reversed themselves.

"Remember that this guy is a writer not an engineer. His solution is likely bad! [..] The problem statement is still there"

But is it? I don't have any personal evidence that it is, and dude says it is but he doesn't rate movies so how can I know? Is it for you? Do you find that Netflix recommends movies you would have liked 5 years ago but no longer do so because your tastes have changed? If so then yes, we have a problem.

I do have a problem with the Netflix recommendation algorithm in that I don't feel it deals well enough with klunkers - just because I enjoyed 5 Hugh Jackman movies does not mean I will enjoy Van Hesling, because Van Helsing was a really bad movie and would not have been a good movie even with the second coming of James Dean. The solution to that is pretty simple technically though.
Ok, this is just golden.

We were still 1.5 MB over the memory limit!

At this point one of the most experienced programmers in the team, one who had survived many years of development in the "good old days," decided to take matters into his own hands. He called me into his office, and we set out upon what I imagined would be another exhausting session of freeing up memory.

Instead, he brought up a source file and pointed to this line:

static char buffer[1024 * 1024 * 2];

"See this?" he said. And then deleted it with a single keystroke. Done!

He probably saw the horror in my eyes, so he explained to me that he had put aside those two megabytes of memory early in the development cycle. He knew from experience that it was always impossible to cut content down to memory budgets, and that many projects had come close to failing because of it. So now, as a regular practice, he always put aside a nice block of memory to free up when it's really needed.
I prefer 5 _why articles in the top 30 to 15 erlang articles. If this is the case it is the Hacker News version of a flamewar and it really mars my enjoyment of the community.

It is interesting that flamewars through comments are quickly curbed since downvoting fades the comment out and sufficient flagging will kill troll(s) quickly. However, there is no way for the crowd to remove articles any longer after articles reach a certain threshold. The erlangers whether intentionally or not are exploiting this loophole.

[EDIT]
2nd <p> is a long-winded version of other comments on this submission :)
From the article: "I just looked up what’s actually happened to the Wolfram|Alpha codebase since launch. And I have to say that I’m quite astonished: it’s grown by a staggering 52%—adding well over 2 million lines of Mathematica code."

2 million. Jesus.
I was wondering about that as well. Maybe there's an invalid memory region on this platform which free() knows about and will silently ignore (for example the first N bytes of the address space), and the controller IDs happen to be in that range? Seems unlikely, but I can't think of anything else to explain it...
I think there are two audiences on this site constantly at war with one another: the neckbeard hackers and the douchebag startup CEO's (not that all hackers are total dorks and not that all CEO's are douches...but you get what I'm saying). These together probably make up about 40%-50% of the Hacker News audience. The other pieces of the whole are probably perfectly normal people who just like a good mix of news and code.

The neckbeards hate stuff like Mixergy or TC because they're not into the whole startup scene. The CEO's hate things like _why because they don't understand why he would spend more than 10 minutes a day doing something that doesn't make money (these guys poop while they're promoting synergy). As a result, when something like this happens and gets a lot of stories/attention, the neckbeards take the chance to submit that super 1337 Haskell tutorial they found 2 weeks ago which is subsequently voted up by the CEO's who just want this hobo, non-TechCrunched trash off the front page.

Then again, I have no data on this. Waffles.
See also: http://en.wikipedia.org/wiki/The_Complexity_of_Songs
Facebook Design: Search Iterations
Of course, just take time and we don't want to open it up until we are confident the design is robust.
It turns out that the event system would take it upon itself to free() the event's void pointer after processing the event.

You could set the pointer's value to be the controler's ID and then set it to null while you handle the event, and before you pass it down the chain. Or, the OS might be ok (and do nothing) when trying to free memory that's in the middle of a block of allocated memory.
Presumably he was depending on the allocator gracefully ignoring arguments to free() that were invalid.