---
title: "Sinatra 2.0 pre-release, plus DHH on picking good names in code"
publication: "Ruby Weekly"
issue: 312
published_at: "2016-08-25"
canonical_url: "https://rubyweekly.com/issues/312"
---

Sinatra 2.0 pre-release, plus DHH on picking good names in code

This week's Ruby and Rails news[Read this e-mail on the Web](http://rubyweekly.com/issues/312)

Ruby WeeklyIssue 312 — August 25, 2016

Zachary Scott[Sinatra 2.0 Pre-Release: What's New and What's Next](http://zzak.io/log/2016-08-22-sinatra-two-point-oh.html)Sinatra has released the first pre-release of 2.0. Here, you’re invited to give it a try, and also see what’s new and different. Note that it only supports Rack 2.x and Ruby 2.2 and above.


David Heinemeier Hansson[Hunting for Great Names in Programming](https://m.signalvnoise.com/hunting-for-great-names-in-programming-16f624c8fc03)DHH walks us through his process in driving out a name for a class and method. A lesson in one of the hard things in programming.


Jacob Gillespie[A Tale of Replacing React with Rails](https://medium.com/@jacobwgillespie/replacing-react-with-rails-6e874fdc6889)The journey of a developer who moved a React-powered app to Rails including why he decided to do it and how it worked out.


ReinteractiveSponsored[Fixed Price Ruby on Rails Ops? Seriously?](https://www.reinteractive.net/service/ops-care?sid=89)Yes! 24/7 dedicated support for your app from less than $1 per hour. Take advantage of the performance enhancing tools for your Rails app on one of the world's most robust and stable Operations as a Service platforms, OpsCare®.

[![Reinteractive\](https://copm.s3.amazonaws.com/c635d23d.jpg)](https://www.reinteractive.net/service/ops-care?sid=89)


Tom Dalling[The Pure Function As An Object (PFAAO) Pattern](http://www.rubypigeon.com/posts/the-pure-function-as-an-object-pfaao-pattern/)A look at driving out a JSON-to-XML converter implementation using functional techniques, such as pure functions and memoization.


Fabien Loup[Journey of a Trailblazer](http://www.norydev.com/writing/journey-of-a-trailblazer-part-1)A 2 part adventure of using Trailblazer (an alternative structure for Rails apps) to refactor an existing Rails application. [Part 2 here.](http://www.norydev.com/writing/journey-of-a-trailblazer-part-2)


Noah Gibbs[ABProf: An Accurate Statistical Profiling Harness](https://appfolio-engineering.squarespace.com/appfolio-engineering/2016/8/8/abprof-an-accurate-statistical-profiling-harness)ABProf is a tool to compare which of two programs is faster. Noah Gibbs gives some examples and use cases of the tool.


Brian Shirai[Rubinius Takes The Fun(ction) Out of Ruby](https://medium.com/@rubinius/rubinius-takes-the-fun-out-of-ruby-21db64ce87a6)The how and why of Rubinius adding first-class support for functions, including why other implementations should consider doing the same.


Ruby Book Club[The Ruby Book Club Chats with Sandi Metz & Katrina Owen](http://rubybookclub.com/episodes/2016/8/22/99-bottles-ep-4-sandi-metz-katrina-owen)Not just a good episode on its own, but Ruby Book Club is an interesting weekly podcast where Nadia Odunayo and Saron Yitbarek read and discuss a different Ruby book.


Jobs

- [Sr. JavaScript / Ruby Developer](https://www.stickermule.com/jobs?job=714da6cc-dc8b-4453-8bd6-7b0fa41ebd37&title=sr-javascript--ruby-developer)Sticker Mule is looking for passionate engineers to join our remote team. Come help us build the best e-commerce experience using Ruby, Rails, React, Node, Docker and more. Sticker Mule
- [Ruby Developer- Brentwood, TN (on-site)](https://app.jobvite.com/j?cj=oaWq2fwi&s=RubyWeekly)Would you enjoy building websites and digital experiences in Ruby on Rails that reach millions of people with a positive message every day? We are looking for talented Ruby developers who want to do work that matters! Ramsey Solutions
- [Lead Instructor - New York Code Design Academy (NYC | Seattle | Austin | Atlanta | Amsterdam)](http://nycda.com/careers?utm_source=rubyweekly&utm_medium=email)Looking for a change of pace from the daily dev grind? Teaching web development professionals since 2012, The New York Code + Design Academy are seeking new instructors. We look forward to hearing from you. NYCDA
- [Find Your Perfect Company Match](https://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_campaign=q3-16-rubyweekly)You're smart, you're efficient. Why job hunt the old way? Try Hired and get your profile in front of thousands of top tech companies. Hired.com

In brief

- [Rails 5 Trims Session Storage by Discarding Some Flash Messages](http://blog.bigbinary.com/2016/08/23/rails-5-trims-session-storage-by-discarding-some-flash-messages.html?utm_source=rubyweekly&utm_medium=email) news Abhishek Jain
- [HashiCorp Decommissioning its Otto Deployment Tool](https://www.hashicorp.com/blog/decommissioning-otto.html?utm_source=rubyweekly&utm_medium=email) news 
Plans to open source it. Mitchell Hashimoto
- [Help JRuby Write Tests, Get a Sticker](https://twitter.com/headius/status/766771177301774337?utm_source=rubyweekly&utm_medium=email) news 
Charles Nutter has tweeted that anyone submitting a PR for ‘needs tests’ JRuby issues will get a sticker. Charles Nutter
- [Free eBook: Working with Docker Machine, Compose and Swarm](https://resources.codeship.com/ebooks/docker-machine-compose-swarm?utm_source=rubyweeklysecondary) tutorial 
In this free eBook, we introduce Docker Machine, Swarm, and Compose, and describe how they are packaged into what's called the Docker Toolbox. CodeshipSponsored
- [Managing and Modelling Recurring Events in Rails](http://nithinbekal.com/posts/rails-recurring-events/?utm_source=rubyweekly&utm_medium=email) tutorial Nithin Bekal
- [Approaches to Application Control Flow in Ruby](https://blog.lelonek.me/how-to-control-application-flow-e97895a60b3c?utm_source=rubyweekly&utm_medium=email) tutorial 
A look at various approaches to controlling application flow, from exceptions to monads. Kamil Lelonek
- [Creating Staging and Other Environments in Rails](http://nts.strzibny.name/creating-staging-environments-in-rails/?utm_source=rubyweekly&utm_medium=email) tutorial Josef Strzibny
- [A 1588x Speed Increase With Solr](http://blog.nrowegt.com/use-and-abuse-solr-caching-on-rails-to-solve-all-performance-your-issues/?utm_source=rubyweekly&utm_medium=email) tutorial 
Using Solr and Sunspot to cache expensive calculations. Nathaniel Rowe
- [How to Tame Your Growing Users Table](http://blog.appsignal.com/blog/2016/08/23/how-to-tame-your-growing-users-table.html?utm_source=rubyweekly&utm_medium=email) tutorial Greg Navis
- [Customize the Mac OS X Menu Bar with BitBar and Ruby](http://computers.tutsplus.com/tutorials/customize-the-menu-bar-with-bitbar--cms-26946?utm_source=rubyweekly&utm_medium=email) tutorial 
A free tool that allows you to customize your OS X toolbar and for which you can write a plugin in Ruby, as here. Richard Guay
- [Using 'git bisect' to Debug Regressions within the Rails Codebase](http://www.rubyappcare.com/blog/2016-08-16-using-git-bisect-to-debug-regressions-with-rails-codebase?utm_source=rubyweekly&utm_medium=email) tutorial Prakash Murthy
- [Generating PDFs from HTML in Rails](http://code.tutsplus.com/tutorials/generating-pdfs-from-html-with-rails--cms-22918?utm_source=rubyweekly&utm_medium=email) tutorial Pedro Alonso
- [Create a Ruby Slack Bot to Interact with Your Wiki](https://www.sitepoint.com/create-a-slack-bot-to-interact-with-your-wiki/?utm_source=rubyweekly&utm_medium=email) tutorial 
How to write your own Wiki-editing Slack bot using Ruby and Sinatra. Ardian Haxha
- [How We Make Software: A New Theory of Teams](http://brightonruby.com/2016/how-we-make-software-a-new-theory-of-teams-sarah-mei/?utm_source=rubyweekly&utm_medium=email) video 
Sarah Mei challenges our concept of software ‘teams’ and presents a new metaphor for our craft. Sarah Mei
- [Find and Fix Ruby Errors Faster (and have fun doing it)](https://rollbar.com/?utm_source=rubyweekly&utm_medium=email-nl&utm_term=rubyweekly_8_25&utm_campaign=nl_sponsorship) tools 
Quickly pinpoint what’s broken and why. Get the context and insights to defeat all Ruby errors. ROLLBARSponsored
- [Doctor: An Open Source Documentation Server](https://blog.minio.io/doctor-an-open-source-documentation-server-41d86d756f15?utm_source=rubyweekly&utm_medium=email) tools Deepa Mahalingam
- [Rubrowser: A Ruby Code Dependency Graph Interactive Visualizer](https://github.com/blazeeboy/rubrowser?utm_source=rubyweekly&utm_medium=email) tools 
Analyzes a Ruby (or Rails) project and displays dependency information as a directed force graph using D3. Emad Elsaid
- [A Ruby API Client for Medium, the Publishing Platform](https://www.benpickles.com/articles/62-ruby-medium-api-client?utm_source=rubyweekly&utm_medium=email) code Ben Pickles
- [attribute-depends-calculator: Calculate Values from Child Objects](https://github.com/falm/attribute-depends-calculator?utm_source=rubyweekly&utm_medium=email) code 
Calculate values for a parent from its dependent objects, such as total price for an order from its order items. Sum, average, count, and more are available. Jason Hou

Curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict), and published by [Cooperpress](https://cooperpress.com/).
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit)
Want to post a job? Email us or [use our self-serve system.](https://booking.cooperpress.com/jobs)

[Unsubscribe](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/312)

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
