This year's JRubyConf is located in the historic Mill District, the birthplace of Minneapolis. The area is centrally located and adjacent to the St. Anthony Falls portion of the Mississippi River. After a long history of industry, this eclectic neighborhood has re-emerged as the cultural center of the city, filled with parks, lofts, restaurants and of course, great bars. Want to learn more about MPLS? Check this out.
The internationally acclaimed Guthrie theater has a great history behind it, and is one of the top attractions in the Twin Cities. Founded in 1963 and rebuilt in 2006, the theater facilitates performances, production, education and professional training. Its architecture is appreciated from coast to coast, and the views it affords of the Mississippi river are appreciated by many a Minneapolitan.
Cabs from the airport to downtown will deplete your pocketbook by about $38-$49.
We have reserved blocks of rooms at two hotels. These rates are valid until April 19, so book early!
The Aloft is the closer of the two hotels, just one block from the Guthrie. There is a shuttle that runs between the two hotels so you can get back and forth from the conference to Nicollet Mall and other parts of Downtown.
Thomas Enebo is the co-lead of the JRuby project and an employee of Engine Yard. He has been a practitioner of Java since the heady days of the HotJava browser, and he has been happily using Ruby since 2001. Thomas has spoken at numerous Java and Ruby conferences, co-authored "Using JRuby", and was awarded the "Rock Star" award at JavaOne. When Thomas is not working he enjoys biking, anime, and drinking a decent IPA.
Charles Oliver Nutter has been programming most of his life, as a Java developer for the past decade and as a JRuby developer for over four years. As a JRuby Architect at Engine Yard, he co-leads the JRuby project, an effort to bring the beauty of Ruby and the power of the JVM together. Charles believes in open source and open standards and hopes his efforts on JRuby and other languages will ensure the JVM remains the preferred open-source managed runtime for many years to come. Charles blogs at blog.headius.com and tweets as headius on Twitter.
Jeff Casimir travels the world preaching the good word of Ruby for his company, Jumpstart Lab. He interacts with hundreds of developers and dozens of teams each year, pushing his research into best practices and new ideas.
Yoko is a dedicated programmer, blogger and, maybe, a nerd. She likes to code, read sources and learn new languages. Currently, Yoko is a committer of JRuby and Nokogiri project. When her API, RedBridge was merged to JRuby, she became a JRuby committer along with it in 2009. She became a Nokogiri committer in 2010 to help pure Java Nokogiri implementation to finish. Because JRuby and XML are Yoko's favorite technologies, it was a good fit. Before that, Yoko was a server side Java evangelist in Japan, and wrote three books about Java Servlet. After she had more than three years of blank in 2005-8, she's back to programming. Now, she enjoys days of happy coding.
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston.
He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.
Venkat is the author of ".NET Gotchas," the coauthor of 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors".
Nathaniel T. Schutta is a senior software engineer focussed on making usable applications. A proponent of polyglot programming, Nate has written two books on Ajax and speaks regularly at various worldwide conferences, No Fluff Just Stuff symposia, universities, and Java user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace dynamic languages.
Randall Thomas is a classically trained musician that took one too many calculus classes along the way and got sucked into the sciences. Being both blessed and cursed with a strange form of technology ADD, he's worked in various industries with numerous startups covering everything from robotics, to low level telecommunications & networking to applied computing for stock trading systems.
Randall is an internationally renowned speaker on practical data mining techniques and the business of startups.
When not glued to a computer Randall is likely lost in book or on a running trail wondering if he will get to the end of either.
Tammer Saleh is a long time Rubyist, leader, and published author.
As the happily former VP Engineering at Engine Yard, Tammer ran the development team and the flagship Cloud product. He authored the acclaimed book, Rails AntiPatterns with Chad Pytel. He's also the author of the Shoulda testing framework, and the fantastic Airbrake service.
Tammer has given classroom training in Ruby, Rails, JRuby, and Test Driven Development, and has spoken at various Ruby and Rails conferences around the world.
Previous lives include C/C++ AI programming, and UNIX administration for Citysearch.com and Caltech's Earthquake Detection Net work.
By day Sarah Allen is CEO of Blazing Cloud, a San Francisco consulting firm that creates innovative mobile products for hire, both web and native iOS/Android. By night, Sarah writes code for Mightyverse, which aspires to be a revenue generating product to help people communicate across languages and cultures. She's also working to change the face of software development with RailsBridge, and often teaches outreach workshops and kids. She created Pie, a open source language for kids to develop web adventure games.
Before her adventures in Ruby and mobile, Sarah has a history of developing leading-edge products, such as After Effects, Shockwave, Flash video, and OpenLaszlo. Sarah was named one of the top 25 women of the web by SF WoW (San Francisco Women of the Web) in 1998.
Sarah blogs at www.ultrasaurus.com.
Jim Remsik is a world-renowned hugger, conference organizer, community instigator, and speaker. He's been around the world from London to the Bay. He's a principal at Bendyworks a software consultancy in Madison, WI. Jim answers to "Tiger, Big Tiger, yo Tiger." But, what you should really know is he has been on Ripley's Believe it or Not, Raced Stock Cars Backwards and was ineffectively targeted by a serial killer in his youth. His talks draw on his wide range of life experiences and relate them back to how we can all become better people.
Nancy Lyons works at the intersection of technology, community, and people. She empowers and motivates teams of technologists and creatives as the President and CEO of Clockwork Active Media.
Together with Meghan they're the Geek Girls Guide, a duo dedicated to demystifying technology for audiences everywhere through extensive public speaking, writing, and online dialogue.
Meghan Wilker specializes in using strategy, technology, and process to bring people and products together. As VP, Managing Director at Clockwork Active Media she drives projects to produce engaging digital solutions.
Together with Nancy they're the Geek Girls Guide, a duo dedicated to demystifying technology for audiences everywhere through extensive public speaking, writing, and online dialogue.
Joe is a professional software consultant at Arcturo, where he builds Ruby and Rails applications for clients of all sizes. He also contributes to several JRuby projects including TorqueBox and Trinidad.
Joe is the author of the soon to be released "Deploying with JRuby" from the Pragmatic Bookshelf
Xavier recently emigrated from Australia to San Francisco to work with the analytics team at Square. Prior, he worked on large Ruby projects at The Conversation and ClearGrain, and presented a world tour of a training course titled "Your Database Is Your Friend". He has been working with Ruby for half a decade, and has published and contributed to over 80 open source projects according to GitHub.
LivingSocial Architecture Team member. Concurrent/Distributed Object Oriented Programming afficionado. JVM fan. Beer enthusiast. Karaoke fiend.
Andreas Ronge is the author of the Neo4j JRuby binding Neo4j.rb. When he does not work on this open source project or consult in projects using Neo4j.rb he practices the piano, currently the Brahms Piano Quartet in C minor. He is employed as a consultant at Jayway in Sweden since 2001.
David's technical management experience spans entertainment, media, and finance. Prior to joining Jun Group, David brought technology leadership and hands-on strategic and architectural direction to Gucci, TheStreet.com, and, most recently, Scripps Networks (Food Network, HGTV, DIY, Fine Living, and Great American Country).
At Jun Group, David and his team built the most advanced, flexible, and powerful social video network ever developed. As Chief Technology Officer, David is responsible for creating and maintaining the technology that delivers millions of opt-in video views across multiple devices, operating systems, and providers.
I've been a software developer for nearly 15 years with extensive experience in Java and OSGi. Ruby has been more of a hobby, but I've followed the JRuby project for quite some time, contributing as time permits, because I see it as a great way to utilize a language that I love (Ruby) in a corporate environment where Java is firmly entrenched.
Max De Marzi
Max is a developer who found his true calling merging ruby and graph databases. He built the Neography Ruby Gem, a rest api wrapper to the Neo4j Graph Database as well as MadCoder.Tv a Roku channel for developers.
Christian Doten is co-proprietor of Four Gates Physical and Energetic Culture in South Minneapolis. He is an ACE certified personal trainer, Kettlebell Concepts certified trainer, has an advanced personal training certificate and associates degree in massage therapy and postural/structural assessment from the Swedish Institute of Health Sciences. He is also a certified yoga instructor and a professional skateboarding enthusiast.
By day, Ian Dees slings code, tests, and puns at a Portland-area test equipment manufacturer. By night, he dons a cape and keeps watch as Sidekick Man, protecting the city from closet monsters. Ian is the author of "Scripted GUI Testing With Ruby" and co-author of the upcoming "Using JRuby."
|9:00am - 5:00pm||RailsBridge Workshop|
|10:00am - 12:00pm||Juckel: Getting Started with JRuby|
|1:30pm - 5:00pm||De Marzi/Ronge: Intro to Neo4j|
Getting Started with JRuby
Heard about JRuby, but unsure how to dive in and start using it? I'll take you through your first steps. We'll handle how to install JRuby, examine some of the runtime differences between JRuby and MRI, and take a look at some of the JVM deployment and diagnostic tools at your disposal.
Intro to Neo4j
Learn all about Graph Databases and how you can add Neo4j to your projects. After a quick introduction, you'll learn how to use the REST API directly from Neography to get the basics and then hands on experience with JRuby and Neo4j.rb.
We'll cover property graphs, common use cases, domain modeling, algorithms, visualization, gremlin, cypher, deployment to heroku, graph indexing and answer all of your questions.
|8:00am - 9:15am||Breakfast & Registration|
|9:15am - 9:30am||Opening|
|9:30am - 10:30am||Venkat: It could be heaven or it could be hell: Pleasure and peril of being a polyglot programmer|
|10:45am - 11:30am||Nutter/Enebo: JRuby: Full of Surprises|
|11:30am - 12:00pm||Casimir: Adventures on the Golden Path|
|12:00pm - 1:30pm||Lunch|
|1:30pm - 2:00pm||Dees: JRuby and Rubinius: Thnad's Revenge|
|2:00pm - 2:30pm||Kutner: Deploying JRuby Web Applications|
|2:45pm - 3:15pm||Allen: Agile Business Development|
|3:15pm - 3:45pm||Remsik: Open (Source) Wounds|
|3:45pm - 4:15pm||Doten: Practical Movement for the Knowledge Worker|
|4:15pm - 4:30pm||Break/Snacks|
|4:30pm - 5:30pm||Lightning talks|
|5:30pm - 7:00pm||Dinner on your own|
|7:00pm - 11:30pm||Conference Party, Beer and Whisky tasting|
Breakfast & Registration
It could be heaven or it could be hell: Pleasure and peril of being a polyglot programmer
With so many languages on the Java platform, there are real benefits to learning and using them. However, these languages bring along some challenges as well. Attend this keynote to learn, from a world renowned polyglot programmer and author of books on multiple languages, the pleasures and perils of being a polyglot programmer.
JRuby: Full of SurprisesSurely something JRuby-ish.
Adventures on the Golden Path
Rails 1.0 was about proving we could build the same functionality as the other web frameworks, but doing it faster. Rails 2.0 was about pushing the vanguard forward, setting new trends for how the web should be built. Rails 3.0 paid down technical debt and laid the foundation for our future. Now what?
Rails has always guided developers down the "golden path" of best practices. Let's look at potholes needing filling, ways we can straighten the dangerous corners, and figure out where this road might be heading.
JRuby and Rubinius: Thnad's Revenge
At last year's JRubyConf, we talked about Thnad, a fictional programming language. Thnad served as a vehicle to explore the joy of building a compiler using JRuby, BiteScript, Parslet, and other tools. Now, Thnad is back with a second runtime: Rubinius. Come see the Rubinius environment through JRuby eyes. Together, we'll see how to grapple with multiple instruction sets and juggle contexts without going cross-eyed.
Deploying JRuby Web Applications
This talk will help you bridge the gap between enjoying JRuby, and using it in the real world. JRuby can simplify your deployment architecture, while making your application more reliable, scalable, and easier to manage. You'll quickly see the benefits, but it will require a new technology stack.
There are three deployment strategies that can be used with any Rack-based JRuby application, and this talk will provide an overview of each of them. We'll also discuss the technologies that make them possible, and when it's appropriate to use each strategy. You'll learn how the Warbler gem can be used to create an web application archive file. Then we'll discuss how the light-weight Trinidad web server can be used to create a flexible, modular deployment that still feels friendly and familiar. Finally, you'll learn how to power an application with TorqueBox, an all-in-one environment that includes built-in support for messaging, scheduling and daemons.
Agile Business Development
Test-driven development is mom-and-apple-pie to Rubyists, but knowing that a product will work goes well beyond bug-free code. How do you catch a design flaw early when all your tests are green? We'll look at some techniques for vetting your go-to-market strategy and other things you should be doing *before* you start writing code.
Open (Source) Wounds
This talk will seek to raise recognition in our community to the fact that there are real people behind Open Source Software. We'll analyze the black box retrieved from the wreckage of well-known community disagreements. Suggest how to move the conversation forward as well as discuss tools and techniques for diffusing potentially explosive situations.
Practical Movement for the Knowledge Worker
Dinner on your own
Conference Party, Beer and Whisky tasting
|8:30am - 9:30am||Breakfast|
|9:30am - 10:00am||Schutta: Leading Technical Change|
|10:00am - 10:30am||Harada: Pure Java Nokogiri? It's Just Awesome.|
|10:45am - 11:15am||Wood: JRuby for Performance|
|11:15am - 11:45am||Shay: JRuby at Square|
|11:45am - 12:15pm||Thomas/Saleh: Ruby Y U no GFX?|
|12:15pm - 2:15pm||Lunch|
|2:15pm - 2:45pm||Ronge: Neo4j.rb and the Revival of a New Type of Object Database|
|2:45pm - 3:15pm||Arcieri: Concurrent Programming with Celluloid|
|3:30pm - 4:30pm||Lyons/Wilker: Dawn of the Devs|
|4:20pm - 4:35pm||Closing|
Leading Technical Change
Technology changes, it's a fact of life. And while many developers are attracted to the challenge of change, many organizations do a particularly poor job of adapting. We've all worked on projects with, ahem, less than new technologies even though newer approaches would better serve the business. But how do we convince those holding the purse strings to pony up the cash when things are "working" today? At a personal, how do we keep up with the change in our industry?
This talk will explore ways to stay sharp as a software professional. We'll talk about how a technology radar can help you stay marketable (and enjoying your career) and how we can use the same technique to help our companies keep abreast of important changes in the technology landscape. Of course it isn't enough to just be aware, we have to drive change - but how? This talk will consider ways we can influence others and lead change in our organizations.
Pure Java Nokogiri? It's Just Awesome.
A month before the JRubyConf 2011, pure Java Nokogiri made the first release. Since then, pure Java Nokogiri has caught people's attention. It is faster than FFI version, no struggle to install, no worry about a dependency, etc. Prior to the JRubyConf 2012, pure Java Nokogiri made the second release. The latest version had a Java integration feature as well as many bug fixings. Doesn't it sound awesome? Not just that. It is already a Tokaido-nized. It can be integrated with JVM languages. It is a well-used JRuby extension. It made performance improvement. Why don't you create something like this? I'll dig into how pure Java Nokogiri made that.
JRuby for Performance
Jun Group is the leader in social video distribution for Fortune 500 brands. This means fielding thousands of requests per second from the largest Facebook games, websites and mobile applications. The industry demands real-time reporting in this data-rich milieu, and our tightly-integrated partners demand zero-downtime solutions. The company's explosive growth made getting there a breakneck race for the technology team, from MRI Rails prototype to Cloud-based infrastructure.
Our team attended JRubyConf in 2011, and afterwards we chose to use JRuby in our fight to reach web scale, not only to boost performance but to escape to the Java platform and language ecosystem (and leverage cheap Amazon Elastic Beanstalk JVMs).
This is the "performance" talk I wish I had seen. We explain both the architectural and operational work involved in our move and how it enabled us to hit our time-to-scalability, reliability, and feature targets. Along the way we can discourse on the surprising opportunities that spring from multi-lingual, JVM-based development and the crucial benefits of regaining "working" multithreading, for instance as they relate to our sub-second clustered monitoring and self-tuning capacities, or our data storage and caching strategies.
In the end, it worked; we were able to scale an "unscalable" classic MRI Rails application quickly and cheaply, without a ground-up rewrite. The result was massive success for the business (see http://blog.jungroup.com/ for more).
JRuby at Square
An experience report! Follow the journey of JRuby at Square, from humble beginnings to becoming the accepted standard for deploying Ruby applications. Along the way we'll discover the ups and downs of many packaging and deployment options, Java integration, mutual SSL authentication, real threads, cross-ruby compatibility, and a few surprises thrown in for good measure.
Ruby Y U no GFX?
Two words seldom heard in the same sentence are Ruby and Graphics...at least without laughter soon following. We've heard it all before: Ruby is too slow; real graphics are done in C, CplusPlus, or Assembler; there's no support for OpenGL in Rails.
The excuses may be many, but the reasons are few. With JRuby we have access to a tool that bridges the worlds of Java and Ruby. With Java Native Interface (JNI) we have a bridge to the world between the low level interfaces that rule the bitmapped and bump-mapped world. Combining the two allows us to use a language we love to tackle problems that used to be the domain of esoteric solutions in low level languages.
This talk explores how to use our favorite scripting language and the breadth of the Java ecosystem to generate interactive visualizations with less pain and fewer segfaults than we've come to expect for using Ruby to tackle "low level" problems.
Neo4j.rb and the Revival of a New Type of Object Database
The object database never became a huge success despite some real benefits like no impedance mismatch, no need for a complex or leaky ORM layer and great performance (e.g. no slow JOIN operations). A graph database has similar advantages but not the same disadvantages since it avoids coupling the database with a programming language. Instead, it uses the simple language of a graph (node, relationship and properties) for interaction with the database.
There are many problems which, really, only a graph database can solve properly. We'll show you the real world challenge, transposing from whiteboard to graph database using Neo4j running in Rails.
If your database cause you trouble because you need to persist or query data with many relationships between entities or if you're just curious why we believe graph databases are the next big thing then this talk is for you.
Concurrent Programming with Celluloid
Threads versus events: which should you choose? How about both? In this talk you'll learn about the Celluloid concurrency framework, which combines OOP and the Actor Model to give you concurrent Ruby objects. You'll also learn about how Celluloid lets you combine blocking I/O and asynchronous evented I/O, offering you all the benefits of EventMachine without the restrictions of a single event loop. The talk will also provide a brief introduction to DCell, a distributed extension to Celluloid.
Dawn of the Devs
The interactive industry has a little PR problem: half the world sees us as reclusive loners sitting in dark rooms, and the other half sees us as app-happy adult kids riding through offices on scooters. However inaccurate this is, we have to change it. Future projects are riding on it, our industry is depending on it, and end users need it.
The web is about people. And the quality of our work on the web directly correlates to how well we work with people. We have a responsibility to make projects better and to create end products that are actually--in practice--the best solutions for our clients' problems. We have to learn to talk about what we do and how we do it, we have to teach clients how to think intelligently about the possibilities and realities of interactive products, and we have to ask our team members to do the same.
A lot of this starts with a good process. A good process serves every team member. Most importantly, it facilitates productive communication and collaboration, a critical requirement for good work. But to be good, a process needs team-wide participation. It only benefits everyone if everyone takes part, and projects go smoother only when the full team is involved. Everyone who works on interactive teams should care about and demand good process.
Drawing on our new book, Interactive Project Management: Pixels, People, and Process, we'll discuss the framework the Geek Girls Guide developed to establish a high standard, industry-wide way of approaching digital projects. We'll outline how to collaborate well no matter what role you play on the team, give a high-level overview of an interactive process that works with any type of interactive product, and articulate the kind of thinking that's required for successful, effective results.