SlideShare una empresa de Scribd logo
1 de 38
Ruby - Behind the scenes
A whirlwind tour of Ruby projects, off the Rails
Kenneth Kalmer
CTO - Internet Exchange
opensourcery.co.za
@kennethkalmer
github.com/kennethkalmer
There is more to Ruby than
Rails
and there is nothing wrong with Rails, we’re just
pretending it doesn’t exist for the next 25
minutes...
http://www.flickr.com/photos/kaptainkobold/5170454747/sizes/z/in/photostream/
Brace yourselves
This is going to be a quick overview of a bunch
of Ruby projects, old and new, each with their
own merits and applicability, and each worth a
whole presentation on their own, well,
http://www.flickr.com/photos/thomashawk/301906536/sizes/z/in/photostream/
ruby-collectd
Send collectd stats from   astro/ruby-collectd [GH]
your Ruby app
                           collectd.org
Graph whatever data you
want
agent
Attempt at GO-like         igrigorik/agent [GH]
concurrency in Ruby

“Do not communicate by
sharing memory; instead,
share memory by
communicating.”
http://www.flickr.com/photos/sweet_vengeance/4567219829/sizes/z/in/photostream/
Hackety Hack!
Teaching kids to program
Uses the shoes GUI toolkit




hackety-hack.com
shoesrb.com
rufus-scheduler
Like having cron          jmettraux/rufus-scheduler
embedded in your Ruby     [GH]
VM
Powerful scheduling DSL
Great error handling
Leveraged by ruote &
daemon-kit
http://www.flickr.com/photos/paulm/2994482/sizes/z/in/photostream/
chef
Complete server            opscode.com
deployment &
configuration management
Wildly successful
Total infrastructure
management/insight


opscode/chef [GH]
ruby-pdns
Use Ruby to serve as a    ripienaar/ruby-pdns [GH]
backend to PowerDNS
Different responses for
different countries
Randomize responses
http://www.flickr.com/photos/pixiez/3063441058/sizes/z/in/photostream/
ruote
Pure Ruby workflow           jmettraux/ruote [GH]
engine
                             ruote.rubyforge.org
Descriptively define
business processes
Execute workflows reliably
on an international scale
Kids Ruby
“Hack your homework”    hybridgroup/kidsruby [GH]
Hackety Hack inspired   www.kidsruby.com
Helping drive Ruby      (via @JEG2)
adoption
http://www.flickr.com/photos/14652282@N04/4993757183/sizes/z/in/photostream/
Homebrew
Awesome *nix package        mxcl/homebrew [GH]
management for OSX
Uses Ruby “formulae” to
drive compilation/
installation via a simple
DSL
Nanite
Self-assembling fabric of   ezmobius/nanite [GH]
Ruby daemons
Scalable message
queueing backend
Self discovery
Dynamic load balancing
http://www.flickr.com/photos/sepblog/3649959327/sizes/m/in/photostream/
Sourcify
A solution to extract the
code of a Proc, allowing
the Proc to be serialized
and passed around




ngty/sourcify [GH]
postgresql-plruby
PL/Ruby enables
PostgreSQL to leverage
Ruby for functions and
trigger procedures




knu/postgresql-plruby [GH]
http://www.flickr.com/photos/hanskainz/4122114599/sizes/z/in/photostream/
Haunted House
Client for the ISY-99i home   JEG2/haunted_house [GH]
automation controller API
Keep the lights on, or off,
with Ruby!
rtunnel
Can’t use “ssh -R”, rtunnel   coderrr/rtunnel [GH]
can setup reverse tunnels
for you
Leverages net-ssh & thin
http://www.flickr.com/photos/bertogg/2915383885/sizes/z/in/photostream/
blather
Awesome XMPP client       sprsquish/blather [GH]
library built on top of
EventMachine and
Nokogiri
Used by daemon-kit to
write simple XMPP
daemons
open4
open child process with        ahoward/open4 [GH]
handles on pid, stdin,
stdout, and stderr
manage child processes
and their io handles easily.
Useful for driving low-level
*nix utils through Ruby
http://www.flickr.com/photos/zen/3086398461/sizes/z/in/photostream/
Rubygame
Cross-platform multimedia     rubygame.org
library
Entertainment software
Scientific visualizations
Educational/training tools
Interactive motion graphics
UPnP-MediaServer
Serve media files to your   seattlerb.rubyforge.org/
PS3 using Ruby              UPnP-MediaServer/
Work in progress
http://www.flickr.com/photos/picsbycam/4818638496/sizes/z/in/photostream/
parslet
A small Ruby library for      kschiess/parslet [GH]
constructing parsers in the
PEG (Parsing Expression
Grammar) fashion.
Good error reporting
(unlike Treetop)
No code generation, easier
debug
daemon-kit
Build reliable, stable
daemonized applications
with Ruby
Helpers get you going fast




