Deriving Scope from Purpose


Defining scope is hard. Understanding a project's purpose can help not only define it, but build alignment and keep it narrow.

Rails app/lib Must Go


If it doesn't fit in a standard Rails object write Ruby code in the top level lib directory.

Vicious and Virtuous Cycles


Consistant behavior is perpetuated by a system. When changing that behavior is hard try changing something easy in the same system.

User Stories enable Creativity


Leveraging user stories enables creative pivots in strategy as you build.

Philosophy Major to Shopify Staff Developer


My path from arts major to software development.

iOS is worse than Android


Surprisingly basic iOS functionality is somehow worse than Android.

Maximizing Business Process Automation ROI


Git History Needs a Higher Level


Redirecting Hosted Hugo Pages


Redirect a page to its new location after it has been moved and have the redirect reflected locally, in GitLab pages, or Netlify.

Adding reCAPTCHA to Django Forms


Adding Google's reCAPTCHA to a Django form and testing