Skip to content

Instantly share code, notes, and snippets.

@kfaustino
Created July 11, 2012 14:55
Show Gist options
  • Save kfaustino/3090934 to your computer and use it in GitHub Desktop.
Save kfaustino/3090934 to your computer and use it in GitHub Desktop.
Toronto Ruby Brigade Notes for July 10th, 2012 by David Andrews
SOA
=====================================
Pitr
works at Uken Games (team of about 20 people) doing MMO mobile games
been there for about a year
Noticed things were not DRY
refactored common elements from existing games:
authentication
payments
push notifications
workers
cross-promotion
analytics
feedback (contact us)
first attempted through a library
found that it was not powerful enough
New goals were generated:
must be:
Modular
DRY
support TDD
be Scalable
fast iterative updates to each service
state machines have been very useful in certain cases
Things to explore:
Couchbase - couchdb and memcache together
JSON API for connections - APIs are versioned
RabbitMQ (for internal queues - user actions)
Resque versus Sidekick
JRuby
==============================================
Tasveer Singh
Zenapsis
(background is in cognitive linguistics)
Why do I need it?
Isn't it for Performance?
Doesn't it introduce bugs and inconsistencies?
Puma web server - JRuby 1.7
Unicorn second best
JVM - continues to improve
optimizations
Mixed mode - interpreted and compiled
runs the profiler at startup
such as:
method inlining
loop unrolling
dead code elimination
duplicate code elimination
other benefits:
compilation - JIT (@ 50 calls)
configurable
generational/concurrent/tuneable garbage collection
jvisualvm
concurrency - multiple Java threads spawned by one app
context switching (for free)
time slicing
processor affinity
thread safety
check out: Jruby_ThrEach
JVM Languages
Mix and match
Embedded JARs
Java ecosystem
Interesting projects:
Ruboto - android apps with Ruby
Ruby motion
vert.x
Deployment:
Trinidad
Puma - new kid on the block - significantly faster (Engine Yard)
TorqueBox - based on JBoss (RedHat)
Warbler - "web application resource" - Jruby -> WAR conversion
TorqueBox - based on JBoss
has web, messaging, scheduling and services support
supports sinatra and rails
Things to consider:
Passenger - at full load it segfaults
Jruby doesn't
options in terms of languages
they use backbone.js
https://github.com/zenapsis/carrierwave_imagevoodoo
for testing you can run it on a faster VM
[Notes compiled by David Andrews, Ryatta Group]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment