Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mononcqc
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
33 ms
·
241.
▲
by
mononcqc
15y ago
I think you got this article entirely wrong. Jlouis (the author) is an advanced Erlang user who does know the language very well. He wrote etorrent, an Erlang bitorrent client in Erlang (which was also compared with combinatorrent, his Hask
242.
▲
by
mononcqc
15y ago
A thorough read would mention the semantic difference between them, the granularity of parallelism, some of the intent behind the concurrency/parallelism constructs, implications of performance when trying to do parallelism in Erlang, gener
243.
▲
by
mononcqc
15y ago
That's great to hear! Let me know what you think of the new chapters once you're there. I don't drink beer, but I could be up for tea/coffee, or a donation of beer money to the foundation of your choice. Alternatively, keep it for yourself
244.
▲
by
mononcqc
15y ago
funnily enough, many DB engines are written in Erlang -- a usually slow, high-level language. CouchDB, Riak, Mnesia, Hibari, Amazon SimpleDB, etc. They're not completely off the table.
245.
▲
by
mononcqc
15y ago
The limit between Erlang and OTP is really thin. For example, the code server, the bit of running processes in charge of loading new modules in the VM, is a gen_server, an OTP component. Same with the standard library, kernel and whatnot, w
246.
▲
by
mononcqc
15y ago
Erlang (the language) can not run without OTP as OTP is essential to the runtime environment of Erlang. They are the same entity, which is why the official name is Erlang/OTP. EDIT: an example to be more specific. The basic libraries such a
247.
▲
by
mononcqc
15y ago
Erlang is also an entire programming environment, including a framework, database(s), a web server, etc.
248.
▲
by
mononcqc
15y ago
Because what to do when the queue is full is absolutely application specific. What happens if the message you can't add is a specific system message that allows the suspension of OTP processes for a code upgrade? Do you end up livelocked? H
249.
▲
by
mononcqc
15y ago
Heart does solve it in a way, yes. Any Master/Slave pattern where a masterless slave becomes a master also solves it. The complex cases I had in mind happen when you dynamically add more workers and try to set up crazier links (A is the mas
250.
▲
by
mononcqc
15y ago
No, this doesn't break the async philosophy. The synchronous sequence of calls is done by a question/reply made out of 2 asynchronous calls. It's just that simple to make something synchronous, as opposed to turning something synchronous as
251.
▲
by
mononcqc
15y ago
What you need to do then is look into a few different options. The first one is distributed Applications. This is part of the standard OTP stuff. What this does is declare a node as a master, and then failover nodes for your OTP application
252.
▲
by
mononcqc
15y ago
I'm intrigued by the idea of mutual supervision. This implies that both process dynamically become the supervisor of each other. By default, OTP supervisors are more architectural in nature -- they will always give you a top-down tree rathe
253.
▲
by
mononcqc
15y ago
You have to make the producer synchronous to the consumer so the consumer is slowed down. Ask for an acknowledgement on reception of any task/event. This will instantly limit the rate at which data can come in the final worker.
254.
▲
by
mononcqc
16y ago
The whole thing can be read in order from Chapter 1 if anyone feels like doing so :) I've tried to make it a continuous progression.
255.
▲
by
mononcqc
16y ago
Conifers still exist in places other than mountain slopes; boreal forests and taigas being the perfect example. It's more a question of climate than terrain as far as I know. Losing needles is not a disadvantage as much as an advantage in t
256.
▲
by
mononcqc
16y ago
And to my understanding it can be done on processes not currently scheduled so there is very little visible impact.
257.
▲
by
mononcqc
16y ago
Just adding to the list that Erlang has optional type specifications, used only for analysis. http://www.erlang.org/doc/reference_manual/typespec.html
258.
▲
by
mononcqc
16y ago
''' In this case I didn't explain my choice of style because most people in the JS community would consent with it, and there has been lots of discussion about this in the past. ''' Then link to the discussions, explain why it is obviously
259.
▲
by
mononcqc
16y ago
The case of Erlang is more or less a matter of preference. I haven't seen any piece of Erlang code with the separator first, except in the case of the if expression: if Cond1 -> Exp1 ; Cond2 -> Exp2 ; ... -> ... ;
260.
▲
by
mononcqc
16y ago
Here's some criticism. Taken from 'convincing the boss': ''' Another great aspect of node.js is the ease at which you can develop soft real time systems. By that I mean stuff like twitter, chat software, sport bets or interfaces to instant
261.
▲
by
mononcqc
16y ago
I'm the author of Learn You Some Erlang, and as pointed out by rvirding in the comments, I've also written a blog entry about the syntax ( http://ferd.ca/on-erlang-s-syntax.html ). I'll be adding this entry in the book at some point in the
262.
▲
by
mononcqc
16y ago
I try to tackle some of these points in An Open Letter to the Erlang Beginner (or Onlooker) ( http://ferd.ca/an-open-letter-to-the-erlang-beginner-or-onlo... ). As for the nine nines (99.9999999%) in the Ericsson AXD 301 ATM switches, Pleas
263.
▲
by
mononcqc
16y ago
you wouldn't believe it anyway
264.
▲
by
mononcqc
16y ago
I agree that you need to maintain supervisor hierarchies yourself because you know your application better than any other method I know of at the moment. As for writing your own supervisors being impossible, the better word might be 'imprac
265.
▲
by
mononcqc
16y ago
Yes. Listening to music, trying to play over it. Get a metronome, play with it, even if it's only stretching exercises. You'll get a feel for it. Try playing the same song slow or fast, have someone with a sense of rhythm tell you how well
266.
▲
by
mononcqc
16y ago
1. Error messages are sometimes cryptic and that is indeed a language flaw. Line numbers would be absolutely fantastic to have and it's a shame they're not there. I can agree on that. Other languages, however, do not uniformly do a better j
267.
▲
by
mononcqc
16y ago
Bicycles have training wheels to get you going. Erlang doesn't. It might be hard and require effort. I don't know how you learn new things, but it's generally taking me lots of effort: math, sports, music, etc. They're all hard when you fir
268.
▲
by
mononcqc
16y ago
Why don't you just automate the REPL tests so they can be done for you? Whatever you type in the REPL, add it to the test suite. Whatever you check as output, that's your set of assertions. It will save you a whole lot of time in the future
269.
▲
by
mononcqc
16y ago
Yes, sorry. Misread you. Ignore my comment.
270.
▲
by
mononcqc
16y ago
Author, here. I hope you enjoy.
More ›