Hello out there web friend.

My name is Jeff.

Thanks for connecting.

Setup AWS CloudFront for WordPress | Scaling this Blog

December 7, 2018 | Posted in AWS,WordPress

Over the past few years, this site has gone through some pretty substantial changes. After getting hacked on BlueHost sometime in 2016, I reworked the entire site architecture using hand-rolled resources on AWS. While this taught me a lot, it has been increasingly expensive and time-consuming. To keep my costs down, I’m really relying on […]

Read More

Translate Text Selection in a Google Doc using Google Apps Script

October 5, 2018 | Posted in Google Apps Script,Google Drive

In this quick tutorial, we’re going to build a simple little menu add-on for Google Docs that lets you translate text into another language. Some of this functionality may be baked into Google Docs at this point, but this should be a good tutorial that wraps together a few different services and methods of augmenting […]

Read More

Auto Fill a Google Doc from a Google Form Submission

September 17, 2018 | Posted in Google Apps Script,Google Drive,Google Sheets

It’s been awhile since I have written anything to do with Google Apps Script, so I decided to start exploring some features of the Apps Script world that are new to me. When I first got started with Apps Script almost 6 years ago, there were lots of things I wanted to do, but just […]

Read More

Creating a Virtual Assistant with Amazon Lex and Lambda

August 29, 2018 | Posted in AWS,JavaScript

In a previous post, I wrote about some of my experiences building chatbots with the Amazon Lex platform, and I guess this post will represent the culmination of that experimental work into a production ready tool. Throughout this process, I’ve learned a lot more about building applications using AWS services, but it has also helped […]

Read More

Using the Right Tools: Indexing in MySQL

August 27, 2018 | Posted in MySQL

As I’m sure this is with most people, my deepest learning moments come from random walks down different avenues. In preparation for a GIS focused project I might get to work on, I spent a few minutes reviewing the geospatial features available in MySQL, which lead me down some side research into database indexes. You […]

Read More

Load Testing WordPress Multisite

August 2, 2018 | Posted in WordPress

Over the last few weeks, we’ve been dealing with some heavy fallout from a recent server migration on our large WordPress MU installation. While moving everything from Linode to Digital Ocean should give us a more powerful toolset, save on costs, and give us more infrastructure flexibility, I wish the cut over was uneventful. On […]

Read More

Recursive Recursion with Vue

July 25, 2018 | Posted in JavaScript,Vue

We’ve been working on a project with some of the folks from the medical campus since I’ve been at VCU. They are developing a large OER site for Histology, which is the study of cells, but we’re approaching a point where this single site has over 1000 pages in a nested menu structure. Since the […]

Read More

Aggregating Data Hypotheses with Firebase

May 31, 2018 | Posted in Data Visualization,JavaScript

This project builds off of some work that Tom and Matt did over last summer for an eco techniques course focused on open science, data visualization, and experiment design. We were trying to replicate an interesting interactive published by the New York Times on the Obama presidency. The main crux of this interactive is the idea of […]

Read More

Storytelling with Scrolling Map Background

May 18, 2018 | Posted in Data Visualization,GIS

For a recent project, we were helping a group from the Environmental Sciences department translate some of their academic research on a particular type of bird into a more general narrative targeted towards a general audience. As a part of this process, we wanted to create a section of our companion site that illustrates the […]

Read More

Simple is Always Better

April 18, 2018 | Posted in WordPress

One of the hardest things to do as a developer is to resist the urge to add additional complexity where it does not add value to the overall solution. As technologists, we tend to think this stuff is cool, and so sometimes we fall victim to this trap. Let me illustrate with a recent example. […]

Read More