RSSAmplifier

Blog

Boyleing Point

Luke Boyle on technology, faith, and adjacent topics.

lukeboyle.comRSS feed ↗36 posts

Latest posts

My Garmin Recorded the Workout. It Just Didn't Know What I Lifted.

My watch logs a strength session's heart rate and the timing of every set, then leaves the exercise, reps and weight blank. Strong has all of that and no way to send it over. So I wired them together — editing the Garmin activity in place, no duplicate, heart rate untouched.

bb: A Bulletin Board for Agents

My agents kept overwriting each other's work. So I built bb, a bulletin board for agents.

Building SaaS with Two Users

My latest app has two users. One of them is me.

In-housing SaaS

Two years ago I would have called this a mistake. Two years on, our internal workflow tool is the beating heart of the company — and build vs buy has shifted dramatically toward build.

hrs: The R&D Angle

I didn't build hrs to track R&D. But it turns out logging entries against goals, strategies, and tickets is exactly what a defensible R&D claim looks like.

Timesheets for AI Agents

I manage agents across a half-dozen repos and would consistently get to the end of each day with no idea what I even worked on. So I built hrs.

Our God, the painter

In celebrating the beauty of creation, I see God, and I celebrate my limitations.

In search of humanity

When you look at the world today, is it really surprising that people are more aimless and depressed than in all of modern history? Though our material conditions are still leagues ahead of our forebears, we have been completely deracinated and given nothing to aspire to.

I must humble myself

A prayer for humility, and a celebration of my insufficiency.

Book review: Mencken's Conservatism by Benjamin Marks

Book review: Mencken's Conservatism by Benjamin Marks

Book review: How an Economy Grows and Why it Crashes (2010)

Book review: How an Economy Grows and Why it Crashes (2010)

Protecting yourself from inflation

Protecting yourself from inflation

Sitemaps for Next.js static sites with dynamic routes

Sitemaps for Next.js static sites with dynamic routes

Do not trust Google

Do not trust Google

OLAD (one lift a day) results so far

OLAD (one lift a day) results so far

Experimenting with OLAD (One lift a day)

Experimenting with OLAD (One lift a day)

Github Actions for web apps

Github Actions for web apps

Software I actually believe in

Software I actually believe in

My Muscle Chef: A case study for iterative development

My Muscle Chef: A case study for iterative development

Converting a WordPress site to a React static site

Converting a WordPress site to a React static site

Project estimations made easy

Project estimations made easy

Responsive Definition Lists: Solved by flexbox

Responsive Definition Lists: Solved by flexbox

CSS Variables: A Case Study

CSS Variables: A Case Study

CSS Buttons: Solved with Flexbox

CSS Buttons: Solved with Flexbox

Functional Form Validation in JavaScript (aka: Inheriting bad JavaScript)

Functional Form Validation in JavaScript (aka: Inheriting bad JavaScript)

Automating CSS regression testing with Argus Eyes (PhantomJS)

Automating CSS regression testing with Argus Eyes (PhantomJS)

Local Storage Manager version 2.1 is out now

Local Storage Manager version 2.1 is out now

Running Karma tests for Chrome in Travis CI

Running Karma tests for Chrome in Travis CI

JSX in Vue.JS

JSX in Vue.JS

React Material-UI touch events not firing

React Material-UI touch events not firing

Dynamic Product Filtering in Shopify

Dynamic Product Filtering in Shopify

Publishing React components to npm

Publishing React components to npm

Agander 2.0 is now out

Agander 2.0 is now out

Google Calendar API - ColorId

Google Calendar API - ColorId

Agander 1.0 is now out

Agander 1.0 is now out

Google Task Javascript API - Invalid Value 400 Error

Google Task Javascript API - Invalid Value 400 Error