The Changelog: Software Development, Open Source - Antirez returns to Redis! (Interview)

Episode Date: March 7, 2025

Antirez 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)
Starting point is 00:00:00 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
Starting point is 00:00:23 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.
Starting point is 00:00:59 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.
Starting point is 00:01:35 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.
Starting point is 00:01:56 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,
Starting point is 00:02:13 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
Starting point is 00:02:34 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
Starting point is 00:02:53 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.
Starting point is 00:03:14 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,
Starting point is 00:03:37 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.
Starting point is 00:04:05 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
Starting point is 00:04:46 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.
Starting point is 00:04:55 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
Starting point is 00:05:11 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,
Starting point is 00:05:52 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.
Starting point is 00:06:11 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
Starting point is 00:06:26 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
Starting point is 00:06:54 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.
Starting point is 00:07:29 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.
Starting point is 00:07:52 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
Starting point is 00:08:49 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.
Starting point is 00:09:21 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,
Starting point is 00:10:01 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.
Starting point is 00:10:38 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
Starting point is 00:11:13 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.
Starting point is 00:11:35 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,
Starting point is 00:12:05 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,
Starting point is 00:12:41 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
Starting point is 00:13:09 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
Starting point is 00:13:37 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,
Starting point is 00:14:01 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,
Starting point is 00:14:51 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.
Starting point is 00:15:20 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.
Starting point is 00:15:48 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.
Starting point is 00:16:18 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.
Starting point is 00:17:17 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
Starting point is 00:17:55 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
Starting point is 00:18:34 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
Starting point is 00:19:17 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
Starting point is 00:19:56 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,
Starting point is 00:20:27 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
Starting point is 00:21:12 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
Starting point is 00:21:35 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.
Starting point is 00:21:59 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
Starting point is 00:22:26 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.
Starting point is 00:22:45 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.
Starting point is 00:23:10 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.
Starting point is 00:23:29 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
Starting point is 00:23:56 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.
Starting point is 00:24:39 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,
Starting point is 00:25:07 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
Starting point is 00:25:24 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.
Starting point is 00:25:50 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.
Starting point is 00:26:16 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.
Starting point is 00:26:37 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.
Starting point is 00:27:20 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
Starting point is 00:28:27 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.
Starting point is 00:28:51 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
Starting point is 00:29:21 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.
Starting point is 00:29:50 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
Starting point is 00:30:14 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.
Starting point is 00:30:47 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
Starting point is 00:31:38 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.
Starting point is 00:32:30 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.
Starting point is 00:33:11 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
Starting point is 00:33:47 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,
Starting point is 00:34:34 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,
Starting point is 00:35:02 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
Starting point is 00:35:47 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.
Starting point is 00:36:22 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.
Starting point is 00:37:01 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.
Starting point is 00:37:19 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.
Starting point is 00:37:45 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.
Starting point is 00:38:04 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.
Starting point is 00:38:49 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.
Starting point is 00:39:30 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
Starting point is 00:40:05 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.
Starting point is 00:41:07 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.
Starting point is 00:41:32 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
Starting point is 00:41:52 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,
Starting point is 00:42:13 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,
Starting point is 00:42:32 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.
Starting point is 00:43:04 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.
Starting point is 00:43:46 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
Starting point is 00:44:11 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
Starting point is 00:44:37 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
Starting point is 00:45:03 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,
Starting point is 00:45:41 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
Starting point is 00:46:12 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
Starting point is 00:46:48 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.
Starting point is 00:47:18 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.
Starting point is 00:47:41 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
Starting point is 00:48:31 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?
Starting point is 00:49:01 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
Starting point is 00:49:31 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
Starting point is 00:49:46 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.
Starting point is 00:50:26 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
Starting point is 00:50:50 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 point is 00:51:12 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.
Starting point is 00:51:47 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,
Starting point is 00:52:34 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
Starting point is 00:53:29 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.
Starting point is 00:54:03 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?
Starting point is 00:54:22 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.
Starting point is 00:54:37 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,
Starting point is 00:54:56 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
Starting point is 00:55:13 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?
Starting point is 00:55:21 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
Starting point is 00:55:54 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
Starting point is 00:56:35 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.
Starting point is 00:57:13 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.
Starting point is 00:57:27 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.
Starting point is 00:57:49 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
Starting point is 00:58:11 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.
Starting point is 00:58:46 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.
Starting point is 00:59:18 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?
Starting point is 00:59:41 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.
Starting point is 01:00:52 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.
Starting point is 01:01:18 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.
Starting point is 01:01:43 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.
Starting point is 01:02:38 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.
Starting point is 01:02:56 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
Starting point is 01:03:38 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
Starting point is 01:04:12 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?
Starting point is 01:04:41 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.
Starting point is 01:05:04 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.
Starting point is 01:05:29 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.
Starting point is 01:05:48 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
Starting point is 01:06:17 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
Starting point is 01:06:33 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.
Starting point is 01:06:47 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?
Starting point is 01:07:04 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?
Starting point is 01:07:20 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,
Starting point is 01:07:42 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
Starting point is 01:08:30 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.
Starting point is 01:08:51 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.
Starting point is 01:09:03 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.
Starting point is 01:09:45 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,
Starting point is 01:10:11 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
Starting point is 01:10:44 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,
Starting point is 01:11:12 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
Starting point is 01:11:34 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.
Starting point is 01:12:14 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.
Starting point is 01:12:38 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
Starting point is 01:13:00 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.
Starting point is 01:13:31 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
Starting point is 01:14:02 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
Starting point is 01:14:42 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
Starting point is 01:15:25 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
Starting point is 01:15:50 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.
Starting point is 01:16:21 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,
Starting point is 01:17:02 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
Starting point is 01:17:42 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.
Starting point is 01:18:17 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.
Starting point is 01:18:47 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?
Starting point is 01:18:59 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
Starting point is 01:19:34 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.
Starting point is 01:20:01 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.
Starting point is 01:20:27 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.
Starting point is 01:21:01 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.
Starting point is 01:21:39 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,
Starting point is 01:21:54 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.
Starting point is 01:22:11 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
Starting point is 01:22:31 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
Starting point is 01:22:51 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.
Starting point is 01:23:11 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,
Starting point is 01:23:41 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.
Starting point is 01:24:12 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
Starting point is 01:24:50 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.
Starting point is 01:25:18 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.
Starting point is 01:25:47 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.
Starting point is 01:26:37 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.
Starting point is 01:27:27 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,
Starting point is 01:27:50 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.
Starting point is 01:28:04 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,
Starting point is 01:28:31 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.
Starting point is 01:29:09 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
Starting point is 01:29:32 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
Starting point is 01:30:22 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.
Starting point is 01:30:45 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,
Starting point is 01:31:58 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.
Starting point is 01:32:22 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?
Starting point is 01:32:34 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,
Starting point is 01:33:02 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,
Starting point is 01:33:47 just a single tab and everything is like that. And then also software developers.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.