IBM i > TRENDS > iTALK WITH TUOHY

Pete Helgren Discusses Learning New Languages

Programmer Languages
  

Paul Tuohy: So hi everybody and welcome to another iTalk with Tuohy. I'm delighted to be joined today by―I think I'm going to describe you Pete as being a ship that we keep passing in the night over the years. And as we were talking about earlier, it has been six or seven years ago since we last met in person, so I'd like to say hello to Pete Helgren. Hello, Pete.

Pete Helgren: Hey, it's good to be here Paul. Really, very good.

Paul: So Pete, when we were talking just before and I was asking the question, how you wanted to be introduced. You sort of said this―I'm sorry. I was smiling. You could see me smiling when you sort of said "oh, I'm just a developer." Okay so anybody who has come across Pete over the years, many people will know you as a speaker at COMMON and at numerous user groups and at numerous conferences not just in the States, but also in Europe, which is actually the last time that we met in person was in Milan, at a conference in Milan so I think you are a little bit more than just a developer Pete. So do you want to tell people sort of―oh, come on. Describe yourself then, just a developer. What do you just develop in?

Pete: Oh, yeah. That's always a tough―you know people ask me what I do and yes, I do spend a great deal of my time in Java development but that is you know, kind of my day job and what I was hired to do but you know that's never―I've never―growing up in the 60s and 70s, I've never been kind of a company guy, so I tend to stray off―plus as we were talking about earlier, just an insatiable curiosity about stuff. So yes, I'm always trying new things. So yes, I'm a developer and kind of an omnivorous developer. I love just about―well just about every language I've bumped into so―I've never met a language that I didn't like. [Laughs]

Paul: Give me ten minutes―

Pete: Except Assembler, maybe. [Laughs]

Paul: OK so Pete it's a fair rundown of languages that you know and not only that you know, but that you actually talk about, that you actually do it in session so I mean you do Java, you do Ruby on Rails, you do RPG. OK you just run the whole gamut of them and one the things that I like is that and I know this from over the years talking to you the big word that you use is integration.

Pete: Right. Yeah, well and I mean that has always been the interesting part of every job that I've had. I mean that's the fun part, really. I mean it's solving problems and yes, I love to write code to solve those problems, but sometimes when somebody has already solved the issue and all you need to do is figure out how to leverage that in a solution, I mean that is the fun part sometimes is just trying to figure out―oh, wow. Actually, that's a great solution. I wonder how I could get that to work with, you know―IBM i is usually my first inkling. So yes, the integration part, you know the AS/400, the iSeries―my work―I remember actually now that I'm thinking about it, the very first thing I did―we had a―and this was back even the System/38 might have even still been kicking around when I did this, but we had―we were doing help text documentation within our application. We had our own kind of text editor that we were using. It was based on, you know, it was basically a green screen text editor and I remember figuring out how I could bring in Word documents; this would have been in, man, '91-ish. So yeah, I was always thinking about "hey, we can do great documentation in Word." And of course this is running on lovely Windows 3.1 or something, and how to get that into text so that it could be used in this text editor because we were generating stuff in Word and then we'd turn around and key it back in with this text editor―so yeah, you know very early on I was always like "hey, there is a great solution. Let's figure out how we can integrate it." So yeah, it is kind of part of my DNA.

Paul: Yeah, so actually since you are talking about and you were telling me earlier, so you started off sort of working in the school system―

Pete: Yes.

Paul: The public schools, yeah.

Pete: Yeah, actually you know I'm not―I make this proclamation every time I do a session. I am not what I would call a classically trained programmer. I mean a lot of folks come through computer science. Me, I've got a masters in economics. I was in human resources. So I worked for a school district as a personal director and we had implemented a new system for payroll. We were coming off a state mainframe and we were doing our own thing. And so I was involved in that implementation on System/36. And of course, you know, all you've got to do is barely prick my technical side and I'm off to the races. So you know right away I was writing queries and doing all sorts of stuff with the data. Of course Query ran out of gas soon enough and I'm doing SEU. I can't remember―it was DFU at the time, yeah. So I was doing all of that and then of course, when I pushed to the limits, then I had to learn RPG and therefore my career was ruined as a human resource director. I ended up working for the company that sold us the software. I went to work for them as a trainer initially, a consultant.

