SlideShare a Scribd company logo
Programming a zombie
@darkofabijan
semaphoreapp.com
renderedtext.com
Semaphore
• hosted continuous integration and
deployment
• distributed & semi-fault-tolerant
• runs on 20 dedicated servers
• it’s all Ruby
Programming a zombie
Programming a zombie
Programming a zombie
Isolation
1
Body part isolation
2
Body isolation
2
Body isolation
Zombie world
Computer World
Programming a zombie
Programming a zombie
Isolation
Message passing
Elixir
BEAM
(EVM)
Erlang
streaming APIs
server side events
web sockets
multi-core
Ruby / Ruby on Rails
great syntax
a lot of meta-
programming
easy to create DSL
BEAM
x few million
half mobile data traffic in the world
99.999+%
def Math do
def sum do
receive do
{:sum, a, b} ->
IO.puts(“Sum #{a + b})
sum()
end
end
end
pid = spawn(fn -> Math.sum end)
pid <- {:sum, 2, 3}
=> Sum 5
{:sum, 2, 3}
Math.sum
Shell
{:sum, 2, 3}
Math.sum
Shell
{:sum, 2, 3}
Math.sum
Shell
Novi Sad
Tokyo
pid = spawn(tokyo, fn -> Math.sum end)
pid <- {:sum, 2, 3}
OTP
Server
Event
FSM
Supervisor
Application
Leader
Books
Thank you!
Q&A

More Related Content

PDF
I Want My EIP - Buffer Overflow 101
PDF
What is Functional Programming?
PDF
Fast, deterministic, and verifiable computations with WebAssembly
PDF
Altitude San Francisco 2018: WebAssembly Tools & Applications
PDF
Productive OpenCL with Intel Xeon Phi Coprocessors
PDF
High-Performance Networking Using eBPF, XDP, and io_uring
PDF
ZeroMQ with NodeJS
PDF
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
I Want My EIP - Buffer Overflow 101
What is Functional Programming?
Fast, deterministic, and verifiable computations with WebAssembly
Altitude San Francisco 2018: WebAssembly Tools & Applications
Productive OpenCL with Intel Xeon Phi Coprocessors
High-Performance Networking Using eBPF, XDP, and io_uring
ZeroMQ with NodeJS
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff

What's hot (9)

PDF
Rcpp11 useR2014
PDF
Libtcc and gwan
PDF
Oslo.Messaging new 0mq driver proposal
PDF
Presentation a performance monitor for solaris and linux
PDF
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
PPTX
Events: Distributed programming made easy
PDF
Zerograph
PPTX
Ocpi in a nutshell
PDF
Screaming Fast API Clients
Rcpp11 useR2014
Libtcc and gwan
Oslo.Messaging new 0mq driver proposal
Presentation a performance monitor for solaris and linux
Soirée de lancement Visual Studio - .Net Core 3 et ASP.Net Core 3
Events: Distributed programming made easy
Zerograph
Ocpi in a nutshell
Screaming Fast API Clients
Ad

Similar to Programming a zombie (20)

PDF
Gabriele Santomaggio - Inside Elixir/Erlang - Codemotion Milan 2018
PPTX
Iron Languages - NYC CodeCamp 2/19/2011
KEY
Using Smalltalk for controlling robotics systems
PPTX
Evented Ruby VS Node.js
PDF
Rubinius @ RubyAndRails2010
PDF
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
PDF
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
PDF
An Introduction to Twisted
KEY
Servers with Event Machine - David Troy - RailsConf 2011
PDF
Infrastructureascode slideshare-160331143725
PPTX
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
PDF
Infrastructureascode slideshare-160331143725
PDF
KEY
MacRuby, an introduction
PDF
Oleksandr Smoktal "Parallel Seismic Data Processing Using OpenMP"
PDF
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
PPTX
No Callbacks, No Threads - RailsConf 2010
PDF
PPT
Building an ActionScript Game Server with over 15,000 Concurrent Connections
PPT
BonAHA framework - IEEE CCNC 2009
Gabriele Santomaggio - Inside Elixir/Erlang - Codemotion Milan 2018
Iron Languages - NYC CodeCamp 2/19/2011
Using Smalltalk for controlling robotics systems
Evented Ruby VS Node.js
Rubinius @ RubyAndRails2010
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
An Introduction to Twisted
Servers with Event Machine - David Troy - RailsConf 2011
Infrastructureascode slideshare-160331143725
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructureascode slideshare-160331143725
MacRuby, an introduction
Oleksandr Smoktal "Parallel Seismic Data Processing Using OpenMP"
JavaOne 2015 : How I Rediscovered My Coding Mojo by Building an IoT/Robotics ...
No Callbacks, No Threads - RailsConf 2010
Building an ActionScript Game Server with over 15,000 Concurrent Connections
BonAHA framework - IEEE CCNC 2009
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Spectroscopy.pptx food analysis technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
sap open course for s4hana steps from ECC to s4
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Spectroscopy.pptx food analysis technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Programs and apps: productivity, graphics, security and other tools
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Programming a zombie