Aaron Bartell on RubyOnRails, Node.js and Litmis

Paul Tuohy talks to Aaron Bartell about the progress of RubyOnRails on Power and the possible impact that the AITP conference contest on RubyOnRails talking to RPG might have. They also discuss the import of Node.js to IBM i, as well as KrengelTech’s new open-source initiative, and how one of Aaron’s children has learned the social benefit of hearing aids.

Paul: Hi, everybody, and welcome back to iTalk With Tuohy. Welcome back to my good friend Aaron Bartell. Hi, Aaron.

Aaron: Hello. How are you doing?

Paul: I am doing very well, thank you, and you sound as if you are doing okay as well.

Aaron: Well, I am just trying to stay warm in Minnesota right now. You know how that is. It is impossible.

Paul: I keep telling you, Aaron. You got to come over here to Dublin to the nice mild climate that we have.

Aaron: Oh. You don’t have snow?

Paul: If you get about 1/8 of an inch of snow in Ireland, the country grinds to a halt.

Aaron: Oh my.

Paul: But an 1/8 of an inch is what we call a snowdrift.

Aaron: Oh, yeah. Ireland, here I come. [Laughter]

Paul: Okay, Aaron, so I am trying to think. It was probably about a year ago since we last chatted and last time we talked, we were talking about Ruby on Rails, which had just sort of ported onto i at the time.

Aaron: Yes.

Paul: So you want to give me a quick update on what has been happening with Ruby in the last year or what has been going on?

Aaron: Absolutely. So the PowerRuby install is now out of beta so that is very good and we are starting to do more professional services, so I am now working with and employed by Krengel Tech. What we are doing is we are reaching out to companies that want to adopt Ruby and Rails and helping them along the way, giving them tutorials. We are also writing a whole bunch of articles that you can read up on and just trying to give people a fighting chance with some of the open-source technology because it is a very big change of mindset, my own personal experience speaking, in how things work.

Paul: Yeah and I am gathering again because, as you know, I am no expert in Ruby. Actually, I know nothing about Ruby on Rails. Let us be honest. [Laughter] I was going to try and fluff it for a second there but you are going to call me on it.

Aaron: Oh, do I have to be honest too then?

Paul: I will not insist but I do get the impression that to sort of get Ruby up running and working that there is quite a bit of effort involved in it.

Aaron: Yes. If you are trying to get Ruby up and running let’s say on your laptop to just do some testing, there is a lot going on there. You have to get the Ruby-not only the Ruby runtime so, you know, you can get the Ruby runtime loaded easily enough. That is not the biggest hurdle but then you have to get the Rails Web framework. Usually that also means you have to get the GIT G-I-T Source Change Management software and usually a Ruby Version Manager, RVM for example, and-and-and-and. You know so if you want to get the full stack of development, that can take some time. What I’ve found, and this is where I believe the shift is moving to, is kind of a little bit of what we have had in the IBM i space for a very long time but development is moving back up to the server, in particular into cloud-based IDE. For example, if you go to do a Google search for Cloud 9, it is a free service if you have a public repository but it allows people to develop their code in the cloud so you have got a partitioned instance of Ubuntu Docker is what it is called. You develop your Ruby on Rails application right there. It comes completely 100 percent set up out of the gates and it only takes a few minutes to set up, you know, so because of the challenges of setting up a local DEV environment, that is the answer to it and again it is the Ruby on Rails community that is in my opinion one of the thought leaders in that space. They are finding out these challenges and streamlining them.

Paul: Yeah. Actually, I had been reading something about that recently and I was sort of going, yeah, that sounds kind of cool. So yeah, nice to talk to somebody who has used it-

Aaron: Yeah.

Paul: For a change. So now actually just talking about Ruby on Rails, there was another thing that grabbed my interest with Ruby recently, Aaron, and it was actually something that you-that I have seen in reference to you. It may have been an email you had sent me or it maybe in an article that you had written or that because as, you know, over the last-I mean quite awhile like I am involved in training and that and this whole thing of trying to get people onto the platform and how we bring people across and all of that. There is this little competition going on with AITP.

