Patterns for Sustainable Software Development
Tue, Mar 12, 2019 - ~2300 Words
class: center, middle Patterns for Sustainable Software Development A (permanent) Work in Progress Stefan Magnuson / @styrmis class: middle Overview Operational & Social Patterns Patterns for Code In Ruby In Rails Personal Patterns class: middle Disclaimer I’m probably definitely preaching to the choir here Nothing in here is a silver bullet Everything has its caveats Some patterns have been tested with a very small team size only, YMMV class: center, middle
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 →
Simpler Handling of AJAX Form Errors in Rails 4
Thu, Aug 18, 2016 - ~1500 Words
The Problem With unobtrusive Javascript, converting a form in Rails to use AJAX is as easy as setting remote: true: = form_for, remote: true do |form| = form.text_field :name This will cause our form to submit asynchronously, and expect a Javascript response, which will be executed directly to e.g. update the page appropriately. DHH recommends that we design our apps in this manner, where in the Javascript response we re-render the model using its template and use jQuery to update the HTML on the page.
Read more →
Kinesis Freestyle 2 Keyboard Review
Sun, Mar 6, 2016 - ~200 Words
First Impressions First impression upon unboxing the keyboard is that all of the reviews that I had read were out of date–Kinesis have clearly paid attention to feedback and some of the gripes that I had read about (e.g. having a browser ‘home’ hotkey, making the insert function require the pressing of fn) had been addressed. As such, the keyboard layout is easily standard enough to allow for a smooth transition from a regular keyboard (Apple wired and wireless keyboards) to the Kinesis–thus far I have not experienced any real slowdown in typing speed.
Read more →
Using the ES7 Spread Operator with Webpack
Fri, Feb 5, 2016 - ~300 Words
A short post on configuring Webpack to enable use of the ES7 spread operator
Read more →
Reinstalling MySQL on OSX using Homebrew
Thu, Jan 28, 2016 - ~300 Words
If you find that you need to have a particular version of MySQL installed on your OSX machine (e.g. to match the version running in production) but you already have a different version of MySQL installed via Homebrew, then the notes below may help you to replace the installed version with the one you need. DISCLAIMER: The following instructions involve the complete removal of the existing MySQL installation, including any databases.
Read more →