Kevin Adler on Open Source on IBM i
In this episode of iTalk with Tuohy, Kevin Adler discusses his development background, ODBC, Back Traces and more.
By Paul Tuohy01/03/2020
Kevin Adler:Hey Paul.
Paul:So my apologies, Kevin, that it's taken this long for us to finally get here. The team lead for open source: That is an exciting thing at the moment on IBM i with all of the open source stuff going on. So maybe to start Kevin could you―is that what you―so sorry. First of all, how long have you been with IBM?
Kevin:I've actually―this is my tenth year. Back in May I started ten years ago.
Paul:Okay so have you been working on open source then ever since you joined IBM?
Kevin:No, no, no. Actually I―there was―I kind of got into IBM at a very interesting time. You know I had an internship the year before I graduated and I was working on some PHP stuff, but that was like right after the i and the p merger and became Power Systems. There was a whole bunch of interesting stuff going on at the time, but then you know I got hired in the year after that. Between when I got hired―I got hired to work on PACE―between when I got my job offer and when I actually graduated and started, I switched or they had switched me around, and I started working on MQ when I got hired with IBM. At the time it was Webster MQ and they kind of rebranded things―
Kevin:So now it's just IBM MQ.
Kevin:Then I kind of worked on database a little bit. I did―took over ownership of the ODBC driver, did some FUL services and did some other work. Then I got the opportunity to you know realign myself with what I had wanted to do from the beginning, which was work on the more UNIXy side of things with PACE and then open source now. So that―I've only been on you know doing open source for I think three or four years now.
Paul:Okay, but a fair background on the system itself then―I mean with things like MQ and the database.
Kevin:Yeah, yeah, yeah. I've been kind of in a lot of different―you know stick my fingers in a lot of different holes over the years. You know interestingly enough, you know ever since I've worked for IBM on this platform it has been officially known as IBM i [laughs]. So you know all the diehards that are like you know, no, AS/400 and iSeries, it's like―
Paul:Yeah. You have no idea what they're talking about [laughs].
Kevin:You know I think last year when we were, you know, in the COMMON suite and Alison or Steve Will or someone―they're like, you know it's been IBM i longer than it was AS/400 or you know, like it's been IBM i longer than any other name or the entirety of before―no, that's not right; 30 years so, but yeah. It's interesting like I've not really known it as any other OS.
Paul:Actually just as an aside, I mean you mentioned there the ODBC driver and that. So were you involved in this recent introduction of the―I mean directly involved. I mean obviously you were involved as part of it but the―were you getting your hands dirty on the ODBC driver that's now native on i?
Kevin:Yeah. Yeah, I was the primary developer for that. We had some of―a couple of the developers working on some of the integration with―so that you don't have to provide a password and it will authenticate you as your current user―
Kevin:Just like the JDBC driver does―
Kevin:But yeah, I was―you know my team lead at the time was like, you know this was a couple of years when I was doing more database stuff. He's like "hey Kevin, you know Linux stuff, right?" I'm like yeah. Yeah, I run Linux on my laptop. I've been running Linux on my desktop at home for like, since 2003. You know it's like "yeah, I know Linux." He was like "oh, okay. Well we're trying to get Linux―the ODBC Linux driver working better. You know can you take a look at it?" So I kind of like yeah, yeah. So I've been kind on that front for awhile and then also doing the, you know―when it was time to bring to PASE, it was like, okay yeah.
Kevin:That's UNIXy and so yeah―
Paul:Well I've got to tell you―
Kevin:I've been doing that―
Paul:I've got tell you, good job, sir. Excellent job. By the way I mean it's―that is going to open up so many things for people going forward. But anyway we―I, I, I digress. Okay so the―and I know this is a dangerous thing for me to ask any developer, being one myself. It's a dangerous question when I'm asked it―so of all the stuff that you've worked on on the system Kevin, is there one that you've enjoyed more than the others or that has given you a buzz?
Kevin:You know like the one kind of project that I was like really digging―but I don't know that like your listeners actually care that much but I'll say it anyway―you know I worked on this functionality. There's an API on Linux and FreeBSD and others that a lot of this open source code is kind of wants to be able to use to be able to get a back trace so when you run into a problem, okay well where―what does my stack look like so we can dump out, you know, a log or a report or something? And so I'm like, okay. I had been playing around with some Assembly in PASE and I'm like, oh. I'm kind of like reading through the AIX application binary interface―you know DOX―and like okay, well this is where the stack pointer is and here's where the talk pointer and the stack―the back trace stack―gets put and then I can kind of follow that chain back and okay here's how to read the X COFF symbols from the symbol table. It's like―that was like really, really cool for me but you know a lot of people are just like, you know, I want to use computers so that I can you know press a button on my phone and it calls me and that gets me out of some awkward social situation or something you know [laughs]. It's like that's really cool, that's very useful and I definitely appreciate that sort of high level sort of application, but you know, man if I can just like twiddle some bits and turn a light off and on, I'm really happy, so.
Paul:Oh, yes. The―yeah, no. I'm going to have to―I'm not going to ask more about it because otherwise this is going to digress into a 25-minute conversation that nobody is interested in [laughs]. Okay I'm going to ask you a very leading question here Kevin, so let me make it clear to anybody who is listening on this that I'm only asking you this from your own personal point of view now, not in relation to anything that IBM may have in the works or that they're going to do or anything like that. But you do a lot of stuff out there with open source and that―I mean in that realm of open source on other platforms. I could mention Linux and that out there as well. So for you personally is there anything that you would like to see happening with open source on IBM i? For example a language or, you know, distributions or anything like that that you would like to see there?
Kevin:Oh man. So many cool things that I could say. You know certainly from a language point of view, I would love to see Rust. I think Rust is like really the future of systems languages―you know replacing C and C++ to a majority extent. Youknow but from―probably the biggest thing I'd love to see and I have no idea whether it will actually ever happen or if it will, when―would be to, you know, replace the PASE environment that runs, you know, in sort of implementation of the AIX environment subset, and replace that with Linux. You know a lot of customers have asked for that, or you know, different people in the community. It would just make it so much easier because like, you know, Linux is kind of cool. The open source is like a Linux-first mindset nowadays―
Kevin:And so it's kind of like the default, which as a Linux fan I'm happy about, but it does make it very difficult in my day job to port software that is like "oh, well we expected it to be like Linux and you don't have this."
Kevin:So that would be―that would be very helpful and make it a lot of easier―and in some cases a lot harder because Linux does a whole lot of stuff that AIX doesn't and we don't do a whole lot of stuff that AIX already does in PASE. So you know it's like oh, well if you've got Linux in PASE, then we could use Docker. It's like, well, about that. Pull a bunch of stuff down underneath―
Kevin:In the kernel that you'd need in order to make that work but―
Kevin:So it's kind of like, well I'd love to see it but it also kind of sort opens the floodgates for, you know, more people to ask for more things so―
Paul:Yeah so actually since you touched on languages there, Kevin, do you have a preferred language that you like to work with?
Kevin:You know if you'd asked me that like you know five years ago, I would have probably told you Ruby. You know I was like really infatuated with Ruby for a long time. I thought the syntax was great. I still think it is but from a pragmatic, practical point of view, I've kind of moved on to Python. You know it's not like super sexy in its syntax and things like that, but it's simple and it works and it works really well. It makes interacting with, you know, external packages and libraries that are not necessarily written in Python―like written in C, low level stuff―it makes that super easy. So you know that's I think why a lot of the machine learning and other―is huge in Python because it makes it easy to integrate with those machine learning scientific libraries that are available.
Paul:Yeah. Okay so just to finish up then Kevin, I mean in the odd what―you know, 25 minutes a month when you're not actually working, what do you like to do when you're not up to your nose in open source, Linux and whatever?
Kevin:Yeah so―so most recently I've been―my two biggest hobbies right now are volleyball and Dungeons and Dragons, so―or I guess technically we don't play Dungeons and Dragons but it's called Pathfinder, which is a variant of―
Kevin:D&D 3.5, but yeah. Most people, like table top RPG people, recognize D&D, so I usually just say D&D. Yeah, I play volleyball regularly. I have a team. We're starting up on the 9th of September. I will be missing it because I will be on a flight to Indianapolis for fall COMMON.
Kevin:So first game I signed us up―so I guess I'm technically the captain, and I won't be there, so [laughs].
Paul:Yeah, good way to start the season.
Kevin:I know. I know. Yeah, yeah. D&D. We just had a session last night. It had been like probably a month, you know since, we had gotten together. We have seven people plus a DM so eight people total. Trying to get eight guys―you know adult with significant others and family and that―together for a couple of hours is very difficult, and so it was great. I didn't die. That was fun [laughs].
Paul:Well that's always a win.
Kevin:Yeah, yeah. So yup.
Paul:Cool. Okay well listen, Kevin, I think that's a good―I mean you not dying is a good note to end on [laughs]. So―so thanks a million for taking the time to talk me, Kevi,n and please keep up all of the great work that you and your team have been doing on the system. It is all very exciting and I envy you and what you get to work on, but keep it up. Okay?
Paul:Okay everybody. That's it for this iTalk. Tune in again for the next one. Bye for now.
Paul Tuohy has specialized in application development and training on IBM midrange systems for more than 20 years.