skysight-inc/HackerNews huggingface dataset:
Short answer: You have to be slightly smarter than average to use it properly.

Longer answer: The only proper way to learn Erlang is to read the documentation. Then re-read the documentation. All of it. It takes 3-6 months to get proficient, then another 6 months to stop doing things the native or outright bad way.

If you are primarily an "erlang programmer," you can't interview for jobs. Everybody hires for either java, ruby, or python. If you do see a rare "Erlang job" position, they probably actually mean "We want you to understand ejabberd because we based our company around it and it's actually unusable at scale, so you get to fix other people's problems all day long." (Of course, building your own company/services around Erlang stops the "need to interview in other languages" problem.)

But, why can't you interview in Erlang? I guess you can, but the way I work, I have an editor in one window and API docs in the other. Interviewers, sitting up there on their oh-so-high perches, don't like it when candidates want to do quick API lookups for things like parameter order or return values. (Does it take (Fun, List) or (List, Fun)? Does it return Value or {ok, Value} or {value, Value}?)

Short conclusion: Erlang is a system and understanding systems takes effort and practice. People, in general, don't want to learn, they want to do. It's the whole "one year of experience 15 times over" instead of 15 years of growth and advancement problem. It's the "person with 20 years in computing can't write a tail recursive function" problem. It's just a problem.

Alternative question: why don't people understand defmacro (and recursive defmacro) and write their programs from the bottom up?

Bonus analysis: In a world where people just want to learn one thing and use it forever, Erlang doesn't fit. With Python, you can learn it once then keep "extending" it to pretend to get concurrency and other fancy features Python actively rejects at the implementation level. So, you learn Python once, then feel productive because you're duplicating functionality given to you for free in other languages.

Erlang has so much "done right the first time" built into its VM you don't have to reinvent basic parallel computing every time you want to get two webpages at once or serve more than one client at a time from a basic five line server. But—Erlang people know for other tasks, say something better served by numpy, they should jump over to Python or Lua or something else better suited to the task without reimplementing all of the "they did it right the first time" code in Erlang just because they refuse to learn any other language.
Erlang is meant to be high-availability and high-performance language. Good. It has potentials.

However, I cannot build any high-availability and or high-performance system based on it because it lack community around it. I.e., if something stops working there is very little resources or support - I'm not even sure if anybody tried or tested that.. So it is chicken and egg problem :(
Holy cow: We can detect an object 16km large at 18,000 light-years from Earth!
Distributed Logging Infrastructure with YAL
Yup, grandfathered. I remember I also had fastmail account when it was free, but lost it long time ago.

I'm not complaining about 40$, but the laziness and friction on changing provider of my identity is still there. And I can't really test how it would work until I switch completely to it with my primary account, since using secondary account is not a real world test.
Git-fat – A simple way to handle fat files without committing them to git
I tried it for approximately 6 months (a few years ago). I translated some slow python into fairly idiomatic (IMHO) erlang and got some pretty significant speedups. I had vary little functional programming experience before that, so my comments here come with that caveat.

My hangups:

- lack of easy-to-use string libraries. far and away the biggest pain point. working in bioinformatics, I deal with a lot of poorly-formatted text.

- installing erlang itself was fine, but installing (and finding) any other packages was a PITA.

- documentation could have been better. I can't remember what specifically I disliked but remember being frustrated trying to find info about builtin nuances.

- syntax. this one seems silly from the outside, but the whole commas-here-but-definitely-not-there and other idiosyncracies really made tweaking code and debugging a pain. Go has similar pains around the "unused variable" errors so I know this type of thing isn't particular to erlang.
AptDeco (YC W14) Gives Apartment-Hopping NY'ers a Way To Buy and Sell Furniture
The incognito browser will still gather some data during your session, when you end the session it will 'forget' them. You won't be able to recover the session data, whether or not there are still files from that session floating around on your computer. They are likely temporary files which will soon disappear.
When in history was "not being surveilled" understood as a "God-given right"?
Erlang is dogmatically functional and smells of prolog. Most people don't know what to do with it.

I love reading all these posts about new cool-kid concurrent languages when Erlang has decades of maturity and a sophisticated scheduler that kicks the shit out of go/rust/scala/insert cool new thing.

Source: I've used it professionally and its my language of choice
I have picked up my copy of "Real World Haskell" (Bryan O'Sullivan et.al) about three times; each time ended up nearly starting over and each time making it about ten pages or so more in, (i guess it's a recursive language at several levels). It's a fascinating approach, but egads, it requires a thousand fold more effort to get into than any other language i've learned. somewhere between the monads and the syntax..[hollywood car explosion]

