Ruby's implementation of closures in the form of blocks, procs and lambdas is one of the most powerful aspects of the language. Wielded properly, closures can yield more elegant and concise code. We'll explore these concepts with examples of when and how you leverage them.
Ruby is an amazing programming language and it allows you to express complex concepts with simple code. Come learn how to utilize ruby in order to write your own programming language. Matt "Goose" Mongeau will talk about the tools involved in the writing of a programming language. This talk will give a general overview of the tools involved and present you with the knowledge to be able to tackle the problem on your own. This talk will not be overly complex and will instead focus on breaking down each part into easy to learn pieces.
Test Driven Development has changed the way a lot of us develop software. Using this approach to develop new features and automating the testing process ensures safety and code quality; but it can feel frustrating to wait for a test suite to run. If you haven't done done any tuning of your development rails environment there are a number of quick wins you can make substantial improvements to the runtime of your test suite. This talk will explain the strategies used to reduce a test suite from taking around 40 minutes, to around 13 minutes, with a minimal amount of work - not rewriting all the tests or making any fundamental changes to application or test code.
Walking away from this talk you will know the steps you should take on your development machine right away, along with an overview of how to use performance analysis tools to find the bottlenecks in your specific application.
A lot can happen in two and a half years. In this talk, Diaspora Co-Founder Daniel Grippi provides a retrospective on his experience managing the largest open source Ruby on Rails application to date; starting from knowing very little Rails and practically no process, to knowing a little Rails and a little process.
Out of the box, Rails does its best to help you secure your app.
Unfortunately, without consistent application of secure development
principles, practices and tools, it's just a matter of time before
vulnerabilities creep in.
Despite Rails' secure defaults, most Rails applications have
vulnerabilities, many of which are easy to detect and fix. As a
community, increased awareness and understand of web application
security puts us in the best position to avoid breaches (like the
GitHub SSH key fiasco), and keep our businesses safe.
The best time to start locking down your app is now, not after your
first close call (or worse). We'll walk through exactly what you need
to reduce the risk of a security breach to your business, beyond the
Rails defaults.
While Ruby is object oriented and imperative, it does have some features that allow for functional programming. This talk will compare how you would write functions in Clojure or Haskell with Ruby generally, and then zoom in to take a close look at Ruby 2.0’s new “Lazy Enumerator” feature.
Jim performs a live programming exercise, doing a code kata for a Roman Numerals Calculator. Jim then walks us through some of the decisions he made and gives some great tips about TDD, complexity, and refactoring that we can apply in our daily programming.
Newcomer or seasoned veteran looking to get involved with Ruby documentation? We'll show you it's not as scary as it may seem, and there's plenty of ways to help. It's important to give back to the open source community and improve things for future developers. This talk will teach you the value of open-source, the benefits of contributing, and a little bit about how ruby-core works. You will learn what to look for when spotting documentation bugs in the MRI source code. We will cover the guidelines to writing MRI documentation, and how to submit a patch. Including helpful tricks using ri and rdoc. Zachary Scott is a Ruby committer since September 2012 who will gladly help with your first patch into ruby-core.
Patrick Robertson tells us about 5 of his favorite gems at the Boston Ruby February 2013 project night. Patrick also gives us tips on how to evaluate gems and determine which is the best for your needs. Patrick's picks are:
RSpec
Bourne
HAML
OmniAuth
NewRelic RPM
Dan Pickett tells us about 5 of his favorite gems at the Boston Ruby February 2013 project night. Dan's picks are:
inherited_resources
kaminan
guard
configatron
bourbon
Jeremy Weiskotten tells us about 5 of his favorite gems (plus a bonus 6th gem) at the Boston Ruby February 2013 project night. Jeremy's picks are:
zeus
active_hash
simple_form
redcarpet
better_errors
binding_of_caller (bonus gem)
Mark Bates tells us about 5 of his favorite gems at the Boston Ruby February 2013 project night. Mark's picks are:
Konacha
SideKiq
SunSpot
Sinatra
Foreman
Value Objects make your code smarter, safer, and more expressive. Learn what Value Objects are, how they help, and some ways to use them in a Rails application.
Mark Bates takes us on a tour of he singleton pattern, one of the most common design patterns in any language. We'll take a look at how, and when, to implement singletons Ruby. We'll also learn what happens when you call '.new' on a class.
Ruby 2.0 will start applications in less than half the time taken by 1.9.3. We'll see the techniques I used to diagnose (and fix) the problem, which can be used for any performance problem in MRI or a C extension.
Atomic Commits: a scalable git workflow that provides a flexible alternative to test-driven development and ensures thorough code coverage, enforces a navigable commit history, and encourages developers to improve how they write code.
Patrick Robertson closes out 2012 with a bang, bringing us up to date with everything happening in the Ruby community with a focus on the Ruby Implementors meeting.
Storm is a free and open source distributed realtime computation framework. It
provides a clean, declarative abstraction for streaming computations. It's
durable, reliable, and simple to scale.
Some use cases of Storm include realtime analytics, online machine learning,
continuous computation, distributed RPC, and ETL.
You'll learn the basic ideas of Storm, and how RedStorm makes it easy to write
Storm topologies in Ruby.
Full text search isn't a simple problem, scaling a full text search solution when your app has do handle a couple million documents isn't simple either. In this talk I'm going to show you how you can easily integrate ElasticSearch into your Rails (or Ruby) application, common techniques for indexing and searching your data, sharding, fail over and scaling your solution to meet the scaling needs of today's applications.
Pascal Rettig will discuss what tools you can use to quickly build dynamic prototypes using Rails with the minimum amount of ceremony. He will talk about what tools (including Twitter bootstrap, Inherited resources, MongoDB and Backbone) you can use to accelerate the prototyping process on both the client and server side to get attractive, functional rails apps up and running quickly. The presentation will include live-coding where a simple app is bootstrapped, built and deployed to Heroku.
Location based apps are everywhere, but few developers have taken
their code beyond dropping a few pins on a map. Or embedding a Google
map. This talk begins by covering the different types of
location-based applications. Then we will look at the anatomy of a
typical location-based application, and the elements of the spatial
tool stack that apply to each geospatial element in the application.
Finally, we will explore some examples of geospatial applications that
are 1) inspiring and 2) use different elements of the stack as
discussed during the session.
We will wrap up with a preview of geo_rails, the soon-to-be-released
spatial framework for Rails.
Peter Jackson is a mountain climber, rails developer, project manager,
and musician from NH. Not a movie director.
If you find yourself as a diligent Rubyist in a situation where you need to do some 'heavy lifting', or perhaps you have a computation that is just too painfully close to the lower end of your speed threshold, you may be in position that requires you to get closer to the metal. Writing Ruby extensions in C is probably a lot simpler and more fun than you may think. So let's learn how!