Blog

Adding Helper Modules to an Elixir Project Tests

In a recent Elixir project that I had started with mix new, I struggled with adding utility functions for tests.

January 27, 2024
  • elixir

A Review of Electron, v3 by Steve Kinney

I recently completed Electron, v3 by Steve Kinney on Frontend Masters.

January 25, 2024
  • electron
  • frontend masters
  • javascript
  • typescript
  • react
  • course review

Best Evidence and VAERS

I’ve been reading the book Best Evidence by David S. Lifton on the assassination of John F. Kennedy.

January 20, 2024
  • politics
  • api
  • covid-19
  • books

Astro Query Params and Persistent Nanostores

I recently converted a personal project written with Gatsby, React, and Redux to Astro and React. Two things were more complicated than I expected.

January 6, 2024
  • javascript
  • react
  • astro

Every Book I Read in 2023

This is a list of every book I read in 2023.

January 2, 2024
  • books

The Amount of Hype Around AI Is So Confusing

Artificial intelligence has always seemed inaccessible and cultish to me.

December 15, 2023
  • ai
  • finance
  • code

SQLite Table Column Alterations with Dates and Default Values

I’ve been working on a mobile application that uses SQLite as a local database for the past several months (using Ionic React and TypeORM).

December 7, 2023
  • sqlite
  • database

Remapping Tab Completion for GitHub Copilot in Neovim

By default, the Neovim plugin for GitHub Copilot uses the tab key to accept suggestions while in insert mode.

December 5, 2023
  • vim

Prepared: A Review

Mike Glover is a former Green Beret and CIA contractor who started a business related to training people to be prepared for emergencies. This is a review of his book.

September 25, 2023
  • books
  • podcasts

On Electronic Voting Machines, as a Software Developer

You can read the code, or you can believe in magic.

February 15, 2023
  • politics
  • security

Every Book I Read in 2022

This is a list of every book I read in 2022.

January 2, 2023
  • books

Sequelize, Postgres, and Dates

I ran into the exact same problem while working on two different API's about two years apart with tech stacks that I had thought of as being significantly different.

September 12, 2022
  • node
  • postgresql
  • sequelize
  • api
  • database
  • javascript

TextEncoder, TextDecoder, Jest, and jsdom

In a new Ionic React application that uses the jose package to decode JWT's, I ran into trouble with the Jest-driven testing environment.

September 12, 2022
  • ionic
  • javascript
  • typescript
  • react

No Gods, No Masters, No Experts: A Book Report on 1776

Earlier in the year, it started to seemed strange to me that I don’t know more about the American Revolution.

July 4, 2022
  • books
  • america

Mounting a Rogue Peg Board to a Tree

We mounted a Rogue Peg Board to a tree in our backyard in early March.

April 21, 2022
  • diy
  • strength training

Every Book I Read in 2021

This is a list of every book I read in 2021.

January 1, 2021
  • books

Mass Formation

On October 20, 2021, Professor Mattias Desmet appeared on episode 331 of the Aubrey Marcus Podcast, titled “Why People Willingly Give Up Their Freedoms.”

December 30, 2021
  • mass formation
  • covid-19
  • podcasts

What I Think About When I Think About Bernie Madoff

I was in college when news of the Madoff scandal broke, studying accounting and finance. I watched CNBC and read the Wall Street Journal on a near-daily basis.

October 20, 2021
  • media
  • finance
  • madoff

When the Blog Post Telling You What to Do When Homebrew's Postgres Upgrade Fails, Fails

I accidentally upgraded PostgreSQL by a major version via Homebrew, from 13 to 14. I ended up downloading Postgres.app to replace Homebrew.

October 13, 2021
  • postgresql
  • database

Kill the PostgreSQL Process When localhost Refuses to Connect

When my computer unexpectedly dies, I generally need to kill a stray process blocking new PostgreSQL connections.

October 6, 2021
  • postgresql
  • database

Resolve Folder Casing Errors in Git

How I resolved errors in a TypeScript project stemming from case sensitivity issues in directory names.

October 5, 2021
  • typescript
  • git
  • macos
  • linux

Debugging the Safari Debugger

On the two kind of irrational but effective things I do first when it seems like the Safari Web Inspector won’t connect to my iPhone.

September 29, 2021
  • javascript
  • ionic
  • react

Push Notifications, Images, FCM, iOS, and Ionic

I recently implemented push notifications in an Ionic application for the first time. One unexpected challenge I had was getting an image to display on the right-hand side of the notification on iOS devices.

September 15, 2021
  • javascript
  • ionic
  • react

My First Ionic App: The Surprises

I recently deployed my first Ionic React app to the Apple App and Google Play stores. I'd like to point out and document some things I did not expect.

September 12, 2021
  • javascript
  • ionic
  • react

SSH in Your Database

This is how I generally access and query a database sitting on a remote server.

January 30, 2021
  • database
  • devops
  • postgresql

Free to Cheap Phoenix Deployment Options