Paul: Yes so well human resource’s loss was our gain, I think, Pete. [Laughs] So just an interesting thing: Since you mentioned, when you said there that there is no language that you've come across yet that you didn't like, but of all the languages that you've come across, do you have a favorite?

Pete: Well yeah, it's―I would that right now where I spend most of my time and it seems like the most activity is going is actually in Java script. That's due to the rise of Node.js and also the fact that I do lots of client side stuff as well. So I'm never limited to just the server side of the business and Java and RPG. I do a lot of web front end stuff too, and of course you're going to be using Java script. Of course now we have-Json is just a wonderful way to bring data in to Java script framework. So yeah, I get excited sometimes about what they're doing right now in you know ECMAScript in, I guess, 2017 now and '18. They're really―it's amazing what you can do inside the browser. It is just incredible.

Paul: No, that's true. I mean just as an aside, are you a jQuery fan?

Pete: You know I was big on jQuery for awhile, and actually now I'm going back to vanilla JS because of the robustness of the growth of the language base. You know―you really don't need big libraries anymore. A lot of that stuff that you used to have import is now there natively in Java script. I've been doing more more―less and less with jQuery, more and more with vanilla JS.

Paul: Cool. Okay, sorry. We digress. So the other coming back on the open-source then, this big push over the last well year and a half to two years that IBM have now with open-source and IBM i? I'm going to assume you're a fan.

Pete: Oh, yeah. Yeah. Exactly. I'm―yeah. I can't get more excited about it. When I heard that they were finally doing it―I mean yeah, the piecemeal stuff getting PHP was a great first step, and there were a lot of folks that were trying to get other compiled binaries to work in that environment. I mean, there were already disparate pieces, but you know, having the playground shipped to you in a box? I mean, come on! How much better does that get? So yeah, no longer do you have to build all the pieces in the playground, you can just go out and play. So yes, very excited about that. It was, I think, a brilliant move. I think what we're missing now in this whole mix, and I'm hoping that over time we can solve this―I'm certainly going to focus on it―but having like fully prepared, deployable apps that demonstrate the power of the open-source―the open-source product by having a useful application that can be deployed immediately and used in the enterprise. I mean if we can do that, if we can small pieces of things―and I know that Aaron Bartell has been working on―there was a dashboard that he was kind of kicking around, and I don't know where that is right now, but that is what we need. I mean yeah, it's great to have it in theory, but when we have a practical application you can pop open and use right away, that's what we really need. So hopefully if I can get through this next round of COMMON sessions, I can spend a little bit of time working on―well I also have a book, too, so I've been kind of busy.

Paul: Yeah, so actually tell me about the book. Are you going to tell us what the title is?

Pete: Yes, I can certainly tell you [laughs] only if you pry it out of me. It's the Open-Source Starter Guide for IBM i.

Paul: Oh, cool. Cool.

Pete: So and you know I was not interested and out there looking to write a book. I've written some articles for MC Press and iDeveloper Pro, but you know when they approached me and asked me "would you like to write a book on open-source on IBM i?" I was kind of like "ummm, yeah maybe." I mean I've never written a book before but I've certainly done pieces of it so yeah, that was quite a journey. But I can tell you that the thing that I focused on in the book is what I still think is missing out there in the general community―and this is not unique to IBM i, it's unique to the―it's pretty much pandemic with the open-source community. And that is, there's a lot of assumptions made about how a language works and the things―what I tried to put the book were the things that I had questions about, that I struggled with, that I couldn't quite put the pieces together. I mean the internet is an awesome tool for learning―well actually I'm going to change that―it's an awesome tool for getting answers, but it's not a great place to learn.

