Mark Thomas Miller

I'm Mark Thomas Miller, a fullstack engineer and designer. I'm building MageTools, and I work as a development and design consultant. zeph.co is my personal blog; it's read by CEOs, founders of YC companies, professional sports players, doctors, and thousands of developers. Send me an email?

Articles

Book notes

Code

Avoiding repetitive state in React Hooks
The basics of Svelte in under 3 minutes
How to trigger a dark theme at night
How to set up a Jekyll blog on Mac
How to update React Context inside your child components
Serverless Netlify functions in 10 minutes
Update component state from outside of a React app
Don't touch Devise's defaults
Run code during the Devise registration process
How to add fields to the Devise registration form
The quickest way to set up Context in React
Disable code splitting in Create React App without ejecting
How to find if a JavaScript object is empty
How to run JavaScript after the page has loaded
Nice-looking popups with vanilla JavaScript
Fix: VSCode is showing only one tab at a time
A vanilla JavaScript toggle for 2019
Boilerplate HTML5 skeleton for your projects
A truly simple CSS reset
How to send emails later in Rails 5
How to drop a table in Rails 5
How to remove columns in Rails 5
Commands to reset a Heroku database
How to run Heroku Scheduler weekly
How to connect to localhost from an iPhone (2020)
How to self-host the Inter font
How to hide numerical IDs in Rails 5 (with hashid)
Scheduled jobs in Rails 5 and Heroku
Problems developing for Instagram's in-app browser
CSS font smoothing with antialiasing
[Solved] Error loading 'sqlite3' Active Record adapter
How to tag with acts-as-taggable-on in Rails 5
Deleting Devise users in Rails 5+
Scroll to top on page change with React Router
Multiple classnames with CSS Modules in React
Faster development builds with Jekyll
How to validate the uniqueness of two columns in Rails 5
Heroku HTTP Origin Header didn't match request.base_url
How to connect Heroku to Cloudflare
SQLite3 to PostgreSQL in Rails 5
How I send emails with Rails 5 + Postmark
Finding elements in arrays with ES6
Adding a "marketing site" to Rails 5
How to add a datetime picker to Rails 5
List column names for a table in Rails 5
Multitenancy without subdomains in Rails 5
How to send emails with Rails 5
How to rename a column in Rails 5
How to add webhooks to Rails 5
Uploading files to a Rails post
Rails model methods
Fixing Apartment's ActiveRecord::ConnectionNotEstablished error
How to set up Apartment for multi-tenant Rails apps
How to create aliases in the macOS Terminal
The quickest way to set up Redux & React
The quickest way to set up MobX & React
How to use decorators in create-react-app
Setting state based on previous state
What are React refs?
What are React keys?
Where should you make AJAX requests in React?
What happens when you call setState?
Common gotchas in React
JavaScript spread syntax explained in 30 seconds
React class vs. functional vs. pure components
List all documents in a Firebase collection
How to use Google Analytics with React Router v4
Flattening multidimensional JavaScript arrays
Pulling unique values from a JavaScript array
How to use CSS Modules with Create React App
How to make responsive YouTube embeds
System font stack
What do div and span stand for?
Interactive state with CSS
How to make a Jekyll _pages directory
Electron's IPC not sending/receiving
How to style React with CSS Modules
How to write cleaner CSS
Silver, the smallest CSS grid ever
Easy conditional rendering in React/JSX
CSS: Eliminating space under images
Fix blurry edges when using transform: scale