Christoffer Ohman and Emil Siden Discuss Being Newcomers to RPG

learning RPG

Christoffer Ohman and Emil Siden Discuss Being Newcomers to RPG

Paul Tuohy: Hi everybody and welcome to another iTalk with Tuohy. Those of you who are regular or semi-regular listeners to these iTalks will know that a couple of years ago in September/October back in 2015, I had the pleasure of presenting a crash RPG course at Gothenburg University. It was a very interesting thing because all of the attendees basically knew little or nothing, I think, about IBM i. I think I was told that you guys had been given a one-hour introduction or something as to what the platform was, and then I hit you over the head with RPG for a week. So I'm delighted today to be joined by two of these students who were there, whose names of course I am now about to murder―so if you hear me screaming in a second, it's because I've been knifed. So Christoffer Unam?

Christoffer Öhman: Öhman.

Paul: Uhnam.

Christoffer: Öhman. Almost.

Paul: Almost. Nearly there. Okay so Emil―well I got the Emil a bit right. Okay and Sidèn.

Emil Sidèn: Yeah, that's pretty close.

Paul: Pretty close.

Emil: Good enough.

Paul: So the two of you had the pleasure of meeting you that time way back then. I met you guys again last year if I remember correctly at Data 3 and both of you are now working on IBM i.

Christoffer: Yeah.

Emil: That's about it.

Paul: Yeah. Okay well it's been good talking to you guys. Thanks so much. Thanks for that.[Laughs.] So let me start. I mean, just a bit of background for people. So can you tell people what you were doing here at the college? So you were doing a degree? You were studying here at the college, the two of you?

Christoffer: Yeah, we were. We were actually studying the same thing. It was like a system architect kind of thing.

Paul: Yeah. So sort of a like a computing-style degree, like a bachelor's degree.

Christoffer: Yeah. Yeah it was.

Paul: Specializing in―yeah.

Christoffer: Yeah.

Paul: Computing degree. Okay so when Apper came along with the suggestion of the course―this one-week crash course―and there was a follow on thing project and that that you would be working on, the follow up to it, but none of it counted towards your degree.

Christoffer: Nope. No.

Emil: Nope.

Christoffer: It was an extra course, which we took.

Emil: We did alongside our usual courses.

Paul: Okay so here is sort of the first real question. Why? [Laughs.]

Emil: That's a very good question.

Christoffer: Well Apper came along and pitched the extra course and that was the first contact with it. They were pitching this course which was about a platform I've never heard about and a programming language I've never head about. They claimed that pretty much all of, like, banks and stuff like that are running this platform and I've never heard about it. We're doing a bachelor's degree in the computing science so yeah, I was intrigued by it so we both attended it.

Paul: So and because you were telling me beforehand, so then you sort of had this thing where I arrived and then beat you over the head with modern RPG for a week―

Emil: Yeah.

Paul: And then it was like a―because of various things that happened, it was kind of a couple of months later before you actually got to start working on your project with it.

Christoffer: Yeah. We didn't actually begin coding our project―

Emil: January or something maybe?

Christoffer: Yeah.

Emil: Maybe early February.

Christoffer: So it was almost five, six months or something like that―

Paul: Yeah.

Christoffer: From your course.

Paul: So that continued from say January up until around when?

Emil: June.

Paul: June.

Emil: Like early, middle of June or something like that.

Christoffer: Something like that, so in the meantime we did our bachelor's thesis also, so we're doing that part-time.

Emil: We did the RPG stuff part-time.

Christoffer: Yeah.

Paul: As opposed to your thesis. [Laughs.]

Emil: Because that was sole focus.

Christoffer: Yeah, it was.

Paul: Okay so at the end of all that process then, it ends up that Apper offers you a job, offered the two of you a job, yeah?

Christoffer: Yeah.

Paul: Okay so you started working with them around when?

Emil: August.

Christoffer: August.

Paul: August last year? Okay.

Christoffer: So almost a year after you hold your bit―yeah?

Paul: Okay so now we're going to come to one of the really fun bits. So here you are. You've been doing all of this. You've been taught by one of the great teachers of RPG―

Emil: And you.

Christoffer: You.

Paul: And me, yes. [Laughs.] Thank you. Okay I'm not going to call you Bob, just for that. [Laughs.] So you've been doing all of this modern RPG, and so you start with the company. What was sort of the first little bit with the company? They were nice to you, were they? They eased you in gently?

Christoffer: Absolutely.

