# Implementing "Options Object" Pattern using TypeScript and Joi

The Options Object pattern [1][2] is a technique in JavaScript for configuring a component using a single function parameter:

const client = createClient({
host: 'localhost',
port: 12345,
});


This approach has many benefits over . . .

December 10, 2018

# What's Making Me Happy - 11/30/2018

### Grafana, TimescaleDB, Apache Beam, and ThoughtWorks Tech Radar Q4

Hey folks, sorry I missed the last couple of weeks (was out on vacation or busy at work). However, I'm back just in time for the holidays with another addition of "WMMH" in the software world.

The theme for this week is data analytics. I've been working on a metrics project at work and have been pleasantly surprised . . .

December 01, 2018

# What's making me happy - 11/07/2018

Inspired by NPR's Pop Culture Happy Hour, I'm going to try posting once a week about topics in technology that are making me happy.

Lately, I've been working on our EDA platform at Peachjar that uses NATS as a Command/Query transport and Kafka as an event store. Naturally, adding any technology to your infrastructure . . .

November 07, 2018

# Node.js and Kafka in 2018

### Yes, Node.js has support for all of the Kafka features you need.

If you want to use Node and Kafka together and are struggling to find straightforward answers to some basic questions, I hope this helps you out. We've been building out an event system at Peachjar using Node and Kafka and some of this knowledge is the fruit of our research.

. . .

Posted in: kafkanodejs

October 31, 2018

# How to Use the Instance Role Credentials Manually on an EC2 Instance

A couple of days ago I found myself needing to use the AWS CLI to perform some actions using the IAM Role of the local EC2 instance (and not my own -- partly because I didn't want to use/leave my credentials on the machine).

Crawling through the AWS documentation, I pieced together the steps one should follow to perform this . . .

July 04, 2018

# Container Services: Logging and Reporting

Logging and Exception Reporting are two obvious operational features every service must include. As we learned in the last post, Application Support in Docker-based Microservice Environments, building and deploying microservices makes implementing log infrastructure significantly more difficult.

The most difficult problem DevOps . . .

March 21, 2018

# Use State Machines!

## What is a State Machine?

Finite State Machines (FSM, or in the context of this post, simply "State Machines") are a methodology for modeling the behavior of an entity with an established lifecycle. The lifecycle is defined by an enumerated set of states known at the time of implementation (this is where the term . . .