Speaker

Kris Jenkins

Kris Jenkins

Host of the Developer Voices podcast

London, United Kingdom

Actions

Kris Jenkins is a lifelong programmer, a Lead Developer Advocate for Snowflake, and the host of the Developer Voices podcast. Over the course of his career he's been the CTO of a gold-trading company, a functional programming contractor specialising in Haskell, and a regular hackathon organiser.

He loves good software architecture, innovative new programming languages, and most of all, building stuff.

Area of Expertise

  • Finance & Banking
  • Information & Communications Technology

Topics

  • Kafka
  • Kafka Streams
  • Apache Kafka
  • elm
  • Haskell
  • PureScript
  • functional programming
  • Fun & Geeky

Slaying a UI Antipattern

Fetching data from the server should be one of the easiest things frontend programmers do. And yet even big names like Twitter and Slack make a simple mistake that consistently spoils the UX of their sites.

In this talk we’ll look afresh at the simple act of loading remote data, and how it’s just slightly more complicated than people think. Then we’ll see how Elm’s excellent data modelling capabilities let you capture this complexity and banish the bug permanently.

You’ll learn how to improve the user experience of every HTTP call you make, and pick up some wider ideas on how Elm’s type system can guide you to clearer, more useful designs that make for better software.

A Beginner's Guide to Realtime Data With Kafka

Apache Kafka's an interesting beast. It solves many different data-processing problems by being part queue, part database, and part message bus. But it can be daunting to get started, and like many things, the only real way to understand Kafka is to build something with it. So let's do that!

In this live-coding session we'll take our first steps with Kafka, building a system that tracks the live status of metro trains. As we do so, we'll build up an understanding of some of Kafka's core ideas - topics, connectors, consumers and groups - to build up a mental model of how Kafka works, and where it works best.

(And for those of you who already know Kafka, you'll learn some modern JavaScript and see how quickly you can build a useful app.)

By the end you'll have a starter project, and the shape of Kafka in your mind so you can make faster progress building your own realtime applications.

Types As Design Tools

Types are much-discussed as a tool for correctness. Are they vital for a robust system, or has TDD made them obsolete? Do types help you write correct programs, or do they just restrict expressiveness?

What's not talked about nearly enough is how types are a window into your system's design. A good type system can reveal architectural secrets when you've barely even looked at the code. And it can reveal design flaws and opportunities for improvement at a glance - if you know how to look.

With a collection of examples gathered from real live systems, we'll look at how the type signatures of existing programs are trying to guide you to better designs.

Livecoding a Kafka Dashboard

How much of a genuine realtime system can you build in a lunchtime's worth of programming? In this live-coding session we'll build a real-time, Kafka-driven sales dashboard from scratch and see how you:

- Set up a Kafka Consumer with Python.
- Easily handle real-time Stream Processing with ksqlDB.
- Build out a WebSocket server to broadcast live data to your users.
- Create a basic React app to visualise data in a way anyone can access.

We'll start with an empty directory and by the end, you'll have all the foundational pieces of a dashboard that could serve KPIs to everyone in your organisation, or just form the basis of your next lunchtime hacking session.

Communicating in Types

Modern type systems have come a long way from the days of C and Java. Far from being nit-pickers that berate us for making mistakes, type systems like the ones found in Haskell, PureScript and Elm form a language in themselves. A language for expressing high-level ideas about our software to our colleagues and to the computer. A design language.

In this talk, we'll take a look at the way the right kind of type signatures let us talk about software. We'll survey how to state our assumptions about the domain we're coding in and how each part fits together. We'll show how it can highlight problems, and surface opportunities for reuse. And most importantly, we'll see how types can help you communicate to your coworkers, and to future maintainers, with little effort.

You may have heard the phrase, "programs are meant to be read by humans and only incidentally for computers to execute." Come and see how a modern type system is about communicating ideas to humans, and only incidentally about proving correctness.

Kafka Performance Tuning, But Backwards

I have a simple streaming application that comfortably processes a million records a second against a modest Apache Kafka® cluster running on the far side of the Atlantic ocean. This is clearly too powerful, too efficient, and I risk making myself redundant. Where’s the job security in a high-performing system?

In this code walkthrough we’ll look at the most important performance-tuning settings for Kafka and see how we can easily destroy throughput, add latency, and bring the system grinding to a halt by setting the right parameters to the wrong values.

By the end of the session you’ll know exactly which configuration settings you should look at if you want easy ways to ruin the performance of your own streaming applications. Alternatively, you could use these tips to speed things up, if you’re into that…

Current 2023: The Next Generation of Kafka Summit Sessionize Event

September 2023 San Jose, California, United States

Copenhagen Developers Festival 2023 Sessionize Event

August 2023 Copenhagen, Denmark

JCON EUROPE 2023 Sessionize Event

June 2023 Köln, Germany

Kafka Summit London 2023 Sessionize Event

May 2023 London, United Kingdom

Current 2022: The Next Generation of Kafka Summit Sessionize Event

October 2022 Austin, Texas, United States

NDC Melbourne 2022 Sessionize Event

June 2022 Melbourne, Australia

Kafka Summit London 2022 Sessionize Event

April 2022 London, United Kingdom

Kris Jenkins

Host of the Developer Voices podcast

London, United Kingdom

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top