Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Erlang Universal Binary Format? Anyone using it?

I recently stumbled upon this 2002 conference paper (Getting Erlang to talk to the outside world by Joe Armstrong) and I was wondering whether this is a standard that was ignored or if there was any adoption?

Should I focus on Apache Thrift for inter-platform communication? (whatever solution I choose will involve at least Erlang)

like image 559
Andrew Matthews Avatar asked Jan 19 '11 03:01

Andrew Matthews


4 Answers

You might find the following information helpful about UBF (i.e. UBF User's Guide).

http://ubf.github.com/ubf/ubf-user-guide.en.html

This might help answer some of your questions about UBF. There is also an Erlang server and client implementation of Thrift using the UBF framework (https://github.com/ubf/ubf-thrift).

Joe N.

p.s. We have been using UBF, EBF, and JSF in a production environment for approximately ~5 years. The UBF contract checker is very helpful for developing, debugging, and deploying a system.

like image 107
norton Avatar answered Oct 13 '22 14:10

norton


UBF never really caught on. Here's what Armstrong had to say in 2008. As you look into Thrift you might also look into Protocol Buffers. You can find an Erlang implementation here.

Hope this helps.

like image 39
Bryan Hunter Avatar answered Oct 13 '22 13:10

Bryan Hunter


I don't know if anyone's using Erlang's binary serialization format per se, outside of Erlang programs; but BERT (Binary ERlang Term) is an Erlang-compatible binary data interchange format and RPC protocol specified and open-sourced by the GitHub guys. It's based on and fully binary-compatible with the Erlang external term format.

As you can see on the BERT website, there are implementations in a number of programming languages, including C++, JavaScript, Ruby, Python, Scala, Haskell, Go, Factor, Scheme, Clojure, and Common Lisp. The mailing list currently has 85+ members subscribed to it, so quite a few people are indeed using BERT, and hence indirectly the Erlang binary format.

In my own use, mostly in Ruby and Common Lisp applications, BERT has proved useful as essentially a binary form of S-expressions.

like image 33
Arto Bendiken Avatar answered Oct 13 '22 14:10

Arto Bendiken


I think the Hibari guys are using it.

https://github.com/ubf/ubf/

like image 32
0xYUANTI Avatar answered Oct 13 '22 14:10

0xYUANTI