The Good, The Bad & The Ugly
(Clojure & JRuby)
Allen Rohner @arohner @circleci Clojure/West 2012
Monday, March 19, 12
The Good, The Bad & The Ugly (Clojure & JRuby) Allen - - PowerPoint PPT Presentation
The Good, The Bad & The Ugly (Clojure & JRuby) Allen Rohner @arohner @circleci Clojure/West 2012 Monday, March 19, 12 Who Am I Using Clojure in production since 2008 Author of Scriptjure, a DSL for writing javascript, two
Allen Rohner @arohner @circleci Clojure/West 2012
Monday, March 19, 12
javascript, two years before ClojureScript
compojure, noir, lein, swank-clojure, pallet...
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Mongo Clojure JRuby Trinidad
Architecture
Monday, March 19, 12
Monday, March 19, 12
(require ‘foo.bar) (foo.bar/baz 3) foo = JRClj.new(“foo.bar”) foo.baz(3) (-> (r/module “Foo”) (r/class “Bar”) (r/send :baz 3)) Foo::Bar.baz(3)
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
The JVM Ruby 1 Ruby 2 Ruby 3
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
downgrade due to different bugs
Monday, March 19, 12
Monday, March 19, 12
kLOC Java Self- hosted Clojure (1.3.0) JRuby (1.6.5)
51 28 291 600
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
expecting to reload
Monday, March 19, 12
Monday, March 19, 12
Doesn’t work!
Monday, March 19, 12
threads
theory, not in practice. Weird classloading bugs, unsupported gems.
Monday, March 19, 12
Monday, March 19, 12
‘rails console’ or ‘lein repl’
Monday, March 19, 12
Monday, March 19, 12
compared to what Rails does)
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
project[“git-url”]
{:git_url git-url}))
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
The closer you are to the ‘standard’ environment, the better things work
Monday, March 19, 12
Monday, March 19, 12
(In the same process)
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
Understanding Devise + OmniAuth
Writing Oauth2 login in Clojure
Monday, March 19, 12
But you’ll understand it!
Monday, March 19, 12
But it’s simpler!
Monday, March 19, 12
Monday, March 19, 12
Monday, March 19, 12
@circleci circleci.com
Monday, March 19, 12