Headshot_large

Richard Clayton

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,
 username: 'foobar',
 password: 'work-at-peachjar',
});

This approach has many benefits over . . .

Read More

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 . . .

Read More

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 . . .

Read More

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.

    . . .

Read More

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 . . .

Read More

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 . . .

Read More

March 21, 2018

Use State Machines!

FSMs are not as complex as you think and they make your code better.

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 . . .

Read More

March 17, 2018

Archive