I recently needed to deploy a side project written in Phoenix and Elixir. I went pretty far down the path with the free tiers on Gigalixir and Heroku before just doing everything myself on Digital Ocean for $5 per month.

January 2, 2020
  • phoenix
  • elixir
  • devops

Every Book I Read in 2020

This is a list of every book I read in 2020.

January 1, 2020
  • books

Deploying a Simple Phoenix App on Digital Ocean

I recently stood up a side project written with Phoenix and Elixir on a Digital Ocean Droplet. Here's the process I used, with code snippets and links to tutorials.

December 21, 2020
  • phoenix
  • elixir
  • devops

On the Best Introduction to Stoicism

A Guide to the Good Life seems like the best introduction to Stoicism that I’ve read.

August 22, 2020
  • stoicism
  • books

On Meditation and Visualization

I’ve been meditating with Sam Harris’s Waking Up app since approximately August 2018. At least twice, there’s been an exercise that feels alienating and distracting to me, in that it makes me think that a non-trivial amount of people must be experiencing reality in a significantly different manner than I am.

July 1, 2020
  • meditation
  • Sam Harris

NDJSON Is Not Just Improperly Formatted JSON

Recently, while implementing a geographic search for an API in MongoDB and Node, I came across a variant of JSON I had never heard of: Newline Delimited JSON (NDJSON)

June 16, 2020
  • javascript
  • node

A Review of Digital Cash: The Unknown History of the Anarchists, Utopians, and Technologists Who Created Cryptocurrency

I was excited to read Digital Cash: The Unknown History of the Anarchists, Utopians, and Technologists Who Created Cryptocurrency. I had been passively interested in Bitcoin in what feels like the early days to me, though it was more like 2014

April 5, 2020
  • books
  • politics

On JavaScript and ReasonML and Floats and Math

Recently, I’ve been scheming various side projects that involve calculations. JavaScript, which is generally the first language I consider for any project, has a bad reputation with math.

March 15, 2020
  • javascript
  • reasonml

On Writing the Same Script in Three Languages

I recently rewrote a script to pull NBA statistical data from a Google Sheet and to calculate fantasy NBA rankings in three different languages: Python, JavaScript, and Go.

February 1, 2020
  • node
  • javascript
  • python
  • go

Every Book I Read in 2019

This is a list of every book I read in 2019.

January 1, 2020
  • books

Brendan Eich

While standing barefoot in my basement/garage, doing a workout that included performing 10 total deadlifts, one at a time, I started listening to the 1,384th episode of the Joe Rogan Experience, featuring Ari Shaffir.

November 23, 2019
  • javascript
  • joe rogan
  • ideas

On Deleting All My Tweets Myself

Twitter doesn’t provide a solution to bulk-delete tweets. I used their API to do it myself.

November 17, 2019
  • javascript
  • node
  • rxjs
  • api

On Occasion, My Yarn Lockfile Is the Problem

Within the last year, on a couple different applications, I ran into deployment problems that stemmed from my yarn.lock file falling out of sync with my package.json.

September 6, 2019
  • yarn
  • javascript

Burning Bagworms

About two years ago, my wife and I bought two blue spruce trees to serve as a visual shield between our house and that of our neighbor’s. About a week ago, my wife noticed that one of the trees was covered in bagworms.

August 21, 2019
  • home

The Simplest Possible ReasonReact Router Example

The router that ships with ReasonReact is simple and flexible. Still, it would have helped me to see a complete working example.

July 11, 2019
  • javascript
  • reasonml
  • react

On the Average NBA Player

I know that I watched the Pacers play the Lakers in the 2000 NBA finals, but I don’t really remember the games.

June 26, 2019
  • nba
  • basketball

Programmatically Writing JavaScript Files in Node

Recently, I wanted to read-in the contents of a JSON file, make some modifications to the values of the JSON object, and write out a JavaScript file.

May 23, 2019
  • javascript
  • node

A Review of Sorts of Person/a

I did not intend to write about Person/a. Like The Sarah Book, I would not recommend Person/a to someone unless they indicated they liked some similar book first.

May 14, 2019
  • books

Every Book I Read in 2018

This is a list of every book I read in 2018.

January 3, 2019
  • books

On Increasing My Max Pull-ups Without Feeling Like I Did Any Real, Actual Work

After listening to a podcast with George St. Pierre’s trainer, Firas Zahabi, I decided to experiment with a different approach.

December 16, 2018
  • pull-ups
  • strength training
  • podcasts
  • joe rogan

On Ranking All NBA Players by Fantasy Value

I ranked all NBA players based on their fantasy value for the 2017-2018 season.

September 28, 2018
  • nba
  • basketball

Converting a Small, Personal Project to ReasonML: the Dumb Mistakes

I recently decided to try to get familiar with ReasonML. Over a weekend, I took my random quote generator, Nootropic Cat Treats, of which I’ve built prior versions in vanilla JavaScript, Angular, Cycle.js, and React, and converted it to a ReasonReact build.

July 23, 2018
  • javascript
  • reasonml
  • react

2017-2018 Pacers Statistics

