What I'm Thinking

When I first dealt with consuming Protobuf messages in Apache Flink it took me some time to get everything working. In this post we will go over a simple example from a project I worked on that demonstrates how to consume Protobuf messages in Apache Flink.

... Read More

The following is a collection of Linux observability tool diagrams that I have collected and keep close by for reference. They primarily come from the blog posts or books of Brendan Gregg.

... Read More

My Sirius XM now playing tracker has been running for six years without any major interruptions. Today I gathered all the data collected to date and am open sourcing the dataset for anyone to use.

... Read More

Often we need to run shell commands on a running docker container. The traditional way would be to run docker exec -it <container> /bin/bash for example. Below is an alias to simplify this process a bit.

... Read More

Some Kubernetes resources require elevated privileges to access. For example, passing --as <namespace>-admin to each kubectl command. Below is a convenient alias to elevate your permissions for such resources.

... Read More

Described below is a convenient way to configure and switch awscli between multiple AWS accounts.

... Read More

If you are like me, you may have an old, but still perfectly functioning printer which you would like to print on from anywhere in your house. In my case, I even kept an old Windows PC just for printing. That PC is soon going to recycling, now that a Raspberry Pi helped make the printer reachable from any computer, phone, or tablet on the home network. This post will show how to easily achieve this.

... Read More

Apache Pulsar is a distributed pub-sub messaging system that I have recently enjoyed testing for some projects of mine. It has grown very much on me and am now preferring it over Apache Kafka. In this post we will go over installing and getting started with an Apache Pulsar instance running on Kubernetes.

... Read More

A while back I needed to identify time windows within a time series dataset which led me to discover some interesting SQL functions I was not aware of. In short, what I refer to as a window is a start and end timestamp during which certain defined conditions were true. This post will explore a bit more of the problem definition and go over an example SQL query to tackle it.

... Read More

GraphQL subscriptions are extremely useful in situations when a server needs to update its clients. A chat application is a great example to demonstrate this, as when new messages arrive we want to distribute them among all chat participants as quickly as possible without polling. When I first started looking at implementing GraphQL subscriptions in Go it took me a bit before I had my aha moment and everything clicked together. Also, at that time there were not a whole lot of examples that I could look at or reference. This post will go over a concrete chat application example using GraphQL subscriptions and a backend built in Go with gqlgen.

... Read More