somehow Haskell makes me feel bad about myself; like an ultra strict grade school teacher.
Worldwide demand for their pigs.
Doesn't run on CLR/Mono.
Yeah, but it's sad they haven't made any effort to correct for population density. So it's only the overall colour of a country that carries information, the hues just tell you where people live (but you might mistake them for meaning something else, be careful!)
I found Erlang a lot easier to learn than Haskell. I don't really find them to be very similar, especially because they have a completely different evaluation strategy. The syntax and semantics are also quite different. Specifically, Haskell's non-strict (lazy) evaluation turns everything inside out so you tend to write many things in a different way than you would in Erlang.
"No surveillance at all" wouldn't just exclude "all-encompassing, algorithmic surveillance". It would also exclude warranted tapping of phones in connection with a murder investigation, and similar. I would be hugely leery of asserting that we gain precisely nothing from that.
The state of standalone apps on iOS
In all honesty why would you expect the narrative written by man to be any different than the narrative written by nature?
Great visualization, but this would be much more interesting if it accounted for differences in income within countries as well.
This has a fancy name: The Reader Monad.

Don't be scared though! Essentially it's a way of composing functions together, like a(b(c(d(...)))), but it 'skips' the first argument of every function, leaving a 'hole'. We get back a function which plugs its argument into all of these holes, ie. dependency injection!

I found these links useful for understanding the technique:

http://lambdaman.blogspot.co.uk/2007/10/monadreader.html
http://stackoverflow.com/questions/14178889/reader-monad-pur...
Good points. I don't cover that at all on the landing page.

It is 100% API driven using a a JSON REST api. As part of the open-sourcing process I'll be documenting that, but it isn't currently documented at all.

The pricing engine is lacking compared to other ERP implementations. Right now it does per-customer pricing with quantity breaks, but it doesn't have the concept of pricing libraries like others do. I do have experience implementing those but just haven't gotten it done yet. I agree that'll be really important for larger enterprises.

It is US only at the moment, mainly because I have no experience with VAT and European accounting. If someone was willing to work with me on it to discuss how it all works that'd be awesome...
We dont support consignment of exotic components via the web interface yet but we can handle that via email. Likewise with mechanical assembly, test etc.

We're actually learning what different fields mean as people upload projects. We're kindergarten level but learning fast!
I disliked the narrator, too. They should get Jeff Bridges. He made me fall in love with batteries.
Yes, but newcomers don't know that. First thing they see is old school algol-like spaghetti. :) Haskell looks much nicer.
83 Best Sites to Promote your Blog for SEO and Traffic
#!/usr/bin/env escript

main(_) ->
io:format("hello, world").
Not 2 years ago, it was at least 90% male.

Although towards the end of the term, it trended towards a balance.

-----

On review, the article is NOT about what you'd consider CS1

"Introduction to Symbolic Programming was reborn as Beauty and the Joy of Computing."

This is a CS class in the loosest sense of the word.

It fulfills no prerequisites towards a CS degree.

OTOH I could just be cynical, and this class is just what's needed to get more females into the subsequent CS classes.

At least anecdotally, I know a few people who had no real interest in CS start with this class, but then proceed to take proper CS classes they may otherwise have ignored.
That's a bullshit response. Buried in the middle of his comment is a glaring contradiction in HN's supposed support of the UDHR: the document hints at freedom from surveillance (one might stipulate), but directly demands support for moral and material rights for authors and artists. Virtually nobody on HN agrees with Article 27.

So, rather than moving the goalposts: 'rayiner was rebutting the proposition that the UDHR demonstrates a right for people around the world to be free from any surveillance. Do you disagree with him? If so, how do you square it with this site's overwhelming support for piracy?
Just upvote the rest instead. That's what I did. Eventually this shit will sink to the bottom.
... and they all promptly changed their majors when they found out forgetting a semi-colon made their programs not compile.
Except that its observably not (true).
10 words of Voynich manuscript decoded
Okay, that means that it won't be any harder for them, but their money transfers will still be just as bad as everybody else.
And this is why we can't have nice things. We wonder why we have such problems getting girls interested in coding?
In this case we're not talking about ARIA or native elements vs. styled ones, though, we're talking about CSS classes.
Aerodynamic drag (the force required) goes as the square of the velocity.

Power required is force times velocity, so power required goes as the cube of velocity. Twice the power adds only 26% to speed.
Munchery?
I haven't looked at Erlang before, so I thought I give it a quick look. Google led me to the Erlang home page[1], which has "What is Erlang" (sounds good) and "What is OTP" (which doesn't bother to define what O, T, and P stand for.)

Following the Erlang Quickstart [2] link, I get a page that doesn't really tell me anything about the language. It demonstrates a program that implements a factorial function, then tells me to go write games. Other than "Burn the CPU", I'm not sure what kind of games I can write with what I learned here.

The first link to more documentation at the bottom of the page goes to a book's website, so that's a dead end. The second link goes to an online reference guide [3] which seems more promising, until I read the introduction [4]. Under "Things Left Out" is "How to communicate with the outside world". Hrm...

