Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:03):
Hello and welcome to Fork Around and Find Out, the podcast all about taking you back intime on what it's like to write bugs for the last five decades.
Today on the show we have Bhaskar, who we met in person like many of the guests, which isgreat.
I met you at dinner and you said something that stuck with me still to this day, where yousaid you've been writing the finest bugs since the 1970s.
(00:25):
And I love that.
So thank you for coming on the show.
Thank you for having me.
It's good to be here.
And of course, the software business, we create bugs, right?
That's what we do.
That's it, no features, just bugs.
And sometimes they're usable bugs.
Exactly.
wish that we could just say that quote to computer science classes because I think itwould help a lot of imposter syndrome.
(00:48):
uh
you you will write this wrong five times and then you will read it, right?
But it'll still be wrong in the future.
So don't worry It's not it's either a bug right now or it's a bug later
The amount of engineers, I think especially women that I talked to and they're just like,is it normal to feel bad so much?
And I'm like, yeah.
(01:08):
There's a lot of failing like, and then you feel like a God for like two seconds and thenthere's a lot of failing.
Yeah.
When the build works and you're like, understand that piece of it.
And then the next thing is just like, I don't get it.
Anything.
Nothing works.
think that should be part of teaching engineering though, like we're almost doing them adisservice when we're just like, and then it'll build, like, cause I mean, like that
(01:30):
happens a lot less than the failing part.
So if like we were more, I guess, transparent on that cycle, I think that people couldfind more joy in being an engineer, you know?
In the old days we used to say if it compiled, ship it.
Yeah.
Yeah, if it compiled, that's the test right there.
(01:50):
If I have something that executes, right, I that's good enough.
Which is wild with the amount of testing and pipelines that we use now, you know,someone's dying when they're hearing that.
Oh man, like a flaky test.
You're like, oh, we can't just stop everyone stop.
Cause this doesn't work all the time.
And one of the things, one of the things I want to talk to you about is just how softwarehas changed over a period of time that you've, you've been able to experience and, and how
(02:18):
you've kind of changed with it, right?
Like the industry, even in last 10 years is different 20 years ago, 30 years ago, itcompletely not even recognizable.
Well, here's something too, which is when I got my first job programming.
I was a student at my undergraduate university in India.
And I got my first job as a programmer in 1971 part-time, and I was paid two rupees anhour.
(02:45):
Now, at that time, the biggest computer that we had on campus was an IBM 7044, which todaywould be dwarfed computationally by a smart doorbell.
You
computer time on that sold for 2000 rupees an hour.
Okay, so a thousand times more than I was paid.
(03:06):
And so the lesson always was, what would a professor has told us is if you can spend twohours debugging or fixing something to save a couple seconds of computer time, it's worth
it.
And, know, today it's completely the other way around.
Yeah, that's probably the biggest change, Because now somewhat one person's time is worthso much more than the compute.
(03:29):
Right.
You know, and I think nothing of, you know, I make a change.
I just run a compile to see if I got the syntax right.
And, you know, those days I wouldn't even think of doing that because one of the thingsyou had to do was, you know, we had punch cards and you wrote your, your program on punch
cards.
You turned it in and you would basically get a printout the next day.
(03:53):
And so if you didn't get it right, then you had to wait yet another day for the program torun.
Has that made us worse as engineers?
Like, I feel like because we don't value like the computer, like we just, we're just like,just either throw money at it or try it again or do little things over and over again.
(04:13):
Is that, is that as an engineering culture?
Well, it's good and bad.
mean, there are things where, you know, certainly I'm a lot more productive now.
And I think that the code I write today is probably a lot better than the code I wrote 50years ago just because, you know, I can test it better, I can run more cycles on it and so
(04:36):
on.
On the other hand, you know, there are certain things where you have to, you know, let'ssay if you're doing something that is really critical.
it really does pay to stop and think about it and think through it before you just writethe code.
And certainly in the business that YaraDB is in, we go into a lot of mission-criticalapplications in banking and healthcare.
(05:03):
And so it's absolutely critical to us to get the code right.
of course, so it works one way in the sense that we can do a lot more testing now thanwe've.
could have done years ago.
But on the other hand, it also means we have to spend a lot more time thinking about thecode and thinking about the design even before we start coding.
And in the old days, we didn't think about it that much because, again, programs are alsosimpler.
(05:28):
Sure.
Was that simply, was the simplification because of they were not used as in many places orwas that just because they were isolated and not as dependent on other pieces of software
and things?
Well, you literally couldn't create a big program.
So like the IBM 7044 computer, its memory was something like 32K words, and each word was36 bits.
(05:54):
So if it didn't fit in memory, you essentially had to sort of overlay parts of theprogram, bring in bits and pieces.
So what you actually did was write your program in lots of little things, and you wentfrom.
You process something and then put it on tape and then you process something else.
So you couldn't do anything that is particularly big.
(06:15):
And I guess in some sense what comes around goes around because that's what microservicesis.
Except in our case, we did one service at a time instead of running them all in parallel.
Maybe microservices would be better if we counted how much memory they used in words.
Or is that you get 50 words of memory.
(06:38):
Just a...
Think about the fact that we were counting words and that kind of processing and then likethe huge data sets we're processing right now for like machine learning.
those two, like the fact that they're in a span of your career is absolutely amazing.
It's been a lot of fun.
(06:58):
What I tell people is, you know, I'm 70 and I got into computers.
So, okay, so here's the reason I got into computers.
The computer center was the only air-conditioned building on campus.
that that is why okay but like have you ever heard anyone that's come on this show that'sreally done great things everybody's got like the most unique reason for starting and I
(07:26):
love that like nobody's just because like
I I got into computers because the computer lab was across the hall from my dorm room andI could do my homework while I got paid.
And it was just like, could get paid and do homework.
And that's the perfect thing as a college student.
And I just sit there.
But air conditioning, that is the best example.
(07:47):
on the campus there, routinely in summer, the temperature would get to over 100 degrees.
And again, this is India, and it was less developed in those days than it is today.
So we would often have power cuts in the dorm from like 5 o'clock in the morning till 11o'clock in the morning.
So no fan even.
So the computer center has got electricity.
(08:08):
It's got air conditioning.
It's a great place to go hang out.
How did the university get a computer at that time?
I did not grow up around computers.
I was born in the 80s.
everything, it seems like that seems like a really big privilege for that university tohave that big of a computer and air conditioning and constant power at that time.
(08:29):
So this was the Indian Institute of Technology in Kanpur.
And it was set up as part of with aid from a consortium of nine American universities,know, MIT, Ohio State, Purdue, I forget there was a list of nine.
And they, somewhere in like the mid 1960s, they had a spare IBM 1620 computer.
(08:54):
Now the IBM 1620, by the way,
goes back, it's a 1950s design.
It was IBM's first scientific computer.
So anyway, they had one to spare and they shipped it and installed it on campus.
So that was the computer that I used to write my first program.
And at that time in India, there were probably about, if I remember correctly, somewherearound 120 or 130 computers.
(09:16):
And my university had three, so we were quite privileged.
But it was...
One of those things where the government of India set up these institutes to sort of belike the next, to train the next generation of engineers.
so ours was set up with American collaboration.
(09:37):
There was one that was set up with British collaboration.
Another one, you know, German, another one Soviet.
And then there was one that was set up with UNESCO collaboration.
And so essentially in each of these universities, the country as part of their foreign aidprogram would provide expertise and...
and equipment and so on to set up the university.
Were there a lot of differences between the contrast of the different countries, I guess,and their...
(10:02):
uh
think the big difference was what they specialized in, what are some of the prestigecourses.
So in my university, electrical engineering was considered the prestige course.
In the Indian Institute of Technology in Bombay, which is set up with Sovietcollaboration, chemical engineering was a prestige course.
(10:23):
In the one that was set up with German collaboration, for example, mechanical engineeringwas considered a prestige course.
All the universities had all the different branches of engineering and we had a verycompetitive exam to get in.
they would like, know, an entrance exam there was something like 40,000 people would sitfor the exam and out of those maybe a couple thousand would get in.
(10:46):
And depending on your rank in the exam, you got to select which course at which universityyou got into.
Wow, you must have been, you've done really well.
I did pretty well.
So I actually, you know, I was the only one I remember in that year that came in the firsthundred in both the entrance exam for the Indian Institute of Technology as well as there
(11:13):
was another thing called the National Science Talent Search, which is kind of modeled onwhat used to be the Westinghouse Science Talent and then is the Intel Science Talent.
So I actually...
That particular year, I came first in the country on that.
So was the only one that managed to come in in the first hundred on both.
Did you have previous experience in electrical engineering before that?
(11:37):
No, no, actually it was a long story, it's a short story actually.
My passion in high school was physics, that's what I wanted to do in college.
And so when I came first in the science talent, that's really what I wanted to do.
And then my dad said, well, you're going to do electrical engineering and you're going todo electrical engineering at this university.
(11:58):
And I argued with him for several days, but ultimately I had no choice.
man.
then you still pick the building that had AC.
I picked the building that had AC and again, at that time there was no undergraduatecomputer science program, so electrical engineering was the closest you could get to
computer science.
And in fact, that is a time when I actually had the opportunity to sort of unite both.
(12:25):
So Stanford University shipped us an old PDP-1 computer that they had worked on and theyhad heavily modified.
So they shipped it to us when...
They didn't have any further use for it.
And a bunch of us spent like a year putting it together.
It filled a whole room.
And Stanford had modified it.
So here's something for debugging software.
(12:46):
One of the instructions that Stanford had added to it was called fiddle following.
So if you executed a fiddle following instruction, the next instruction could be somethingcompletely different from what was one of the official instructions of the instruction
set.
So it was a lot of fun.
what kind of, maybe the other people know what this is, but what did it entail to take awhole day to put together, or that whole time to put together a computer?
(13:16):
Well, mean, we actually had some, you when it was shipped to us, it wasn't really likeLego where you had to put it together.
The computer was kind of created and put together.
But what it did mean was that if the program didn't work, you had to go look at thehardware, not just the software.
So a flip-flop was essentially a circuit board about this size.
(13:40):
It used germanium PNP transistors and
And if the flip-flop circuit was loose, your program might not run properly.
wow, that makes debugging way more complicated.
Like I feel like I should be more grateful for the things I have to check at this point.
It just goes into like...
how much software engineers were also hardware engineers, right?
(14:02):
You had to know how the hardware worked.
Autumn, I finished the book you bought me for Christmas, The Superman, which was a storyof Seymour Cray.
And a lot of the things that he talked about, they deciding on, they want siliconetransistors or germanium transistors?
It was like a big deal for them to decide because everything else was germanium at thetime.
Like, no, we're gonna go with silicon, right?
(14:23):
And it's just fascinating how those ripples have kind of affected so many things.
And I remember one of the big problems they kept having in the the Cray computers thatthey're building was just the heat dissipation.
They're like, well, we were hand soldering all these transistors.
These were not integrated circuits.
These were big pieces of equipment.
And they had to have like AC specialists on hand to be able to like, how do we cool thismuch heat in this much electricity?
(14:49):
Awesome.
And this also points out to me just, think you are living proof of investment in othercountries and being able to allow, not allow people to, but just like giving people access
to things they may not have access to before.
(15:10):
like your career is like proof that that works and that that is something that iscontinued even today that should be invested in long term for all people, not just to like
say, you know, only people that live in this area can have access things.
And you didn't get access to the top tier hardware at the time, like you were gettingsecondhand computers, but it still like allowed you to do so much more than what Stanford
(15:34):
was gonna do with that PDP one anymore, right?
Sure, absolutely.
And in fact, I remember back in I forget, 1980s and 1990s, one of the things that we weredoing was getting used computers and then shipping them to places like Central America and
Africa and so on, where one of those things would actually be very useful.
(15:57):
And I recently ran across a kid that was getting old laptops and sending them to India.
I would argue not only is it an investment because look at how great it is that you got acareer, I mean, look at how much you've given back to the industry.
You know what I mean?
So it's not like they just gave things to you.
You've given back so much, which shows that it is such a great...
(16:20):
People just look at kind of helping others or kind of making that democratization of techas like, oh, well, we're helping people, but they help us back.
We have had so many technological breakthroughs, science breakthroughs.
that add to everyone.
Like this is a team sport of like discoveries.
We do so much more when we work together.
(16:41):
Oh, absolutely.
And I think that helping other people be productive helps us be productive as well.
And certainly living in the US, it's easy to forget that.
And certainly living in the US under the, I don't know what your particular politicalleanings are, but certainly living in the US at the present, where we tend to say, let's
(17:05):
not worry about people outside.
I think it's a mistake because ultimately,
You're absolutely right.
We do live together and we sort of build on each other.
I was actually thinking that this is such a great conversation for the time that we're inbecause how many cancer researches, how many, just all kinds of research were saying that,
(17:25):
you know, all these wonderful students got here on merit.
They got here because they were amazing at their field.
And we knew that it was this great investment because they were going to give 10 timesmore than what they've put in and that we were going to make these breakthroughs.
And it just makes me so sad that we are going to lose so much advancement because wecan't.
(17:45):
look at this in a community kind of way and we're looking at it in a selfish way.
desire to save a dollar is just ridiculous to think that we don't make that money back.
uh Yeah.
ah
like taxes when you're like not a citizen, it's actually we're going to spend more moneyto get rid of people that we really need that make things better.
(18:12):
Sure, I absolutely agree.
So in 71, you started writing bugs and then you caught the bug for programming.
How did that go on?
What was it like for you, your career in, let's say, 80s and 90s?
What was the next kind of wave that you were doing?
a nutshell.
(18:32):
So actually I started programming in 1970.
1971 was when I got my first job.
so I came to the US as a grad student in 1975.
And that was like this great big shift in technology because I was using these oldcomputers at college in India.
And I came to Carnegie Mellon Computer Science Department in the US.
(18:55):
And there we had deck tens and then
using them, using a terminal interactively, that was something that was completely new tome.
And then actually I went on to the University of Nebraska where we had like a personal APLmachine.
There's a programming language called APL.
we actually had a machine that ran APL and that was my first computer that I saw that wasa standalone desktop computer.
(19:23):
Yeah, so we moved on to that.
And then I went to work for uh
a company in Seattle called Fluke for many years, and we built electronic test equipment.
And I actually spent a good chunk of my time working on test equipment in particular.
For example, there's test equipment for the Boeing used in the 757 and 767 to test theradio altimeter.
(19:48):
So I led the software on that.
And it's a time of significant change.
we actually
retargeted a compiler that we actually did the first piece of test equipment that waswritten in a high-level language.
Until then, people had done it all in assembly language.
So we actually took a C compiler, and then we retargeted that from the 8080 to the Z80,and then wrote that.
(20:11):
And it was kind of interesting because we had 48 kilobytes of RAM and 16 kilobytes of RAM.
And so we'd write the software, and then we'd say, oh crap, it's like six bytes biggerthan 48 kilobytes.
jeez.
So then we would sit at it and we wrote a people optimize, know, and then we do peopleoptimization.
We'd say, okay, here's the sequence of code which can be shrunk by this little bit.
(20:35):
So we'd add that to the people optimizer and then it would run a compilation and then we'dsay, wow, okay, now we have 10 bytes to play with.
it is different.
oh
at that point you're trying to out-optimize the compiler.
We were trying to, well, basically as part of the compiler, we did a people optimizationphase at the end of the compilation.
(21:02):
so did that.
And then ultimately at some point, and I went on to work for other hardware companies thatwere doing software.
And then I realized back in the 1980s that I really needed to work for a software companybecause one of the problems of working for a hardware company, it's an accounting problem.
Companies are slaves.
to their accounting systems.
(21:22):
So if you think about it, a hardware company like Fluke, they would burden their laborcosts based on, because they had to have all these massive equipment for building
equipment.
And so let's say the labor costs they would charge is like, let's pick a number, oh $75 anhour.
(21:45):
Now, if you think about software in those days, you wrote the software, but then themanufacturing cost of the software.
is just you duplicate a floppy disk, you print it manually, shrink wrap it in a box, andyou ship it.
So maybe it's 15 minutes of time.
But if you're charging your labor at $75 enough, and there's 15 minutes of time that doesnot require heavy equipment, all of a sudden, you're going to conclude that software is
(22:07):
not a profitable business to be in.
And so I decided to move into the software world, went to work for a company that didelectronic.
test and measurement software.
In fact, that company had the first fast Fourier transform that ran on a PC and then movedinto databases.
(22:29):
They've been working in databases for the last 30 years and that's what Garadibi is, we'rea database company and you're basically making very high-end key value databases.
So what was that switch like going from like a lot of testing software to database?
was in, I mean, databases weren't new, but I do feel like databases have gone through alot of changes over the last 20 to 30 years.
(22:58):
Well, in our case, we've actually stayed with the key value technology just becausethere's a lot of software that was written back in the 1980s and 1990s.
I we still use that today.
One of the things that's fashionable these days is to say that this software is old, sotherefore it must be bad.
(23:23):
And that doesn't make any sense.
I the analogy I use is to like bicycles, right?
If you look at a bicycle, for one of my presentations, I have a photo of a bicycle fromthe 1920s.
And I have a photo of a bicycle from today.
And it's one of those things where if you were to see that bicycle from the 1920s, youwould have no problem riding it.
And conversely, the guy from the 1920s were to see the bicycle today, maybe he'd have tounderstand how gears work, but he'd have no problem riding a bike.
(23:49):
And so, old isn't necessarily bad.
And so one of the things that, at least in the database business that I've been in,
We run a lot of legacy applications.
of that code, parts of it may have been written in the 1980s, and maybe today it's 100times bigger than what it was in the 1980s.
(24:10):
But the code is something that is living, it has grown, it has a lot more functionality.
And we continue to insist that the code that is written in the 1980s continues to runtoday.
So it's very different from the type of database business that you...
you tend to see outside where, you here's something new, let's pick it up.
(24:35):
I would say databases is usually a little more conservative in wanting to try the newestgreatest thing because the closer you get to critical data, the more important it is that
that code is tested well and kind of battle tested in the real world.
It's also a pain to migrate.
Like migrations are so painful and they take so long.
(24:56):
Well, and among other things, you have to make sure that you migrated correctly, right?
If you have terabytes of data, you can't just say, know, CP from this file to this file,and suddenly you've got the database moved over.
So, and you know, we run, and especially because we're running in banking and healthcare,we have to also be very conscious about security.
(25:21):
So it's not just that it has to be right, because your bank balance is just a few bits ona disk.
it also has to have other safeguards.
So how do you, like maintaining databases and maintaining code bases for decades, like howdo you take a different mindset to how you're going to maintain something that long,
(25:44):
right?
Because there's so many things today that's like, maintain some open source project formaybe six months, a year, maybe a few years, but something like, hey, if we want to
maintain this for 30 years, what kind of things do you need set up upfront?
how do you maintain it through all the changes?
Because the world's changed so much, you know?
(26:04):
Well, certainly the...
Well, one is, of course, evolution.
mean, it's not like suddenly things change and something is broken.
But the, you know, the code base has evolved.
It originally, you know, if you go back 30, 40...
The code base actually is almost 40 years old when it was first written.
(26:26):
And it ran on a Motorola 68000 VMS computer system.
And then it was migrated to a VAX and then to an alpha.
And then it was migrated to UNIX.
And then like 25 years ago, we migrated that to Linux.
And so with each of these migrations, there's certainly evolution that comes along.
(26:48):
But part of what you have to do when you maintain a code base with that law is, well, letme take a step back.
and talk about software testing, right?
So if you want to maintain code for that long, you've got to have a lot of testing thatgoes with it.
So the goal of testing is not just to prove that the software does what it's supposed todo.
(27:09):
You also have to prove that the software, you have to have confidence that the softwaredoesn't do what it's not supposed to do.
And then the question is, how do you have that confidence that the software is not doingwhat it's not supposed to do?
Because you can't possibly test for all of those things.
So the way that you do that in practice is you test that the software does everything thatit's supposed to do, as well as a few diabolical cases that you throw at it.
(27:34):
And so even if you make a small change somewhere, you still have to go through the entiretest cycle to convince yourself that you haven't broken something somewhere unrelated.
So there's a certain mindset.
There's a certain way of writing software.
You tend to stick to
(27:55):
Let's say non-APIs, you don't necessarily go chase the newest shiny thing that comesalong.
So those are all the ways that we keep the oh lasting for a long time.
And I think that if it's properly written, it should still be running 100 years from now.
I won't be around 100 years from now, but the code should still be around and still berunning.
(28:19):
One of my favorite parts of talking to you so far is people won't be able to see itbecause of podcasts, but you have just the kindest face.
And when you talk about the technology, you still look excited.
And I love that because people will be like, well, what do you want to do when you retire?
And I was like, I hope I never retire.
I don't want to work nine to five forever, but like, I hope I get to kind of always playwith technology and.
(28:43):
Yes.
things and from enjoying it.
Yeah.
Yeah.
and enjoyment.
How have you, I guess, pivoted?
I've watched your talks long ago just because being in the database world.
And the way that you speak of technology just makes me excited about it.
How have you kept that excitement?
(29:04):
Because you do great things.
You advocate for open source.
You advocate for access to like in...
uh
Allowing people into IT technology like you've done a lot of so many amazing things inyour career and you still have that same excitement Like you just started yesterday.
How do you keep that going?
Well, there are two reasons to be in business, make money and have fun.
(29:26):
you know, you have to, with the make money part, you you need enough to keep a roof overyour head and put bread on the table, but I'm not out to, you know, buy a Caribbean island
or something like that.
And, but the fun part is, you know, I found something that I enjoy doing.
And once I found something that I enjoyed doing, I kind of stuck with it.
(29:49):
And what I tell people is that,
I would like to keep writing software until it's time for me to be carried outhorizontally because that's what I enjoy doing.
And that's my bucket list and I'm able to do that.
So it's not right for everyone obviously, but it's right for me.
(30:10):
They say that if you, oh, they have that saying like, if you do what you enjoy, you neverwork a day in your life and your face just like, I hope to have a career that's half as
cool as yours where I still look that excited.
Like what is it that you love so much about databases and open source?
Because like you are just such a component for Linux databases and open source.
(30:33):
And I love the quote where you always say that open source is good for business.
And I think we're kind of in a weird spot in open source right now.
So like, I would love to hear kind of like, what keeps bringing you back to that and likewhat joy you find in databases and open source in Linux.
Well, databases just happens to be something that I stumbled into when I was looking for ajob.
(30:54):
And then it got me interested.
And once I got interested, I kind of stayed interested with it.
But what I like about open source is that it transfers power from the hands of thedeveloper to the hands of the user.
And that was brought home to me when I was running a small business in Massachusetts manyyears ago.
(31:17):
bug tracking in our software, had this software that cost like $1,000 or $2,000 orsomething like that.
I forget the amount, but it was something that a small company could afford.
And then that company got bought by another company that got bought by a bigger company.
And suddenly this $2,000 piece of software became an enterprise software with like aquarter of a million dollar entry price.
(31:43):
And about that time, I was also
I started using Emacs, I was influenced by Richard Stallman and some of the work that hewas doing.
And I realized that you really need to shift the balance of power from the developer tothe user.
(32:03):
And the way to do that is open source or free software, free as in Libre, not free as inBeard, though the two go together.
And so that's how I sort of became a convert to using open source.
Now the transition to doing open source as a business came later and that was mostly, Iwas working for this company, our software was proprietary and then we got bought by this
(32:31):
other company because they wanted the technology, they were our biggest customer.
And they didn't want to market that software, they just said we'll continue supporting ourold customers.
But then what I could see was that over time,
And this goes back to like 2000.
Over time, what would happen is that as the bar for quality kept getting higher andhigher, if the number of users stayed the same or shrank, then eventually what is going to
(32:59):
happen was that you're going to be spending all of your time on quality and on testing andless of the time on the software itself.
So we had to expand the user base.
And the parent company was kind of skeptical about open source, but I said, hey, let's go.
open source, let's release the software, we'll get a lot more users.
(33:19):
And so they went along with that and surprise, surprise, all of a sudden, we got a lotmore users and some of those users turned into customers because they were running these
critical applications and needed someone behind them.
And that was when I became a fan of open source as a business.
(33:39):
And frankly, what we do is we sell peace of mind.
So if someone is using our software and they're using it because their business depends onit, they need someone behind them and by having us behind them, they have peace of mind
and that's what we're sailing.
I wish.
a lot of these are, right?
Especially open source where the lower in the stack and the more critical the software is,the more people need to be able to sleep at night knowing that database is gonna have my
(34:07):
data tomorrow, right?
exactly.
people would like remember what you just said about open source because I think thateverybody is in this rush to change licenses on people and they forget the reciprocal and
like relationship people that there is with people being your customer and contributing toyour code base and using your software.
(34:29):
Sure, and in fact just using software has value because if you use the software and youreport issues, that has value to a software developer.
Yeah.
You said you were influenced by Richard Stallman and I just recently read the Cathedral inthe Bazaar about open source uh software as opposed to the Free Software Foundation and
(34:55):
what Richard Stallman was doing.
How did you see that play out in what businesses were thinking?
Because when I think of open source software and kind of the boom, I think of...
not Mozilla, you know, like the browsers, the browser wars in the nineties where there wasthese open source options of like there was internet explorer and Microsoft, and then
(35:16):
there was the open source version.
And that was really how like people saw open source could be a business.
Cause there was this thing that was challenging the big monopoly.
How is that?
How have you seen that change over the years?
Well, actually, interesting that you mentioned the Cathedral of the Bazaar because ESRjust lives a few miles down the road from where we are.
(35:37):
if you know him, him come on the show.
I'd love to talk to him.
Well, I sort of know him.
I gave him a ride once to the Southeast Linux Festival many years ago.
oh Sure, I'll mention it to him.
send him an email.
No, I think the big cultural change, if you remember Steve Ballmer many years ago sayingLinux is a cancer, and then many years later, you
(36:08):
Satya Nadella says, we love Linux.
So I think that really summarizes the cultural shift that has happened where people sawopen source as a threat.
Now they see that as an opportunity.
And the sad part is now they see taking the software, you have these open core licensesand openish licenses which aren't really open source, but which source available licenses.
(36:37):
So that seems to be going in the opposite direction.
But I can see why people want to do that because certainly making money in the open sourcebusiness is hard.
But then making money in any business is hard.
If I were running a restaurant, think making money in the restaurant business would behard.
Very true.
I just want to say that talking to you is a joy.
you just, your energy just like totally makes me like so excited.
(37:00):
What got, what started you with your love for Linux?
Like what made you, what drove, what attracted you to Linux and what's kept you there forso long?
So it's open source Unix.
So I've used Unix for many years.
In fact, my first personal computer was a Unix computer.
It was an AT &T 3B1 that had like a 40 megabyte disk and two megabytes of RAM or somethinglike that.
(37:29):
And it ran Unix.
And then when I got to Linux, the first Linux I got was actually a Linux that
the entire Linux was on a floppy and you booted off the floppy and you ran it and it gaveyou a shell.
So it is like, cool, here's this Unix system.
I have access to all the source code, I can play with it and that kind of got me intoLinux in the first place.
(37:54):
And so I kicked the Windows habit probably around 1999 and...
You missed XP.
That was a good wave.
will actually bought a used laptop once it had XP but then I installed Linux on it.
that's good.
(38:14):
What do you, if you had to pick one part of your career, what was like, like what was themost exciting, I guess the highlight or what would you take away if you had to tell like
your younger self about like this career that you could not have imagined?
Like.
Oh, that's hard to say.
think that I've enjoyed every bit of it.
(38:36):
I've actually changed jobs very few times, only three or four times in my entire careerbecause I've enjoyed doing what I do.
So what I would tell my younger self is just to keep doing what you enjoy.
Do you have any, oh, sorry.
(38:57):
to what you said about being in business, it's you're making money or you're having fun.
And I feel like in a lot of ways that second piece on having fun is not what you're doing.
Like you're making fun too, right?
Like you are creating the fun you want to have.
You are making money and you are making fun to be able to enjoy this, right?
Cause we can make work into a lot of different things and we can say, oh, this sucks.
(39:19):
I hate everything.
But if you kind of go into it with excitement and wanting to learn the things and wantingto push yourself, you get to make your own fun.
And that's really cool.
That's what my kids do all day, every day, right?
They get to play with their friends.
They get to create fun out of nothing.
Sure.
You have to.
a parent, I think remembering that.
I always, you know, even when I was a kid, I would fiddle with stuff.
(39:44):
So back in high school, in high school biology, I was in ace at dissection.
And that was a time when, you know, Christiane Barnard and Denton Cooley and others weredoing their first heart transplants.
So I said, you know, this is cool.
I could do a heart transplant on frogs.
(40:04):
So one...
one evening I found two unfortunate frogs in my backyard and I found that it was mucheasier to take a frog apart than to put it back together.
I mean, I feel the same way about my VCR when I was a kid, but man, a frog, that's...
(40:26):
Well, so, you know, I've got other stories like that too.
You once I opened my watch, I had an old mechanical watch from back in the 1960s and, youknow, I tried putting it back together and I had enough pieces left over for the second
watch.
For sure.
(40:46):
How does that apply?
I feel like that happens in software too.
In software, I go to refactor something and I'm like, why do I have so much left overhere?
sure, that's absolutely true.
It's understanding how things work, whether it's software or whether it's hardware orwhether it's an animal.
It's understanding what makes things tick.
(41:08):
So help me understand YodaDB a little bit, right?
Like that's the code base and the company that you founded, you've been working on for solong.
Like on the website, the fastest key value database, right?
Like what makes it that fast?
Why does it function in that way?
And why is that something you've been doing for so long?
So, I mean, what makes the RDB so fast, I think, is just it's an obsession with speed.
(41:35):
I mean, actually, speed is second.
The first thing is it's an obsession with correctness.
Because if the software doesn't have to be right, then you can make it arbitrarily fast.
oh So, know, speed comes first.
But we do obsess over speed.
And even from one release to the next, if you see any kind of slowdown, we go through, weanalyze why it is that way.
(42:02):
It is just something that we do naturally.
And so right now, the next release, for example, we're looking at rewriting the garbagecollector oh just because that's a potential opportunity.
So I think that that's where it comes from.
And again, the way that it was developed, it was developed at a time when computers were
(42:25):
know, a thousand times slower than they are today.
And when you do that, then you naturally focus a lot more on performance and that kind ofcarries through in the code base all the way to today.
Now key value data stores tend, like I know a lot of people that treat them redis, right?
(42:45):
It's a cache.
I don't actually care about the data.
It's throw away information.
I could rehydrate this somewhere else.
But then I also think on the other side of that on things like Kubernetes and etcd,another key value database that's really important, but also uh intentionally.
fault tolerant for being distributed, right?
We want something that's distributed so that we don't ever lose information.
(43:07):
And on the other end, we have this, I don't really care about it, I just want it in RAMand it can go away at any time.
Where does YodaDB sit in that sort of scale?
a third dimension to that, which is that you do care about the information, but in ourcase, we also care about, so say, let's say, know, distributed database.
You're never going to get high transaction performance with the database.
(43:31):
In our case, transaction performance is absolutely important for high-end banking systems.
And at the same time, you know, having the data be
The integrity of the data is is bad about.
So we have different techniques for doing that, basically replicating in real time todifferent replicas, but having one system be essentially the system of truth at any given
(44:00):
instant.
comparing it to Redis, though, people often use Redis as a cache.
Now, in our case, we're faster than Redis and we're a database, so you don't really need acache.
uh
You just use the database directly.
And I think there was a question that you had when you didn't actually articulate it, butyou were kind of wondering about key value databases.
(44:22):
It's important to remember that the very first databases were actually key valuedatabases.
In fact, the very first database was a key value database.
It was developed by Rockwell and IBM for the Saturn V Apollo to manage the bill ofmaterials for the moonshot.
and it was developed in the 1960s and that was a key value database.
(44:45):
And that database, by the way, is still running today.
It's an IBM product called IMS.
And, you know, and then, so go ahead.
why did they write a database?
Like I don't actually know the history.
like I imagine we start with files on disk and we just say, we can't have two things rightto the file on disk.
(45:05):
And so we need something else to handle deletions and whatever, like locking, whatever thecase may be.
And so at some point we like changed from saying this file that I'm writing to is now adatabase.
Well, it's not just the access control.
It's also the fact that you need to search and retrieve data.
(45:28):
So yes, in theory, you can just take a flat file and any flat file as a database.
But on the other hand, finding information in that flat file or updating information inthe flat file can be challenging if it's a big file.
And that's where databases come in.
(45:49):
At some point we, I mean, there's still files on disk, right?
At some point they're like, there's bits on a disk, but how I index that's how I make sureI can quickly access the right information and update or write new information.
That's exactly what the database is.
And ultimately, as a database developer, we rely on the integrity of the underlying filesystem.
(46:12):
So if the file system gets corrupted somewhere, then we can't really use it.
Because when we write data to the file system, we expect to get it back.
I bet you have some stories there about file systems that didn't give you that data.
Well, mean, today there are only two file systems that we consider fully supported, EXT4and XFS.
(46:36):
So we consider F2FS kind of supportable, but not necessarily supported.
we tell our customers we don't support ButterFS, we don't support ZFS, we don't supportNFS, because we have found in our testing that they're not always reliable.
That's fascinating because I always think of ZFS and ButterFS as having more checksums andmore, you know, they have protections against bitrot and all these things that XFS and
(47:06):
EXT4 doesn't have.
Well, in our testing, we routinely run, we've got a couple dozen computers out here, we'reconstantly testing.
And we have found situations where ZFS and buttered AFS basically don't give us the datathat we expect.
Hmm.
That's fascinating.
(47:28):
even thinking back on before we had journaled file systems, with whatever you werewriting, you hope it wrote to disk before the power goes off, right?
Like there's a lot of situations that we've come a long way in those areas to make surefile systems were pretty reliable.
Oh, actually, I do have a story on that, in fact, which is that when the upstream codebase first went into production back in like 1986, someone accidentally at a data center
(47:58):
kicked out the power cable of the computer system.
And they found that there was a bug and there was like two or three weeks of data whichhad not been recorded in the database.
So the vendor actually sent all of the team down to
the customer site and unfortunately that time they still had the paper records.
(48:19):
So basically everyone had this crash project to go put the paper records back in thedatabase and also fix the bug in the database so that everything got written out to disk.
We started this conversation talking about having difficulty with things occasionally andstill trying to learn new things and banging your head on the wall, trying to figure out
(48:45):
like how things are working.
What are the things today that you might still struggle with learning or trying to pick upwhen you're building it?
Well, mean, certainly one of the things that I'm struggling with right now is AI.
I find that it's useful.
(49:06):
sometimes when I, you like I had to replace my laptop battery over the weekend and I waskind of wondering why the old battery died after just two years.
And I went to do some research and found that, you know, I shouldn't charge it to morethan 80 % if I...
So then I said, how do I keep it within that limit?
(49:27):
And basically I went to, I asked a couple of different AI models.
Ultimately I find DeepSeq to be the easiest one to use for me, but it gave me goodinformation.
But where to have the problem is understanding what it's doing, what it's been trained on,how is it giving me that answer?
(49:48):
And it doesn't seem to know its limits sometimes.
Yeah, for sure.
It's so confident in the information it gives without knowing where the boundaries of
Right, then something like my laptop battery, not particularly important.
I also asked it about recipes for pasta sauce when I was cooking dinner a couple of nightsago.
(50:13):
It did all that well.
But then when you think about using AI to predict, some people are trying to do this,someone who is going to commit a crime before they commit a crime.
you
or you have face recognition software where it's been trained well on, let's say, whitemales, but can't really tell other people apart.
(50:39):
And there are enough cases of mistaken identity.
So those are the kinds of things where I'm certainly concerned.
I don't have a good grasp on it, and I don't feel that we as a society have a good graspon it.
or at least the people that have any sort of graphs on it have uh a vested interest inmaking sure other people don't understand it, right?
(51:01):
Because as soon as it's not magic and it's just a technology.
they kind of lose power of being able to train on whatever data they want.
Because right now, looking at what they train on is copyrighted material.
And they can spit out that copyright.
They're like, oh, no, we have to have this because you don't understand how AI works.
And then at the end of the day, it's like, no, that's what Google did back in the day,where they just said, we're going to scan every book.
(51:26):
And then when you sue us to say we can't scan every book, we're going to say, oh, OK,we'll stop.
But we already have the books.
We already have the data.
We're fine.
We'll keep.
Well, and the other thing is AI certainly has had a whole bunch of, know, hucksters comeout there that say we can, you know, here's all this magic that we can do and trust us
it's going to work.
(51:48):
Yeah.
Yeah, and again, a vested interest in making that money and making those promises thatthis will grow forever and they can do anything they can.
But at the end of the day, LLMs, at least to some extent, are fancy databases.
sure.
(52:09):
and rely on a lot of that data uh structured in certain ways.
uh I've been learning a lot about vector databases and just like, what do they do?
How do they store data?
Why is it important?
And why did we even need a different type of database for this sort of thing?
So yeah, that's very fascinating.
oh
about because if you think about YaraDB, we have a, at the core, core technology is a keyvalue data store.
(52:36):
And on top of that, we've, for example, we have a SQL layer.
Ultimately, a key value data store is the most general type of data store.
And so we can put SQL on top of it.
I've been thinking about what would it take to put a vector database layer on top of it?
And which one would we want to be compatible?
(52:57):
So it certainly is something that ultimately, when you have an AI system, there's a largevector database somewhere that's actually storing the data.
And they have some efficient access to that data to make it work.
Do you think it's a fad?
AI vector databases?
(53:18):
No, it's not a fad.
I think that what will happen is eventually people will realize what the limits are.
oh But they're still useful.
They've proved their usefulness.
And once something is useful, it's not going to go away.
It's just that people will keep pushing it.
(53:39):
when it gets to the limits, then people will move on to something else.
I kind of like search engines, right?
When search engines were great, people used them, they kept pushing them.
Then they said, with search engines, can now, Google came along with Gmail, and they camealong with, and some things worked like, Yahoo came up with the idea of a portal, but that
(54:02):
didn't really take off from a business point of view.
But ultimately, we got to a point where people realized the limits of search engines, andthen comes along AI, and that's something that, if you think about it, it's like something
that sits on top of a search, on top of many search engines.
Yeah, I've been thinking about that a lot.
think that to me, AIs are kind of a search engine 2.0, right?
(54:24):
where search engines, looking back even further, like early internet days, right?
Like they were manually curated lists of websites that, know, Yahoo kept and said like,here's the websites you should go to to find some information.
And then AltaVista and stuff like, oh, you can dynamically find this information.
And we'll make that a little better by making you, give you the most reputable source forthat information, right?
(54:48):
That's where we kind of ended with Google.
And I feel like the demise of Google as a search engine specifically,
place for AI being the next search engine where I don't actually care on what one websitesays about a pasta sauce recipe.
I care about what a hundred websites say about a pasta recipe and just give me thegrouping of that thing and right now they're obviously very wrong.
(55:11):
There's been plenty of cases where
Gemini says put glue on your pizza and do things that are completely absurd but in generalin that probably is like the weights for those systems are like Over indexing on what they
think has more authority like reddit reddit has a lot of authority because there's lots ofpeople there but it's also very sarcastic which is where that stuff usually comes from and
(55:33):
so I think that that
AI systems eventually become that sort of, don't want to go to one link.
I want to get a summary of 50, the next three pages of links, and you just tell me whatthey all said together in one summary and just give me the grouping of it, right?
Like the nine out 10 doctors recommend sort of thing, instead of going like, I'm going topick this website for that specific thing.
(55:58):
I just want to know, like, what do they generally all think?
Sure, in fact that's exactly it.
If you go back to, you know, mentioned AltaVista.
One of the problems with AltaVista, at least for me, that when I switched from AltaVistato Google, was like I do a search and it would come back and say here's 60,000, you know,
websites that answer your question.
(56:19):
And Google on the other hand, because of the page rank algorithm, you know, you probablygot 10 links which were useful.
even the fact that Google put like they still have it.
I'm feeling lucky, right?
If I go to Google, I haven't been to Google.com for so long.
just yeah, the second button, I'm feeling lucky.
Like that was the unique thing of like, I will give you the top.
(56:40):
It still exists on their website today because you're right they over index where Yahoosaid we can curate a bunch of lists But that was a limitation on people managing or
reading stuff altavista came along said hey our database is so big You can't even believeit.
We will give you a hundred thousand links for this thing and Google said I'm gonna giveyou one Right.
I used to Google stuff and say I'm feeling like no one does that today I don't know whythat button still exists But that was the that was the selling point was like we could
(57:06):
take all of the database of we do have a hundred thousand things But we're gonna give youthe one
right thing and and maybe Jem and I should have just been the I'm feeling lucky button allover again right like that's we're all back to that point of like I don't care about the
one link though I care about the grouping of what all the links thought together
How do you know the Gemini isn't that I'm feeling lucky but they put a language thing infront of it?
(57:29):
Yeah, it very much, it could be.
Batch guard, this has been so much fun.
Thank you for coming on the show and talking to us about just everything.
Like all of your experiences, what you've been doing with YodaDB, uh why it matters.
Like why is it still even in the year 2025, like why high performance flexible databasesare just kind of important.
(57:54):
That's been so much fun.
oh Thank you for inviting me.
It's been fun talking with with Otto Menu.
Yeah, thanks so much and thank you everyone for listening.
We will talk to you again soon.