I have a side project using heroku and I want to make a staging environment to test a big change i’m making before deploying it to production. Here’s the steps:

heroku create app-name-here --remote remote-name-here

You can run git remote to see the new remote that’s added:

$ git remote
heroku
remote-name-here…

I did a talk at LRUG (London Ruby User Group) on this! If you like this post, or prefer video based content, you can check it out here.

Ruby & Rails have a reputation for not scaling well — you’ve probably heard this already.

There’s 3 things I’m going to…


Quick post for anyone that wants to open things like git rebase master -i or git commit in RubyMine instead of vim.

In Rubymine:

Tools -> Create Command-line Launcher (/usr/local/bin/mine)

This will let you do mine . in the command line when in a project directory/file to open it, or you can use mine path/to/file to open a specific file.

Then open up your gitconfig

vi ~/.gitconfig

and add

[core]
editor = mine --wait

Now, when you run things like git commit it will open up a file in rubymine, allow you to edit it and then when you close the file it will continue.


Tired of checking your PR for which files to run against?

git diff --diff-filter=AM --name-only master... | grep _spec | xargs -n1 bundle exec rspec# Broken down # Get all files that are different on this branch compared to master, that have been added or modified (this is what --diff-filter=AM ensures). We don't want to run spec files that have…


I worked as a recruiter for 5 years before I career changed to become a software developer. …


The problem to solve

You want to do multiple operations on an object, passing the updated object to the next operation each time.

The use case I had when recently using this pattern is that I needed to edit a yaml file using multiple steps that would likely be changed/grow in the future. …


Okay I’ve just found out something excellent. I’m writing a blog to share it, and also somewhere for me to revisit.

I’m making what feels like an embarrassing admission by exposing how I was solving this problem before stumbling into this far, far, far better solution. Just to mitigate the…


I’m trying to learn more about APIs and quite frankly I’ve been feeling a bit overwhelmed about where on earth to start.

I’m someone who likes the big picture before narrowing in on something specific, so while I’ve been recommended to start learning more about REST (which is the most…


Photo by Joshua Fuller on Unsplash

You’ve got a big if/else statement to decide how to handle some logic in one of your classes.

if order.currency == 'gdp' && order.amount < 500
PayPalPayment.process(order)
elsif order.currency == 'gdp' && order.amount > 500
StripePayment.process(order)
elsif order.currency == 'usd'
SquarePayment.process(order)
elsif order.currency == 'eur'
PayPalPayment.process(order)
elsif order.currency ==…


I love storytelling, I always have but I’m going to resist telling you all about why and jump straight to the point. As you read this, remember that as humans we have an amazing ability to draw positive meaning and learnings from stories — it’s why we embed positive teachings…

Rob Faldo

Ruby Engineer @ Simply Business

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store