So, what I have so far is that Erlang is a functional language, and that the online reference doesn't cover interaction with anything outside of your program. Based on this I'm guessing that Erlang is one of those functional languages that are great for mathematical proof-like software development but not practical for solving actual problems because the world is mutable and the language constructs are not. Yes, I'm making a big inference here, but that definitely seems like where I'm heading.

So I'm going to stop here, and do some real work in a pragmatic language.

[1] http://www.erlang.org

[2] http://www.erlang.org/static/getting_started_quickly.html

[3] http://www.erlang.org/doc/getting_started/users_guide.html

[4] http://www.erlang.org/doc/getting_started/intro.html#id62800
Name one big tech company that was founded by female founder.

Exactly...
$500,000 sounds like a lot. That's like as if he had saved half his take home for ten years while living in one of the high cost of living places that tend to employ finance people at that level.
My theory: writing network servers that are not web servers is a relatively uncommon problem to have these days.

One of the hardest parts about learning a new language is coming up with a learning project that showcases the unique strengths of the language without being intimidating to a newcomer or too contrived to actually be useful. This is difficult in any language, but it's especially so in Erlang.

Obviously "it's different; people don't like things that are different" has a lot to do with it, but we've seen other FP languages experiencing faster growth recently, so I don't think that can be the only cause.

I've been using it for a few months, for what it's worth.

Edit: obviously there are lots of people who need to write concurrent network server clusters, but I'd argue that the benefits of the Erlang approach are difficult to grasp before you've actually deployed something written in Erlang; simple toy projects (which are a prerequisite to learning a language) don't usually play to its strengths. A language that's really good at web apps is going to grow more quickly simply because its advantages are easier to appreciate from the start.
There's some truth to this. I took a few intro classes to boost my GPA and the majority of women in my group begged for me to help them just pass the class since it would look good on their resume.
My first thought was this was an underhanded way to get more demographic data. I also don't like the potential privacy ramifications. What unintended places will those images end up? I don't use a public profile pic and I don't take selfies.

How this much different than the clubs that attempt to scan driver's licenses?

