Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

650 lines
53 KiB
Plaintext

Episode: 3229
Title: HPR3229: Linux Inlaws S01E19: Redis
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3229/hpr3229.mp3
Transcribed: 2025-10-24 19:14:38
---
This is Haka Public Radio episode 3229 for 13th April 17th of December 2020.
Today's show is entitled, Linux in-law Ness Nero 2019,
Redim and in part of the series, Linux in-law Ness Nero,
it is hosted by Monochrome,
and in about 74 minutes long,
and Karim and exquisite flag.
The summary is,
our two-chap,
since a new item a paper on Redim's fame.
This episode of HBR is brought to you by an honest host.com.
Get 15% discount on all shared hosting
with the offer code HBR15.
That's HBR15.
Better web hosting that's honest and fair at An Honesthost.com.
This is Linux in-laws,
a podcast on topics around free and open-source software,
any associated contraband, communism, the revolution in general,
and whatever else, fans is critical.
Please note that this and other episodes
may contain strong language, offensive humor,
and other, certainly not politically correct language.
You have been warned.
Our parents insisted on this disclaimer.
Happy mum?
That's the content is not suitable for consumption in the workplace,
especially when played back on a speaker in an open platform.
It's a very important thing to do.
This is Linux in-laws Season 1 Episode 19.
Redis, button.
Hi, how are things?
Hey, good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Thank you for sitting here!
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
Good morning.
bit off here and there we do a part we do like to apologize for this but overall I think
it's a great experience and we are rolling with the interview now and see you on the other side.
This is our feature speaker for tonight a gentleman called by the name of Eta Mahabhar
but enough from me Eta Mahabh, why don't you introduce yourself?
Thank you Christel and thank you Martin for inviting me to this wonderful lovely podcast.
I'll stop talking like you now and return and resume my normal voice. My name is Eta Mahabhar.
I'm a software developer in origin or yeah I guess I can call myself that
but I've logged it's been a long time since I seriously developed software and one would argue
whether I even actually did that in the past. Currently let's start chronologically and go
backwards if it's of an interest. Feel free to stop me. Currently I'm almost 49, well 48 now.
So I've got a lot of stories. Right now I'm working in a very interesting company called
Redis Labs by the way I know both of you from there so high again but I've been with Redis
Labs for a long time now because I'm so almost eight years. Redis for those of you don't know it
is an open source project which is something I think we're here to talk about so I won't talk
about it just now. I'll continue my introduction about myself. In Redis Labs or
Egg Redis Labs I've done a lot of things. I was like the 10th employee or something
in the company. So I had a lot of hats but I've always been
passionate about developers and interacting with developers and basically making an open source
project really open source not just in the sense of the source but in the sense of openness.
Before that I dabbed a lot with other databases mainly SQL-ish ones. Redis is my first real
foray into no SQL lens but I've done the regular batch of Oracle, MySQL, MSS, Q&A and even
in the formats at one time I have diplomas for all of these like real certificates somewhere
on real paper. Before doing a lot of DBA work and database related development I was basically
an app programmer and I started that like when I was around 16 pretty young I was working at my
mothers and fathers software development house and even before that I used to try and heck
or be a heck or programmer or developer or something was always fascinated by the blinking lights
and the zeros and ones and I actually have an anecdote if there's time for that.
Absolutely. I can actually tell you I remember why I became a programmer or a developer what was
the main driver. So one of the first machines I ever touched was something called a K-Pro.
I don't really either of you or the audience have heard of that machine but it was
amazingly was a portable computer. It was a computer you could move from one place to another.
It was amazing. If you can embed images in the podcast can you put the image in the podcast?
I don't really. We can't put links into the link to an image of K-Pro. It was basically this huge
suitcase made out of steel filled with expensive electronics you had to be like very
masculine to move it around but it was portable. It has this tiny CRT screen in it. It had its own
keyboard, a floppy drive and it had an amazing operating system called CP and that's a CP
sledge and if you don't know what I mean. It's not quite well actually.
And it came with a game. It also lists the files in the directory or something but there was
a single game it was called letters. It was kind of a kinkong clone all done in iSkill course,
no graphics and after playing that game I was fascinated by it and I decided to reverse engineer it.
So I went to the command prompt and the file name was letters.com. So I tried doing type I think
was the command to see what's inside it, type letters.com. My screen, the tiny screen immediately
filled with garbage plus beeping sounds which I later learned are control g's and I spent hours
looking at that trying to understand how from this pile of maths the computer makes a game.
I could not read binary for some reason so I took a more cautionary approach to learn basic
and then Pascal and the sampler and the entire goodness. I still think at this game though I still
don't understand how letters work or anything in computers but for enough. Side the point.
So you invited me here to talk about open source? Well this is an open source podcast yeah but we
can talk about communism, we can talk about political views, we can talk about free and open
source after anything really of course. So we want to talk about open source I guess.
Maybe I work with questions if you can point me but I guess your question is tell us a little
about Redis? Exactly for those few people who do not know Redis among our listeners maybe why
don't you give a short overview about this popular in memory no SQL database? Great so you said
you were put no SQL in memory database or maybe data structures store. Let's break it down.
It's a project, it's an open source project. It was instigated, created and lovingly maintained by
an amazing fellow called Sava Thoris on Pilepo, an Italian guy, something to be really more of an
artist than a developer which makes him a great developer I guess. Basis was like shutting down one
startup that he opened with a friend that's like early 2009 I think and after having to build
some sort of an application found a gap in existing technologies and we're talking about basically
the inception or the beginning of no SQL or but ebbs. So the idea was yeah I have this relational
database let's go with my SQL and I love it I do a lot of things with it but it's not really the
best tool for some of the tasks that I have and I'm currently using it with whether it's too big or too
small or too complex or too slow whatever there are limitations and constraints excuse my pun.
So like any good artist instead of letting slide he decided to create something
of his own something that already existed in some form the fear familiar with mancash
threat is kind of a spiritual successor of mancash in a lot of senses but ironically it wasn't
inspired by mancash I'm not sure in itself but Tori the creator who's also referred to by his
nickname anti-res or anti-res or until it's as he calls himself was even aware of mancash so he
just went ahead and developed something that would help him as a developer or he thought would
be helpful for other developers and just open-source did and this sounds very fast but and it was
actually quite fast he wrote the first product type like or redis in very small time it's actually
available somewhere in the archives it's a tcl based version of redis 300 lines long but it's
basic redis anti-stale and after this proof of concept he went ahead and basically began
what is a very interesting career choice he began being an open-source developer that is he
set his ass down excuse my French and without being paid for it he wasn't employed at the time he
company was closed he wasn't sponsored or anything just set down and started coding
in C of all languages because C is the programming language of the system software and
credits as a database server is considered system software so basically started coding redis
in C and after I think seven months or so or six months there was the first version of redis
so late 2009 he found out mistaken and at that time redis wasn't knowing it wasn't even
popular Salvador ahead some readability as a developer from his other and previous experiences
so he had some followers and stuff like that but was still unused and somehow during I think the
first two or after the first release during the coming two years the popularity of redis
just shocked up the popularity and also the capabilities a lot of that in my opinion was due
to the fact that redis was an open-source project with a leader maintainer a creator dictator if
you will a very opinionated one for sure but the very benevolent one also because he understood
still does I guess we're talking in past sense but Salvador was a developer and is a developer
so he understands what is the user experience one needs from a tool like redis
but on the other hand he also knew how to talk to other developers which is
not of less important so he got feedback from people he talked with people he exchanged ideas
whether the project used to be hosted right now it's on GitHub but it used to be hosted on
Google code it was this product by Google which was shut down like so many others the
cause the development was transparent in the sense that he did the development but did consult
with people and they take their feedback and redis grew sort of organically by the people who
used it and I think this this type of interaction is what I find perhaps the top reason to do open
source development the fact that not just the many eyes concept that people can go and I don't
read your code or do code reviews and blame you on the bugs if that you do but there's it's more
open and more I feel private and intimate to develop products like that of course sure you can
build a product a great product with product managers and surveys and feedbacks and marketing
that's like the top-down approach but for some stuff I don't know exactly what perhaps but some
stuff benefits from this kind of guerrilla like we're huddling around the repo we're discussing
this together likely-minded people working on the core thing and then it's becoming sort of a role
in snowball it just grows and more people join and then the challenge is of course how do you
maintain and grow in your issue commute and ever grow in community of users not necessarily of
developers which is another hassle I guess or another challenge
where was I what was I talking about uh Redis sure so Savitore was kind of the living spirit
and it still is I guess many people saw it the living spirit for Redis he got sponsored eventually
his effort did not go unnoticed so he was sponsored someone picked up the tab so at some point
Redis did start becoming his profession didn't just do a propo no but I assure you that didn't
do it for the money he did it because he believed in it and sponsorship was just like a symptom
or a byproduct his first sponsor incidentally was a nice company called I think VMware
now a part of EMC or maybe Dell or I don't know what but the that time VMC started sponsoring a lot
of open source projects and Redis was one of them later on VMC that not VMC VMware VMware
uh purchased pivota labs and basically rolled all the open source sponsorships to get so pivota labs
also inherited Savitore and Redis and they tried to grow with him and see if they can help him
and it's another like this was I guess I don't remember the dates maybe we need to include a timeline
but I think around uh two hundred and uh two thousand fifteen
scheduled to Redis labs uh I know it's the company I work here I'm proud of it but seriously
that it was the only logical new Redis labs has grown and I'm not going to discuss this
history of the company but it's grown and proved itself to be the Redis expert company we
were working on Redis and with Redis all the time and Savitore recognized this and joined forces
with us and basically from 2015 Savitore is working at Redis labs and we're working together on
making Redis and I will dare say in the more in the most effective way since the beginning
because at the beginning it was a lot of hacking it was a lot of innovation uh but as the product
metures and as the features got added and implemented right now it's more about maturity and robustness
and making completions and fine tuning optimizations and uh still making sure that it's the fastest
database out there yeah it's uh it's great great introduction to Redis say tomorrow
I was at EMC back in the day when I think uh Savitore joined and we were all wondering it's kind of
fear what what was going actually he was he was he was VMware sponsored in right and I was at EMC
arm but obviously yeah but they both joined and yeah yeah and we were all wondering it's
like what is what what are we going to do with this finish yeah so so another question on on
your great introduction is really how did you become involved with Redis itself right this was that
purely career choice or or a love for what you saw self tour of doing because I think in your
introduction you mentioned you have a very much a sequel like background that obviously Redis is a
a no sequel database so what was was that a conscious choice or a career move how would you describe
that scenario so I've always wanted to be a mermaid well you're unique well now I'm in your
new career yeah no I wanted to be actually I wanted to be a doctor a physician not just like
a doctor doctor but the national physician maybe a uh well never mind my uh
fetishes anyway um some sort of like people caretaker uh in the the medical sense greatly inspired by
my uh raid by my friend father who was a pediatrician that said I'll never amounted to anything so
I wasn't accepted to any medical school and I picked computing as like a side career just
because I was good at it and it was sort of an hobby right and here I find myself doing that
still doing that as a career uh Redis itself was well it was life for me just rolling between
uh I was between jobs when I met that if that the founder of Redis or actually I met it I met him in
my previous uh role in my previous company which uh from which I actually knew a little about Redis
I'll explain uh my the previous company I used to work for was called zero round that's with an
X so X E and the word round um I also spent a considerable time there and what we did there was
basically trying to build a company the core technology that the company developed was please
I'm gonna unveil a very new concept was an in-memory no sequel although we did
no sequel because the word did not exist uh so in in-memory uh no sequel database it wasn't open
source it was distributed uh had cluster it had it was it wasn't Redis but the core premise was
very Redis-like and there was no Redis for us to copy when you started at around two or three
or don't remember when um so actually from my previous company I knew a little about Redis
I was actually we were actually considering whether we want to ditch our core technology and start
adopting something that's more standard and I met with uh if the here in the local Israeli pond
just and I remember it was some kind of conference we exchanged contact details later on
zero round uh started like pivoting again without going into the details I left them
and joined the fdach and over with uh a thread is labs at that time they were called
tarantia data uh being one of the first employees and the only employees that were there
besides the two founders were almost exclusively developers very technical it besides the
one QA guy along um I had a lot of gaps to feel there uh I felt like there are a lot of gaps or
a lot of challenges that uh I can step up to my formal role
I had like four formal roles I'm doing customer support doing the blog and website I think
like the bucket of alls but what drew me giving my passions and past experiences
even in open source in which I dabbed before specifically in slackwear minutes um
my passion drew me to actually dig in deeper and see what's happening it helped me with my
formal
responsibilities in the sense that getting to know the project was beneficial to the company
and myself we've been supporting customers of course but I also really enjoyed
making sense not not only of the technology uh the best way to learn whether like if a user
asks me whether I'm sitting as a support engineer or uh talking about redness and someone
asks me a question about redness to which I don't have an answer the best way is for me is to
actually go and read the code and this is what I did now reading the code because the code is available
and because the code is open source leads you to the next um logical step which is to submit
a pull request because you found a typo in one of the comments that's basically the first thing
you do as you step into the community you make it PR because you find the typo which is by the way
very nagging to maintainers I guess but you don't know that at that point after like seeing that
the code is actually out there and that I can do whatever I want with it I started looking more
into the who are the people there I learned about the creator of Salvador and I learned about the
other community members from the different communication channels that the project offered mainly
the GitHub the mailing list the NIRC channel and Twitter um I miss I think I'm not the most outgoing
person perhaps in real life I don't know but online I allow myself much more and it's easier to
connect online so I made it point knowing the people who I so visiting there getting to know them
trying to help them or reaching out to them for help whether for me or one of the people I
who approached me and it felt very natural to become a part of the community just because
there was kind of a void there a void for I'd call it a community not manager because I wouldn't
find the last thing I'd call a manager but someone or people who make the community
take a long in Reddice's case it was even more prominent this void or lack of person because
Salvador was a very unpredictable in what it did and how we communicated with people some people
he would engage in discussions others or even the same we just leave dry and hanging with the
stuff so there was a lot of place where people who wanted to get involved to dive deeper take
responsibility and ownership not just wait for someone to tell you to do something just like
trying to be helpful see where you can make the biggest impact and I think I was one of them
over the years I established that but all in all it's it's a growing it's it's sort of a
growing experience in a sense that there is no recipe you just have to play it by the year and see
where your fortas are if you can do everything if you're a super developer and if you know everything
and if you can write good documentation or blog posts or tutorials and whatever then
you can do anything but if you're not an uber person and even if you know just one good thing
or you know to do just one thing maybe it's design a logo maybe it's developing a webpage or
whatever these kinds of skills are also crucial in every community and the challenge I think in
every open source project is attracting community members who can contribute in a substantial way
not just big styples yeah sorry go ahead um yeah I'm leaving it myself if you have questions
feel free no but obviously yeah that has been more than insightful especially about the origin
of redis and redis labs for that matter get them are just quick question fully disclosure I do
work for redis labs so that Martin before I decided to defect but that's a different story anyway
yes I shortly after I joined redis labs I just for fun basically I did a kind of quick poll on
GitHub to see how many projects do require redis as one of the dependencies and I was really amazed
and that was about 2018 give or take a few months I was really surprised basically how popular
redis at that stage already was redis was then used in virus scanner's mail systems
primarily as a as a as a key value so in terms of a simple cat not not just not a simple cat
but just a cat but redis has much more to offer I'm just thinking kind of along the lines of
modules and stuff what is your opinion on on the kind of the this first use case that apparently
many people stood use redis for and then you bits and pieces ever to come us like modules like
streams that have entered the code base over the years so I'll start with a little confession
when I joined redis labs and my first task was actually understand redis not dive into the code
just know how to do a get set or what do people use it for it right or how do you use it
I was very very frustrated it took me a long long time to actually get what redis is about
and I totally blame my sequely-ish background I was so like bias toward traditional views
and given my experience that it took me a long time to dump it up and come with up with redis and
once I did it it made perfect sense I think the simplicity that like redis besides always
advantages technical advantages I think the fact that it's so simple both to get up and running
like with the defaults and this is something that we're very very proud of and try to maintain the
fact that you can just get it and start running it and it gets up in less than a second and
regardless the size and it just starts working out of the box is amazing and on that the
simplicity is a design principle in redis so it's not just the first out of the box experience it's
also the kind of interaction that it offers and the visibility into what you're doing that is
kind of unique I think this gives it a lot of love from developers who appreciate this simplicity
this transparency both in the fact that the open source is open and they can look at it they're not
afraid of putting it as a dependency and just knowing that it works of course the fact that
its history speaks for itself redis is history its stability and performance is also a very good
comforting piece of knowledge for developers granted redis is mostly known as a cache
that's partly because it was sort of a and I said a man-cache replacement I'm not sure it's a
total replacement for man-cache the opinions are usually if you're looking for simple caching
just caching be the blob or something take man-cache but if you want anything more just you can
use redis like you don't have to use redis for that but if you want more you can use redis or
need to use redis so I don't have numbers I'd say a lot of redis these deployments nowadays are
just stupid caches even they just do get and set the values but once you cut this or once you
take this use case and put it aside there are a lot of interesting use cases and you did this
search I did my searches like there's I can look for the link but there's this kind of website
that lists all message brokers queue managers and stuff like that all technologies
and besides appearing them as redis redis because it can do pub sub it can do lists it can do
for queues and now it can do streams redis is also there because I think half of the tools use
redis in order to increment their logic like all sorts of things like celery and side cake
for different languages like queue managers so it's not surprising to see redis so widely used
because it really offers and it always has and hopefully always will continue to offer the
basic building blocks or the basic data structures if you will to build applications not just any
old application but basically distributed scalable high performance applications that's redis
is a mandatory infrastructure for this type of application I'd say fact that it's very generic
and gives you these like there's this analogy of Lego blocks or building blocks that we use
sometimes gives you the building blocks to increment easily distributed logic that's now let's
talk about modules modules is a big thing it's a big thing because there are so much to it we
redis labs and personally I or myself or me I don't know one of us were the proponents or
instigators for modules in redis we really when Salvatore joined us one of the first things we did
was to sit down with it we actually brought him to the to the home office in Tel Aviv where all
of us developers were sitting and one of the biggest things we talked about was modules which
isn't like a new idea it's if you look at modules in redis you can see that in the first version
of redis where Salvatore sent the email about announcing the the thing version one at the bottom
he said and in the future I would like to see modules in it and all sorts of things so like
five or six years later it actually came to fruition the thing about modules that one needs to
understand is why modules are needed there is this lovely project which I think I've mentioned
it's called redis it's an open source project used to be led only by Salvatore by the way there
was a transition in the governance of the project you may want to touch upon later but basically
Salvatore was the dictator or the benevolent dictator there and if I had a contribution to redis
that isn't a type of fix and isn't a bug fix even but maybe a new feature or a sub feature
that I thought people would really need and I definitely needed for my application I had I think
three choices I could go to redis says repository and make a pull request and the likelihood of that
being accepted was almost zero because there are a lot of pull requests not all of them get
reviewed or got reviewed and not all of them get accepted so I could perhaps try and code it using
lua in redis or in my client which is a sucky solution sometimes and the last option I had to
have my little feature in redis is to actually fork redis and start maintaining my own fork
back porting every with every release porting my feature to it and so forth all all options were
very bad now when you discuss a small feature like a new command or not even a new command but a
variant on a command that filters something or does something better or adds something you could
argue that you could still do it in lua or in the client when it comes to much bigger things
it's very hard to do it client side and with lua for example not that there's a module for that
but they can give an example in redis I don't remember diversion certain memories failing
but then one version of redis subator introduced what's called as geospatial indices
which is basically a way to store geohashes in redis and query them
I wanted to explore the idea of using geohashes for other stuff not just the bunch of
functionality that redis offer and tried to create a sort of a lua library that extends redis
with more commands like maybe a polygon search which is a very complex example but other examples
are simpler the problem with that was that it was it was very hard to develop but apart from that
end use but apart from that it wasn't performed so here you have redis and in memory
keycasts glazing fast database and anything you want to add to it becomes sloping at a slow
a very slow experience which is bad so we wanted or I think this is this was a request from the
community largely represented by redis labs but also from other people to have a way to
extend redis still maintain the same benefits stability and performance without having to
clone redis and there were a few technical hurdles to go over the biggest hurdle from Salvador's
perspective was there were two hurdles actually one which we have installed is stability basically
and module is user land code so anything goes we can't assure both you have redis when someone
is using a module so you have to use modules for well-known source not just any old module the
other problem was and which Salvador is sold quite brilliantly was he wanted to have a compatibility
between different versions of modules and different versions of redis so if I have a module
that was developed for redis 5 and now there's redis 6 I can upgrade my redis 6 and the module
not only continue running but I would I could basically use the same binary so I'm talking about
binary compatibility as well but once that got like designed and so we got the first version of modules
API and started working with it I was one of the beta tasters and like I could tell the few modules
in my time so it was a really great experience it was like a rush of joy somely the skyward
element you could add anything to mod with the module to redis I think three or four years later
when you look at it today I see what happened with modules I think modules are on all a good approach
redis labs we in redis labs identified a few interesting
directions but we want to take redis 2 that is take redis in a sense redis is an engine
redis is a server it gives us a lot of infrastructures in terms of scaling persistence
iability we even have clients in every perceivable language and we're exploring the possibilities
of leveraging all that plus the performance in other data processing segments so we have
research or doing that search and indexing we have redis graph or graph databases which by the
way uses a very nice slightly new technology of sparse matrixes and I don't remember all the
technical details but it's faster and we're also doing the same with AI now and time series
basically trying to marry the redis benefits with the best of read approaches to tackling
problems in data processing nowadays so all in all I think modules are a great great approach
I don't see modules becoming these modules anyway becoming a part of redis itself
it doesn't make sense redis itself the core needs to be the core generic it may include modules
in the future the core but modules that are generic enough and I hope to see more modules coming
the real problem of the module development is that the barrier is a little high to enter there
interesting perspective i don't know especially the the the the the reason development there
you just touched on a very important subject over the summer there was a lot of news as in headlines
with the change of the governance in the project because a saboteur step down
maybe you want to kind of elaborate a little bit on this one and especially kind of the new
governance structure in contrast to saboteur being essentially the owner the benevolent
benevolent dictator for life and now the kind of team approach that is the case not only
so it wasn't a real surprise for anyone who was monitoring the project or following even
saboteur and like I remember from a long time ago that he said I want to do redis or ten years
or something like that like when you talked about projects you thought there he said there are
little projects which I go through which I finish after a week or a month but redis is the kind of
project I want to spend a lot of time with like in a ten years time frame and he certainly did that
but the project and I think I touched it has gone through several stages it was created it got
popular over time more people joined more users requests and eventually I wouldn't say
plateaued but it came to a point where a lot of work is needed in just maintaining it and improving
the existing besides creating new features which is what under isn't I think every developer
in the world really likes we all like to develop new shit we don't like to maintain it
at least that's my view as a semi-developer so I think at the end of the day and after such a long
time saboteur just needed to breathe he wanted the project to continue he just wasn't able to
both maintain it develop it and do everything around it and we were preparing for that
after he joined the company our developers some of our developers got to work with him more closely
and get more insight into his code base and the ways thinking and designing and it's only natural
that when he decided it was time to step back and he's still with redis labs and he's still involved
and all that but he's not doing day-to-day coding or answering GitHub issues
he basically appointed two of the top brilliant people in the world and serve me in redis labs
to take over the project in the sense of leaving it now the fact that he gave it to two people
that is you'll see go Cleveland the Oranagra to amazing developers basically changed the rules
of the game it's no longer just one with all the pressure of being the sole dictator there are
benefits to being a dictator like you say something and whether you're right or wrong this is what
happens but the minute it got split between two it was it's not it's either one or more it's not two
and it's it's a good approach because the project is currently at the scope where it's I think it's
big enough to to fit into a couple of people's brains we need experts in different domains we need
there there's a lot of interaction there's a lot of tasks so it's more than just one person
and it's still just open source right we're not it's not but we're actually monetizing off it
it's basically put out there and we'll be continued to put out there for the good of everyone I hope
to use and grab freely we're not changing the license despite whatever you've heard it's always
going to be free BSD3 so basically once we've changed the governance from a single
person to multiple the next logical step was to expand this and leverage on the existing community
that we know Redis has so the governance that we shape is now made out of the governing body to
which we've invited to notable and contributors to Redis one of them is from Amazon Web Services
Madeline Olson and the other is Zhao Zhao from Alibaba both of them have been
loitering and bugging us and talking with us in the repository making good code contributions good
reviews good points and really understand their Redis they know their Redis so these guys sorry
girl and guy are also part of the governance I also got invited by the way not as a developer
and like the non-technical member and right now we have this body of five people who share the load
maintaining and taking care of the Redis project it may seem like a huge jump jump from one person
in charge of the project to five but in reality it's it's a big challenge because Salvatore
wrote the entire thing almost or 90% or 95% of the thing so we was aware of what it did more like
revealing what happened or studying areas in the code base that we don't really know
he had the entire code base basically in his head whereas we have to go back and study it
but there's also a lot of backlog if you will in the project things that we feel have been neglected
and we'd like to clean the table we want to be one of the goals of our governing body
is to be more open and more accepting not in the sense that he wasn't but we want to encourage
people to contribute to Redis we don't see ourselves as the sole developers of Redis
quite on the contrary thank everyone in the governing board would like just to be at the position
where they can do code reviews or even not that have people who do code reviews and just like
navigate the idea of the core governing body is to set the direction and see how Redis
should go it's not necessarily implemented and we think that the only way to scale the development
of Redis and the open source project of course is have more able developers join the efforts
any kind of developer in any aspect whether it's the docs whether it's the tooling whether it's
testing whether it's you name it we can't cover everything we know each one of us is just one
person and we are only five at best and none of us is maintaining Redis open source as his day job
all of us have other jobs right so we definitely want to encourage more participation
and this is I think the biggest challenge for Redis now how do we find a track nourish
help people who want to help and are interested in contributing to the project we started that
basically we've established a milestone in the Redis repository it's called the 6.2 milestone
we want to release the next version of Redis 6.2 by the end of this year or early in the
beginning of next year we see that version is a version that's less about new features
but and more about like we call it gap completion or API completion or just making sure that a
lot of often requested things that were you that were requested in the past get into 6.2 so new
commands we need to we don't want to break we use some antical versioning now so we can't just
roll out patch with new commands we need a minor version at least so we are planning to release
the next minor version that is 6.2 which will include a bunch of new commands basically as much
as we can show there that we can if we get the time to implement them plus a few optimizations
and stuff that are too risky to do in the patch but the milestone as is I hope most of the things
will get into Redis 6.2 but it's depending on assistance from the community even if all of us
could work with it I'm not sure we'll get the bottom of the pile of features and stuff we need to
do there so this is the next test or the next challenge for us I think as a governing buddy of Redis
see how we can make the development projects development stickier and more compelling to people
to just join and start helping pick a feature or pick an issue and start coding with our guidance of
course but we want people to be independent and then we're looking for help. Okay on the census
it sounds like self-taughted the bulk of the work in the past and since the transition how have
you seen I guess new contributors is taking on that as you are kind of looking for to contribute
to Redis have you seen I would you describe how it takes so far I understand you're looking for more
all in all I think we're doing really well or maybe you need to edit that out because I don't want
people to think we're doing too well it's it's a gradual process all right it takes time to
bootstrap that it takes time to get into the rhythm it takes time to get the message out it's not
an instant powder that you can mix in a cup of water and just drink it that said I think it's
going great both because the core team is really stepping out up up for it Oran is doing an
amazing job is super responsive and that's I think one of the critical things you have to have
you need to be responsive so he's covering the repo from one side to the other he's responding
to new issues he's also going through older issues and giving them love and care we're also doing
that but he's doing it very very is very focused on that now and I see the return on the investment
immediately because even people who almost lost hope because their PR is collecting dust and
dropping for years just having someone go there to their PR given that maybe give a few pointers
and showing the willingness does a lot of good that said we also started a new team or I don't
know how to call it but another team called Redis contributors not just the core developers with
Redis contributors these are developers who we think are promising and are interested so they have
more privileges in the repo they can do triage or issues we sometimes ask them to do specific tasks
if we have or they can pick specific tasks so we have two two guys to to developers in the
repo in this group now and they're helping us a lot so again these are all exponential like how do
you measure a growth from zero to one or from zero to two or one to five these are like
scales but it's still baby steps and we're doing it very very we're taking it slow on purpose we
don't just want to open everything and start everything we want to see how it works and make sure
that we can support that that said we want to continue we need to increase the volume and the
velocity because at the end it's a win-win situation the more people who contribute the more everyone
benefits that has been more than interesting or some are given the fact that we are almost kind
of on top of the hour and I think the final question from me where do you see the future of
the project going forward now with a new governance structure in place and the road ahead it's a
great question so yeah we actually did some preliminary work to identify explore brainstorm on
where could we go next the good news is there are a lot of directions we could go there are
without naming them features and capabilities that we heard we think people will enjoy using
in redis whether they are based on streams one of the tasks for example one of the things I'd
like to see in the future is what we dubbed as streams version two streams is a great data structure
by the way introduced like a couple of years ago we already see people using it but we feel that
it could be even more awesome so streams version two which will offer some convenience tools sure but
also a better way to consume streams especially in large deployments that's one way one direction
I'd like to see redis going basically some of the streams need some I think love and care to make
it to take it to the next level but there are also like totally or the conical features which are
not necessarily streams related whether it's a new data structure that could be added to redis
stuff like one of the most requested features in redis is the ability to expire elements inside a
hatch or any nested data type for that matter so we're examining that or seeing if we can give
something that will solve this problem and others maybe perhaps even add there I say it
a schema to redis which is as old no SQL databases are a schema list database so maybe we need a
schema in redis oh yeah hopefully and that's just like the least tricky there are lots of talks
there are lots of ideas itch with its o-marits its own challenges but uh and we're still evaluating
that right we're trying to listen to everyone both redis slots customers AWS customers
alibaba customers we now have like a very broad view of redis users in that sense but it basically
we have a lot of ideas and I could go on and on listing them and getting wild I can even say
distributed turns actions but all of these ideas whether good or bad are definitely major
tasks and which brings me back to my previous points I don't think anything substantial is going
to happen without a the governing buddy make setting the direction that is establishing a road map
or a wish list of sorts leases what we want or and this is basically what we're doing with the
milestone and we're planning to make it even more visible and explain what we want and on the other
hand other people helping the project to do it because the fact that I say that I want feature
leaks does not mean that I can do it or that I have the time to do it and this is open source I
can say and so tomorrow I want it but until someone does it it won't happen so it all boils down to
the communities that aspect here yeah that's a good one I picked up on the
requirement to expire past ashes before that's not something that I've had anybody ask for
myself but yeah that's certainly a good one and I can't think there's maybe you can explain
to me like I know that the feature exists and I can guess why some people would want to make
this feature or want to have this feature especially given the thread is can expire keys but not
nested elements but I can't for the life of me I find very hard to find the right use case or
use cases for that that is expire certain fields in the hash why not expire the entire hatch yeah
exactly yeah I would agree with that that's a tricky one but if if there was a good use case
a compelling use case it would be much easier to push this forward but it's a tricky thing to
implement there are it's a trade-off right so you either paint performance inaccuracy or
memory or both but in order to make that sacrifice I need the good excuse and I just can find it
so this is kind of on our wish lists other things are granted much more urgent and important I guess
but still require significant effort yeah I know I'd like to like the fact that you're
expanding on stream as well that's that's one of my favorite data types definitely in
in minutes yeah but that's something on the list as well it is it's not that you have set your goals
as in for ready seven we want to achieve x-1 z test such it's more of a
so we currently put it on the sort of we call it the six oh six two and next year wish list
which is kind of leading to red is seven streams version two is on that list which is semi-public
and some will be very public for streams specifically it requires a big effort because
there are few missing commands if you will like people ask for a command that does this or that
and a few missing ideas but we feel that we need someone or some buddies need to take like
a few minutes to sit and see the entire picture not just go and sporadically add a command that
will be out of sync with the entire effort like so in that sense it's a bigger effort than just
like adding a simple command to I don't know to a h get set for example and yeah I think one of
the things we're missing is our users our community both in help but also in inputs I'd love
to have like people who are using streams feel very comfortable to come somewhere to the developers
because before that everyone knew Redis or was interested in Redis's development knew Subator was
so they'd grab him on Twitter or maybe meet him in a conference when in a we remember when
times we had conferences right yeah now we go but yeah so nowadays we don't have Subator to
collect the feedbacks we don't have conferences at least now and even if we had I don't see us
going to conferences like the developers are more interested in developing not going to conferences
so I think one another thing is collecting feedbacks not just from the repository for people
opening an issue just like how do you use it what else do you want from it what would make your life
easier certainly but maybe listen to this podcast will help people to come forward okay this
brings us pretty much to the end of the of this episode in itamar that has been more than
interesting especially the historic bits the future bits so to speak and it has put it certainly
for me a different perspective on one of the most popular no-cycle projects I suppose
any parting thoughts itamar before we round this off I just want to wish everyone
here Martin Chris and our listeners leave long and prosper indeed
excellent and would that work itamar we would like to see you should see my hand
we don't have video itamar thank you very much for for for for all of your insights and for
for for great show Martin yeah my song very very good stuff to you one of my favorites okay
this is pleasure and looking forward to having you on the show once again in the future
okay that was a very interesting interview Martin don't you think
it was it was he certainly could speak to me but then you you'll find that you'll find in talking
at many British conferences as well that's true but wait full disclosure we both used to work with
itamar at Redis Labs before Martin did you leave yeah no no no Martin decided to defect to
another company this year and he's now looking after some GPU database swindle or some
letters I don't know anyway funny funny funny enough of course Redis Labs is also the company
where Martin and myself met you could actually push it that far and say that actually Redis Labs
is unknown to many the breeding ground for something called little cell laws well that is
labs plus a certain amount of beer but yes in a Prague establishment that show that show go
unnamed for the time being good plan okay on to the on to the boxes Martin what do you have
this week boxes poor I have had zero time I have some anti-poxies which is well I have one
anti-poxies windows let's yeah let's get into this during the next episode which is about two hours
long the lowest of windows and others if you want something like windows this is great a
Linux container and you'll have a lot of time yeah you could also of course use double something
called w's wsl 2.0 if you want to guess is it not okay great maybe maybe the topic for another
episode my box of the week is a book called on the boat it's a setter whatever you want to call
the parody of the original Jack Kurek Kerouk sorry Kerouk book on the road and it's just
absolutely recommendable in terms of where Kerouk originally is way too serious this book
written by let me double check Mike Lecher yes Mike Lecher you of course you'll find the link
in the show notes basically seriously takes the piss at on the road essentially the original
story set in modern times not some not not not a gang of people coming back from the war but rather
on the roads between university gigs if you're in fall-ass if you're into a good parody don't miss
this book that's the box of the weeks of the week we get we get and now onto your onto your
entire box which is of course windows but we already talked about this yes do you want so
that's a law I think it has it has been said enough about windows
don't try and run any
anything on there that's not not originated from windows yeah just out of curiosity I've tried
WSI before but that was still with version one version 2.0 hasn't improved because what
that apparently did is they put a full one kernel into windows rather than this emulation there
well if you're going to run windows and you go and you need even to or and I any other
Linux distro just do the old boot so what is the point of this WSL I've tried it a bit and it's just
with messy clunky and okay my entire box would do I have an inner box this week
all right it's it's still well actually last week was Biden sorry last episode I make it make
let's make it trump this this episode because he's still hanging on we're recording this
uh epilope sorry this yeah this epilogue on what is it now the seven
nineteen the nine teams uh thank you Martin so trump is still hanging on or clinging on to what
probably is last hope at this very point in time I suppose trump if you listen to this get a
get out of the white house that would be my recommendation yeah and with that oh yeah of course we
have to tease Martin we have to tease the next episode that is the famous christmas slash new
yet episode which is funny enough season one episode twenty will be a christmas slash new year
special did um where we will talk about things past things present and things future
so if you're interested in few in the future for those few listeners who are please make sure to
check this out and make sure that you have eight hours better uh with this that's short I thought
we were talking more like twenty hours or something maybe we can split this up into like with
with the b size yes and main episode and then of course the extended read one going for more like a
day or two okay add of course another teaser there will be a special episode of the dark side
as in tech support say no more because we're still working on the details somewhat so stay tuned
and see if you're talking Christmas by the chance yes say again
as a feature for all the christmas but uh well i cannot reveal too much so just stay tuned
this episode is targeted for 31st of December it will be of course on hpr like all our shows are
apart from the b-sides so stay tuned and looking forward to another christmas no not another
christmas special looking forward to this special christmas episode and of course you with your
listeners see you then and there this is the linux in laws you come for the knowledge
but stay for the madness thank you for listening this podcast is licensed under the latest version
of the creative commons license type attribution share like credits for the intro music go to blue
for the songs of the market to twin flames for their piece called the flow used for the second
intros and finally to select your ground for the songs we just use by the dark side you find these
and other details licensed under cc hmando a website dedicated to liberate the music industry
from choking copyright legislation and other crap concepts
you've been listening to hecka public radio at hecka public radio dot org
we are a community podcast network that releases shows every weekday Monday through Friday
today's show like all our shows was contributed by an hpr listener like yourself
if you ever thought of recording a podcast then click on our contributing to find out how easy
it really is hecka public radio was founded by the digital dog pound and the infonomicum
computer club and it's part of the binary revolution at binwreff.com if you have comments on
today's show please email the host directly leave a comment on the website or record a follow-up
episode yourself unless otherwise status today's show is released on the creative commons
attribution share a light 3.0 license