The Changelog: Software Development, Open Source - Antirez returns to Redis! (Interview)
Episode Date: March 7, 2025Antirez has returned to Redis! Yes, Salvatore Sanfilippo (aka Antirez), the creator of Redis has returned to Redis and he joined us to share the backstory on Redis, what's going on with the tech and t...he company, the possible (likely) move back to open source via the AGPL license, the new possibilities of AI and vector embeddings in Redis, and some good 'ol LLM inference discussions.
Transcript
Discussion (0)
What's up, friends?
Welcome back.
This is the change log.
We feature the hackers, the leaders and those building Redis.
Yes, Salvatore Sanfilippo is joining the show today.
The maker of Redis.
So cool.
Salvatore shares the backstory on Redis, how it came to be, how he left, how it was open
source, how it was not open source, how it came back,
and honestly, how it might be open source once again. We'll see. And yes, we could not leave
artificial intelligence AI out of this conversation. Vector embeddings, fun things happening in Redis,
and AI is obviously a part of the story. A massive thank you to our friends and our partners over at fly.io.
That's the home of changelog.com.
Fly is the public cloud built for developers who ship that you, that's me,
that's us developers shipping software.
So amazing.
Go to fly.io deploy your app in in five minutes. Again, fly.io.
Okay, let's talk Redis.
Well friends, I'm here with Scott Deaton, CEO of Augment Code.
Augment is the first AI coding assistant
that is built for professional software engineers
and large code bases.
That means context aware, not novice,
but senior level engineering abilities.
Scott Flex, for me, who are you working with?
Who's getting real value from using Augment Code?
So we've had the opportunity to go into hundreds
of customers over the course of the past year
and show them how much more AI could do for them.
Companies like Lemonade, companies like Kodem,
companies like Lineage and Webflow,
all of these companies have complex code bases.
If I take Kodem, for example,
they help their customers
modernize their e-commerce infrastructure.
They're showing up and having to digest code
they've never seen before in order to go through
and make these essential changes to it.
We cut their migration time in half
because they're able to much more rapidly ramp,
find the areas of the code base,
the customer code base that they need to perfect
and update in order to take advantage of their new features
and that work gets done dramatically more quickly
and predictably as a result.
Okay, that sounds like not novice, right?
Sounds like senior level engineering abilities,
sounds like serious coding ability required
from this type of AI to be that effective.
100%.
You know, these large code bases,
when you've got tens of millions of lines in a code base,
you're not gonna pass that along as context to a model,
right, that is, would be so horrifically inefficient.
Being able to mine the correct subsets of that code base
in order to deliver AI insight
to help tackle the problems at hand.
How much better can we make software?
How much wealth can we release
and productivity can we improve
if we can deliver on the promise
of all these feature gaps and tech debt.
AIs love to add code into existing software.
You know, our dream is an AI that wants to delete code, make the software more reliable rather than bigger.
I think we can improve software quality, liberate ourselves from tech debt and security gaps
and software being hacked and software being fragile and brittle.
But there's a huge opportunity
to make software dramatically better.
But it's gonna take an AI that understands your software,
not one that's a novice.
Well, friends, Augment taps into your team's
collective knowledge, your code base,
your documentation, dependencies, the full context.
You don't have to prompt it with context, it just knows.
Ask it the unknown unknowns and be surprised.
It is the most context aware developer that you can even tap into today so you won't
just write code faster, you'll build smarter.
It is truly an ask me anything for your code.
It's your deep thinking buddy.
It is your stay in flow antidote. And the first step is to go to augmentcode.com.
That's A-U-G-M-E-N-T-C-O-D-E.com.
Create your account today.
Start your free 30 day trial.
No credit card required.
Once again, augmentcode.com. Today we are catching up with Salvatore Sanfilippo.
You may know him as Anti-Rez.
You may also know him as the creator of Redis.
I say catching up because you have not been on the show
since 2011.
Gosh.
That's a long time.
Welcome back.
Thank you.
Thanks for inviting me.
Let's say forever go, Jared.
It's the beginning almost.
Different times.
Those are different times for sure.
Different times for sure.
Not mainstream tech, underground tech, as you said.
We were younger.
We were all much younger, yeah.
Like 13 years younger.
Yeah, it was a different environment
with there was still the spirit, you know,
even maybe IRC newsgroups were starting to fade.
There was still this spirit of like community,
what you made, it's cool, let's collaborate about that. It was
a lot of underground thing. And, you know, I believe that on the
average, programmers are very nice to each other are very
good at communicating with with each other. And in general, I believe it was a very nice environment.
And in some way, I miss that,
but maybe it's just that I am old.
So.
Rose colored glasses, we all put them on from time to time
and look back at the old days.
Well, we're still talking redness though.
I mean, 15 years later and we're still talking redness though. I mean, 15 years later, and we're still talking Redis.
Had it been a few years back with you on the show,
we probably would not have been talking about Redis so much.
That's part of the story.
But can you go back to the beginning for us
and why you built Redis in the first place?
First of all, thank you so much
for building that piece of software.
It's been so influential.
I've used it for many years, you know,
dozens, hundreds, thousands, hundreds of thousands of people have also
deployed it and, you know, helped improve their lives.
So thank you for creating it, but can you go back to us?
Go back to the beginning and tell us why and how and when,
where.
Actually, thank you for using it because if you think
at Redis, even if it compiles certain ideas in new ways,
they are all the ideas.
So I believe that software is mainly a platform
for people to communicate concepts.
And without a community, Redis was so resilient,
it lasted so much time,
because the community created a
mental framework about fixing problems with such tools that are
inside Redis. So basically the community is Redis in some way.
And the way it started was because my first days as a
programmer were all about security. I worked in security for a couple of years.
Then what happened in security is what is happening right now
to software.
It started to be cool.
It started to be business, a lot of business.
And security was no longer research.
It was a product.
And I grown immediately tired of this industry.
So I started to write embedded systems.
And then I started to get a bigger project because I wasn't in a very bad situation in my life.
I had struggles with my relationships. I had a son that was like
three years ago and I was, I could say depressed, but I am, it's impossible for me to get depressed
physiologically because the kind of attitude I have in general, but I was low in my life
and I needed a project to focus my energies.
So the first weeks I just watched the Star Trek Voyager,
No Stop and South Park.
And then I started to work to an interpreter
for the T-Core programming language for embedded systems. And much of this code was the foundation to make Redis one year later.
So basically, with this interpreter, which was not just a toy interpreter,
was compatible with all the TECOL programming language set,
extended it in many ways.
It added continuations and other stuff
and was in some way, in some things, even faster and so forth.
Finally, it clicked something in my mind
about how to design bigger systems.
But then I forgot about this.
And since I had no money, I remember that in this period in my life, I
often look at the under the in my car to see if maybe one two
euros was around. And then I asked even for money to the
girlfriend I had at the time. So I said, Okay, that's not
possible. I need to do to do something.
And so a friend of mine from Lycata went and said, do you want to collaborate? Let's do
something together. And this was the start of Web 2.0 in the United States. But in Italy,
there was still what was Alta Vista, basically, in the US.
So these portals, static portals, no user generated content.
So we said, probably if we just copy what they are doing, we will have an edge.
And we created two services.
One was exactly like Delicious.
And another one was an improved dig, much more like Reddit now, basically.
So there was complex moderation.
There was a T-call program that did advanced filtering in order to avoid that friends voting themselves.
And this became popular in Italy.
And so Telecom Italia, which is the biggest ISP here in Italy and telephone company,
called us like they didn't know in any way us.
Called and said, why do you don't
join the Telecom Italia network and with your services?
Okay. So we get a contract.
I remember when we went in Milan, I was
dressed so badly that they didn't want to let me at the
hotel in because they are you sure that you have a
reservation in this hotel? I say call this number they
called okay, you can end them because we were underground
people in Palermo, we had like Linux systems with cables in of this number, they called, okay, you can end them. Because we were underground people.
In Palermo, we had like Linux systems
with cables in order to pay.
And we had illegal greens to connect
to the telephone, to internet.
We did this kind of thing.
So this was our mood.
And they were business people.
So there was a cultural gap in some way.
And so we ended the network. and from one day to the other, we had to
sustain the traffic of a lot of users, all the Italy connected,
and our systems were not ready. So the first thing that I did
was in PHP, the system was written in PHP,
to write a memoization function
that basically whatever you could call inside this function,
it was stored, the serialized, the return value
was stored, serialized into some kind of B3
that I created on the disk.
And this way we had some kind of cache in order to avoid
stressing my SQL too much. And this worked the first weeks. But then we created a new service
that was a real-time log analyzer. And the use case was not static caching. You know,
till this point, I didn't know even that memcached existed.
So I could not use it just because of lack of knowledge
of existence.
But I, even if I had memcached,
that was not enough for me because I needed a cache
with data structure where I could add items
and remove all the items.
So I took Tickle and wrote a prototype
and I tested it and it worked so well.
And I said, okay, that's good,
but it's not a scripting language thing.
I want an actual demon in the ground
with low memory footprint.
And especially I realized that I wanted fork
in order to persist on this with the other child.
Since I, in the past I had a background in security
and low level programming for cryptography.
I studied the very in depth, the Stevens books
or the system call of Unix,
the implementation of small Unix systems like Minix,
provided a few patches to the TCP-IP stack of Linux,
so I was very low level already.
I realized that with Fork,
this is an interesting story because Fork,
after 15 years,
still is the best way to do the reddest thing from the point
of view of persistence, this magical thing of copy and write of the kernel page. So this fundamental
idea back then survived till these days. And so I started to write this reddest thing and it took me two weeks to have the basic core in order to apply it in our
system. And since I had a long story of releasing open source software, HPing, device drivers
for the Canon cameras, web log analyzers, many projects that were in Debian
and in other Linux distributions.
I said, you know what, if I release Redis,
this will not impact in any way our business
because the other application was closed source.
So I released it on the Hacker News
because Hacker News was very new
when I released Redis in Hacker News because Hacker News was very, very new when I released Reddison in
Hacker News. There were like 10 upvotes. A few people commented, but basically nobody
cared at all. But Ezra Mobius.
Morbius.
Yeah.
Yeah. That unfortunately now is no longer with us. He was a very smart guy and
I want to take a minute in order to remember him because then when I went the first time
in San Francisco, he interviewed me and we did the talk and basically he realized the
engineer exactly because back then-
I just found this recently because I was, I was at his office. Exactly then I just found this recently because
I was I was in his office.
Exactly.
I found that recently.
He was doing the operations for GitHub.
So basically, as I said to the GitHub, you know, you have this delayed jobs thing, you
could use red.
He started to talk.
But for six months, one year, I continued to work to Redis just because I liked it.
And also there was the contract with Telecom Italia, so I received money in order to pay the bill.
So who cares about actual work, I want to do Redis and I did Redis.
And actually, as a kind of person, I am so erratic from the point of view of doing only what I want, that it's a miracle that I was able to work
at so many years to read this. And what the trick was to just
focus every time in a subsystem that in a given moment
interested me. So it's like if you have many projects,
basically. So thanks to this start of conversation and I continued and then I posted again the news.
And also one thing that I did was that every open source user that I had, I handled it as a customer. Like didn't matter if he or she is not paying me,
I offered basically premium customer service.
So people started to trust me.
And this trust that they had in me
started to migrate to Redis.
Because I believe you never trust just systems. You want to trust also
the people that are behind a given system. And everybody started to use Redis more and more.
But after like two years, it looked like it was inflating, like there was a very strong movement
about very consistent systems,
serializable systems, and I was very against it in the sense that
I thought that's great that you have systems that have very strong
forms of consistencies, but not all the kind of problems are made the same.
So I believe it's a good idea if we also have other kind of systems, because my motto was the system usefulness
is the sum of what happens when the system works without
failures. And when the system worked with failures, it's true
that during severe failures, if you make complex partitions,
redis may lose rights and so forth.
However, on the other side, because of this sacrifice,
you have things that otherwise are impossible to achieve
from the point of view of latency,
the kind of data structure you can support and so forth.
But many follow with this path. For example, I don't want to tell
names but they failed because they were so compelled. At the same time, for example,
MongoDB prospered with inferior initially. Now I believe they are very strong initially
technically infrastructure, because sometimes
people want things that work and not that work in the worst situation.
So basically the thing inflated to the point that one of the people that was contributing
with me back then brought me one night and said, save yourself and run away from red
is because it's a ship that is sinking.
You didn't listen. No, no, I said, okay, I understand.
He can listen, but he can, he can, maybe he can inflate,
but then I will find a new project. I it's, I, you know,
I will not die if this is no
longer used. But instead, after this stage, when especially in
the San Francisco area, to use red is was worse than saying I
vote for Trump or something like that. It was impossible to say
I use red is without people watching you very, or it was
very, very even worse that that's not having kitchen in
your house, because it was very big to have kitchen, you know,
and so people that I run away from this red is thing. But
then, for example, there were very important companies that in
the wave of this feeling was who switched away from Redis.
Then six months again,
they were back to Redis because they created a lot of issues
trying to serve with other services.
So I continued. At this point,
I said, okay, this thing didn't die in this moment,
so it's worth to, also know, to also, I was with the VMware at that
point, and they paid me a good amount of money. So I was no longer working for free. And then I
switched to Pivotal and then to Redis Labs. And it was a good setup. And basically this was the start of the story.
And then the story continued with incremental improvements
to different subsystems of Redis,
always trying to avoid making it too much complicated.
So we started off talking about how times have changed.
And you mentioned that when you first started it
or those first couple of years,
you treated every new user like a customer
and that's part of its success story.
Would you advise that today
for people who are starting open source projects
or do you think that was foolish
but it happened to work for you?
What are your thoughts on that strategy today?
I believe it is very important to don't fall in the trap
of saying this is an open source project.
I put it on GitHub and then you don't ask me anything
because you know, I already I'm providing this work for free.
But actually the involvement of the users
that try to use your system is not inferior
to your involvement.
They do things for work.
When they use your system, they are exposing themselves to you faking up in some way or
the other.
So it's a big gift that they are doing to you.
And I believe that minimum that you can do is to be as
helpful as possible.
As long as you maintain the project, then if you
don't want to maintain it anyway, you say, okay, I'm
done with this.
I'm doing some other stuff.
So absolutely.
I believe also the first users are not the users
that came, the mass users that you have in the next years.
They often are extremely bright persons
that will provide you very valuable ideas.
And there is so much value in that community,
in that initial community.
So I absolutely will do this again.
So you had a couple of jobs along the way.
You mentioned VMware.
There's one in between that and Redis Labs.
What was the one in between?
It was VMware, Pivotal and Redis Labs.
Okay, so Pivotal, right.
And so these organizations employed you full time
to work on Redis at your discretion
or was there strings attached?
And then how did you get all that going?
Cause back then that was pretty rare.
I think it happens now and again now,
but that was pretty rare.
So how did that work out and in practice?
Okay, I believe this is like one of the best sides
of capitalism.
I believe that inside the VMware, there
were two persons, very basically, that Derek Collison
was one and Mark Lukowski was another one that realized that
I did some good work. And they just did this for me without
return. I believe it was like a gift. I will be always, you
know, I thank you to them. I don't know if I ever say clearly thank you to these two
persons because they didn't reason back then in terms of
just what's better for our company,
but our company is big and this money don't change anything
and what's a good thing for the software landscape,
for the underground software landscape that we can do.
So sure, there was also a cloud strategy about VMware
and stuff like that, but I was free to do everything.
That's amazing.
And Pivotal was similar?
Initially, yes, but they were probably a bit less happy
about the setup.
And so, because Pivotal and Redis Labs had the same VC,
they talked and said,
if somebody has to pay this guy,
let's pay you that this Redis Labs
and not us that do something else.
And so I switched.
I see.
So the Redis Labs one is the confusing one
because Redis is your baby.
And this is a third party that named themselves Redis Labs
and hired you or did you start it?
And can you explain that, how that worked?
Basically, they started the company
and approached me immediately after starting the company
in Germany, we were in Germany,
that there was some kind of conference about,
no SQL conference of some kind.
And they asked if I wanted to join the effort earlier.
But I was in a too good situation,
basically taking money for free and working on my system.
So I said, it's okay for me if you do business
with this thing, the license allows it.
So, but eventually it was the most obvious thing
that they that were trying to make money with Redis
would also pay me.
So all three pretty good setups, some better than others.
Obviously the VMware one was the most,
I don't know, philanthropic or less capitalist.
They just decided to do that and let you do your thing,
which is awesome.
Eventually you grew tired of Redis.
I mean, you left, was it 2020 as lead maintainer?
Not of the system.
I was very happy of the work that I was doing.
However, till the very last day,
even if I had inside the inside the inside the red is the
company, there are many gifted people in the Tel Aviv side,
there are very strong programmers that are in the
company as long as I started since I started the red is they
never left. And they are have a very detailed understanding of the core of Redis.
So they helped me with the most complicated bugs and stuff like that.
However, many of the user-facing features were still developed 80% from myself.
And after 11 years of all these users, I, for example, remember that even when I took vacations,
vacations of any kind, I always had my bag with my computer and oftentimes I had to open it every
day because there was some issue that could be critical, some bug report from crash. And
from crash and since a lot of systems run on Redis, for me, the stability of Redis was the most important thing, absolutely the most important thing. So every bug was investigated
in detail with even weeks of efforts in order to replicate it, track the bug, to the point that after some time,
we realized that many of the bug reports were broken memory. So when Redis crash now performs
for 10 years or even more, a memory check of the system, it is running on in order to report
broken memory. And now it's of no use because most memories
are protected.
But back then, a lot of cheap memory created problems.
So basically it was a life completely dedicated
to this system.
And I said, I want to stop.
Also, when I saw GPT-2 and then GPT-3,
I said that this is going to change everything.
So I wanted to write a novel about this thing.
And I started to write while working, but I realized that the writing thing was full-time
stuff.
So I said I need to retire sometime in order to write this.
What's happening?
For example, in the novel, there is, I believe,
the first description to date of prompt engineering,
because it was written in the novel before Chats GPT,
and there was just GPT-3 without the instruction tuning
models.
But it was obvious that, you know,
we were getting, we were headed in this direction.
So I had the urge of doing this thing.
So I stepped back.
So along the way Redis went through some license changes
with various feedback from community members
and non-community members from open source to SSPL and AG.
There's lots of stuff we could talk about here.
How interesting is licensing to you, Salvatore?
Do you like this topic?
Do you dislike it?
I believe that we that formed ourself in the 90s,
we're extremely aware of the licensing stuff.
Now I see younger developers not really caring about this,
but we basically started to write code
and starting to be mini lawyers,
understanding all the subtle things about GPL, BSD, Meta.
So yes, I care about license,
because the way that you express your willing
about what others can do or cannot do with your code.
Also, I think that without the copy left idea,
the computer's technology could not accelerate
to the point that it accelerated.
Because when open source was created, basically in order to create a startup, you had to buy
complicated workstations, Unix licenses, database licenses.
So it was impossible to have the landscape that then it was created by the open source
movement.
So for me, licensing is very important. And initially, what I did with my software was
to use GPL. Then I started to realize that GPL had two problems. It created problems
to myself because sometimes I thought, and if this becomes big,
I want to have a business model and I don't want to get some paper signet by all the contributors
that I had so far. So I started to switch to BSD saying this is a protection for me.
Also it's a protection for other people based on the environment.
They use my software and sometimes it can be a problem, even if they don't want to
violate the license and stuff like that.
And when I started Redis, I was very into this BSD stage of my life. So I released the Redis as BSD also because there is also behind that an idea about
accelerating society, improving society to be more important than basically what is going to
happen to me in some way. However, then it must be said that
the Cloud situation changed the landscape.
Because even if it was very complicated to
create a product business model even before,
basically Red Hat was the only one that really
succeeded in this kind of game in the open source.
And a few more.
At still, if you wanted to sell services, you were the to go person as a creator of the software.
And then after AWS, everything changed because there was no longer need of somebody supporting you
because it was handled for you.
And also you could not even not selling it, not even compete with the others because in
order to compete in the cloud services, you have to pay for the instances
and they have them for free.
And it will end also, even the billing is complicated.
There are many companies that just because of billing
will just get what AWS has and stuff like that.
So I understood at some point that the BSD license
that I picked with the changing world of the software created the serious
issues to create business. Now we can go a step back and say, but why it should create business?
It's an open source software. And I believe that more or less every complicated open source software
has in one way or the other an economic system behind it. Because
it's a lot of hard work for many years, either people are paid very well or they will not
afford to do all this kind of work. So I believe that both things are needed to redistribute
to the community and also. And inside the Redis,
they didn't want to change the license. I didn't want for a long time.
And, but there was this discussion,
but it was some kind of taboo.
So it never happened as long as I was there,
that somebody asked me,
but what do you think we want to change the license?
It's a conversation that didn't happen.
I just created the module system and the company started to have
the modules that were enhancing the redis capabilities.
And that was it. Then when they changed the license,
I understood that it was basically some kind of a forced
move in some way because with BSD, it was too complicated to compete in this market.
However, now we are realizing, me and also inside the Redis, that SSPL was not accepted
by the community in some part. And we care about
this thing because, you know, I don't believe that SSPL is a terrible license because it
is very similar to other GNU licenses. It's just a couple of sentences. But the reality
is that culturally it's not accepted.
And so we are starting to discuss
inside the company about this problem.
And also one important thing is that because of that,
we are going to add in Redis a lot of the features
that are now only for the paying users.
For example, now I'm working a lot to vector sets,
which is the first fundamental data type that Redis gets after many, many years.
And it will be released in the Community Edition, like normal Redis.
And it's like everything I did in the past.
It's no dependencies, so it compiles because the data structure, like the HNSW data structure for vector similarity
I wrote from scratch, the quantization I wrote from scratch, the hybrid search.
So it's some code, it's like 6,000 lines of code in total, like the other Redis data structure.
You can open the code and understand how it works.
And it was impossible before to do that because,
but still maybe there are setups that make everybody happy,
enough protection and the community will be more happy.
So there is an ongoing discussion inside the community now.
I'm not sure what will happen,
but we are focused on the problem.
So you've probably heard that Elastic went there
and back again.
They are fully open source with Elastic Search
specifically once again.
And we had Shay Bannon on the show last year
talking about that decision.
And he says that he thinks nowadays in today's culture,
the AGPL license, which is accepted from the OSI
as an open source license,
gives entities enough of a foothold
or legal precedents are holding
that you can safely, in his opinion, use that
and not be too worried about the re-hosting scenario.
Now he detailed some of that in that show.
I don't know all of his reasoning
why he thinks that's the case,
but it's possible that,
because SSPL and AGPL are very similar, are they not?
Exactly, I believe so as well.
There was, I believe some,
I was not part of the company when this happened,
but I believe that this was a consideration.
But then,
you know, sometimes also the legal advice that you get, you know, I will say something a bit,
maybe unpopular, but I think that the legal offices in companies sometimes create the worst
possible setups for companies because the legal offices don't really try to, to usually balance the
risk, the legal risk with the company potential, but they are mostly going a ways to err on
the safe path in order to be right later. You know, if you are super conservative, you
never, never do any, any, any do anything wrong from your point of view.
However, you are paralyzing the company.
You know, many times when I had to do contracts, I skipped lawyers that were in the
between, we could not understand each other and say, okay, I will write the contract.
This is the contract.
If you want, you can fix the form.
And immediately the thing started to immediately to work the conversation. And that's, uh, I believe
that sometimes it can happen that choices are, but if you, if you read the GPL license
very, very well, you actually discovered, discovered that, um that also the form is not extremely clear.
You know, it's not very well written.
So I believe that it's very hard that somebody will autorize to use it in a
software as a service set up without any kind of a signet paper, but the folks
that have the copyright.
And this could be a good...
I think that they did a good thing, switching back.
It was, you know, basically in this kind of changing setup, you try.
And you believe that this is very similar to HPL, people will accept it.
Instead, you find cultural resistance, then
you step back. It makes sense. I can understand that. Well, friends, I'm here with a good friend of mine, David Shue, the founder and CEO of
Retool.
So David, I know so many developers who use Retool to solve problems, but I'm curious.
Help me to understand the specific user, the particular developer who is just loving Retool. Who's your ideal user?
Yeah, so for us, the ideal user of Retool is someone whose goal first and foremost is to
either deliver value to the business or to be effective. Where we candidly have a little bit
less success is with people that are extremely opinionated about their tools. If for example,
you're like, Hey, I need to go use WebAssembly.
And if I'm not using WebAssembly, I'm quitting my job.
You're probably not the best virtual user, honestly.
However, if you're like, hey, I see problems in the business and I want to have an impact
and I want to solve those problems, Retool is right up your alley.
And the reason for that is Retool allows you to have an impact so quickly.
You could go from an idea, you go from a meeting like, hey, you know,
this is an app that we need to literally having the app built at 30 minutes,
which is super, super impactful on the business.
So I think that's the kind of partnership or that's the kind of impact
that we'd like to see with our customers.
You know, from my perspective, my thought is that, well, Retool is well known.
Retool is somewhat even saturated.
I know a lot of people who know Retool, but you've said this before. What makes you think that Retool is well known, Retool is somewhat even saturated. I know a lot of people who know Retool,
but you've said this before.
What makes you think that Retool is not that well known?
Retool today is really quite well known
amongst a certain crowd.
Like I think if you had a poll like engineers
in San Francisco or engineers in Silicon Valley even,
I think it'd probably get like a 50, 60, 70% recognition
of Retool.
I think where you're less likely to have heard of Retool
is if you're a random developer at a random company
in a random location, like the Midwest, for example,
or like a developer in Argentina, for example,
you're probably less likely.
And the reason is, I think we have a lot
of really strong word of mouth
from a lot of Silicon Valley companies,
like the Brexas, Coinbase, Doordash, Stripes,
et cetera, of the world. There's a lot of chat, Airbnb is another customer, NVIDIA is another customer,
so there's a lot of chatter about Retool in the Valley. But I think outside of the Valley,
I think we're not as well done. And that's one goal of ours to go change that.
Well, friends, now you know what Retool is, you know who they are, you're aware that Retool exists.
And if you're trying to solve problems for your company,
you're in a meeting, as David mentioned, and someone mentions
something where a problem exists and you can easily go
and solve that problem in 30 minutes, an hour
or some margin of time that is basically a nominal amount of time.
And you go and use Retail to solve that problem.
That's amazing. Go to Retail.com and get started for free or book a demo.
It is too easy to use Retool and now you know, so go and try it once again.
Retool.com.
So you said that you guys are considering licensing updates, let's just say to paraphrase
it.
Is, uh, is AGPL back on the possible table?
Since the SSPL and the AGPL is so similar, do you think like to be culturally fit again,
let's just say that's a wise consideration.
There is, I believe, a part of the company
that wants to do some change in this direction.
However, there is to basically to find an agreement
about that, but I am personally, myself,
I am positive about doing this, which,
and I will keep the conversation going about about this
Yeah, I think be a
Win, I mean we started off with you know
Basically 15 years ago in your journey to create it and the process, you know how it prospered in the community
Obviously BSD license open source
thrived
Beloved to this day
and many mourned its license change
because it limited their ability to use it
as it was prior to be open source.
And I get it, you got the Goliath and the Bohemoths
and you got the challenges and license changes
are sometimes necessary to protect all of your work
and the company you built and the customers you've gained
that pay you, and then we kind of forget in a way
this open source land, this thriving free ecosystem
that's not just free in dollars but also free in freedoms.
I can feel that tension there obviously,
but I think it'd be super cool
if you guys went back to open source.
Could you imagine Jared? That'd be awesome. Redis open source again.
There you go. Yeah, to be honest, I will invest my time. I'm investing my time,
both in creating the cultural conditions inside the company, but I don't want to stop there.
company, but I don't want to stop there. Also with the vector sets, with coding act,
I want to, in some way, show the company also back
the reddest way from the point of view of simplicity.
Also one important thing about the vector set data,
the API compared to the other systems
that do vector similarity is the trust to the user
using them.
Instead of exposing a system that is an index,
we expose the data structure because Redis users
shown us in the past that they are very smart,
they are very capable and they know how to
use building blocks in order to shape them exactly for the kind of problem they want
to fix. So this kind of thing is also part of. So pressing about the license, pressing
about the different vibe about in the community. In general, this change, this is what I want to be
some way the flag of this new revolution
inside the Redis company.
And I see that I have many, many people
that are aligned with this vision.
For example, today I received the second pull request
from the CEO of Redis Labs that the hack the C code
in the vector sets in order to fix a bug.
So in this moment, Rowan, which is the new CEO,
is hacking to the code that I'm showing to my colleagues
and sending pull requests.
And since I see he's really a community person
that has this kind of basically background,
I believe that the company can be aligned
towards this vision.
Was this one of the reasons for your return
or did you find this once you got back
that like you wanted to make this cultural change inside?
Or did you see it as a reason to come back
to Redis and Redis Labs?
Honestly, I started to think that my comeback
could be useful from the point of view
of recovering what was created in so many years.
And I didn't want, you know, after I left the red is I didn't watch again
the comments, whatever zero because I said, okay, I, till my, during my term, I tried
to, to take the, the election strike, but then no, it's too simple to look at the comments
I had the comments and saying, you know, this is wrong. If other people are working to the system, you have to let them working.
But then, when I saw the community in some way, the conflict inside the community, I thought that
since I know a lot of people inside the company, and I was sure that many of the technical stuff,
for example, it's not what they want. Want it happening.
I say the main, maybe I can return and I can return also without feeling too much
stress.
If I, if I, from the point of the code, I focus on only a sub system each time.
And from the point of the other work, I do, I focus on the community.
That was the idea. Let's paint a picture because you keep saying the company.
And I imagine you got Salvatore here.
You enter as the person we've known since the beginning.
And then you say the company.
Can you quantify what that means?
The company, how many people who's involved?
Is there a lot of open source
lovers or purists there that really appreciated or loved the days when Redis was fully open
source?
Help us understand what you mean when you say the company.
Okay.
That's a very cool question because I believe that Redice is one of the worst communicated companies in the world.
Because it's much better in the inside
than it looks in the outside.
Basically we are 1,000.
1,000 people.
Yeah.
Holy moly, that's a lot of people.
Okay, the company's big.
That's big.
I mean, it's not Google big, but it's big. That's a lot of people. Okay. The company is big. That's big. It's not Google big, but it's big. That's a lot of people
It's a it's a lot of people and the development the part is completely almost completely in Israel
a lot of remote workers inside Israel in many places of Israel in the north in the small cities small villages and
There are truly
talented people there.
Incredible persons, also very loyal persons to the company that
understand the project and understand it is very important.
Also, there are people that kind of fight for the AGPL thing because they thought it was, you know, a good thing. So people
interested in the project. And I believe it was a good thing. So people interested in the project.
And I believe it is a very strong pool
of talented people in Tel Aviv.
Also, you know, another thing that happened
that I believe is extremely cool
is that we are acquiring new people that are like that.
What happened is that one of my colleagues, Oran,
that are like that. What happened is that one of my colleagues, Oran,
which is truly a genius of programming
together with Yossi,
they are two really superstars that nobody knows.
For example, Yossi was the one
that wrote the abstraction layer
in order to make this SSL as a module.
So you load a module and it is SSL,
otherwise you don't have the complexity and stuff like that.
For example, this Chinese person started
starting to do pull requests only on comments.
This comment is, and another guy, which is Portuguese,
for example, also doing initially simple pull requests,
but he recognized that they were smart and started to help them to
create more complex pull requests. And since Oran works
a lot, since he's responsible for the developments of Redis on
Flash, which is, you know, the way that we have to offload part
of the data from run to flash. It's a complicated fork of Redis.
You know, he had to do a true investment.
And now these two persons are very strong core contributors of Redis making complicated stuff.
Also, another guy, which is the one that implemented expires in the hash, hash type elements, single elements, is a
very talented that that optimizes this thing to a so low level.
And for example, wanting that they still love about red is
and I think that we have an edge here compared to, for example, Valky, is the design idea.
In Valky, there are a bunch of people
and they do a lot of agreement design,
which is a way of working
that I don't believe it to be optimal.
And why I hope that Valky is going to be great
because in some way, you know, Valky is going to be great because in some way, this was, you know, the
thing about the BSD is that whatever happens to the company to myself, the codes in some way can
go forward because it takes other streets like Amazon or Google forking and putting people.
like Amazon or Google forking and putting people aware from the point of view of the softer idea, I don't think that Valky can do a better job than us. And one thing that I would
love is to go back to a GPL to be also approved again and then compete on the quality of the ideas and the quality of the developments. And you know, because red is going
to to diverge a lot. For example, one of the leaders of
the project said me after so in my blog post, the vector sets
thing, we will never do something like that. Because
they don't trust in this line of, AI is the hype that is this terrible hype.
For example, this is one way to approach the problem.
I am, for example, an AI enthusiast,
and this already creates a different take on the project.
So I believe they will diverge a lot.
That's really interesting. And, and you're happy about that
because now you have basically like
the Redis gets pushed forward,
but also Valkey gets pushed forward in different directions
and you know, different things work
for different people in different circumstances.
So it's kind of spurring some innovation.
Have you, did you see Redka?
Is that one that crossed your radar?
Cause there's a bunch of forks that came out
back when Redis was first announced
that the license changed.
Redka is not a fork, it was like a re-implementation.
Are you familiar with this one, Salvatore?
No, no, I heard about it,
but I went to check what they are doing.
This was just a re-implementation
with a SQLite backend trying to just get
the Redis API up and running with a different backend.
And it's just, it was kind of a greenfield thing
that was inspired by the relicense.
But I thought it was pretty cool
how many the explosion of new projects
and ideas that happened,
which was kind of like open source working in a sense,
right, like this is the spirit of hackers hacking
and starting new things.
And it's kind of cool that all of this has inspired you
to come back to Redis and like push it forward
in new directions.
I think it's pretty cool.
Yeah, it's like if we, all the teams together optimize
to search the space of potential possibilities.
Basically.
Well said, yeah.
That's cool.
So where do you take it from here?
AI it sounds like, huh?
All right, this AI.
Cool. So where do you take it from here?
AI it sounds like, huh?
Right, it's AI.
I think that vectors, I mean, learned embeddings
because vectors, okay, the way I am implementing
vector sets is one way that allows the user
to also use vectors outside the AI.
So for example, I implemented binary quantization,
and if you want, you can put binary vectors where just each bit
is a product that a user got in an e-commerce system,
and you still can do cosine similarity and take similar products
to this user.
But of course, the main thing is learned vectors created by models that
compress something, some object, being it text, image, whatever, in
an embedding that captures the semantic value of the initial object.
I believe this is going to be useful in the future, even if I am not
a fan of RUG, because I believe that RUG created a lot of issues. For example, one of the reasons
I believe Cloud Sonnet is often in the real world so strong for programmers is that when you attach a file there, the model sees all the file, they don't use Rack.
Instead, when you attach a file in the OpenAI systems,
it uses Rack.
So you don't see it, but the model is just seeing fragments of the code.
So in some time, in some way, Claude looks magical because of that.
So do you know what technique Claude Sonnet is using
to get that information that's not rag?
They just put everything in the prompt.
Oh, they put all, I mean, does that,
do they have a huge prompt, I guess, big context?
Exactly, that's the reason why Claude Sonnet,
after you fiddle with it a little bit,
says, return in five hours. Yeah, I saw that, five hours. My experience with Claude Sonnet after you fiddle with it a little bit, say, return in five hours.
Because-
I saw that.
Return in five hours.
My experience with Claude so far has been just that.
Like you, they almost, they start to yell at you essentially.
When you have too many back and forths,
and I'm like, that's the whole point,
is to have the back and forths essentially.
Like the prompt, the response, the prompt, the response,
and you iterate and massage and form
whatever it is you're forming.
And it's like, well, that's the whole point
of this chat system.
And we've, we can debate the usefulness of chats
if you'd like to, but like they discourage long chats
essentially.
I agree, but I believe this is a feature
and the way why so many programmers speak
at the cloud, why I'm saying this, basically like Redis, they are putting you face to face
with the limitation of the system. Instead, what OpenAI does is to implement two things.
One is memory, which is after the context is too long, the model will summarize it in
some way or use lag itself in the history. And so you believe that the model will summarize it in some way or use lag itself in the history.
And so you believe that the model is still aware of all your chats, but the model is
no longer seeing the full details and they start to act erratic.
They do.
That's true.
So I believe I, I, I, I, I am more happy to with the limitations, but they can understand very well what's happening.
And also DeepSeq V3 and R1 does the same, that when you attach a file, it is put, the
prompt is completely, the file is completely inside the prompt.
And since the tension is quadratic, it burns a lot of GPU compared to not using Wreck.
How much are you studying this?
Because this is something that I'm still sort of catching up
to how the GPU interacts with a model.
You know, you've got, let's just say you've got
an off the shelf one, 24 gigs of VRAM.
How does that translate to the model being in the VRAM
to consuming the GPU's ability to compute?
How are they different?
Like, memory and compute on a GPU is not one and the same.
Because you may say, well, I've got one or two GPUs and I can consume, you know, 24 to
48 gigs of VRAM, but you still have compute on that GPU.
Can you explain?
Do you know much about that?
Are you becoming more familiar with that? Yeah. Basically, what is happening right now is that all the Frontier models are
MOE, mixture of experts. They are no longer like, for example, Lama 3.3 or the initial models,
models. Starting with GPT-4, OpenAI started with the idea of using a mixture of experts. Basically, the model is partitioned inside like a cluster. And then there is a layer,
which is the routing layer, which selects at each layer for each token, which part of the model to activate. In this way, a subset of
the model becomes expert in the English grammar, another subset in Python and so forth. Okay.
However, it's not this division is not so clear. The model learns how to split the knowledge and it's very mixed and under-leveled inside.
So basically with Moes, you still need the Vram
to contain all the model in your RAM.
So for example, if you have,
let's talk about DeepSec version three,
which is more or less as big as cloud,
and we have the actual data public for DeepSec,
is 6,600 billion parameters model.
Oh, that's big.
Yeah, it's very big.
And it seems it is a eight bit for, for, for parameter.
You need the six hundred gigabytes just for the model.
And then you have the cache for the key Vcache for the model.
And then you have the cache for the key vcache
for the attention.
And for very long context, you need more RAM.
So basically with a mixture of experts,
you need less GPU and you need more VRAM.
So this is changing.
The GPU is becoming, the GPU power is becoming in some way for inference, at least less important than VRAM.
To the point that I can, I have a MacBook M3 Max with 128GB of memory and I can run DeepSe sick in my computer, not not the
distillated versions, the actual thing, extremely quantized to
1.5 bits per per. But still, because I have enough RAM, even
if she GPU inference, it's, it's able to run this beast. So
basically, what will be the dream for all us would be computers with like one
terabyte of RAM. And even if the GPU is not so powerful, we could run from their mothers
inside our machine.
Let's clarify runs. Tell me tokens per second.
Four tokens per second in my computer right now.
Which is so slow.
It's very slow.
But it runs out of it.
Yes, I know. I'm just, I want to be clear though.
Because like-
600 gigabytes, he said.
Yes. No, I get it.
But I mean, like you got people who are dabbling more and more
into this and runs and is usable is potentially two different
things because it can run and I do agree with that. Your hypothesis that more RAM and less GPU
makes sense because the Mac, the M1 systems or the M systems allow you to essentially allocate this RAM
as VRAM as what would normally be vram for a gpu
So you can utilize that one to eight gigabyte that you have available and aim maybe a less
Powerful GPU and still run the inference. However, you won't have
Super fast tokens and then if you want to program a python
You know program with that like you're gonna spend program a Python, you know, program with that, like you're going to spend
a couple of days, you know, like a serious amount of patience and potentially a ton of
errors, who knows?
Also, a lot of people don't realize that if you are talking in English with the model,
often a single word is one token.
However, because of how the tokenization work of language, large language models, if you
talk with them in Italian, for example, since the Italian was very underrepresented in the
data set, or even if it's writing Python, and often for each parentheses and you know
new line is a token, this means basically that you have to generate
a lot more tokens for each sentence
and it becomes incredible slow
because every two characters are one token,
not one single word.
It really makes you weigh your words
that you put into the prompt too, right?
Cause like the weight and the structure,
it almost kind of brings back prompt engineering in a way
because you want to not so much engineer,
but you want to be particular with how you prompt the LLM
in this scenario.
When you have resource constrained systems,
whereas if you've got Claude,
you just realize that, oh, you can't have long chat histories.
Or if you're on open APIs, chat GPT 40 or whatever model,
you can go to infinity basically, but it's it's not it's not like it
hits it before. It's not real.
It's faking the scenario.
It's ragging it later on, which is like retrieving stuff and fragments.
So you're saying, Adam Adam is don't waste precious tokens
by thanking your models when you're done.
Precisely, I no longer.
No.
No?
That's a deep cut.
Precious tokens.
Savatory because I am the person that says thank you
or is generous with my words, let's just say.
Can we please, you know, might be like,
or let's do this versus generate, which is me too.
But this is nothing.
The trick, the trick is when you start to have a mid, mid longer chart to start a new
one, because since attention is quadratic and once they go, okay, there is the key V
cache, but still you are accumulating too much longer chat
and instead you start to refresh.
Also sometimes the model can focus much better
on the latest version of the code.
When you start fresh, it becomes more selective
and it gets less confusing.
So my trick is this one.
Yeah, I like that.
So you pull out the latest,
you may have like a 10 minute session, let's just say,
a couple of back and forth,
but then you take the final artifact you're liking
from that session, sort of whole brand new session
and bring that latest version of whatever you're liking
to that new session and allow it to begin again,
to have that new finalized context
versus all the different bifurcations
you could have taken along the path.
Exactly. Exactly.
Okay.
That's a pro tip right there.
There you go.
Prompt engineering is back.
It's back.
Oh, until we have sufficient VRAM
that we don't need these things.
So Salvatore, when do you think this new Redis vector set
stuff you're working on will be baked?
When will people begin using it?
It's out there, it's somewhat open source.
What's the status?
I think it will be released in one month
or one or two months, something like that.
And what are some use cases
or some people that are currently using Redis
that they would be, what would this unlock
for certain folks?
Okay, an example.
Sometimes when I take weight, I want to lose this weight.
Normally I do calorie tracking with my fitness ball
or other applications, stuff like that.
However, it's so boring.
If I do that for 10 years at this point,
but still it's boring.
So I'm writing to a telegram bot where I just say,
I'm eating 10 grams of ONAI and one slice of bread of
40 grams and it will do it for me.
However, you cannot trust the model to have accurate information about the calories of
each kind of food.
So basically what I did was to create a vector set inside Redis,
where it has each line of a very big database where there is each food with the macronutrients,
the calories and whatever. So what the bot does is that based on my query, it computes Computes ask for similar items.
Then I take the similar items of foods that are similar
and it takes that in the context of the LLM
when asking the question.
The user reported eating this thing.
Based on this table, don't invent the macronutrients.
Please tell me what are the total calories
and proteins and carbohydrates and fats that this is a one use case
that works very well.
Key phrase there or key word there, Joe is please.
He did say please, yes.
He did say please.
The debate is still out.
Okay, that's interesting.
It's only one token in English, you know,
I don't know about in Italian,
but it's only one token in English.
Okay, that's cool.
That's very cool.
I'm sure there'll be countless other people with ideas
on how they can leverage this to do cool stuff,
whether it's commercially or healthily in their own time
to track their calories.
I think that's pretty sweet. Well friends, I'm here with Samar Abbas, co-founder and CEO of Temporal.
Temporal is the platform developers use to build invincible applications.
So Samar, I want you to tell me the story of Snapchat.
I know they're one of your big customers,
well-known, obviously operating at scale,
but how do they find you?
Did they start with open source, then move to cloud?
What's their story?
Yes, Snapchat has a very interesting story.
So first of all, the thing which attracted them
to the platform was the awesome developer experience it brings in for building reliable applications. One of the use cases for Snap was Snap Discover Team,
where every time you post a Snap story,
there is a lot of background processing that needs to happen before that story starts showing up in other people's timelines.
And all of that architecture was built composing using queues,
And all of that architecture was built composing using queues, databases, timers and all sorts of other glue that people kind of deal with while building these large scale asynchronous
applications.
And with Temporal, the developer model, the programming model is what attracted them to
the technology.
So they start using our open source first, but then eventually start running into issues
because you can imagine how many snap stories are being posted every second, especially
let's say on a New Year's Eve.
So this is where temporal cloud was a differentiated place for them to power those core mission
critical workloads, which has very, very high scalability needs.
Although they started with open source, but then very quickly moved to Temporal Cloud
and then start leveraging our cloud platform.
And they've been running on top of Temporal Cloud
for the last two, three years,
and then a pretty happy customer.
Okay, so maybe your application doesn't require
the scale and resilience that Snapchat requires,
but there are certain things
that your application may need,
and that's where Temporal can come in.
So if you're ready to leave the 90s and develop like it's 2025 and you're ready to learn why
companies like Netflix, DoorDash, and Stripe trust Temporal as their secure scalable way to build
invincible applications, go to Temporal.io. Once again, Temporal.io. You can try their cloud for free or get started with open source. It all starts at temporal.io.
You know, I don't know if this maps to this, but there's a particular problem I'm trying
to solve for me.
So I often, so as you may know, Salvatore, we are a sponsored podcast.
And so we have brands like Redis
but you've never sponsored us, that we would happily partner
and share with the world, the developer world,
what you're doing, let's just say.
And our ability to win these relationships
is really predicated on my ability to be fast
with accurately quoting people,
what we can do for them.
For the most part, we have packages,
but sometimes people are asking for this or for that.
And so it's not always just here's package one
and here's package two.
And so what I've done recently is I've gone into
OpenAI's chat GPT and I've created my own GPT.
And it sounds like what you're talking about
with this vector embeddings is like,
give me truths, particulars,
like this ad spot costs this much.
And when you multiply it by 12, it costs this much.
That will never change
because it's like a row in a database.
The value is X and so quantify it by Y for example
However in my experience with this even though I've made this GPT and I've told it how I want to format the response
And I just say generate it
It's driving me crazy because it's doing the math wrong
Like like I so bad just want to spin on my own Ruby app just to like generate
Like I so bad, I just want to spend my own Ruby app just to like generate.
Like my like this basic text is all I really need.
But I want to ask, I want to prompt and just say, give me 12 weeks of the change. Well, I'll give me 12 weeks of this and then generate this thing
I would normally hand, right, which I already did.
I formatted it.
But just do all the word math for me, do the word calculator stuff for me,
because I'm lazy and I'm I can be slow and I want you to be fast and
I want to be accurate every single time
So I feel like what you're talking about with this vector embeddings is like okay in that world
building my own GPT or my own thing like that is possible because you've got these embeddings in there and whenever I prompt the
LLM it's going back to those embeddings and saying
And whenever I prompt the LLM, it's going back to those embeddings and saying, okay, I know this costs Y and we're multiplying it.
And the word calculators, my prompt essentially say, give me this and it gives me all my words
back but all the math is done.
Is that map onto what you're talking about with, is that an application of vector embeddings?
Yeah, yeah. to what you're talking about with is that an application of veteran beddings? Yeah. In generally, if you want to retrieve anything, for example, another example
that, uh, uh, for your use cases, be as particularly one of those systems that,
um, have a very large context window like crowds on it and that don't use a rug
and see all the files in the context could be the best spot for you.
If you want to try, you can take some document, put all the information needed, and then you do few short learning.
So you make examples.
Okay.
And then if you upload this file to cloud and you ask question, it should be able to reply in a perfect way.
I want that. I want that. I want the math. The math being off is just like driving me crazy. I just did it today.
I was like, it's accurate 95 percent of the time. And then one time it's like it does terrible math.
I'm like, I could never charge our customer that
or our partner that, because that's not the real number.
And so I've got to check it every single time.
I'm like, I just want the word calculator part of it.
Another thing that you can do is to specify to the model
that you want all the calculations performed
using a program.
This also is a trick that works.
And Cloud, unfortunately, cannot run Python, but it writes JavaScript and executes it inside
your window of your browser and then takes the calculation back.
But to make another example of vector sets, imagine that you want to do something like
face ID.
So basically the iPhone face ID works with an embedding.
The dot matrix in your face is provided
to a given model that outputs a fixed vector.
And imagine an evil government that
wants to track you in every second.
And it has a database of all the faces in a vector set and then when you scan yourself
it locates that it's you for example or you are similar or if you have doors, automatic doors that
look at your face and open the door so it's not just the text embeddings you can use it for every
application when you can turn an object
into a set of features and you want similar items.
So it's possible to use a lot.
And as I said, also it works very well, for example,
when you don't have, even outside the AI,
a few times, a few years ago,
there was one guy that did this in Hacker
News. It downloaded all the data, all the comments of all the users and created vectors
with the most used 10,000 words, setting the number of occurrences for each word. So in
a given vector, there were many zeros, but other things valorized and using this and
cosine similarity, it, he was able to extract all the fake
accounts that were actually cloned. You know, when you
write with a throwaway account, because the cosine similarity
is very similar. So also you can use this in order to
spot similar texts and other stuff like that. There are many, many use cases. And when we find,
basically I have a very active YouTube channel right now talking about AI mostly. And when
vector sets will be released, I will write a lot of toy applications showing
use cases.
Cool. What's your YouTube channel called?
Salvatore Sanfilippo. It's a-
Keep it simple.
The videos are- the coding videos are in English. A lot of talking videos are in Italian,
but what I do is to take the transcript,
pass it to Claude Sonnet, and it cleans up the Italian.
And then the auto-translate to English works very well.
So there are other people that don't talk Italian
following me in the channel.
So it sounds like you're a Claude Sonnet fan
over OpenAI's models.
Like you're hanging out in there.
Okay.
And how do you get around this limitation of, you know, what we talked about before
when you volley back and forth?
I don't know.
You have a long chat history.
How do you get around that?
You just restart it?
That's your way?
Yeah.
In general, you say I use AI a lot for coding, but really big time, but in a strange
way.
Most of the time I am in my terminal writing my code myself.
When I got a problem, I go there and I often my prompt is like, don't write any code.
Let's discuss about this because I use it like an improved duck in order to create more ideas
or explore mathematical concepts that are at the edge
of my mathematical skills or stuff like that.
For example, or if I have to do some complicated
optimization and there are tricks that I don't know
or stuff like that.
So basically I'm very conservative.
I avoid basically the brute force way of coding, of continuing trying to refine
because I discovered that this often leads to losing too much time to get short,
not great results.
So either I spend a lot of time writing the code,
the prompt in a very subtle way
in order to influence the way the design ideas of the model
giving a lot of hints, but positive hints
and also don't use that because I already understand
it's not going to work very well.
So my chats are usually not super long
and otherwise I restart from scratch.
So are you using this outside of your editor
or inside of your editor?
Not integrated because for me,
this is a way to avoid becoming lazy.
Basically, I want to be sure that 100% of the code
that I use, even if some code is written by the LLM, I understand what's
happening. But I use a lot more it for to track bugs. Like I have a bug. Oftentimes,
Claude Sondnet, if I post the code, what's happening, it can debug it immediately.
So good. Yeah. Incredible. Like five hours of the bugging, five minutes,
because it will say you, you did, uh, you, when you like after, after refactoring one, uh, a few
days ago, I forgot to state them. I removed the statement, but the statement removal didn't cause
any error in the compilation, but just created a memory error.
And what I do in this case, which is,
I see that many people don't do that.
You have to send the file and the commit diff
so that it can see the difference.
And then it becomes extremely smart
and understanding what you messed up.
Well, I'm gonna have to try Claude Sonnet now.
I've never tried it.
I've been happily doing the other things.
I don't know if happily is the right word,
but I've been doing other things.
And that's one that I've just happily ignored so far,
but you've convinced me.
I need to give this one a shot.
Maybe a few shots.
I got to it a little bit, the horn of Claude, a little bit.
So I saw somewhere, I think it was on YouTube
or something like that, someone was saying,
it's really great for building documents.
And so I needed to create an agreement.
And I knew what I wanted to say,
but the way Claude works is it will have a file created
and it's open on the side.
Let's say like you have your chat thread
and then on the side of the document is open
and it will just update parts of the document.
And so from a user experience standpoint,
you see not a regeneration of the whole document
that you now have to be like, well, what changed?
What did not change?
And you've got to scan it and you waste your time.
But you literally see Claude pull the document out
that you're iterating towards.
You see the little by little change in a clause
or a heading or they're very specifics.
And as a user, I'm so much more comfortable
with the process because I'm like,
I'm working it through and it's generating what I want to
and it's not like generating this legalese kind of stuff,
but it's only updating the parts that I want.
Like let's focus on this clause.
I want it to cover this, this, this, and this.
And here's what I want it to say.
And it goes and just updates that one part.
So from a user standpoint, it's great.
You see it removing the lines,
like pressing the cancel key
because it uses the artifact as a tool.
Yeah.
So I can remove, edit, change parts. And also between the trip,
uh, Claude, the 3.5 and three and 3.7, the generation output length was increased like
10 times. So now it can, can generate like 1000 line of code in one shot or even more,
which is pretty impressive. Yeah. It's, Yeah, it's a very great system.
Also when Dario Amodei started the company,
they were also extremely focused on the ethical part,
you know, the safety part, which is also a plus.
Even if I believe that what they released
a couple of days ago, Cloudude code, which is a genetic coding.
I believe it is, we'll start to, to ignite.
It's the right word.
Yeah.
A lot of firing or miss the hiring of programmers because it's like, it's not.
Yeah.
It's it's Claude code is the first thing I see, I see, which is not conceived to empower
the programmer that wants to do more, but to, to replace.
So much for ethics.
I understand that it this inevitable that sooner
or later is going to happen. But what I what I what is my
interest is that if we have to go for work like that, that
governments in all the world understand that they have to
find ways for the people to pay their bills. And then it's okay
if his machines want to code. As soon as people are safe, I am okay with it.
Well, on that Demur note,
anything that we haven't talked about
that doesn't include the career extinction
of us software developers.
Anything else you want to mention, Salvatore,
before we let you go?
Just that, I see that in some way,
even if we say that our field in some way
in these 15 years changed.
However, imagine something as big as AI
in the hands of other industries.
For example, pharmaceutical industry or finance.
They will never, it will never be like that,
that we have most of these tools for free.
We have front-end modus under the open source,
a lot of other models and all the information's available.
So I believe that still for IT, there is hope
because we are in the environment that created the most incredible revolution is creating after like the industrial revolution.
And still there is this idea of sharing, of making the tools accessible. Also, if you think at the price of OpenAI
and Anthropic right now, $20 per month is very low. It's very democratizing this tool.
So in some way, I continue to be optimistic. I am more about the hidden side, which I believe
that in the short run, the problem that we will face with AI as a society, we will be able to overcome them.
But I will focus on the existential threat because the agentic nature of these models as they become stronger and stronger, even if super intelligence can be achieved without conscience, consciousness, still an agent
that like breaks all the computers around.
This is the worrying part for me, that there is the,
we will survive social change, but we may not survive
some extreme event due to AI.
Well, we're excited that you're back at Redis.
We're excited for the subtle changes,
the incremental changes that you're making
to help Redis be more useful to more people.
Thank you once again for creating such an awesome system
and for open sourcing it so that the world
can take advantage and benefit.
I know I've benefited greatly from it in my career.
Even though I only used it for a relatively short time,
I think the API and the way it works
and the way you designed it
has influenced my thinking as a programmer.
So, you know, you can't go back from that.
That's like fundamental change.
So I appreciate you for that reason.
Thanks.
Thank you, Salvatore.
Thank you. It was very great to talk with you and thanks for the hospitality.
Oh, yes.
Glad to have you back.
Yeah.
So will Redis be open source once again?
Salvatore is back.
So that means the chances of that being true just increased.
I don't know about you, but this conversation, this episode kind of dated me a bit, you know,
dated me and Jared a bit because wow, it's been a while since we've had Salvatore on
the show.
15 years of doing this podcast is a long time.
And that means we've had the chance to track so much ups, downs, trends, fads, bubbles, etc. That's kind of cool.
I don't know about you, but I'm kind of excited about the Redis to come.
Salvatore being back, the opportunity to rethink the licensing to consider AGPL,
and what that might mean for the future of Redis. Only time will tell. But I do want to say that I'm very excited about what Augment Code is doing.
Scott Dietzen, so cool.
Talking to him, these conversations I've had with him
behind the scenes have been so much fun.
And I'm so happy to share some of those with you
via the ad spots we produce.
And I do plan to get Scott on a full length show
sometime soon.
Also our friends over at Retool, David Shu and team love Retail.
They're doing some cool stuff. Just pay attention. Okay. If you're not already using them to
build out your internal tools, what's stopping you? Number one, Retail.com. Check it out.
And to our friends over at Temporal, Samar and team scaling Snapchat was a fun conversation to have with Samar and just glad
to share those little snippets here in the ad spots of the show. That's good stuff. Check them
out Temporal.io. Of course, the Beat Freak in Residence Break Master Cylinder bringing the beats
always banging, always banging. We do have a bonus on this episode
So if you're not a plus plus subscriber change log comm slash plus plus it's better
That never gets old it is better
Okay, it's better because you get closer to the metal that cool change law metal number one number two
You directly support us which, we just love that, you know?
You've earned yourself a virtual hug,
if not a physical hug, in IRL sometime soon.
And of course, you also get a sticker pack in your inbox,
not your virtual inbox, your literal mailbox.
We will ship you some stickers.
And you get bonus content like today.
That's four awesome great points that make it better.
So changelog.com slash plus plus 10 bucks a month, a hundred bucks a year, and the joy
of supporting us and this indie media company we're running.
And we thank you.
Okay, that's it.
The show's done.
It's over.
We'll see you on Friday. I'm out. So you recently wrote a post called,
we are destroying software, which you know that,
but I'm telling you that as a setup,
which was almost a poetic piece of maybe a little bit
of a rant with like 19 things that we're doing roughly.
I didn't count one by one,
but ways that we are destroying software, for instance,
by with complex build systems,
with absurd chains of dependencies,
with rewrites of things that already work.
Curious what, you know,
what were you doing the half hour before you decided to write that thing? Like what happened in your life. Curious what, you know, what were you doing the half hour
before you decided to write that thing?
Like what happened in your life?
It's like, you know what?
Because you probably thought this way for a while,
but finally, like, I'm writing it.
What inspired this?
In general, everybody I look,
I see that the complexity is increasing
without a proportional utility,
usefulness of the systems.
For example, one of the most important thing
that we have right now, which are LLMs,
are like 3,000 lines of code for the inference.
And even if you look at DeepSeq today,
released all the training code of distributed training of mixed
of experts models, and it's a simple code. So why the Facebook Android application has
1 million lines of code? They are rewriting it from Java to Kotlin and this 1 million lines.
And everything is like that. We have the same forms, the same buttons,
the same likes of 10 years ago.
However, if I check every tab,
now recent Chrome, Chromium tabs show you the memory usage
and the cloud tab, the chat is 419 megabytes,
just a single tab and everything is like that.
And then also software developers.