DEV Community

Functional Geekery

Functional Geekery Episode 20 - Eric B. Merritt

In this episode I talk with Eric Merritt. We talk about his background in Erlang, static typing and using OCaml, as well as micro kernels, and the importance operations plays in the developer role.

Our Guest, Eric B. Merritt

@ericbmerritt on Twitter
http://blog.ericbmerritt.com/
ericbmerritt@gmail.com
https://github.com/afiniate

Announcements

Erlang Factory San Fransisco is coming up on the 26th-27th of March. Guest speakers include Alan Kay, José Valim, Robert Virding, Joe Armstrong, Mike Williams, John Hughes, Bruce Tate and many more. Listeners get a 10% discount when you use the code FnGeekery. To find out more visit http://www.erlang-factory.com/sfbay2015/home

I will be giving an Introduction to Erlang workshop at LambdaConf 2015 in Boulder, Colorado. LambdaConf will be taking place the 22nd-24th of May, and has offered a 10% discount of registration with code LambdaConf-Functional-Geekery. For more information and to register go to http://www.degoesconsulting.com/lambdaconf-2015/.

Sponsors

This episode is sponsored by PurelyFunctional.tv. For high quality videos on Clojure, from an intro to Clojure to an in depth look at core.async, Eric Normand has you covered. Videos are downloadable allowing them to be viewed offline and at your leisure, and include exercises to help ensure your learning through interaction. Listeners get a 25% discount off everything with coupon code GEEK. Visit http://purelyfunctional.tv/geekery, and make sure to thank them for being a sponsor.

Topics

Eric’s Background
Erlang Camp
Erlang and OTP in Action
relx
Eric’s adventures in looking at a number of different languages
Martin Logan one of Eric’s co-authors on Erlang and OTP in Action
Martin J. Logan was a guest on Episode 13
Greenspun’s tenth rule applied to OTP
Erlang has a driver that is not about curiosity, but about scalability
Using a ! in Erlang to send a message is equivalent to using Assembly in C
Erlware
Joxa
“Erlang Runtime System is brilliant”
Why build a LISP on the Erlang VM
Core Erlang
Eric doesn’t love the lack of typing
Dialyzer and Success Typing
Dialyzer is sadly not a replacement for static typing
Static Typing is the next step from Garbage Collection for compliers
Erlang is typed at it’s core
Would love to write a language with static typing on the Erlang VM
Distribution of work between dynamic languages and statically typed languages
The importance of using -spec preprocessor in Erlang
rebar3
Why Eric thinks static typing is extremely important
Eric’s move to use OCaml for his side work
Jane Street’s Async
Using AWS to offset the cost of not having Erlang’s concurrency in OCaml
The problems of lack of static typing as systems grow large
The feeling of confidence when an OCaml program compiles and passes it’s tests
Missing the idea of processes for modeling problem space in OCaml like Erlang has
Microkernels
Erlang on Xen and Mirage for OCaml
Erlang on embedded hardware
Running applications on bare hardware
BSD Rump Kernels
Amazon Machine Image
Open Stack
Docker
The move away from multi-user systems
Operations and Development are the same now
The importance of automating from time to check in to deployment
AWS Cloud Formation
DevOps.com
Chef
Puppet
Ansible
Packer
Resources for understanding the actor model
Akka
Mozart Oz
AliceML
Gambit Scheme
Thinking of Actor Model and distributed concepts as microservices
Eventual Consistency
CAP Theorem
Gossip Protocol
Vector Clocks
Bloom
Concurrency is the future
Look for other articles on DevOps.com
Declarative approach to deployments
Keep and eye on rebar3 for Erlang
https://github.com/afiniate
Beerly Functional Meetup

A giant Thank You to David Belcher for the logo design.

Episode source