650 lines
53 KiB
Plaintext
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
|