After nearly two decades working with software engineering and solution architecture, in 2018 I decided to earn my living working full-time as a developer advocate. However, unofficially I’ve been blogging, creating demos, and speaking at conferences since 2004. Some of the events I’ve spoken at include JavaOne, JFokus, JNation, QCon, Google Cloud Next, Kafka Summit, Pulsar Summit, and many Big Data conferences. You can find where I’ll speak next here.
Recordings of my talks can be found on my YouTube channel, where you’re welcome to subscribe to get the latest of my work — such as workshops, demos, and tutorials that I create. In fact, you may want to check my GitHub for the code I write to all of this.
One of the coolest things about streaming systems such as Apache Kafka is their ability to handle any type of data. You can store events at Kafka and have different systems processing their event data. You may start with a few systems and add new systems as needed. While certainly possible and attractive, this isn’t simple. Schemas play a key role in how each system consumes the event data and processes them. Reason Schema Registry exists, right? Not really. Schema Registry doesn’t solve any of your data problems. It’s just a registry for your schemas. Admittedly, without it, there would be no policy enforcement. However, data problems can still happen. Issues with encoding, format mismatch between different programming languages, new code not being able to read data written by old code, etc. In this session, we will get into the weeds of data serialization with schemas. We will discuss the differences between formats like JSON, Avro, Thrift, and Protocol Buffers, and how your code must use each one of them to serialize data. It will also clarify the impact of switching Schema Registry with other registries, and whether you can use them together. If you ever wondered why your Python code can’t read something written by Java, why integers are getting confused with strings, or simply how schemas end up in Schema Registry, this session is for you.
|Do It Yourself: Programmable Metrics using OpenTelemetry||Berlin Buzzwords 2022||June 2022|
|Distributed Tracing: The good, The Bad, and the Ugly||Open Source North 2022||May 2022|
|The Subtle Art of Giving Code Walkthrough Talks||DevRelCon 2021||November 2021|
|What is Distributed Tracing, and Why Should you Care About it?||All Things Open||October 2021|
|Take me Down to the Paradise City Where the Metric is Green and Traces are Pretty||SRECon 2021||October 2021|
|Writing Custom Sink Connectors for Pulsar I/O||Pulsar Summit Europe 2021||October 2021|
|Elasticsearch for Gophers||Elastic Livestream||August 2021|
|Down to the Rabbit Hole with Pulsar I/O||Pulsar Summit NA 2021||June 2021|
|Hidden Secrets about Instrumenting JVMs for OpenTelemetry||JNation 2021||June 2021|
|Building Observable Streaming Systems with OpenTelemetry||Berlin Buzzwords||June 2021|
|OpenTelemetry for Dummies: Instrumenting Go Apps||GopherCon Europe||May 2021|