kennethkalmer/daemon-kit
[GH]
http://www.flickr.com/photos/helmutoelkers/1106183458/sizes/z/in/photostream/
Inspired?
This is a taster, and by no means authoritative.
Ruby is an awesome language, and a vibrant
community, and works just as well off the Rails
than on it.
What is your next project
going to be?

Más contenido relacionado

Destacado

Ecb history rolefunctions(2006)
Ecb history rolefunctions(2006)Ecb history rolefunctions(2006)
Ecb history rolefunctions(2006)
Prithviraj Rathore
 
Paco royo pintor
Paco royo   pintorPaco royo   pintor
Paco royo pintor
Jorge Llosa
 
05 xiaodong liu geologic setting of interformational-braided-channel type sa...
05 xiaodong liu  geologic setting of interformational-braided-channel type sa...05 xiaodong liu  geologic setting of interformational-braided-channel type sa...
05 xiaodong liu geologic setting of interformational-braided-channel type sa...
Monatom Mgl
 
jornadas recreativas de voley para docente
jornadas recreativas de voley para docentejornadas recreativas de voley para docente
jornadas recreativas de voley para docente
ConsultoriaEducativa
 
Digital Memories Yahoo!
Digital Memories Yahoo!Digital Memories Yahoo!
Digital Memories Yahoo!
Christophe Pelletier
 
Virus InformáTico
Virus InformáTicoVirus InformáTico
Virus InformáTico
Luis León
 
Sesión raíces históricas de chile ii
Sesión raíces históricas de chile iiSesión raíces históricas de chile ii
Sesión raíces históricas de chile ii
Andrés García
 
Actividades tema 7
Actividades tema 7Actividades tema 7
Actividades tema 7
grijota
 
Portable Audio
Portable AudioPortable Audio
Portable Audio
Dani Maio
 

Destacado (20)

Ecb history rolefunctions(2006)
Ecb history rolefunctions(2006)Ecb history rolefunctions(2006)
Ecb history rolefunctions(2006)
 
Moto Draft
Moto DraftMoto Draft
Moto Draft
 
Paco royo pintor
Paco royo   pintorPaco royo   pintor
Paco royo pintor
 
Prevención de Incendios a través del apoyo a la ganadería extensiva
Prevención de Incendios a través del apoyo a la ganadería extensivaPrevención de Incendios a través del apoyo a la ganadería extensiva
Prevención de Incendios a través del apoyo a la ganadería extensiva
 
05 xiaodong liu geologic setting of interformational-braided-channel type sa...
05 xiaodong liu  geologic setting of interformational-braided-channel type sa...05 xiaodong liu  geologic setting of interformational-braided-channel type sa...
05 xiaodong liu geologic setting of interformational-braided-channel type sa...
 
Präsentation der Schladming 2030 GmbH
Präsentation der Schladming 2030 GmbHPräsentation der Schladming 2030 GmbH
Präsentation der Schladming 2030 GmbH
 
Repaso de fisica básica SECCIÓN E-
Repaso de fisica básica SECCIÓN E-Repaso de fisica básica SECCIÓN E-
Repaso de fisica básica SECCIÓN E-
 
Crowd sourcing and tablet applications
Crowd sourcing and tablet applicationsCrowd sourcing and tablet applications
Crowd sourcing and tablet applications
 
Speaker corner by Digital Digicual - 24 Mayo 2016 Jornada Profesional
Speaker corner by Digital Digicual - 24 Mayo 2016 Jornada ProfesionalSpeaker corner by Digital Digicual - 24 Mayo 2016 Jornada Profesional
Speaker corner by Digital Digicual - 24 Mayo 2016 Jornada Profesional
 
Integrantes
IntegrantesIntegrantes
Integrantes
 
jornadas recreativas de voley para docente
jornadas recreativas de voley para docentejornadas recreativas de voley para docente
jornadas recreativas de voley para docente
 
Digital Memories Yahoo!
Digital Memories Yahoo!Digital Memories Yahoo!
Digital Memories Yahoo!
 
