The Single Biggest Beginner Mistake With DynamoDB

DynamoDB is an amazingly powerful and performant database, best known for its low latency and elastic scaling characteristics. But there is one trap it is super easy trap to fall into, especially if you have any background at all in more traditional relational database systems (think MySQL, Postgres, Oracle, and SQL Server). That's Not Normal, Man! In the relational database world, the dependable best practice is to normalize your data model....

April 3, 2022 · Zach Thomas

Kafka Connect Plugins With Clojure

Kafka Connect has an extension mechanism based on plugins. By implementing certain interfaces, or extending certain classes, you can create one of eight types of extensions: Connector for piping data into or out of Kafka via external systems Converter for translating between Kafka Connect's runtime data format and byte[] HeaderConverter same, but for headers Transformation for modifying messages as they move through a connector Predicate used to conditionally apply a Transformation ConfigProvider for integrating a source of key/value properties use in configuration ConnectRestExtension for adding your own JAX-RS resources (filters, REST endpoints, etc....

February 10, 2022 · Zach Thomas

Data Mesh

Data Mesh is an interesting topic, described by Thoughtworks here.

February 3, 2022 · Zach Thomas

Happy Groundhog Day

Hello again, everyone. Getting my git repo all set up to deploy content. Fun! Oh, and we've got six more weeks of Winter. Gee, thanks a lot, Phil!

February 2, 2022 · Zach Thomas

A New Year

Hello I'm a full-time clojure programmer now. All I have to do is learn how to use clojure for real. Nice, huh? (apply + (range 100)) I still think hugo is a great way to create a website. Only now I use org mode!

June 8, 2021 · Zach Thomas


This is my first post using Hugo, which seems really cool so far! I am really looking forward to getting the whole build pipeline running with GitLab. Stay tuned.

October 30, 2018 · Zach Thomas