---
title: "#347: Crystal from a Rubyist's Perspective, and Improving Capistrano Deployment Performance"
publication: "Ruby Weekly"
issue: 347
published_at: "2017-05-04"
canonical_url: "https://rubyweekly.com/issues/347"
---

#347: Crystal from a Rubyist's Perspective, and Improving Capistrano Deployment Performance

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

Ruby WeeklyIssue 347 — May 4, 2017

David Heinemeier Hansson[Programming with a Love of the Implicit](https://m.signalvnoise.com/programming-with-a-love-of-the-implicit-66629bb81ee7)DHH challenges the idea the explicit code is always better, citing the trade-offs from implicit code: _“I embrace implicit code. I embrace the context. I swoon over magic.”_


Daniel P. Clark[Crystal from a Rubyist's Perspective](https://blog.codeship.com/crystal-from-a-rubyists-perspective/)[Crystal](https://crystal-lang.org/) is a fast, compiled, Ruby-like language. This post takes a quick look at its syntax followed by a dive into Kemal, a Sinatra-like webapp library.


ReinteractiveSponsored[We’ve solved the problems of traditional Ops](https://reinteractive.com/enquiries/new?code=ops_care&sid=119)Our out-source DevOps solves the problems associated with ROR development. Plus our blue/green pre-baked deployment process means that you can deploy your app as often as you want. Get started today – start enjoying OpsCare®.

[![Reinteractive\](https://copm.s3.amazonaws.com/2cc5f895.jpg)](https://reinteractive.com/enquiries/new?code=ops_care&sid=119)


Seth Ringling and Justin Weiss[Improving Capistrano Deployment Performance](https://engineering.avvo.com/articles/capistrano-deploy-perf.html)[capistrano-measure](https://github.com/AMekss/capistrano-measure) is a tool for measuring the speed of each part of your deployment process.


Richard Schneeman[The Fastest Way to Generate A Heap Dump on Heroku](https://www.schneems.com/2017/05/01/the-fastest-way-to-generate-a-heap-dump-on-heroku/)[Heroku exec](https://devcenter.heroku.com/articles/heroku-exec) makes it possible to SSH into a live-running Heroku app instance, which opens up some new debugging approaches.


Rodrigo Rosenfeld Rosas[Rails: The Good and Bad Parts](https://rosenfeld.herokuapp.com/en/articles/ruby-rails/2017-05-03-ruby-on-rails-the-bad-and-good-parts)One developer’s thoughts on the good, bad, and unused bits of Rails and why he prefers other frameworks, as covered [in this look at _Roda_](http://rosenfeld.herokuapp.com/en/articles/ruby-rails/2017-05-01-feeling-alone-in-the-ruby-community-and-replacing-rails-with-roda).


Citus Data[6 Postgres Tips for Rails Developers](https://www.citusdata.com/blog/2017/04/28/postgres-tips-for-rails/)A recap of the best Rails-related PostgreSQL tips that Citus shared at RailsConf.


Dmitry Rocha[Benchmarking Crystal vs Ruby](https://blog.codeminer42.com/crystal-by-numbers-8a675b0572fc)Comparing three APIs written in Kemal (Crystal), Rails, and Sinatra.


Jobs

- [Ruby Developer at BBC News](http://careerssearch.bbc.co.uk/jobs/job/Software-Engineer-Frameworks-Tools-BBC-News-WS2020/19336?utm_source=rubyweekly&utm_medium=email)We’re hiring a Rubyist with strong interest in development tooling and deployment automation. We design AWS infrastructure solutions, writing high quality, scalable code used by millions of users a day. BBC
- [Senior Ruby Developer](http://careers.unbounce.com/software-developer-customer-portal/?utm_source=rubyweekly&utm_medium=email)If you are a Ruby on Rails developer who loves tackling atypical Rails challenges, ask us about ours - we are happy to tell you more. Unbounce
- [Senior & Junior Ruby on Rails Developers - Bright Funds (San Francisco)](https://www.brightfunds.org/jobs/515004?gh_jid=515004?utm_source=newsletter&utm_medium=email&utm_campaign=ruby-news-april-29)We're looking for developers, to help transform the charitable giving landscape through corporate workplace giving programs and beyond. Bright Funds

In brief

- [RubyGems 2.6.12 Released](http://blog.rubygems.org/2017/04/30/2.6.12-released.html?utm_source=rubyweekly&utm_medium=email) news RubyGems
- [Goruco 2017: A 1 Day Ruby-Flavored Conf in NYC on June 24](http://goruco.com/?utm_source=rubyweekly&utm_medium=email) news 
Sells out every year and has a lot of great speakers.
- [An Intro to Practical Machine Learning in Ruby](https://www.youtube.com/watch?v=Zl17mtp1adM) video Jordan Hudgens
- [Some Lesser-Known Features in Rails 5.1](http://www.justinweiss.com/articles/the-lesser-known-features-in-rails-5-dot-1/?utm_source=rubyweekly&utm_medium=email) tutorial 
Hasta la vista, `alias_method_chain`… Justin Weiss
- [Crafting Better Code Reviews](https://medium.com/@vaidehijoshi/crafting-better-code-reviews-1a5fc00a9312?utm_source=rubyweekly&utm_medium=email) tutorial 
An essay adapted from a talk originally given at RailsConf 2017. Vaidehi Joshi
- [Use Caution with before_destroy Callbacks](https://medium.com/appaloosa-store-engineering/caution-when-using-before-destroy-with-model-association-71600b8bfed2?utm_source=rubyweekly&utm_medium=email) tutorial 
The order of declarations matters. Appaloosa Store
- [How to Control Flow in Ruby Blocks](https://spin.atomicobject.com/2017/04/29/ruby-blocks-control-flow/?utm_source=rubyweekly&utm_medium=email) tutorial 
The difference between `next` and `return` for controlling flow in blocks. Chris Farber
- [Functional Object Composition and MVC](https://blog.codeminer42.com/functional-object-composition-and-mvc-d914144e923f?utm_source=rubyweekly&utm_medium=email) tutorial 
Could changing the standard MVC controller action by using object composition be an elixir to some MVC ills? Thiago Araújo Silva
- [Autoscaling for your Heroku dynos](https://www.hirefire.io?utm_source=rubyweekly&utm_medium=email) tools 
Automatically scale up and down to handle increased workloads and avoid wasting money on idle resources. HireFireSponsored
- [A Curated List of Ruby Machine Learning Links and Resources](https://github.com/arbox/machine-learning-with-ruby?utm_source=rubyweekly&utm_medium=email) tools Andrei Beliankou
- [Factory Girl Instruments: Benchmark and Debug Factory Girl Models](https://github.com/shiroyasha/factory_girl_instruments?utm_source=rubyweekly&utm_medium=email) tools Igor Šarčević
- [Rubotnik: Boilerplate to Quickly Build Facebook Messenger Bots](https://github.com/progapandist/rubotnik-boilerplate?utm_source=rubyweekly&utm_medium=email) tools Andy Barnov
- [Catch Errors Before Your Users Do 💻](https://rollbar.com/rubyweekly?utm_source=rubyweekly&utm_medium=email) tools 
Rollbar detects and alerts you via Slack, HipChat when code breaks. Get stack trace and user data to help you defeat annoying Ruby errors. ROLLBARSponsored
- [RBot: A Ruby-Powered IRC Bot](https://ruby-rbot.org/?utm_source=rubyweekly&utm_medium=email) code 
Offers runtime configuration, a plugin system, and an integrated web service. The Ruby IRC Bot
- [Rodauth: Auth and Account Management Framework for Rack Apps](https://github.com/jeremyevans/rodauth?utm_source=rubyweekly&utm_medium=email) code 
Provides extra security by using databases' security functions. Jeremy Evans
- [MethodObject: The Method Object Pattern for Your Service Objects](https://github.com/LIQIDTechnology/methodobject?utm_source=rubyweekly&utm_medium=email) code LIQID Technology
- [Administrate: A Flexible Admin Dashboard for Rails](https://github.com/thoughtbot/administrate?utm_source=rubyweekly&utm_medium=email) tools 
Aims to offer better user and customization experiences than ActiveAdmin. Thoughtbot
- [Linux cloud hosting starting at 1GB of RAM for $5/mo.](http://welcome.linode.com/ruby-weekly/?utm_source=cooperpress&utm_medium=sponsored&utm_campaign=ruby-weekly-brief) linodeSponsored

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/347)

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