Aaron: Yes, so AITP is a group and I only know a portion of what the group does but basically, there is a conference coming up in Omaha, Nebraska, in March and Jim Buck is part of that effort. What we have done is produced a Ruby on Rails Enterprise for Enterprise contest. Well what does that mean? Well, we are going to have students sign up for this contest so that they have I believe it is roughly half a day to complete a contest that I am putting together with Jim and they have to modify an existing Rails application to talk to an existing RPG program and all of this is done on IBM i. What this we are hoping does is give some really good exposure to IBM i and all the huge benefits it has to offer in a greater database, second to none operating system that is stable, etc., etc., all the things we have come to know and love but exposing it to the next generation because this conference is specifically for last year of high school, beginning years of college students. We are talking in the neighborhood of I don’t know the exact number for this year, but 1,000 students. So just imagine this that 1,000 students are getting exposed to IBM i. It is not just Jim Buck and his crew that is coming. COMMON is also represented there. Last year, I believe Tim Rowe was there under IBM’s booth so, you know, this is a very concerted effort to bring the next round of new blood into the platform.

Paul: Oh, that is cool because I will be honest with you. To me, I think this is one of the great things the way the system opened up like originally with Zend bringing ZendServer on, then with Ruby and one other thing I want to talk to you about in just a second as well but on that, it just opens up the possibility of young people suddenly finding out that the platform is there, that it exists even, you know.

Aaron: Yep. Absolutely. Yep.

Paul: The other thing I wanted to touch on-actually just before I do that, anything else you want to tell me about Ruby because-before we move on or are we okay on it?

Aaron: I will say one more thing on the ease of setup so if you download PowerRuby onto your IBM i, that is a different scenario. That is simpler. That was built so that everything worked out of the box so PowerRuby on IBM i is simpler than trying to get Ruby on Rails up and running on your laptop so that is the last thing I wanted to say.

Paul: Okay. So if it is a thing that I wanted to play around with Ruby and given that I have access to an i, I am probably better off installing Ruby on i than trying to go through the whole effort of setting it all up as stand alone on my PC?

Aaron: Correct. Yep. When you download PowerRuby, you will be taken to a tutorial that will walk you through from start to finish a complete create, update, delete application you know so that was one of the goals of PowerRuby is to deliver a solidly working collection of a Web stack.

Paul: Cool.

Aaron: Yep.

Paul: Excellent. Okay. The other thing I wanted to ask you about and actually, you-I think you probably touched on it a little bit here earlier when you said that a lot of development of that is moving back onto the server side. Of course, one of the sort of big things that has come out in the last couple of years is this thing of Node.js.

Aaron: Yes.

Paul: And of course, we have had it now recently that now-there is now a-I don’t know if you would say native version but there is a version of Node.js that also runs on i-

Aaron: Correct. Yep.

Paul: Has been announced. So first of all, do you want to explain to people what Node.js is?

Aaron: So Node.js more or less is JavaScript on the server side so it runs on top of Google’s VA engine and it focuses on doing network type applications with the primary one being Web applications although it is not limited to that but in reality that is what the majority of people are using it for. It has an approach to doing these networked Web applications of being event based so when a request comes in, it will immediately hand it off to a very asynchronous-like process. I have only been using it for probably about six months so I am far from an expert on it so please research what I am-what everybody is hearing right now but it goes through this event model that is similar in nature to how I believe the IBM i time slice feature works in active jobs so it goes around and checks all of these asynchronous jobs to say, okay are you ready with a response for me after I have-you know, because I initially received in a request, handed it off to this asynchronous process. Do you have any response for me that I should send back down to the client? It does this circular motion of checking for event responses and that allows the primary thread of the listening socket portion to always be free to accept in new requests.

Paul: Oh, okay.

