Setting Up React and Bootstrap 4 on Rails 6
Sun, Sep 8, 2019 - ~800 Words

In this post we will take a freshly-created Rails 6 app and set up React with Bootstrap 4 such that both the Rails and React-based views can use Bootstrap components.

Read more →
Practical Use Cases for Pattern Matching in Ruby 2.7
Tue, Aug 13, 2019 - ~2300 Words
A talk given at Cookpad on practical uses of the new pattern matching feature introduced in Ruby 2.7
View →
Initial Thoughts on Ruby Pattern Matching
Tue, Jul 2, 2019 - ~800 Words
This post represents a first attempt to evaluate the new pattern matching feature in Ruby 2.7 with a view to determining what use cases it might be a good fit for, both in general and in the context of Ruby. Thanks to @mametter for corrections to this post. Use case: processing JSON This is perhaps the most directly useful application of pattern matching that I could find. Taken from this slide.
Read more →
Improving Vim/Neovim Rendering Performance
Mon, Apr 15, 2019 - ~400 Words

A work in progress, but if you’re experiencing slow rendering performance in vim or neovim (particularly in Ruby files) then here is a list of things to try for a hopefully smoother experience.

Read more →
Patterns for Sustainable Software Development
Tue, Mar 12, 2019 - ~2300 Words
A talk given at Cookpad on patterns for promoting sustainable software development over time.
View →
Recurring Issues Installing Ruby C Extensions on OSX Mojave
Thu, Mar 7, 2019 - ~400 Words

Recently I have had to take the time to fix failed installations of Ruby libraries which build C extensions on Mojave in multiple development environments and across multiple versions of Ruby. The solution(s) are in the end thankfully quite straightforward.

Read more →
My Development Setup
Sat, Mar 2, 2019 - ~300 Words
Terminal / Shell Dotfiles use the Thoughtbot collection as a lightweight base, with all customisation performed in a separate dotfiles-local repository. This gets me: Basic configuration of zsh A basic tmux setup vim/nvim integrated with tmux such that moving between vim and tmux panes is seamless, using the same motions. And most importantly, with this approach there are no lines in the config that I do not understand. Using Alacritty for a lower-latency experience.
Read more →
Readline Problems With Ruby on OSX
Fri, Mar 1, 2019 - ~300 Words
Update: This issue may have been caused by an update to OSX Mojave which moved the location of header/library files. This post describes a fix which could help avoid the need to rebuild the Ruby version (and all gems). A recurring issue with running a Ruby development environment on OSX is integrations with external libraries, particularly readline. As various elements of the setup evolve (e.g. OSX, Homebrew, Ruby, rbenv) breakage occurs which causes development time to be spent debugging basic machine issues.
Read more →
Install MacVim on OSX
Sat, Feb 16, 2019 - ~100 Words


brew cask install macvim

Read more →
Notes on the use of Staging Environments on Heroku
Fri, Sep 2, 2016 - ~1000 Words
The setup and use of a separate staging environment is covered (almost) adequately by Heroku’s documentation on the matter. And yet I must be missing something, as forking my app didn’t do what I expected. In forking a running production app to create a staging clone environment what I expected to have afterwards was: A Heroku app called appname-staging, running the same version of the application A newly-created hobby-dev Postgres instance containing the production data That the staging app should be targeting the new staging database, i.
Read more →