Today, it's all about input and output. Getting data into the IBM i from non-traditional sources and then displaying it back out again in varied formats. But where can you go to learn all that you need to know about this critical skill?
Read a good technical book lately? Normally, I would have said "Me either," but I just finished Flexible Input, Dazzling Output with IBM i by Rafael Victoria-Pereira, and I give it an enthusiastic two thumbs up—fine winter fun!
I guess the first thing I should say is that I don't really know this dude (Rafael V-P) except by reputation. I've seen his articles on MC Press, and while I did once do him a favor, it was kind of a no-brainer for me that took about 15 minutes total. I just want you to know that this is not a "buddy" piece. The dude's really got skills, and this book does an excellent job of showcasing them to the reader's benefit.
The book looks at a topic that very few others have tackled: the myriad ways that RPG connects (or can connect) to the outside world and to other technologies on both the inbound and the outbound side. This is a critically important issue today with RPG trying to interface with everything on the planet and finally, there's a book devoted to this topic. Kudos on just realizing that. Plus there are several things that I really like about it.
First, I just flat out like his writing style. It's clear, it's friendly, it's easy to follow. Nothing makes a book more unapproachable than an obfuscated writing style, and nothing opens a book up for easy digestion better than clarity and flow. Technical writing can be difficult because some topics are so complex that they can't be easily divided into small segments. To counteract this, a writer should try to at least keep paragraphs small so the reader has a fighting chance to consume the book at their leisure rather than swallowing it whole. The ability to write concisely and yet in detail is a real talent, and Rafael does a fine job with that. But, if you've read his MC Press articles, you already know that.
Second, I totally love the fact that all of his RPG examples use /Free. I just don't get doing a book on advanced RPG functionality and then using positional RPG to get your point across, but you see that everywhere in books and articles. It's just a pet peeve of mine, and I find it much easier to digest examples when they are in /Free.
Third, I like the way he does his code examples (and there a plenty of them). I am used to seeing about 100 lines of code and then having to refer back to that 10 pages later, but as much as possible, Rafael breaks his code up into snippets and displays them as he is talking about those particular lines. Makes it much easier to follow, don't you know?
But mostly, there are just some really killer topics in here, topics that are at the very top of the list of what many people are being asked to do on the i today, topics related to the many ways in which you can link your i to the outside world. And Rafael does it all with RPG and open-source tools (including POI, which he does a very good job of covering), which is way cool.
Among the topics he tackles are automating file transfers, creating/reading/writing files on the IFS from an RPG program, correcting user's errors on CSV input files, sending emails from an RPG program, dealing with GPS, creating interactive charts directly from RPG, integrating your RPG programs with the beast (Microsoft Windows), picking up some open-source tools that help with this process, and, maybe most important, through the examples he presents, helping each of us expand on what he has done to create our own solutions for the problems that are uniquely ours.
In the end, if you're seriously interested in expanding your ability to deal with the world beyond the i, then this book belongs on your shelf. Buy it, read it, live it. 'Nough said.