At least there is a fall back to a pure barcode.
If people weren't locked in by the pain of having to give out new contact info and the inability to migrate years of email and attachment history to another service, I can't imagine that gmail wouldn't have been disrupted by now. We were bribed with "free" disk space and now we're paying the price for it. (If I'm wrong about being unable to migrate the data, please let me know.)
This is talking about CS10, not CS61a.

CS10 is a class designed mostly for non majors, who are interested in Computer Science; CS61a is the first required class for the major. I know of a bunch of CS guys with their girlfriends in CS10. A lot of people who are already set on taking CS as their major go directly into CS61a, skipping CS10, and this accounts for a lot of the gender ratio difference in CS10. If you look at a class like CS162, you can see the gender ratio of the people who are actually sticking through the major.

This doesn't mean as much as graduation rates, etc.
Since we're being technical, Japanese does not have any alphabet as such; an alphabet has, by definition, a 1 to 1 correspondence between a single character and a sound. Japanese uses syllabaries ('kana' in Japanese), where almost all characters represent more than 1 sound. Hiragana is typically used to write Japanese words and grammatical particles, while katakana is typically used to write foreign words and for special emphasis, roughly analogous to how boldface type is used in English. Both of these kana are derived from Chinese characters, greatly simplified, though the relationship is somewhat distant.

Japanese also uses a third writing system called kanji, also not an alphabet, whose name literally means "Han [Chinese] characters" in Japanese. Kanji are logographs, where one character represents one entire word or concept rather than sounds.

Most kanji are identical or very similar to modern Chinese characters and are readily intelligible to a Chinese reader, at least in a general sense, though some have diverged a bit.

Grammar is another matter entirely. Japanese is a language isolate, a language that is not related to any other known language. (Someone will reply that it's distantly related to Korean, but this is a fringe theory in linguistics that is not widely accepted.) Chinese and Japanese are not grammatically related at all, and any similarity between their syntaxes is coincidental.
Not knowing enough about Erlang/OTP or Go: Would it be possible for more of OTP to be replicated in a Go 2.0? What's missing? What would it take? What can never be replicated?
"Who Controls the Controllers?"
Erlang is a very specialised language. It does one thing well (scalability) at the expense of not really being a general purpose language.

The syntax is just weird, not only in a paradigm-way (pattern matching is not huge in most languages, but, hey, that's the way of doing stuff in functional programming), but on strange places ("read" lines ending on dot, semicolon takes time, it does not share any common syntax definitions with the languages used by 99% of the programmers). That sets a high bar in approaching the language, so it's difficult to "play around" with it (at least compared with other languages)

While I like some of the advantages of Erlang, the lack of general support for a lot of common operations (and yes, string manipulation is a huge deal) and the fact that it is designed with a very very particular problem in mind makes it "a silver bullet". Not in the usual meaning, but in the way that's only useful for killing a werewolf. For every other task is too expensive and just not the proper tool.
I was involved in a project that used Erlang for something not well suited for it, and it was absolutely awful, you have to wrestle with it to perform common stuff that in other languages is done by the standard library. Again, you win something, but only in a very very VERY specific problem.

(I've used it in another project when it was the proper tool, and, in that case, it's still not the most pleasant experience, but you're getting a clear win)
Bizarre headline rewrite, there.
There was a related discussion a few days ago:

https://news.ycombinator.com/item?id=7244614
This project was the subject of a lot of debate when it launched, and at that time, I was on the side of the author because I thought it seemed like a nifty project, though not a fit for what I'd give to my children.

Now that I see it turned into a write up like this, I can't help but wonder if those criticizing the project for its intentions were correct.
Microsoft creates Windows Phone apps for companies without asking permission
The name is too easily confused with Uhhh Lang ?
If you go through a consultant make sure the rate they quote is the rate you get. Sometimes they'll quote a rate and then take off their cut. Normally around 15-20%
I hope that you told them 'no' or charged them appropriately for tutoring.
I think the majority of programmers are very conservative about language, they use whatever they already know, be it Java, C#, C++, ruby, etc.

A minority are more fashion-driven - if something seems like the hot new trend they'll jump on it, scoffing at the old-fashioned crap their coworkers are using. Erlang unfortunately is not fashionable, and it's hard to predict or control fashion.

A smaller minority are driven by some concept of technical merit. However, once you've strayed from the safety of Java/C#/etc., it seems like you might as well go all the way and get into Haskell, which is pretty widely seen as the most advanced, mind-expanding, powerful, futuristic programming language right now, and for good reason.
Healthy Open Source Projects Need People (Redux)
It sounds like it's one of those "programming for non-programmers" courses and not really the full entry-level course into the CS program, but it's still encouraging that so many young women are interested in dabbling with code.
[Google, ] You need to resolve this urgently. It's getting embarrassing now.
Fun fact: I did a co-op at Ericsson in second year. I asked my interviewer (later boss) if they used Erlang at all, and she'd never heard of it. Some of the hackers in the company had a limited degree of familiarity with it, but none of the PMs/managers seemed to know what it was.
So, if an emperor has a right to take country by force, why not grant the same right to inhabitants of that same country to free themselves by force? Besides, how any sane person can find justifying attacking one small neighboring country and killing one third of its male population and committing such atrocities against humanity just to "revenge" the death of one person, for which Serbia wasn't even responsible. After all, if Bosnia was really legitimate part of AH empire, as opposed to occupied country, then why attack Serbia because one AH citizen killed another one. Seems like blaming the victim, since Serbia was clearly the biggest victim of WW1.

As you already said, one Bosnian Serb (which btw declared himself as Yugoslavian, like many members of his Mlada Bosna (Young Bosnia) organization) kills one tyrant, then AH and Germany attack half of the Europe, and Serbia and Gavrilo Princip are guilt of WW1? Makes no sense to me.
The web browser is not where your concerns are. Suppose you had a trusty secure web browser. You're still driving on roads they own.
Steve Jobs to get a 2015 US Postal Stamp
Fair point. "Abstract" might be better. It embodies the information-/implementation-hiding goal of this technique.

Abstractions still require names, and the names should be meaningful (not easy: "naming things is one of the hardest things to do in software development"), at least to the development team (hate to keep rattling off platitudes, but "you should write code for humans first, computers second"). Rather than "semantic", "descriptive" seems to fit the bill.

"Abstract and descriptive". Doesn't quite roll off the tongue, but I tried :)
I have "tried it & stopped". I only tried it to check out webmachine, which appears to the be only web framework in existence that is not stupid and terrible. I stopped because I was done trying webmachine, and went back to my normal language that is much nicer than erlang (haskell).

I don't think my experience with erlang has anything to do with the reasons it isn't more popular though. The biggest thing I see is the lack of module/library/package management. CPAN was a big deal. It is now expected that every language have their own CPAN. I think the lack of one is a huge problem for any language, erlang being a good example. I think it is also a big reason that ocaml and haskell went from being "ocaml is the more commonly used one" to "haskell has ten times the userbase of ocaml".
I learned Erlang at University, and haven't come across it in the real world yet. I've mostly been locked into Microsoft houses since I graduated.

It's not wasted, though. I use my knowledge of functional programming to write better, more stable programs in Javascript and C#.

The lessons of Erlang, of what can be achieved when one shrugs off the burden of state... are extremely valuable in scalable, concurrent programming - regardless of language.