Live data from Hacker News

Erlang/OTP 18.0 has been released

erlang.org

11–20 of 42 posts

Re: Erlang/OTP 18.0 has been released

#11
Something you may find interesting is that the new faster maps are loosely based on Rich Hickey's HAMT implementation that is used in Clojure. Jose and co. in Elixir adapted/is-adapting their internals to use maps as well, as they were faster than any implementation they had.

In addition, I wrote a full QuickCheck model for the new maps. That is, we randomly generate unit test cases for the maps and verify them. We have generated several millions of those test cases, including variants which heavily collides on the hash. This weeded out at least 10 grave bugs from the implementation, which in turn means this release is probably very stable with respect to maps.

Re: Erlang/OTP 18.0 has been released

#12
post #4

Still non mingw or mingw-w64 or (windows) clang friendly.

I think a patch for this would be welcomed. Usually there are some subtle complications from such ports which tend to also affect other systems. So fixing it in one place often helps other porting efforts as well.

Re: Erlang/OTP 18.0 has been released

#14
> ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability.

> ssl: Remove default support for RC4 cipher suites, as they are consider too weak.

I'm not following Erlang news but was just wondering, aren't these fixes coming out way too late?

Re: Erlang/OTP 18.0 has been released

#15

> ssl: Remove default support for SSL-3.0 and added padding check for TLS-1.0 due to the Poodle vulnerability. > ssl: Remove default support for RC4 cipher suites, as they are consider too weak. I'm not following Erlang news but was just wondering, aren't these fixes coming out way too late?

You could tell the `ssl` application to avoid SSL-3.0, TLS-1.0 and RC4. Here is an explanation by RabbitMQ:

https://www.rabbitmq.com/ssl.html

It is different from an end-user application in the sense that you can configure this in a safe way, and that has indeed been the typical workaround.

Now we just make it impossible for people to misconfigure this in any way.

The fix was also backported to 17.5 w.r.t the padding for TLS-1.0.

Another point worth mentioning is that Erlang/OTP uses OpenSSL, but only for the cryptographic ciphers. `ssl` is a complete standalone implementation of TLS in Erlang and this automatically avoids a lot of trouble. The common case is that an attack on OpenSSL leaves the `ssl` application unaffected by the error.

Re: Erlang/OTP 18.0 has been released

#16
post #6
post #5

Earlier quoted context omitted.

Anything noteworthy ? :-)

How come you havent noticed?! The number! 18! Come on, Ruby is on 2, Python struggles to get to 3 and Java tries to catch poorely with 8...

Random numbers (18 vs Python's 3 or Java's 8) don't mean anything without comparing the release cycles and version numbering schemes as well.

I could make small incremental updates to a toy language and release them every week to get to FooBarLang 200.0.0, that doesn't mean it's progressing faster than a language at release 2 or 10.

Re: Erlang/OTP 18.0 has been released

#17
post #11

Something you may find interesting is that the new faster maps are loosely based on Rich Hickey's HAMT implementation that is used in Clojure. Jose and co. in Elixir adapted/is-adapting their internals to use maps as well, as they were faster than any implementation they had. In addition, I wrote a full QuickCheck model for the new maps. That is, we randomly generate unit test cases for the maps and verify them. We h…

Isn't HAMT Phil Bagwell ?

Re: Erlang/OTP 18.0 has been released

#18
post #16
post #6

Earlier quoted context omitted.

How come you havent noticed?! The number! 18! Come on, Ruby is on 2, Python struggles to get to 3 and Java tries to catch poorely with 8...

Random numbers (18 vs Python's 3 or Java's 8) don't mean anything without comparing the release cycles and version numbering schemes as well. I could make small incremental updates to a toy language and release them every week to get to FooBarLang 200.0.0, that doesn't mean it's progressing faster than a language at release 2 or 10.

That's the joke.

Re: Erlang/OTP 18.0 has been released

#20
post #11

Something you may find interesting is that the new faster maps are loosely based on Rich Hickey's HAMT implementation that is used in Clojure. Jose and co. in Elixir adapted/is-adapting their internals to use maps as well, as they were faster than any implementation they had. In addition, I wrote a full QuickCheck model for the new maps. That is, we randomly generate unit test cases for the maps and verify them. We h…

No surprise there, Rich's code is pretty solid. I really like this sort of co-operation between languages.

Out of curiosity: QuickCheck is a property based test library? I know of test.check in Clojure and they mention QuickCheck as the inspiration, so I guess they re similar in this regard.

Post reply on HN