Sign in

Father, husband, software developer

Happily enjoying the use of Kotlin on our Spring Boot services. I'm seeing some growth here in the Minneapolis-St. Paul, MN market around server-side Kotlin use. It will take time, but change is coming.


Interested in Ruby in a serverless environment? This multi-part introduction to Ruby on Jets framework will demonstrate the relative ease of deploying a Ruby 2.5 web application into AWS Lambda.

Photo by Todd Diemer on Unsplash

Ruby on Jets is a Ruby framework specifically built for AWS Lambda and its Ruby runtime. From the landing page of Ruby on Jets…

Ruby on Jets allows you to create and deploy serverless services with ease, and to seamlessly glue AWS services together with the most beautiful dynamic language: Ruby. It includes everything you need to build an API and deploy it to AWS Lambda. …


Use Chaos Engineering techniques to build resilient database connectivity in your applications.

Split Rock Lighthouse on the north shore of Lake Superior near Two Harbors, Minnesota. (scandamerican)

Introduction

Acceptance testing functionality for resiliency scenarios

Recently, I participated in conversation with some other technical people that I am working with around the concept of acceptance testing application functionality when our application encounters resiliency issues. In our conversation, the issues were centered around network connectivity between the application server and the database. How does one cause network issues and effectively acceptance test that our application behaves appropriately when these network issues occur? This is exactly what Chaos Engineering is all about.

Chaos Engineering

Our conversation was not unique. I have had this conversation before in other…


Lake Itasca at the headwaters of the Mississippi River at Itasca State Park in Minnesota. (scandamerican)

In a previous post, I introduced the new Apollo Client React Hooks for simplified GraphQL interactions for queries and mutation. In this post, I will continue to look at the new React Hooks implementations in Apollo Client, this time focusing in on the useSubscription hook, along with using Hashura for the GraphQL engine. I’m using Hasura because subscription support through WebSockets is provided out of the box for you without any extra configuration. The GitHub repository is available here.

Implementation

Creating the Apollo Client

Hasura, by default, enables WebSocket connectivity in its GraphQL engine. The URL for the WebSocket-based connection is ws://localhost:8080/v1/graphql, whereas my normal…


Namekagon River at Groats Landing near Hayward Wisconsin (contributed by wolterk)

If you do anything with GraphQL these days, you probably know about Apollo. They provide various libraries for GraphQL servers and clients. The Apollo Group recently released their new Apollo Client with React Hooks, thus providing a slimmer API for GraphQL when used in conjunction with React. I’ve used Apollo Client before in React and Vue.js, so I wanted to see what their new React Hooks implementation was all about.

Implementation

Creating the React project

First, I created my React app using create-react-app. I did add the --typescript flag, so my spike implementation will be in TypeScript. I wanted some more experience with TypeScript and…


A view of the beautiful stone arch bridge of Minneapolis, MN, USA at dusk, showing part of the city skyline on October 27, 2014 in Minneapolis, USA by banset

The good folks at Serverless, Inc. have released a beta version of their new full lifecycle tool, Serverless Components. I have used Serverless Framework in the past with great success, so I thought I would take a look at this new offering and try some spike solutions using it. The GitHub repository with my code can be found here.

An introduction to Serverless Components

Serverless Components were introduced in this blog entry. Serverless Components represent common cloud computing use-cases:

  • hosting a static website
  • providing a serverless API
  • providing a real-time WebSocket-based communication channel.

These are just a couple of use-cases that the documentation mentioned and…


Why minikube?

The Kubernetes installation bundled with Docker CE for macOS seems to be outdated. I needed a more recent version of Kubernetes for some spiking I am doing on service meshes. Minikube’s guiding principles align well with my needs for a local development version of Kubernetes. So I thought I would write up my installation steps for myself and others to use.

Please note that Homebrew is a prerequisite for this installation.

Installing minikube

  1. brew update
  2. brew install docker-machine-driver-hyperkit
  3. sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit && sudo chmod u+s /usr/local/bin/docker-machine-driver-hyperkit
  4. minikube config set vm-driver hyperkit
  5. brew cask install minikube
  6. minikube start
  7. kubectl version --short

That’s it! I’ll refer to this post in subsequent Kubernetes posts.


Hasura is a GraphQL engine that sits on top of PostgreSQL. Hasura will introspect a PostgreSQL database schema and build a GraphQL schema from that database schema. It’s a great way to introduce yourself to GraphQL and get something up and running very quickly. It does have some small rough spots, but for the most part, it’s quite capable, even in its current incarnation of version 1.0.0-beta.2. This post will introduce Hasura by building a small GraphQL schema driven from the PostgreSQL schema that I’ll build up using the Hasura console. The accompanying GitHub repository can be found here.

Installing the Hasura GraphQL engine

There…


Using AWS Cognito, Amplify and aws-amplify-vue components to facilitate user management and authentication in a Vue.js web app

Photo by Markus Spiske on Unsplash

Introduction

This is the sixth of a series of posts describing my experimentation with Vue.js, AWS AppSync, Lambda and other AWS technologies. A public GitHub repository exists with this experiment so others can learn from my efforts. For this post, I will be describing the code that resides on the v4 tag, so feel free to checkout to this point in time: git checkout v4. Links to the other posts in this series can be found in the first post.

In the first three posts for this Invest Guru endeavor, I built up a simple GraphQL API that uses AWS AppSync…


Demonstrates the use of Vue.js, vue-chartjs and Chart.js to plot the simple moving average data I am pulling from AWS AppSync.

Introduction

This is the fifth of a series of posts describing my experimentation with Vue.js, AWS AppSync, Lambda and other technologies. A public GitHub repository exists with this experiment so others can learn from my efforts. For this post, I will be describing the code that resides on the v3 tag, so feel free to checkout to this point in time: git checkout v3. Links to the other posts in this series can be found in the first post.

In…

Christopher Bartling

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store