# ranch-talk [🖥️ Upstream][upstream] • [🐙 GitHub Mirror][github] I was asked to give a 5-15 minute talk on [Ranch][ranch], a TCP socket acceptor pool writter in Erlang, to show how OTP constructs are used in the real world and expose some of [Elixir's Phoenix's][phoenix] underpinnings. This [Livebook][livebook] contains my code and notes for that talk. Thanks to [Divvy][divvy] for inviting me to give this talk. # Usage ```bash asdf install mix escript.install github livebook-dev/livebook git clone https://git.lyte.dev/lytedev/ranch-talk.git cd ranch-talk mix do deps.get, compile ``` Install and run a local Livebook in `attached` mode and automatically grab my code: ```fish env LIVEBOOK_PORT=5560 LIVEBOOK_IFRAME_PORT=5561 \ LIVEBOOK_HOME=(pwd) LIVEBOOK_IP=0.0.0.0 \ livebook server --default-runtime mix --no-token ``` Or if you're gonna share this with everybody, it's probably safer to run it inside of Docker: ```bash docker build . --tag ranch-talk docker run -it --rm -p 5588:5588 -p 5589:5589 ranch-talk ``` Enjoy! [ranch]: https://github.com/ninenines/ranch [phoenix]: https://www.phoenixframework.org/ [livebook]: https://github.com/livebook-dev/livebook [divvy]: https://getdivvy.com/ [upstream]: https://git.lyte.dev/lytedev/ranch-talk [github]: https://github.com/lytedev/ranch-talk