The Blog
Exploration Of Thought
Thoughts on autonomy, self direction, digital business and life.

Deploying Middleman Sites on Hatchbox
How to deploy a Middleman static site on Hatchbox with a custom build script, plus auto-deploying on every git push - after ditching Heroku.
Donn Felker – August 21, 2023

Disable Attachments in the Trix Editor
A drop-in Stimulus controller that strips the attachment button, blocks pasted images, and disables file uploads in Rails' Trix editor.
Donn Felker – July 5, 2023

Opportunity Cost and Letting Go: How to Profit from Your Stalled Projects
You want your time back so you can focus on other things. How do you do it though? Learn how in this article
Donn Felker – June 21, 2023

The 15-Minute Meeting: Change Your Workday, Change Your Life
Most meetings do not need an hour. Set your default to 15 minutes, give every meeting a goal and a leader, and block them into one part of the day.
Donn Felker – May 9, 2023

How to Migrate to Rails Encrypted Attributes
How to migrate an existing unencrypted Rails column to Rails 7's built-in encrypted attributes without breaking data already in the database.
Donn Felker – April 26, 2023

Status Updates Should Be 60-90 Seconds
Standup status updates should take 60-90 seconds per person, no more. Longer updates waste everyone's time - save the deep dives for after the meeting.
Donn Felker – April 10, 2023

Building a Stronger Mind and Body: Reflections on 1000 Days of Working Out
I worked out for 1000 days straight, this is what I learned about myself mentally, physically and more …
Donn Felker – March 28, 2023

HowTo: Setup Tailwind CSS 3 with Middleman
A step-by-step guide to wiring Tailwind CSS 3 into a Middleman static site with an external_pipeline, plus the gotchas I hit and a ready-to-fork template.
Donn Felker – August 2, 2022

MultiTenant PgSearch: A How To
How to scope Rails PgSearch multisearch results to a tenant: add an account_id column, wire up additional_attributes, and rebuild the index right.
Donn Felker – March 28, 2022

PgSearch multisearch with ActionText::RichText
How to make a Rails model's ActionText::RichText field searchable with PgSearch by hooking multisearchable into its on_load initializer.
Donn Felker – March 27, 2022

How to Fix – NameError: uninitialized constant Vips on Heroku
Fixing NameError: uninitialized constant Vips on Heroku for a Rails 7 app: the ruby-vips gem, an Aptfile, and two buildpacks in the right order.
Donn Felker – February 10, 2022

Master the Essentials of Git in Under 2 Hours
A free 2-hour YouTube course covering the 20% of Git commands, branch, merge, stash, cherry-pick and more, that cover 80% of daily use.
Donn Felker – November 20, 2021