Aaron: So there is a lot more going on than just that but that gives you a little bit of a feel for what is going on there.

Paul: Yeah. Now I got to be honest with you Aaron that like-when I first heard of Node.js, my immediate reaction was kind of oh, that is kind of cool. Then as I stopped and thought about it, I just sort of went I don’t know if I really want to code JavaScript on a server side because I mean, let us be honest. JavaScript is a fairly cruddy language to code in.

Aaron: Yes, so I have never been a huge fan of JavaScript. Part of that is probably because I have not-I use it every day but I have not reached expert level status and I don’t know. It is one of those things where I am not a huge fan of the syntax when I compare it to, for example, Ruby. You know, I have been doing Ruby for a number of years now. Now I am doing much more JavaScript on the server side and there are just simple things that I miss like string interpolation where I can stick a variable inside of a string VS having to concatenate it together or things like Ruby’s looping mechanisms. They are what they call Ruby blocks and the ease of being able to loop over an array and process it. JavaScript definitely has all of those capabilities but it is just significantly cleaner syntax in my opinion when you do it through Ruby so there is a lot of coolness going on in the Node.js camp right now. It is gaining a lot of ground based upon the coolness factor. I will say though it has one very pointed legitimizing aspect to it in that you have got a single language on the client and server side so that decreases the half life of information you have to maintain. You know, so now you have got one developer that writes in one language on both the front end and back end and applications, as you know Web applications are increasingly JavaScript heavy on the front end. You know, people want the desktop look and feel experience in the browser. They don’t want to have to do full white page refreshes.

Paul: Yeah. I mean the other thing I-you know where I would hold out hope for Node.js is that when you look back at what happened with JavaScript itself and as you got these great frameworks like jQuery and that came into play, when you get that same thing happening on the server side, again a lot of the crud factor I think disappears and potentially you have that benefit of having good open-source frameworks that work on both ends.

Aaron: Yep. Yep. I think Node.js has a lot of a potential but it is what I would term in its teenage years whereas Ruby on Rails is a grown adult. It is almost-some of the Ruby on Rails community, they are bored with it because it has been so developed over the past you know 10, 15 years. Now the Node.js camp, you know, it is a lot new and exciting but there are still big holes missing so, for example, Ruby and Rails has the active record layer that makes it dead simple to talk to the database. Well the Node.js community has similar things like one is called Waterline and another one is called Tower but guess what database they don’t have interfaces for? [Laughter] You know? So there is a road to travel that if you adopt Node.js, it is going to be a longer road. Everything is much less-see the Rails camp. They have this interesting concept of we are going to force you down a path that we know is good and if you want to, you can step out of the path and configure your way a different direction but we are going to send you down this conventional configuration path. Well that is not the same as much in the Node.js camp. They say “Oh, look at this big pasture. Where would you like to go?” You know what I mean?

Paul: Yes.

Aaron: And that has caused me to have much more wheel spinning initially of trying to figure out, well okay, I have got literally 20 paths I can take for how I want to do my routing for when a request comes in. Which one should I pick? I don’t know. That-those are the types of things that you did not have to go through as much with Rails that the Node.js community is still in the growing pains of that. Their-see the benefit they had is they got to skip over all the mud puddles the Rails community went through you know so they are going to mature faster than it took the Rails community.

Paul: Sure.

Aaron: And that will be a good benefit to them but they are not there yet but I imagine within a year to two years significantly closer.

Paul: Yeah so, I mean definitely one to watch I think over the next year anyway.

Aaron: Yep and it is supported by IBM you know so it has got the full commercial support so if somebody wanted to adopt it today, it is a safe bet and you know you adopt any tech-like how you normally adopt technology, you adopt it incrementally so you know develop a first application and put it through the motions of all of the change management and deployment quality assurance in production and test the waters with that. Then you know let it exist for four months before you go whole hog. You know what I mean?