Emil: Absolutely. We got it fine with a 36 [System/36] environment.

Paul: I'm sorry. You got introduced to the what?

Emil: 36 environment and RPG II.

Paul: The 36 environment and RPG II?

Christoffer: Yup.

Emil: That was our first assignment.

Paul: Okay―now just so we're clear hereL No training on this?

Christoffer: Nope.

Emil: Whatsoever.

Paul: Okay so what was that like? Okay can you remember what it was like when you first saw what you were going to have to work with?

Christoffer: So I think I cried.

Emil: Yeah. It was very close to that reaction, actually. It was a shock because obviously the modern free-form of the RPG is miles away from what we were seeing―

Paul: Yeah.

Emil: And we have never―maybe we had seen some―

Christoffer: I think so.

Emil: You showed us.

Christoffer: I think you showed us for like five minutes and then you―

Emil: It was like all past tense, that we wouldn't have to work with that.

Paul: Yeah. Okay. I lied.

Christoffer: That was not―yeah.

Emil: Yeah.

Paul: Okay, so just to be clear on this. So, I mean, what you are doing at the moment with this is sort of a modernization process, so it isn't that you're just maintaining System/36. There is some of that, of course, where it is being maintained―

Emil: Yeah.

Christoffer: Naturally it will be.

Paul: Yeah so but you are getting the chance to do―to actually practice some of what you learned.

Emil: Oh, yeah.

Christoffer: Yeah.

Emil: A lot of it has been like, "take this old 36 program in RPG" to "please make it a modern one."

Paul: Yeah.

Emil: Yeah, in free-form obviously now.

Paul: So you have this pain of having to actually go and learn what all that RPG II stuff was so things like GOTO operations―

Christoffer: GOTO.

Paul: Which I never told you about.

Emil: MOVE is a powerful operation also. [Laughs.]

Christoffer: Yeah. It is beautiful.

Emil: Beautiful. It is not that―it is not that long ago both you and me actually wrote our own lines of code utilizing the MOVE operation.

Christoffer: Yeah, because it was the only way out.

Emil: Almost the only way we could do it and keep sane. Let's just use the MOVE operation.

Christoffer: Of course actually a funny story about it. Emil wrote a subroutine, which was going into this very monolithic program handling customer exceptions, I guess.

Emil: Yup. Yeah, I think it was.

Christoffer: Yeah. So the thing―

Emil: This is all a blur to me now.

Christoffer: Yeah but you―

Emil: I'm actually working with another clients. I have already forgotten.

Paul: You've already forgotten, yeah. The therapy is working. [Laughs.]

Christoffer: Yeah and at the same time, we were converting this program to―well it was still some RPG II syntax but it is―we took away the parts that was too old and bring up into an RPG resource at least, and stuff like that. So we had to do some changes in both of the programs, the one that was still running in production because they wanted it to change now. Yeah, so―

Emil: Oh, you're thinking of that one.

Christoffer: Yeah.

Emil: Okay yeah―so yeah, so they use rooms for customers so if this customers, then this should be given certain parameters like dimensions or whatever. Sort of to help them along, I made a table and a little program; you can maintain and then this monolithic program checks the table if it is this customer number, and then set these parameters. Of course, since we were working at the same time with the RPG LE source and the 36 source, I developed in the LE source because that is the one that is in the test environment. Then I had to sort of back convert it or demodernize the code to fit in the 36 code because they wanted to use it now in production―right now. And that was sort of an interesting experience because obviously when I just wrote in the test environment, I used at least semi modern programming techniques. That does not work so well in the 36 environment.

Christoffer: Yeah, I remember you were just like "now I'm going to do the real old stuff."

Emil: Yeah. Yeah. This is going to be ancient.

Christoffer: Yeah and you use operation codes which yeah, we rarely ever use nowadays like, "ah, put those in." Yeah, going through the green screen and to compile it, it shoots out.

Emil: The compiler says―I look at the compile list and it says "I don't know what this operation is. This is―"

Christoffer: This is too modern.

Emil: What are you doing?

Christoffer: This is too new.

Emil: Yeah. Then one of the things I tried to use was an externally described fight.

Paul: Okay.

Christoffer: Can't handle all those.

Emil: Nope.

Paul: So I like this, demodernization. I think this is a whole new industry starting here.

Christoffer: It's the new thing.

Emil: I actually managed to demodernize it to the point that it runs perfectly.

Christoffer: It does.

