Hi, and welcome to another special episode of my podcast. I'm sitting here with Chris this year, he works at an interesting names company, super mega ultra groovy, actually practiced that a couple times. So before the recording, and, and their main product is capable. And so Chris, you work at this company? Is its self employed? Are you the only person at the company?
Chris Liscio:I'm the only one. Okay, and me and my wife, but I'm the only developer.
Jeroen Leenarts:Yeah, and what's the role of your wife within the company.
Chris Liscio:She does everything but the code. More recently, her role has expanded to include more like, formal kind of QA type stuff. So I've been bringing her on to sort of a developer support role of sorts, where I can send her builds, and she gives me really good feedback on, you know, issues and stuff that I missed during development and, and sort of brings a fresh set of eyes, you know, yeah. If you've ever had an experience with beta testing, you send out a beta build, and nobody realizes all the things well, yes, you get no response. But when you do get response, it's just the act of putting it in somebody else's hands exposes so much stuff that that you miss on your own machine or machines. But yeah, I wanted her to do formal QA because of the other issue that you raised, which is, sometimes it's crickets.
Jeroen Leenarts:Yeah. And also, she probably has a vested interest in the success of the product. Exactly. That helps, that helps a lot. And so Kebo, what does the product do?
Chris Liscio:Capable is intended for people, musicians who learn songs by ear. So anybody who's sort of driven to learn to track that they've either heard for the first time, or they've known for years and wants to actually sit down and figure it out, by ear on their own independently, I think independently is the most important aspect. Kpop is a tool that, that helps you achieve that very easily through various means.
Jeroen Leenarts:Sounds complex, to me, at least because I'm not another musician, myself. So how do you help a musician with their process of learning the music by ear.
Chris Liscio:So that's sort of a wide ranging task, because every musician is different. So if you think of it, sort of like a spectrum, where you have, on one end of the spectrum, you have musicians who've been doing it for forever. And they don't really need many tools, if any, because they'll literally hear something for the first time, but their hands on their instrument and repeat exactly what they heard, because they're that familiar with their instrument. And they can kind of identify things that are happening at full speed, as you encounter sort of more difficult passages. And maybe you're more of an intermediate intermediate musician. One of the tools that Kebo offers is the ability to slow down playback without affecting the pitch of the audio. So the benefit of that is, when you slow down playback, first off, you can hear the notes that are going by too quickly. But by maintaining their pitch, you have time to sort of find the actual pitch on your instrument, be it a piano or guitar, and then you can kind of pick up the notes from there. That's one of the many tools. There are other tools that go hand in hand with those kinds of functions, which are things like looping and being able to adjust the key independently of the speed. So you can if your instrument is tuned differently, or you want to sing in a different key of the song, you can adjust the song without manipulating the speed. So you have two independent time and pitch controls. Which in 2021 isn't a very impressive sounding thing, because it's been around for decades at this point. But in addition to those tools, I've taken it way further. And I offer things like machine learning driven chord detection, and beat detection and stuff like that, which sort of helps speed up the process for somebody who's maybe not super advanced in their ability to pick out chords, like immediately, and some folks who can do it, but maybe require a bit more time to do it and just need to rip through a bunch of new songs, say for a gig on a weekend, you know, a cover band kind of situation. We give them the ability to do that kind of thing much more quickly with tools like that.
Jeroen Leenarts:So what that actually mean that if you have a song that you could actually pick out the bass guitar track and make it clear what the bass guitarist needs to do to actually play along with the entire music piece.
Chris Liscio:Don't do any automatic isolation. But I do offer isolation tools, which allow you to kind of narrow in, it's much more advanced than just queueing it out. It's sort of E cueing, plus some picking pan type stuff as well. But you can do that kind of isolation, to help you sort of identify individual instruments in a mix. So yeah, that's, that's one of one of the things that it allows you to do as well.
Jeroen Leenarts:So on the technical side is the it's it's iOS app, or it's the Mac App.
Chris Liscio:It's both. It's both started on the Mac. So
Jeroen Leenarts:it's a lot of core audio, I think that you're using
Chris Liscio:awful lot of core audio. Yes.
Jeroen Leenarts:So if you would look at the app, and you have like the source code for the user interface and the source code for the other stuff. Could you like categorize the amount of source codes on various sort of known API's within your code base, so you have core audio UI kits, and the percentage that's attached to that, roughly,
Chris Liscio:I think that's difficult to do. The reason being that, I would almost say it's pretty much evenly split between everything that's in there. So for instance, you've got like machine learning stuff that depends on the metal performance shaders framework very heavily. And that component is quite large and extensive. And half of it is sort of in the app, and half of it is in a whole machine learning training environment that I developed myself for this task. So only a small portion of that code is is in the app.
Jeroen Leenarts:Yeah, only a whole lot of code, only the end result. But to create that beta, right? Yeah.
Chris Liscio:From an audio engine perspective, there's actually not a whole lot of physical lines of code that comprises the audio stuff, because I mean, there's a, there's a lot going on there, there's a lot of code. But I don't think of it as a lot of code, because it kind of boils down to a pretty narrow set of components. Like I think of an audio engine, even though it's like a very vast and wide and deep thing as conceptually kind of a small thing. Whereas I look at the UI layer as quite intense, especially when you consider things like the practice song view, which is sort of the main song view of the app is like a massively custom collection view layout, which involves a bunch of dirty tricks to pull off the UI in Kebo. And that just took a lot of heavy lifting. So the lines of code of all that mess, is very similar to the lines of code of the audio stuff. But I feel like the audio stuff kind of deserves to have that many lines of code. So it, it feels right. So they might physically be equal, but I almost view the audio code is sort of smaller, because in terms of how big audio engines can get, it's not as crazy, as I would imagine, where is my UI code? I would expect UI code to be many fewer lines of code, yet it took me so much effort to pull off what I think should have been a lot easier to do. If that makes any sense.
Jeroen Leenarts:Yeah, of course, because and if you look at them, source languages that you're using, I recommend you use maybe some Python for the machine learning.
Chris Liscio:Actually no. So that's kind of a sticking point for me. From past work I've done with things relating to signal processing and math, and converting to code. In the past, I used to work very heavily in MATLAB, if you're familiar with with that environment. And so I would do a lot of sort of r&d in MATLAB. And then I would get to a point where, okay, I have an idea of the math that achieves this task. Now I have to sort of rewrite all this matlab code in at the time, say Objective C, and C, and then figure out how to get that all going. And oh, by the way, there are idiosyncrasies between the MATLAB way of doing math and the accelerate framework way of doing math. And then you're constantly trying to fight with those, you know, conventions that you may not be aware of between the two and, and so you spend a lot of time first off writing the code sort of twice. And then second, playing, you know, find the math bugs, which nobody wants to do. It's not fun work. And it's a lot of debugging and a lot of dumping data and comparing vectors and it's not fun. So when I develop this machine learning stuff, sort of for the latest iteration, I was very aware of the fact that I was facing a situation where in my specific case, I had very not unusual but certain Have narrowly focused machine learning needs that weren't so common that it was sort of a drag and drop between the Python world and the core ml and, you know, apples world. So I knew I was in for this kind of situation, again, where I'd have to be repeating myself twice, writing a lot of custom TensorFlow, and then a lot of custom, you know, Python and Objective C, and so on to kind of get it going. So I thought, you know, what, if I'm going to put all this work in, I might as well kind of write the engine once in, you know, my target code, but also go that extra step of using Apple's API's for for the training stuff as well. Definitely a harder way to go about it. But I think long term it was, it was a very, at least a fulfilling task. Hopefully valuable.
Jeroen Leenarts:So what language is, is the product comprised of?
Chris Liscio:It started as Objective C, because there was no other option. And once once we got swift I kind of dove in pretty early. So it's been a mixed project ever since Swift, 1.0. And, yeah, that like the machine learning stuff I'm talking about was done 100% In Swift. I think this was mostly around the Swift three point something timeline when it started and, you know, moved into Swift four, and then now five, point, whatever.
Jeroen Leenarts:And you're also using some swift UI already, or I
Chris Liscio:guess, I went pretty heavily into Swift UI for the new stuff that was added in 4.0.
Jeroen Leenarts:And that's a quite recent release at this moment. Right? That's correct.
Chris Liscio:4.0 came out sometime in November. I can't remember exactly when it was a bit of a blur, because it was sort of happening around the the M one press embargo lifted. So it was it was a real whirlwind around that time.
Jeroen Leenarts:And also, you mentioned the the M one release is capable, ready for Apple silicon?
Chris Liscio:Absolutely, it was it was ready as soon as it could be ready. So
Jeroen Leenarts:where there are a lot of challenges, because you probably did a lot of low level systems programming for the product.
Chris Liscio:Because I already ship across Mac OS and iOS. Everything already pretty much compiles for ARM 64. So the the number of sort of roadblocks I hit were very few. And I'd say any roadblocks I hit were the same roadblocks. Most developers would have hit, you know, things. Like if you had to make a custom build of open SSL or something like that, you know, little tiny things. Nothing. There was nothing that, you know, I compiled and I looked at it and was like, oh, no, I'm in trouble. There were things I was worried about. For instance, Capel on Mac OS, still has some heavy use of OpenGL as part of the main UI. And I've yet to port that to metal. And I'm kind of waiting until I absolutely need to do it. Just because, you know, working code is working code. I don't want to rewrite it until it's absolutely necessary. And and I was really, very pleased when I learned that, you know, OpenGL just worked out of the box, no problem on Apple silicon,
Jeroen Leenarts:that's good to hear. And the 4.0 release was a was a stable, successful release, or were there some issues that you still had to fix? Or
Chris Liscio:no QA caught all the major stuff early before it went out? You know, we had a couple, there was one really nasty crash on iOS that that hit us by surprise, just because we lacked, you know, we try to keep all of our any old devices, any old iOS devices, and we run QA on as old as devices we have. But they're, you know, a few holes in what we have. And oddly out of out of everything. There was a weird crashing bug on the iPad Air. Were trying to remember now what it was. I think it was related to the machine learning stuff, where I had assumed that the machine learning stuff was available on iOS 12 and above, on all hardware, but it turns out that there's a small set of devices that can't use that API, and things blew up in the wild. And I had to get that patched ASAP.
Jeroen Leenarts:Okay. And when the book was signaled, what was your turnaround time?
Chris Liscio:Oh, like, within a day or two? I'd sort of getting it figured out. Yeah, yeah.
Jeroen Leenarts:And what was the response on the affordable release?
Chris Liscio:So far, so good. This was an interesting release, because I'm a developer that switched from a paid upfront business model to a subscription business model years ago. And at the time I made the switch. None of my existing customers needed to subscribe and in fact, today, they still Do not need to subscribe at all, I made a decision that I would always keep giving them free updates to the original feature set that they paid for forevermore. So for instance, version four got this whole new neural network powered chord detector. And all of the previously paid customers got that for free. As part of this update, however, there were new features that were added that for the first time, those existing customers that had paid previously, if they want to access that subset of features going forward, they would have to subscribe. So I was a little nervous about how that would be received in this release, and so far, all the feedback that we've got has been totally positive. It's it's been a mixture of, you know, saying nothing, which I take as positive, and actually reaching out and saying, you know, I'm so happy to support you, folks. You know, I'm really excited to use these new features, you know,
Jeroen Leenarts:and keep the coming, please. Yeah, exactly. Exactly. Yeah, that's always good to hear that the switching and business model is actually working out for a software developer.
Chris Liscio:Yeah, it was, it took a lot of work, though, you know, I did have to achieve that. You know, that fact that those people who did pay once, I'm not changing the game on them at all, like, the rules are still the same. As far as you folks are concerned, you were paying once for something and you expect updates to that thing, I'm not going to change the rules of the game. At this point, you're going to keep getting that I made the mistake. I'm gonna have to pay for it. So enjoy. And hopefully I can entice you to subscribe in the future.
Jeroen Leenarts:Yeah, because the product features that you actually bought at a single purchase, is it's not being left behind. But right, the pie with all the tasty new bits is growing bigger and bigger with each release.
Chris Liscio:Right. And this was only the first one. So you know, I expect over time that number of existing users who kind of jump onto the subscription train will grow over time as we continue sweetening the deal.
Jeroen Leenarts:If people want to find out more about Kebo, where should they look,
Chris Liscio:first places Keiko app.com C AP to AP p.com. Or just search for Capel on the App Store and cross your fingers that on the first result. And then you know, grab a copy, it's free to download and try on both platforms. And actually, in version 4.0, we give away a lot of functionality for free compared to previous releases. So you get a lot of functions out of the box without having to subscribe at all.
Jeroen Leenarts:Okay, I will make sure to put those links in the show notes, right people that are listening, you can find them there. Now, let's talk a little bit more about you, Chris, the developer, are you a musician, turn software developer or a software developer who has grown interest into music.
Chris Liscio:That's a mouthful. I am neither I kind of did both at the same time, all along. My exposure to music was totally independent. I wasn't like I never had lessons or anything. As a kid, I was sort of around, you know, cheesy little digital keyboards growing up. I remember, I can't remember if I was like around 10 years old or nine years old, I got like an old cheapy Casio keyboard. And I would play with that thing like crazy all the time. You know, I wasn't Mozart or anything like that. I was just picking out little, you know, monophonic melodies and stuff like that. And I would sort of play things that I would hear by ear and kind of mimic them and do stuff like that. But you know, nothing spectacular. I was just a kid over at the same time I was getting into computers and stuff like that. And I was a PC kid growing up. While I was a cocoa kid. First, I had a Tandy cocoa three as my first computer. But I couldn't really do much with that thing. until sometime in sort of my early PC life. I had a sound card that had a MIDI port, and I noticed that my cheesy keyboard had a MIDI port on it as well. And that sort of triggered something that I was always into sort of that mixture of tech and, and music stuff. But for some reason I was never particularly great at the music stuff. I was just always sort of into it. And, you know, I got into sort of my early work on music, I guess was more sort of in the tracking space like MMA trackers, Scream Tracker future. No, what's the other thing called Future tracker? Trying to remember the one I used to use the most. Anyway, I think they're XM files. Yeah. Yeah. Okay. So I spent a lot of time with that. And that had me really into sort of the tech side of the music. Stuff I was really into music tech, I distinctly remember working on like little toy pieces of code that would, you know, emulate like a 303 synthesizer, like a bass synthesizer thing, and, and writing little filter things and stuff. Like I had no idea what I was doing. I was just, I want to know how these trackers work, I would have loved to work on one of those things. You know, if I was, you know, of a reasonable age back in those days, it would have been a cool thing to work on. And, yeah, I was just always very interested in that intersection of sort of technology and music. I did make music I did do, you know, sort of electronic music type stuff. But I never was at a point where I thought, you know, I'm going to be a musician. I never played in a band. I never really did anything like that. It was always an independent endeavor. And it was mostly sort of self enjoyment stuff. But that sort of attachment to the tech coding side of, of music was, was strong and wasn't letting go me.
Jeroen Leenarts:Okay. I think you meant fast tracker. Faster after that. Yeah. Yeah. And let's grab back a bit to all the things that you've said. So you mentioned that you got started with computers on a machine called a cocoa.
Chris Liscio:Yeah, the Tandy Color Computer three, okay, also known as the cocoa three, okay, I was around nine years old. So that was probably 89, around 1989. And I think I got it for Christmas one year, and you had to type all your games in, you know, it's, it's a very common sort of theme among developers just kind of came up in the 80s, you know, ones that were fortunate enough to have computers. That those were the kinds of things we played around with. I remember my school had Commodores. And this is kind of a real deep cut. But in the province of Ontario, in Canada, there was a custom computer that was used in all the labs in the schools. And they were called icons. And it was some kind of a, I think it ran in at 88 CPU, or at 86. And it ran the Q and X operating system. It was really weird. And it was it was sort of like a dumb terminal kind of setup. But we had like a bunch of games. And there were a couple little programming things on I think there was a distribution of logo that ran on it. And so as in school at that time, sort of in the 80s and 90s, I was sort of playing with those kinds of computers. I wasn't in an environment where we had teachers who could teach us that stuff. It was just, oh, it's computer time, you know, play some of these educational games. But then you'd have the odd kid that would sort of huddle around and say, wow, you know, there's this programming thing, let's mess around with it, right? Let's make it put silly words on the screen, you know,
Jeroen Leenarts:and make it go beep. Right, right. And so at a young age, you got involved with computers, initially, very much more recreational, then you started like adding music on top of that. So connecting your MIDI keyboard to the MIDI ports on your audio card,
Chris Liscio:which my dad never worked. It was such a cheap, crappy keyboard that it was broken from de la, I was all excited to get a working and I never got it to actually do anything. I think it was, it would only send MIDI into the computer, but it would never receive the middIe back and it was I was very upset.
Jeroen Leenarts:But fortunately, it didn't stop you.
Chris Liscio:I think that's pushed me harder towards the mods. That that. Yeah.
Jeroen Leenarts:So and then that was the young age then at but at what point did you decide that? Something with computers, software development, who knows what the exact decision was, but that software development was something you wanted to focus your professional life on?
Chris Liscio:I don't know, to be honest, I really don't know. I, I don't know when I decided I want to do this as a career. I feel like there was a weird time sort of in my high school, where the music stuff was starting to get a little bit more serious. I said I was in the sort of electronic music world and there was a point where I was actually working with a record company in Toronto, helping them put together like remixes for for you know, very small time artists in Canada and Europe as well. And so at that time, I was actually sort of involved with music sort of quote, for real. I still don't consider myself a musician because any credits I've ever had on a song was programming, which I find very amusing. My My only credit on an album was for programming. And so I was sort of into that and thinking you know, I I do Would I would like to do something music related maybe in studios and things like that, but that's not going to pay the bills. And I love this computer stuff. And I'm really into this computer stuff. And so I sort of at the time was focused on going to a university program in computer science so that I would sort of get that foundation hoping that I could continue doing my sort of computer music thing. And then I'll figure out the rest as I go. Because at the time, I was thinking, you know, maybe I can get myself into the sort of music software world, which unfortunately, never happened in terms of like, real career for other people or working for other people. So it was sort of late high school, when when I decided I really need to go to this university, which turns out to be the University of Waterloo. It's in the city that I live now. And I just put all my focus into that. I'll figure out the rest as I go. Yeah.
Jeroen Leenarts:Let's make sure that you have an education. And then let's see what happens after that.
Chris Liscio:Yeah. And which is such a weird thing. For a kid to do in high school. Right. You know, I want to go do a whole bunch of math.
Jeroen Leenarts:So yeah, you went after your high school, you went to Waterloo University. Yeah. Probably had a successful university career there. So you ended up with a paper saying that you did, I ended up with
Chris Liscio:the paper. My wife and I would joke about that when we were dating in university, you know, C equals degree. Because all you needed was a 62. Average to pass. You get the certificate. You're good. Good enough is good enough. Good enough is good enough. I didn't I wasn't an excellent student by any stretch. I was. I was the kid who was in classes. barely passing, barely getting by. Because I spent all my extra time. I remember staying up all night with with another kid who was in, you know, first university. And we were writing like a 3d engine, using the brand new MMX instructions on Pentium CPUs, just to learn them. And we wrote like a Winamp visualizer. Just for fun. That's the type of stuff that I was doing instead of my schoolwork. So I didn't do so well in school, because I was doing crazy stuff like that. Or starting super mega ultra groovy, which was a company I the company name that I registered back in like 1999. A very long time ago. So yeah, I was I was totally goofing off in school, but goofing off doing the kind of coding tech stuff that I wanted to do not the, you know, learning Pascal and linked lists during the day that I was supposed to be doing.
Jeroen Leenarts:Okay, well, still, it's still you managed. So? Oh, yeah. Yeah, I did. Well, so um, you mentioned that super mega ultra groovy was created at least the brand name in 1999. That was still in your time at high school, or
Chris Liscio:no, that was, that was my, it was my second year in university, your university. Yeah. And I registered it because I was going to start selling my first shareware, which was software for POS of all things. So yeah, that was that was a thing that was sort of taking a bit of that music app. dream that I had, if you will, and I just made like a silly little sound effect generator. That was very simple. oscillators and synthesis stuff that I put together. And I sold it for like 10 bucks or something like that, as shareware on BLS. And so at the time, I was like, Well, I have to register a company name to sell something. So
Jeroen Leenarts:So but the company has been around for over 20 years. That's correct. Yeah. And has the company been your only professional focus after university? Or what did you do in between?
Chris Liscio:Unfortunately, I? Well, not unfortunately, I just wasn't ready. I didn't. It's not like I had a product in university or anything like that, that would have supported me. Plus, I was very unskilled as a serious developer, if you will. There's a lot of stuff that that you can only really learn on the job. And so part of my school one of the reasons why I put all my focus into this particular university, is they have a Co Op program where it's, you have the ability to apply for paid internships, every alternating term of school, so I went into university and after three months in university, I already started my first job. So that first term of university you're spending your time sort of split between classes and finding your job for the next term of university. And that just repeats throughout. The beauty of that system is that you walk out of university with two years worth of actual work experience. And so as a result, I got to work at all kinds of places. So I got to my first job, my first paying job ever in my entire life was at ATI, writing display drivers on the Windows NT, 2d display driver team, which was a very interesting first job for somebody to have. And from there, I did that for two terms. And then I went to go work at B, actually, so kind of related to the BLS thing. I worked for them for two terms. And I worked for them on network device drivers of all things. That was kind of a weird circumstance where they had reached out to me, because I had written a network device driver for myself, because when I did finally get POS, I found that that my network card wouldn't work on it. And so I thought, well, now what I guess I got to write a network driver, so I can use the internet. And I did that. And they noticed, and they reached out to me and said, Hey, you want to you want a job? Unfortunately, when I responded, I, I told them, I'd really love to work on your media team, because they were a big time, you know, media iOS thing. But the recruiter at the time was like, no, no, we found out that you wrote network drivers. So we want you writing network drivers. So that was sort of one, one unfortunate situation where I was this close to doing, you know, media related stuff on my job. And then from there, I went to work at Raytheon for a very short time locally on a search and rescue radar thing. That was a whole weird thing. And then I worked at Research In Motion, also known as rim now known as Blackberry, which was sort of the big employer in Waterloo at the time. And I ended up working for them after school, as well. And I worked there until I finally quit in 2008. To do this full time.
Jeroen Leenarts:So what made you decide to quit in 2008?
Chris Liscio:It was sort of a situation that I was able to work on my products. After work, while I was working on my first measure product, which was a an acoustic measurement app that I had built out of a need to measure a set of speakers that I built for myself. And it was a hobby project, I put it together and I realized, Hey, I'm sick of entering numbers into spreadsheets and trying to analyze this stuff, I just, I want to learn DSP stuff anyway. Or rather, I want to apply my DSP stuff to an actual task, and then see if I can come up with something. I did that and it started growing and growing and growing. And in 2006, I won a runner up award for the Apple design awards in the scientific category. And that was back when they had categories and back when they had runner ups. So that was sort of a big validation that, hey, I'm actually doing good at this Mac software stuff. And, you know, sales were never spectacular on that product. But they were good enough that I was like, hmm, I wonder if, if I could put more time into this, and maybe I could make more money off of it. And so there was a point where my wife and I had a discussion and said, you know, at the age that we are right now, it's, it's a pretty low risk thing to try this out. You know, we built up some savings in the bank, and we decided, you know, we'll try it out for a year, see how it goes. And if it doesn't work out, it'll be easy enough to go back to work, because everyone there was like, Hey, if you change your mind, come back. So I had a very easy safety net waiting for me there. So I was able to sort of try it out. And it worked. I mean, within within that first year, I was able to sort of match my income of what I was making while working full time job. And so we just kind of kept it rolling.
Jeroen Leenarts:Yeah, of course that's getting to that threshold is of course, the first hurdle if you want to venture out on your own. What I do notice is that over the years, there was always this threat of music in your personal life, of course, but also hearing in there in your professional life, not maybe directly but for instance working on a radar, that's also a lot of signals processing, I reckon.
Chris Liscio:It should have been so the situation with Raytheon was that I was about to start my third term with B. So I had done my first term in California on site. My second term, I was fortunate enough to work remotely as a co op student. And then my third term was about to start when they got acquired by palm. And there was no job for me anymore. So I was I didn't have sort of an interview process lined up, I was sort of in the in the last collection of students who was yet to find a job. And I had, basically, it was like, anybody who's got any interviews, I'll take them, I don't care. Oh, adding to the stress of it all, my wife, or sorry, I had just bought a condo. So I just bought a new house, just before my job I was about to start went away. So in the beginning, I was like, I'll take any job. So this job, as posted was to be an assistant of sorts, to help with research on this radar system. And I think that they were targeting it at a very entry level sort of student that was intended to just work in Microsoft Excel all day, and analyze a bunch of data and look over stuff. And so I was pretty desperate, I was like, you know, they're paying, okay, I'll just do this for a while. And you know, hopefully, the next term, I'll get something better. So it turns out, I get there. And I'm not the type of person who's just gonna sit there and do exactly as I'm told, I'm sitting among like, PhD level, brilliant people. There's site licenses for Matlab everywhere. I'm a developer, I'm not like a beginner CS student. I've been doing like serious development for a while. And I have an interest in DSP. And I know what MATLAB is, and I know how to use it. So I had approached my superiors at the time, and I said, Look, you you folks have me doing this stuff, which was like, they wanted me to sort of do some Excel data generation and Excel data analysis, to to effectively do kind of like QA on some DSP algorithms. And I sort of threw it out to them to say, well, I could write stuff in MATLAB that would, you know, be very capable, and be able to actually simulate, you know, boats in high sea states, and I could, you know, add noise. And you just tell me what you folks want. And, you know, I can even do the networking side of it. So we can, like attach this computer over the network, and it can pretend to be the actual radar, and also, and their eyes popped out of their head, like you could do that. So that term went very, very well, in the end, you know, I sort of made it my own. For that work term. I was fortunate that they were receptive. I mean, that could have gone a whole different way to I could have been, you know, fired for insubordination, or something. But no, they were very, very nice folks. And they were very happy to have somebody who was willing to sort of go above and beyond and that job really sort of evolved. And I did bounce around through that. And I had worked on a little bit of embedded system, OH S type stuff for another product that they had. And yeah, it did an awful lot of stuff in that short four month period. But, like, instant, I had an opportunity to be done with that I was done with it. And, you know, went straight on to, to work at rim. In my, I think it was my Yeah, it was my final work term.
Jeroen Leenarts:And at RIM, how long did you work there?
Chris Liscio:So that was a total of I would have been, I guess it was six years. It was six years, or just shy of six years that I was there. And, yeah, that was kind of an interesting job. I had a really, really cool team, but I was working on a totally boring product
Jeroen Leenarts:can happen to the big companies, at what point did cable become a thing?
Chris Liscio:So in 2008, I think I started I got my first guitar. And because I decided, you know, I kind of want to put some time into learning guitar, you know, I am at home all day working on my software stuff, and I've got extra time. I sort of need a hobby now. Right? Like my hobby became my full time job and I needed a hobby to go with my full time job. So I thought I'll sort of try to do guitar for a bit. Actually. Now come to think of it. I think it was 2017 that I got the or sorry 2007 that I got the guitar. So I had kind of gone For almost a year, sort of hacking at myself between, you know, YouTube teachers and, and reading stuff online and what little I could sort of pick up on my own because most of guitar is just kind of putting your hands on the guitar neck and getting used to putting your fingers in weird positions and making sounds. And then I got to a point where I said, Okay, now, I've been doing this long enough that I should probably get guidance from a teacher. And I went to a teacher, and one of the first things that he had me do, because I had already kind of did all the basic stuff was he asked me to, to try learning some songs on my own by year trying to figure out chord progressions of songs. And in doing that, I was like, you know, it'd be really nice if I had a way to sort of stop and start the songs, it'd be nice if I could slow them down, I was aware that this was a thing. And at the time, I downloaded some applications that had existed that allowed you to do that stuff. And I played around with them. And I was like, this stuff is awful. It's like cross platform doesn't feel like a Mac app. It. It's just that, you know, I make apps, I'm good at DSP stuff, I see a whole world of cool stuff that I can do in this world. Let's try something out. So in April of 2009, I shipped Kebo 1.0, which did very well. For me, it was my biggest product launch by far. And it went really well. And I had just dove into that 100%. And like, my brain was going crazy at the time, because I remember, in version one, it was sort of like the prototypical 1.0 This is the minimum thing, like all it did was the audio stuff, right? Like, it just had the audio engine that lets you slow things down. And you know, you could put one loop in there, and, you know, that type of simple stuff. But I was like, Okay, this thing is doing well. Now, I'm going to put now I'm going to turn it into a Chris project, right. And that's when I started doing crazy things like I think it was Keepo two and I added Kebo spectrogram and tabbing feature, the first one where I had to use OpenCL at the time to calculate a very detailed spectrum representation that it wasn't just like, you know, FFTs and stuff, it was something more like a wavelet analysis of the song that made it very clear which notes were there. So that you could just draw where you saw notes, and then it would tap out the song like basically print like guitar tablature underneath. So you could pick out solos from from recordings. And that was just, like, amazing, you know, for for me, because I was able to, I felt like I was developing my own superpowers. Like I could figure out every song completely on my own. I've got this tool now. And and then the chord detection stuff started to happen. I think in 2010 was when the first chord detection stuff started showing up. Then it became fully automatic core detection in 2013. And then it just kept rolling forward gotten more and more advanced. It's just been a very long term sort of research project that I don't know if I'm going to ever stop picking away I just because there's so much fun stuff to do.
Jeroen Leenarts:Yeah, you were able to like convert a number of passions, and it was a perfect storm that ended in Capel. Really,
Chris Liscio:right? Yeah, I mean, something. I have this thing where, you know, I have no aspirations of becoming musician. I just like being able to build things for musicians. And I use them as a quote musician, but I'm a musician just for myself. I like I play for the enjoyment. And that tool is for me, but I get so much pleasure out of hearing how it helps other people do stuff. Like cool, I made this thing that helps other people do something. So what
Jeroen Leenarts:is one of the best bits of feedback that you ever had on your product?
Chris Liscio:Oh I, I get a lot of very similar feedback. I think with a lot of people. The number one point of feedback, probably the most common point of feedback is Man, I wish I had this when I was younger, right? Because you get a lot of musicians who are later on in life and now they're they're starting to actually have free time to start playing with their instrument again and they want put some time into it and they're like, Man, when I had all the time in the world when I was a teenager I would have loved to have something like like this. So I get that feedback a lot. I think a lot of people are just sort of wowed by by the fact that there's a tool now that they have that they get this sort of superpower of loading these songs and then being able to figure them out. But yeah, I can't think I can't think of a specific point of feedback that someone's given me where I was like, Well, I never thought I never thought I'd you know, save the world sort of thing.
Jeroen Leenarts:It makes the world a better place music, so
Chris Liscio:Oh, yeah, for sure. For sure.
Jeroen Leenarts:Um, so probably, sorry, like you already mentioned, there's still lots and lots of stuff that you want to do on the cable product. So that's probably one of the things that you'll be working on in the future. Are there any other plans for the future? Besides cable?
Chris Liscio:I don't know, I really don't know. Because I feel like there's sort of these situations where I feel like, I could sort of start a new app. Because there's, there are features in Kebo, that could exist as their own app. And I'm sort of torn between whether I think it's a good idea to create that new app, and then try to build a new user base and have a whole new line of support that I got to take care of a new, you know, sort of marketing effort that needs to be done. And you know, each product has to have its own sort of life of its own. And each one requires its own sort of, not support from a customer service standpoint, but support from a continual maintenance, marketing, messaging, stuff like that. It's a lot of effort to put together a new app. And so I think if a new app ever were to sort of pop out at this stage, it would probably be something that either isn't Kebo, or is going to be built for Kebo, that just for some reason, doesn't work under an umbrella of cable. So if I were to give an example, relating to something like if you're familiar with, you know, Microsoft Word is sort of a do everything app. And there's like an outliner mode in Microsoft Word, well, you would move between sort of writing mode and outliner mode, but you could very easily justify taking that outline or mode and making it its own app, and it would probably be 1000 times better experience. So that's the type of thing I could see happening with Keiko where I do have some features where I am very much on the fence about does this turn Keiko? Into a Microsoft Word? If I put it in? Or, you know, is it does it fit under the umbrella? And does it need to be split out? Because it's just too heavy to go in?
Jeroen Leenarts:Yeah. Okay. So a lot of stuff to think about. I think we covered most of the things related to you and the important product in your life. Are there any resources or things that you think that we should share with our listeners, books, articles, stuff that you think like, oh, you should read that because
Chris Liscio:I do a lot of work that's very sort of specialized in, you know, signal processing, and machine learning and stuff like that. And that is very narrowly focused. So in terms of, you know, reader coverage and stuff, like our listener coverage, you know, what percent of the population would be interested in that stuff, it'd be very small. In my own sort of learning and work, I spent a lot of time looking around like Coursera, for instance, you know, taking university level courses on, in my case, machine learning a couple years ago. And I'm just starting a refresher course for myself now on signal processing. And so just as a general resource, I, I love that type of stuff. And if, if you just want to audit courses, it's free. So it's fantastic. You can go through and, you know, complete exercises and watch lectures and stuff like that. And the best part is you don't have to pay a fortune for an education and if the professor's boring, you can just bounce after the first week and no consequences.
Jeroen Leenarts:So basically, you're saying that people should never stop learning and searching for bigger things to improve their own lives.
Chris Liscio:Oh, all the time. That is, that is my life. I love learning and relearning going back to something that I thought that I knew and approaching it with a new fresh perspective, especially after applying it for so long, going back and trying to look at the sort of theory again, after applying it makes the theory click a lot more. And then kind of reinforces what you thought you knew. So that you know it a little bit better. And in my case, I find that it actually sort of there's a lot of aha moments, like when when watching stuff that you thought, you know, and you're like, Oh, that makes a lot of sense. Now, I know why I had trouble with X, Y, and Zed. And now I know why I can't do this. Or I know the secret that stood in my way previously when I attempted this and I'm now able to take another look at it and can move forward.
Jeroen Leenarts:Okay, I think that's pretty good. To wrap things up with
Chris Liscio:Sure. It's a it's an odd one compared to most of the other ones. You'll have it
Jeroen Leenarts:but by the by the by the sound of it, you're like an audio not anyway, so that's always a different type of person. I think
Chris Liscio:I am definitely a not.
Jeroen Leenarts:So with that. Thank you very much, Chris from super mega ultra groovy with your main product cable. And thank you very much for your time and it was a joy listening to you.
Chris Liscio:Thanks for having me.
Jeroen Leenarts:Okay. Thank you. Thank you.