Virus InformáTico
Virus InformáTicoVirus InformáTico
Virus InformáTico
 
Sesión raíces históricas de chile ii
Sesión raíces históricas de chile iiSesión raíces históricas de chile ii
Sesión raíces históricas de chile ii
 
Derechos del Consumidor de Energia Electrica
Derechos del Consumidor de Energia ElectricaDerechos del Consumidor de Energia Electrica
Derechos del Consumidor de Energia Electrica
 
Alex vargas
Alex vargasAlex vargas
Alex vargas
 
Actividades tema 7
Actividades tema 7Actividades tema 7
Actividades tema 7
 
tipos de diodos
tipos de diodostipos de diodos
tipos de diodos
 
Cap 4
Cap 4Cap 4
Cap 4
 
Portable Audio
Portable AudioPortable Audio
Portable Audio
 

Similar a Ruby - Behind the Scenes

My rails way
My rails wayMy rails way
My rails way
wildjcrt
 
Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote Format
Adam Lowe
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF Format
Adam Lowe
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
Andy Davies
 
Ensemble oscon 2011
Ensemble oscon 2011Ensemble oscon 2011
Ensemble oscon 2011
OSCON Byrum
 
1st Chinaonrails Open Course 高级战略
1st Chinaonrails Open Course 高级战略1st Chinaonrails Open Course 高级战略
1st Chinaonrails Open Course 高级战略
Jesse Cai
 

Similar a Ruby - Behind the Scenes (20)

JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
 
Non-Framework MVC sites with PHP
Non-Framework MVC sites with PHPNon-Framework MVC sites with PHP
Non-Framework MVC sites with PHP
 
Culerity and Headless Full Stack Integration Testing
Culerity and Headless Full Stack Integration TestingCulerity and Headless Full Stack Integration Testing
Culerity and Headless Full Stack Integration Testing
 
Rails入門與新人實戰經驗分享
Rails入門與新人實戰經驗分享Rails入門與新人實戰經驗分享
Rails入門與新人實戰經驗分享
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
IronRuby for the Rubyist
IronRuby for the RubyistIronRuby for the Rubyist
IronRuby for the Rubyist
 
My rails way
My rails wayMy rails way
My rails way
 
Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote Format
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF Format
 
5 best practices for (web/ software) development (2010)
5 best practices for (web/ software) development (2010)5 best practices for (web/ software) development (2010)
5 best practices for (web/ software) development (2010)
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Next-Generation Ruby Deployment with Heroku
Next-Generation Ruby Deployment with HerokuNext-Generation Ruby Deployment with Heroku
Next-Generation Ruby Deployment with Heroku
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for Mobile
 
Introduction To Rails
Introduction To RailsIntroduction To Rails
Introduction To Rails
 
Ensemble oscon 2011
Ensemble oscon 2011Ensemble oscon 2011
Ensemble oscon 2011
 
1st Chinaonrails Open Course 高级战略
1st Chinaonrails Open Course 高级战略1st Chinaonrails Open Course 高级战略
1st Chinaonrails Open Course 高级战略
 
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
 
Using ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on RailsUsing ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on Rails
 
Ruby microservices with Docker - Sergii Koba
Ruby microservices with Docker -  Sergii KobaRuby microservices with Docker -  Sergii Koba
Ruby microservices with Docker - Sergii Koba
 

Más de Kenneth Kalmer

Más de Kenneth Kalmer (8)

Broken Dreams & Shattered Promises
Broken Dreams & Shattered PromisesBroken Dreams & Shattered Promises
Broken Dreams & Shattered Promises
 
Why ruby
Why rubyWhy ruby
Why ruby
 
Unleashing the Rails Asset Pipeline
Unleashing the Rails Asset PipelineUnleashing the Rails Asset Pipeline
Unleashing the Rails Asset Pipeline
 
Reusing your frontend JS on the server with V8/Rhino
Reusing your frontend JS on the server with V8/RhinoReusing your frontend JS on the server with V8/Rhino
Reusing your frontend JS on the server with V8/Rhino
 
Ruote
RuoteRuote
Ruote
 
Daemon Kit - RubyKaigi 2009
Daemon Kit - RubyKaigi 2009Daemon Kit - RubyKaigi 2009
Daemon Kit - RubyKaigi 2009
 
Capistrano
CapistranoCapistrano
Capistrano
 
Ruote in 20 Minutes
Ruote in 20 MinutesRuote in 20 Minutes
Ruote in 20 Minutes
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Ruby - Behind the Scenes

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n