Emil: Exactly what―but it's stings whenever I look at it. [Laughs.]

Paul: Okay so apart from the horror of System/36 environment, okay. So you guys have got nearly a year working in the industry now.

Christoffer: Yeah, almost.

Emil: Yeah, almost.

Paul: Okay and okay apart from the horror of the 36 and that, are you enjoying it?

Emil: Absolutely.

Christoffer: Absolutely, yeah.

Paul: No regrets?

Christoffer: No.

Emil: No.

Paul: Yeah?

Emil: Not so far. No.

Paul: And just in case anybody is wondering, there is nobody from their company standing behind us at the moment. [Laughs.] It's okay. So you think maybe they are going to, like, let you get away from the 36 environment soon?

Emil: I have actually escaped.

Christoffer: I'm still on it.

Paul: You're there. There is hope. There is hope.

Emil: Yeah but I'm doing some new fresh stuff over there also. I'm not only maintaining, I'm converting―just brand new stuff also.

Paul: So when you guys aren't sitting around doing 36 stuff and demodernizing and things like that, what do you like to do with your time?

Christoffer: Like two or three times a week, I play this sport, which is called floor ball. Not that big sport outside of Sweden, Finland―

Emil: Switzerland―

Christoffer: Switzerland.

Emil: Maybe Denmark?

Christoffer: Maybe some other countries. It exists in Denmark and Norway, but it is not that big.

Paul: And what is it? What sort of sport is it?

Christoffer: Yeah. It's a little bit like ice hockey but it is indoors―no skates, no ice. You are running around with a different kind of sticks and it's like that, but the idea of the game―

Paul: It is the same thing so like it is sort of like two teams and you have a net, which is like in ice hockey?

Christoffer: Yeah.

Paul: There is just net and that and you sort of―yeah.

Christoffer: Sort of the same thing. The idea of the sport.

Paul: So let's have ice hockey without the ice and without the hockey.

Christoffer: No protection.

Paul: And no protection. I like that.

Emil: And it uses a ball instead of a puck.

Christoffer: Yeah, it's a round ball.

Paul: Okay. Emil, what about you?

Emil: I like to stare at charts, which sounds super exciting.

Paul: So charts. Are we talking about sea charts for planning trips, or are you talking about different types of charts? Yaurgh Bob!

Emil: Yeah, planning my next plunder. No, I spend a lot of time fiddling with my investments, so I manage a couple of different investment portfolios, mostly stocks so I spend a lot of time digesting information that relates to this in some fashion―so politics, economics, what is happening in different parts of the world, what is going on in this line of business and so forth.

Paul: So if I remember correctly you were telling me earlier when we were talking because they are―I'm sorry, one of the things I should have asked at the start. There is a slight age difference between the two of you?

Christoffer: Yeah.

Emil: One or two years.

Paul: Years so I'm sorry Emil. You were―you had been at college before?

Emil: Yeah.

Paul: Then you went working for a few years―so actually finance is where you started originally.

Emil: Yeah.

Paul: Yeah so ergo, the interest in the charts and the finance.

Emil: Exactly. Yeah.

Paul: And then came back to college to do tech.

Emil: To do a real degree.

Paul: To do a real degree for the real world.

Emil: Yeah.

Christoffer: Yeah.

Paul: Okay well listen, Bob and Bob. [Laughs.]

Christoffer: Hey, you pronounced it correctly.

Paul: Okay, we're getting there.

Emil: That sounds great.

Paul: So thank you so much for taking the time to talk to me. It's―I got to tell you, just from a personal point of view, it was a blast when you guys contacted me last year and I was going to the Data 3 conference to say that you were starting to work. I got to tell you, I was surprised.

Emil: Yeah.

Christoffer: Yeah.

Paul: You know that it was a thing, but the great thing is that you have both validated something that I've been telling people for a long time, which is it is actually RPG―especially when you look at you guys are doing 36 environment―

Emil: Yeah.

Paul: Without any training on it. It's all possible.

Christoffer: Absolutely.

Paul: So continued success to you both, and I look forward to the next time that we meet. So thanks for talking to me, guys.

Christoffer: Well thank you.

Emil: Thank you very much.

Paul: Okay. That's it everybody. That's it for this iTalk. Please tune in again in a couple of weeks for whoever I'm going to be talking to the next time. 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.

comments powered by Disqus



2018 Solutions Edition

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


Paul Tuohy on IBM i Highlights of 2016


Paul Tuohy Recaps 2017

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