What I've learned over my career on how to ask for feedback.

When I left a previous job, I asked to have a meeting with one of the leaders of our engineering organization. In the years I worked there, I had been over looked several times for a position and no... Keep Reading



Gatsby turned out to be too much. But React makes it easy to create your own static site generator.

A while back I rewrote my website using Gatsby which resulted in having to put the website content in the same GIT repository as the Gatsby code. Thus I had to be on a laptop to both write and publi... Keep Reading


Using AWS Lambda to trigger long running jobs.

AWS Lambda has proven to be a powerful piece of infrastructure, capable of taking parts of our apps that were tied to a long running app server, and turn them into scalable, event driven, service or... Keep Reading


Reflections on the role and importance of my grandfathers.

I can still hear the rumble of the tires running over the brick roads. That’s how we knew we were close. It’s hard to gauge time after 10 hours in a car. Once we felt that rumble, no book could hol... Keep Reading


When foreign words become part of the language

The other day while driving, my kids were asking me how to say different words in Chinese. They usually ask about things that they see out the windows, trees, homes, cars, etc… But one of them was t... Keep Reading

#chinese#foreign languages

DynamoDB is a fully managed NoSQL document database provided by AWS

Two methods in DynamoDB allow us to fetch or write many items at once, `batchGetItem` and `batchWriteItem`. They allow us to fetch or write many items, across multiple tables, in a single call. But ... Keep Reading


DynamoDB is a fully managed NoSQL document database provided by AWS

Most of the methods in DynamoDB take an object as their first parameter, which provides the necessary information to perform the requested operation. These options include things like the table name... Keep Reading


I often hear Chinese is a hard language. But is it really? Why should you learn it?

Usually when I tell people that I speak Chinese, their reaction is to tell me how hard the language seems to be. My response usually consists of an explanation as to why I don’t think it is as hard ... Keep Reading

#chinese#language learning

Most things I've designed looked like I was an engineer. But over time things have improved!

In the last few months, I have spent some time off and on redesigning my website. It originally started as an exercise to practice doing some design work in Figma, and it quickly turned into a full-... Keep Reading


Take some time to be reflective, see what life has taught you.

Today is my last day at Instructure. Over the last week, I have reflected many times on what I have learned through the last 5 years. The company has done a lot to enable me and my family to accompl... Keep Reading

#career#software development#instructure#canvas#learning management#education#learning

CSS in JS is all the rage, but how do you target nested components?

Using a pattern of CSS overrides in Emotion can enable you to target nested components within a React application. const componentStyles = css`...` <div css={componentStyles}> <MyCompone... Keep Reading


Follow Me


Long running jobs in AWS Lambda

Using AWS Lambda to trigger long running jobs.

onLayout in React Native

How to get the dimensions of a view in React Native

Paginating batchWriteItem and batchGetItem in DynamoDB

DynamoDB is a fully managed NoSQL document database provided by AWS

CodePush, is it worth it?

What is CodePush and is it worth integrating into your React Native App

Redesigning my Website

Most things I've designed looked like I was an engineer. But over time things have improved!

Construction of the Arcade Machine

Who doesn't want to play Pacman and Galaga?




Path is a platform for executives, project owners, and project managers of construction projects, to track high-level data points on their projects. It enables these key individuals to keep their pr


Arcade Machine

Ever since I knew what a Raspberry Pi was, I've wanted to build an arcade machine. I used to love playing games at the arcade, and still enjoy going to them as long as it doesn't cost a dollar to pl


My Website

This website is first and foremost a place for me to write about all the various things I work on and think about. I started blogging about technical projects back in 2009 at


Basement Renovation

When we bought our house we knew that the basement would need some work done on it. The walls were poorly textured, the closets were built incorrectly, and the carpet was not great. Luckily this all

See More