Paul: Yeah. Yeah. So listen, Aaron, before I let you go, there are two quick things I want to check on with you. I think one of these you may have referred to here just in passing is Litmus.

Aaron: Yes, so in my new role at Krengel Tech, one of the things that we are trying to do is give people a site to go to for all of these, which I think, are tremendously awesome open-source technology so we have got things like Ruby on Rails. We have got things like Node.js. We have got GIT G-I-T for Source Change Management. All on the i. We have also got hints on the Node.js Web page from Tim Rowe that Python is on its way and also that GCC is on its way. With GCC, a port from IBM, that is ginormously huge and that could-that will blow the doors off of open source even more so what I see is this is what-we all know that RPG has been the mainstay on IBM i and that is what runs banks, auto manufacturers, pharmaceuticals, insurance industry. You name it. It has been solid but I think that there is a place for open source and that is what will bring more popularity to the machines and subsequently more competition for-for example for IBM i cloud providers so that hopefully eventually costs will go down and it can be utilized by hobbyist programmers. Oh, you can spin up an IBM i machine for $50 a month with a micro-partition with a click of a button. You know, it is so close. You can do that through like the IBM Power Developer platform, previously the Virtual Owner Program but that is not a commercial offering although there are about 40 IBM i cloud providers but they don’t have the simplicity of the click button that VLP has, you know, but we are getting close. So I am hoping that this next round of open source will make that happen and that is what we are aggregating on It is putting all of our articles that we are writing, all of our thoughts on how to pursue open source including, you know okay, well here are the things you need to be careful about. Here is how you make sure you leverage your existing investment in RPG. The person is a fool that throws away all of their RPG. You know that is millions of dollars of investment but if you want to adopt open source, well here is how you can do that through something for example called the XMLService Ruby Gem. You can call directly into an existing RPG program so those are the types of things that we are trying to educate people on and is where we are doing it.

Paul: Yeah. It is-yeah because I know some of the work you have done in this area, Aaron, and it is scary. That is the only way I can describe it.

Aaron: Wait. What is scary now?

Paul: No. If I explain to you, you will stop doing it. Keep doing it. [Laughter] So listen, one last thing, Aaron. There is a story I want you to share please. It is a thing that you posted recently, well not recently. It was actually I think a couple of months ago on Facebook about your son who is-I don’t know how you put it. Hard of hearing, hearing challenged?

Aaron: Yep. Yep.

Paul: Do you know the story I am talking about?

Aaron: I do. I do. So my son was originally diagnosed with autism because he could not speak well and he was very quiet, blah, blah, blah, blah. We did hearing tests and nothing came back. Well we did a more in-depth hearing test, found out he was majority deaf in both ears, etc. Well so now he has had hearing aids for about a year. He is seven years old now and has just blossomed in his communication and has also blossomed in his personality where he has learned humor to a tee. Well one day we are sitting here talking to him and he did not want to talk anymore about the particular subject so he very purposefully showed us that he was shutting off his hearing aids. He said “I can’t hear you” and we were like, no, it has started. He has figured it out and you know I guess that is the advantage of being hard of hearing is you can turn off your hearing aids and guess what? You have got some very nice silence. You can see the lips but they are not making any noise so we could not really-you know you try to keep a straight face but we cracked up and that was funny. So that is Elliott, and yeah, he has grown a lot and boy is he a special kid.

Paul: Yeah. I have no idea where he gets that sense of humor from, Aaron. [Laughter]

Aaron: Yeah, that is the problem. I am like good grief; I better start watching myself more. All of these kids are turning out like me.

Paul: Okay, Aaron, so listen. As always, great talking to you.

Aaron: You too.

Paul: I look forward to seeing you in a few weeks at the Summit down in Dallas.

Aaron: Sounds good. Talk to you later.

Paul: Okay. Thanks, Aaron. That is it for this week everyone. Tune in again for the next iTalk. 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.



2017 Solutions Edition

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


Paul Tuohy on IBM i Highlights of 2016


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