I made a dashboard of 2017-2018 Pacers stats.

July 1, 2018
  • basketball

The Correlation of NBA Team Statistics with Regular Season Wins

I created an interactive graph to compare the correlation of per-game NBA team statistics to wins in recent seasons.

June 17, 2018
  • basketball

Just What Predictions Did the 2017 to 2018 Pacers Beat?

The Pacers actual wins were 150% of the average of the preseason forecasts I found.

May 24, 2018
  • basketball

A Day Without Coffee

Some time ago, my brother told me he went a day without drinking coffee and was vomiting by the evening. I felt scared and fascinated. I then felt a bit of dread. I knew that eventually I’d talk myself into taking a day off of coffee, too.

March 28, 2018
  • coffee
  • epicurean

GitLab Offers Free Private Repos, Free CI/CD, and HTTPS with Custom Domains

GitLab Pages offers a lot of features for free that GitHub doesn't offer at all.

March 9, 2018
  • javascript
  • git

When the Angular CLI Didn’t (Seem) to Work for Me

I recently converted an Angular application from version 2.x to 5.x, bumping ngrx along with it up to 4.x. The process was surprisingly painless, except, ironically, for the production build process, as one of the reasons I wanted to upgrade was to convert to the Angular CLI.

January 28, 2018
  • javascript
  • angular

Every Book I Read in 2017

This is a list of every book I read in 2017.

December 30, 2017
  • books

TypeScript and webpack and Images

I recently switched a webpack project written in JavaScript to TypeScript.

December 29, 2017
  • javascript
  • webpack
  • typescript

On Building a Random Quote Generator in Cycle.js

I’ve used Angular (v.2+) fairly extensively over the last year and a half. I have some misgivings about the framework, but I really like that their team embraced observables. Any time I hit a point in Angular where I can just program with the RxJS library, it feels like a “moment of clarity.”

September 10, 2017
  • javascript
  • angular
  • cycle
  • frameworks

It’s Shockingly Easy to Create an Online Chat Application Using Socket.io

I need to refactor some code that makes use of socket.io. This code was initially written by someone else. To better understand it, I decided to go through the Get Started page on socket.io’s website, which involved creating a basic chat application. I’m kind of amazed by how easy it was.

August 26, 2017
  • javascript
  • node

The Sarah Book by Scott McClanahan Is a Very Good Book, Stranger

I first heard of Scott McClanahan several years ago when someone posted a book trailer he made on a blog I followed.

August 7, 2017
  • books

Tribe: A Gentle Suggestion that War Could Fill that Hole in Your Life

Tribe: On Homecoming and Belonging is a book written by Sebastian Junger. Junger is a war journalist, perhaps most famous for his documentary, Restrepo, of which he and fellow journalist Tim Hetherington embedded themselves with a US Army unit in Afghanistan to film.

July 10, 2017
  • books
  • ideas

Megan Phelps-Roper on the Joe Rogan Experience

On the 974th episode of the Joe Rogan Experience podcast, Megan Phelps-Roper appeared as a guest. Megan is a former member of the Westboro Baptist Church (the church, among other notable things, owns the domain “godhatesfags.com” and has a 1.4 star rating on Google reviews).

July 1, 2017
  • ideas
  • podcasts

So You Want a Premium Coffee Subscription at an Affordable Price

I just received my first shipment from a Tinker Coffee subscription. They sent 4 light roasted, single-origin bags, one from each of Guatemala, Columbia, Malawi, and Ethiopia.

June 8, 2017
  • coffee
  • indiana
  • epicurean

On Using webpack for Simple Projects

webpack seems to have a reputation for being prohibitively complex. Maybe this was true for version 1.x. Maybe this is still true for enterprise or large applications. But I was pleasantly surprised to find that setting up webpack 2 on a simple, personal project was really quite simple.

May 2, 2017
  • javascript
  • webpack

Web Dev Podcasts and Websites

I’ve been a professional web developer for approximately 1 year and 6 months. The biggest challenge, I feel, has been how quickly and dramatically the build tools, application frameworks, and the language of JavaScript changed over that time.

April 5, 2017
  • javascript
  • podcasts

Finer Things Club: The Kiku Apple

Approximately one month ago, a Kroger cashier complemented me on my choice of Honeycrisp apples.

March 25, 2017
  • epicurean

Pricing Design: A Review

Pricing Design by Dan Mall is an A Book Apart book about pricing design projects as an outside designer (or developer or, really, any type of consulting or service provider - but specifically as a web designer).

February 19, 2017
  • books

Extreme Ownership: A Review

I first heard Jocko Willink on the Tim Ferriss Show.

February 8, 2017
  • books

The Introduction to RxJS That’s So Simple You Don’t Want Your Coworkers to Catch You Reading It

If you’ve heard someone describe RxJS, they’ve likely started by saying it was “powerful” and “revolutionary.” While this is true, you don’t need to be a 33rd degree functional reactive programmer to use RxJS.

February 3, 2017
  • javascript
  • rxjs
  • tutorial