Paul: Yeah.

Pete: So my focus was okay, let's put the pieces together. Let me find where I was stumbling. Let me spend time expanding on where I stumbled, and then you know, folks can go out and explore the internet―because I mean there's plenty of answers to questions out there, but getting a grounding is really hard. So that's what I really focused on and that is why it's called a starter guide, because it's not going to answer all your questions. It's not going to do―you know you're not going to be a proficient open-source programmer especially when you are spanning six different open-source technologies, but hopefully it will give a grounding that allows you then to move on with other languages, or the one that you choose.

Paul: Yeah. Well I'm glad you've written that book because that is really what I need so, it is that starter guide. I mean PHP I got to grips with, to a certain extent with Ruby, Java many years ago. And it's always that thing about―my difficulty always with is exactly that. It is where to start.

Pete: Yeah.

Paul: It is where to begin with. You know I mean I can sort of say "oh look, I'll download something." And then you have that little thing sort of saying oh and then just go and do blah-blah-blah using blah-blah-blah. I'm not looking―I don't know what either of those are, you know.

Pete: Yeah. I absolutely agree with that and that's―I mean they'll―you know I saw implementations of―like in Ruby. Ruby is a very different language, so it's a little difficult for procedural programmers and even object oriented programmers to wrap their heads around because they have constructs in their language that are pretty unique. So the first time I saw a block in Ruby, I just kind of stopped. I was staring at it going "what in the world are they doing?" I mean how did that stuff happen? How―what is going on? It took me―you know it actually took me step by step going through it in the book to make it totally clear in my head. I had an idea about it but you know stuff like blocks and lambdas, all of these things that you'll trip across and they've kind of tossed aside as oh, yeah. Yeah, just you know use this lambda function. You are kind of like, "what's a lambda?" So yeah, I try to answer those kind of questions and those sticking points in the book.

Paul: Cool. Well that's one that will definitely be on my book shelf any way soon. So listen before we finish up, Pete, as always with these things I like to try and end on something a little bit more on the personal side. I was talking to you about this beforehand and you just managed to drag it back to work. You did so, but I do love the comparison. OK so I know from Facebook and that over the years that you are actually quite the handyman. One of things I had asked you was, I sort of said "so come on, tell me about some of the greatest things that you've built." So just share the answer that you gave then.

Pete: Yeah, yeah and the answer was―I think it was―I mean I thought in terms of something built from the ground up and I really had a difficult time trying to think of something that I had built from the ground up. I mean yeah, programming you start with a blank screen―but you know all the stuff that I―I kind of started reflecting on my life. Everything that I've done has been pretty much a remodeling job, right? I mean, I grab something― the house that we had in Salt Lake City was you know almost 100 years old and we spent plenty of time working on it. I mean here in San Antonio, our house is relatively knew but you know I decided to break it anyway, which has always been my problem. So we did a huge bathroom remodel here where I was cutting concrete in the middle of summer, which is miserable job in South Texas in the summer. So anyway, just examining my life, it has all been about―open-source finding, you know, things that need fixing or improving and then pretty much taking them apart, putting them back together in a way that I like. So yeah, I mean that is the story of not only my technical life but my personal life as well and yeah. Yeah. It's just the way that I kind of work these days.

Paul: OK. So I think I'm going to sign off with that. "So that was Pete Helgren the Renaissance open-source man in all aspects of his life." [Laughs] Okay Pete, thank you so much for taking the time to talk to me today.

Pete: My pleasure, very much.

Paul: Okay everyone. That's it for this iTalk with Tuohy. Tune in again in a couple of weeks 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.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



Advertisement

Advertisement

2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

IBM i > TRENDS > iTALK WITH TUOHY

Paul Tuohy on IBM i Highlights of 2016

IBM i > TRENDS > iTALK WITH TUOHY

Aaron Bartell on RubyOnRails, Node.js and Litmis

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters