Welcome to the Redis Stars Podcast: Rust vs. Go and What Makes Live-Coding So Compelling

Drew Kreiger by Drew Kreiger

Welcome to the new Redis Stars Podcast, created to help the Redis community share and learn from each other, and to help our community grow. Hosted by Dave Nielsen, Head of Community & Ecosystem Programs at Redis Labs, this bi-weekly podcast series will feature developers using or contributing to Redis and innovators who have built things they want to share with the Redis community. No matter who the guest is, we focus on the inspiration for their ideas and how they are helping the Redis community to do more. We plan to release new episodes at 10 a.m. PT on the first and third Thursday of every month.

You can listen to the premiere episode in the player embedded below, or better yet, subscribe to the entire season wherever you listen to your podcasts (like Spotify, Apple, or Google). Be sure to rate us there as well! 

Episode 1: Loris Cro on Rust vs. Go and What Makes Live-Coding So Compelling

To kick off the Redis Stars Podcast, we welcome Loris Cro as our first guest. Loris is a bioinformatician who has worked on everything from big-data problems in academia to consulting for fintech startups in Singapore. He now works at Redis Labs as a Developer Advocate where writes for the company tech blog here, speaks about Redis at conferences, and even live codes on Twitch.

A snapshot from one of Loris’ Twitch live streams.

In this premiere episode, Loris and Dave discuss Rust vs. Go and what makes live coding so compelling. As you listen you will learn more about Loris, what interests him as a Developer Advocate, and the latest presentations and projects he’s been working on. Many of these projects have emerged from meetup presentations like How to Write a Redis Client in Python from Scratch, Twitch live streams, Redis tech blogs, and Loris’ personal blog at kristoff.it/blog/. Dave and Loris also touch on Redis creator Salvatore Sanfilippo joining Twitch to live stream his implementation of a new functionality for ACLs (access control lists) in Redis 6. 

Show highlights:

You can read some highlights, or jump directly to the relevant portions of the show: 

Why Go and not Rust? (1:14)

Loris talks about a recent post on his personal blog comparing the two programming languages. He makes the case that while Rust has a ton of amazing features, Go does a better job than Rust for enterprise software development. “Given my experience, I think that the way Go approaches computer science and engineering … works way better” than how Rust addresses these issues. But he also warns against the tendency “to think of our tools as an extension of ourselves a bit too much.” 

For more, see Loris’ original post here.

Live coding a Redis  client in Python from scratch (7:25)

In February 2020 at the Redis Meetup in Silicon Valley, Loris performed a live-coding demo creating a Redis client in Python from scratch. Loris explains that live coding is so popular because “it hits a sweet spot in terms of complexity and fun. … You see this thing being done in real time. It might break and actually did break on a couple of times while doing it. So there’s always this uncertainty in the mix that makes everything more interesting.” 

Loris also recommends coding a Redis client to help learn a new programming language: “I’ve seen a few people when approaching a new language, start by trying to write a Redis client for that language,” Loris says. “It’s a good exercise because it’s not too complicated but at the same time it’s not too trivial. And you’re actually building something useful, even though at the end of the day, you don’t plan to write a full-fledged Redis client.”

You can watch Loris’s live coding session on Youtube here. 

Salvatore (ANTIREZ) live coding on Twitch (10:31)

Of course, Loris isn’t the only one live coding these days. Redis creator Salvatore Sanfillipo has recently been seen live coding on Twitch. In this segment, Loris and Dave discuss how Salvatore started by showing on stream how he’s implementing a new functionality for ACLs (access control lists) in Redis 6.0. 

“He’s showing basically that he’s programming the functionality in ACLs that logs every time a command fails because of a missing permission,” Loris says. “It’s an interesting project,” he adds, “because it’s self contained. You don’t need to know everything about Redis. Once you know what ACLs are, and you understand small parts of small subsystems and how they work, you can easily follow along with what he’s working on. And he’s sharing his thoughts about why he chooses to do things in one way versus another as he goes, so that was really nice.”

Follow Salvatore’s Twitch channel here!

Why do people watch live coding streams? (12:59)

But why so much interest in Salvatore’s live coding? Apart from his celebrity status in the Redis community, Loris says, I think people want to watch him because they want to see his take on what programming is. … People want to see how a successful systems programmer thinks and which editor he uses and how he uses macros and bindings on the keyboard. There’s also the human component of seeing somebody do interesting and surprising things with something that you also have been doing all along.”

What makes for an interesting talk? (15:39)

Dave asks Loris what makes a good software presentation. In response, Loris cites an all-time favorite presentation: A Quantitative Trader’s Perspective, given by Maura Caldera, a Quantitative Research Engineer at Citadel, which is using Redis in very creative ways. 

“He does quantitative trading and quantitative trading is a complicated thing. They have very peculiar requirements. And the math is complicated. Almost everything about it is complicated,” Loris says. “But in his talk, you don’t see that. What I really liked about the talk is that he lets the complexity fade out and just talks about the core ideas behind what he’s doing. It’s kind of inspirational.”

Redis as a toolkit for building distributed systems (18:01)

Just as important, Loris notes, is that Caldera is using Redis to its full potential: “He’s not using Redis as a Swiss Army knife, but more like a toolkit for distributed systems,” Loris says. “A Swiss Army knife can do a lot of things, but it’s not particularly good at any specific one. You expect a toolkit to be flexible, but also to be good at all the individual things. 

(Editors’ note: Quotes from the podcast have been edited for clarity.)