Tips on Working Remotely

Last week I wrote up some quick tips on using zoom for remote work meetings, but I also wanted to write up some suggestions about remote work in general. As a disclaimer, I've been working 100% remote for around 18 months. Before that, I worked in your typical “open plan” office settings. The following is based on my experience and research, I don't claim to be an expert on remote work and I'll include links to some helpful resources if you want to dig further.

Tips on Using Zoom For Remote Team Communication

With the recent explosion in companies using zoom.us for remote communication, it seemed a good time to share a few tips as someone who's used zoom (along with various other video/audio chat platforms while working 100% remotely for almost 18 months. Caveats Zoom has had some questionable security issues raised recently (I won't reiterate them here, just put ‘zoom security’ into your favourite search engine). We still use it at my workplace but you'd do well to do some due diligence in determining if it's the right tool for you.

Delegation: an Alternative to Dependency Injection

In Object-Oriented Programming, one object will often depend on another object in order to function. For example, if I create a simple class to run finance reports: class FinanceReport def net_income FinanceApi.gross_income - FinanceApi.total_costs end end We can say that FinanceReport depends on FinanceApi, which it uses to pull information from an external payment processor. But what if we want to hit a different API at some point? Or, more likely, what if we want to test this class without hitting external resources?

Reducing Developer Friction With Rails 6’s Actionable Errors

One of Rails 6’s new features is ActionableErrors, which allows you to add buttons to Rails’ default error page to perform certain actions. Out-of-the-box Rails 6 includes one for the common “pending migration” error, where you can hit a button on the page and run the migrations without having to jump back to a terminal. Creating Custom ActionableErrors To create your own “actionable error” is quite simple. You create an error class that includes ActiveSupport::ActionableError, then you can use the action method to create the button and its behaviour.

GitArborist One Month Update

GitArborist.com has now been live for one month. With the aim of “building in the open”, let's have a quick look at what's changed, what's planned, and what surprised me. March 2020 Stats First, the stats: Total Installations: 3 PRs Merged: 1 What's Changed This month I did a lot of rework of the code. I had a self-imposed deadline of launching by the time my article was up on the Honeybadger Blog, reasoning that this was a potential source of traffic and I wanted to be able to direct that traffic to GitArborist.

Introducing GitArborist.com

Carving a Path Through Wild Branches Photo by Studio Dekorasyon on Unsplash Git is a fantastic version control system, no question. I've been using it since maybe 2012, though at that time it was through a TFS-Git bridge so I could enjoy local (and cheap) branches while the rest of the company used TFS. Of course, with git you also need a central place to push your code where other developers and your infrastructure can access it.