Archive for March, 2013

Bob Cancilla on IBM i › Why IBM Hates IBM i?

March 31st, 2013 Comments off

Does it sometimes seem that IBM wants to kill the AS/400, aka eServer iSeries, aka System i, aka IBM i on Power Systems?  

The real answer is that they absolutely do want to kill this system.  Lets back up and take a look at this system.  It was first introduce in June of 1987.  IBM had thousands of software vendors selling business application software for just about every industry you could imagine.  

Retailers bought small systems for their stores.  These systems attached to point of sale devices (fancy cash registers) throughout the store and maintained pricing, customer discounts, customer credit information, and inventory within the store.  The machines also connected to master machines located at distribution centers and corporate headquarters and tracked everything.

There were AS/400's in just about every hotel of any size in the country running the local hotel's operation and synchronizing with centralized reservation systems and other corporate management systems.

The same goes for just about any type of business you can name.  IBM shipped over 1 million of these machines from the time they introduced them until the present with prices ranging from about $10,000 for the smallest stripped down machine you could buy to about $1.5 Million for the high end machines.  

These were immensely popular machines!  In 1996 when the Internet was opened up for commercial use, the AS/400 was ready with a full suite of application servers, email servers, DNS, FTP, and just about every other server you could name or imagine to make the system immediately Internet ready!  Over the years with Java, WebSphere and many other middleware additions including a tremendous amount of free open source software, like PHP , Apache Tomcat, and the Apache HTTP Server.  

As the Internet matured, one IBM i base Power System (AS/400, iSeries, or System i) could do the work of many Linux, Unix, or Microsoft Windows based machines.  The system was also well known for its incredible reliability.

So, you say why on earth would IBM want to kill this golden goose?  

As always with a major company like IBM its all about money!  Yes, IBM made a lot of money selling these machines!  Unfortunately the features that made it popular with customers (all the integrated features like its built in DB2 database) made it horribly unpopular with IBM executives.

Lets look at some basic features of OS/400 or IBM i as the current Operating System is called.  It includes support for 5250 terminals.  There was a feature on IBM mainframes that you could not buy but had to pay a permanent perpetual monthly license of $1500 for a product called CICS that did exactly what the 5250 system did.  

There was a version of IBM's DB2 database bundled with OS/400 or IBM i that when sold on other platforms would cost upwards from $250,000 plus annual maintenance.  

There were many other features built-in to OS/400 including the language compilers and development tools that were sold separately on other IBM hardware platforms.  IBM Software Group truly hated OS/400 as they could not sell many of their products because much of what they sold was built into the system.

IBM just recently attempted to increase their annual maintenance fees by approximately 25% and were stopped by some major customers!  They offer free open source Linux on the same machines. They will not support the RPG programming language on any other platform even though it would take no more than 3 days to to port it to run on any machine IBM supports including Microsoft Windows based PC's!  RPG and every language running on the AS/400 or follow ons has always been hardware independent.  The compilers generate something called W-Code that is available on all IBM supported machines.  RPG, COBOL, BASIC, C, C++, PL1, etc. all generate W-Code which is then translated into machine code to run on the machine on which it is compiled.  There is a W-Code processor in existence for every IBM supported platform.

IBM i on Power and its predecessors alway seem to get in the way of selling IBM software, hardware, or services.  

Services is a huge revenue focus for IBM.  IBM has the world largest consulting practice of Microsoft system engineers!  No one can engineer a multiple server Microsoft based system better than IBM!  It will cost you an arm and leg, but they are the best in the world.  Same goes for Linux!  IBM can build you a server farm of Linux servers spread around the world and allow you to add or remove systems with no one other than a few administrators knowing about it.  Oh, yeah, it takes a bunch of expensive IBM engineers to put that together and make it work.  

With IBM i you roll in a system turn it on, load data, software, and use it.  There is no way you can justify expensive technical consultants!  It just does its thing! You do not even need a full time system administrator!

I mentioned hardware.  When you are building a complex network of IBM xSeries (Microsoft Intel based servers) scattered around the planet, you need a bunch of machines performing specialized tasks.  The same goes for Linux!  As your system grows you buy more Linux or windows based machines.

With LInux and Microsoft you need a bunch of consultants, a bunch of machines, and a ton of expensive IBM middleware.  You feed three divisions of IBM!  Sadly with IBM i on  Power System you buy a relatively low cost machine virtually no middleware (you really don't need any middleware), and no consulting.  

Also take a look at the cost of machines.  I entered the world of the AS/400 in 1990.  At that time my company had purchased the largest AS/400 that IBM made at the time for close to $1 Million dollars.  From that time, every time IBM shipped new hardware they added tremendous capacity and we moved from the top of the line machines to the middle, then into the lower end of the line of machines.  From 1990 to 2005 our machines dropped in price from $1 million to about $100,000 a drop of 1/10th of the original machine cost with processor speeds and overall throughput of at least 10 times the original machine.  

We did not need dozens of servers, we needed one!  We really splurged and added a second identical machine in a remote location with replication software to provide high availability.  We spun off virtual partitions for our test systems and did not need dedicated test machines.  

I just completed a project with a Linux based company where they bought about 30 Linux based Intel machines just to support our test environment!  

Are you getting the picture?  IBM i is just too cost effective and efficient.  It can be supported by too few people with no need to bring in high powered (and high cost) technical experts.  You don't need a bunch of middleware and can run your systems on basic IBM supplied software or free open source software.

Today the only thing you pay on an existing system is the annual maintenance fee in order to get support.  You only need that if you like talking to an IBM support rep on the telephone.  You can still get all of the IBM PTF's and fixes free by downloading them from IBM's web site.

When you upgrade, your IBM license clearly states that IBM cannot charge you for a new version of the operating system.  

Are you getting the picture?  IBM HATES IBM i with a passion!  It costs them millions of dollars of revenue in virtually every single area of the company!  So its not one or two IBM executives that hate IBM i but virtually every executive in Software Group, Server Group, and IBM Consulting!  

Read the original at Bob Cancilla on IBM i.

Categories: Blogs Tags:

Pete's Wordshop › Common Schedule Organizer 2013

March 29th, 2013 Comments off

Just in the nick of time, the Common Schedule Organizer, a free mobile app for Android, is now available!  There isn’t much new functionality (always willing to take suggestions) but it has been updated with the latest Phonegap libraries and the latest jQuery mobile.  It is still written for Android 2.1 devices and up so even that ancient Samsung Galaxy Spica I own can run the app.  It is still lean and mean and can be downloaded here.

If this is the first time you have used the app, you will be prompted for your email address that you use to access the Personal Grid on the Common website.  Your personal grid information will be pulled into the app but remember it is a one way street: As you add items to your schedule in the CSO they will NOT update your personal grid info (still working on the best way to handle it both ways).

Once you have entered that info and are on the main app screen, click on the “Load Schedule” button.  It will turn yellow and after 30 seconds or so you will see a “Loading” message appear and flash on the screen.  It took me about 2 minutes to download the initial schedule.  At that point the message should change to “Ready” and you are ready to go.  If you have personal grid items, go ahead and visit your schedule to make sure they downloaded.  From then on you can update the schedules, both the master schedule and the personal grid info and it will update the app with the latest and greatest.

If you have something other than an Android device, you can use the web application version of the app.  It will still save your stuff to the device you use so it is still plenty handy it just won’t be “native”.  You will find the web application available here.

If you have a question or a suggestion you can always email me (you know my name) at the company domain (valadd dot com).  I’ll try to get back to you and patch things as necessary.

See you at the conference!  Enjoy!

Read the original at Pete's Wordshop.

Categories: Blogs Tags:

Bob Cancilla on IBM i › Is Your Business At Risk?

March 29th, 2013 Comments off
If your business is still using IBM AS/400, eServer iSeries, System i, or IBM Power Systems with the IBM i operating system, your business may very well be at risk.

The following whitepaper:  Are Computers Putting You at Risk?  Identifies the issues you may be facing and why you need to conduct an objective assessment of your systems and IT staff.

Read the original at Bob Cancilla on IBM i.

Categories: Blogs Tags:

Geekish Garrulous Grumblings blogs › left adjust alpha into numeric using RPG language

March 28th, 2013 Comments off
lovely old AS400s on the road side

So, I was writing a little code snippet for a client after being told that all warehouse codes must be treated as 3 numeric character integers ranging from 1-999 and soon saw that the warehouse value was an alphabetic field? Huh? A little more digging around and I soon found a problem in their database design: They have a database storing warehouse codes, but in some tables they are stored as two character alphameric values, sometimes as three character alpha's and other times as 3 character numerics! :/

Now, if that doesnt set off all kinds of alarm bells in your brain, then you probably want to stop reading and go and make a nice cup of tea and watch a reality show on the Discovery channel. But, if you are a techie and just scratched you head and thought "WTF? Who designed that database then?" the simple answer is NOT ME. Obviously, it was designed by a maniac. Sadly, I'm the programmer who has to work with it and it's established in the business so us poor programmers just have to figure out how to best work with it.

Anyway, before I spend too much time moaning about lazy programmers and their crappy database design, this is how I got around it.

Read the original at Geekish Garrulous Grumblings blogs.

Categories: Blogs Tags:

Alan Seiden Consulting: PHP and IBM i Expertise › March updates to PHP Toolkit for IBM i

March 27th, 2013 Comments off

All are invited to try and enjoy this update before it’s officially packaged:
XMLSERVICE 1.7.8 and PHP Toolkit 1.5.0

My favorite part is in the performance improvements. There are also bug fixes to data areas and data queues, configurable PASE CCSID, an HTTP-based driverless transport, and more.

Change log for PHP Toolkit (front end)

Change log for XMLSERVICE (back end)

Try these and let me know how it goes (especially if you encounter any issues).

Read the original at Alan Seiden Consulting: PHP and IBM i Expertise.

RPG and Programming › To Err Is Human

March 17th, 2013 Comments off

Sometime in your programming life you will get a reminder that you are human – unless, of course your ego is such that you will never admit to error. One of those times happened to me a few weeks ago.

I had finished a substantial system a short time before, a system with only one screen program, but with a number of batch processes to update data, print reports and notification letters (converting them to PDFs) and email them to users to send out, at their discretion, to customers. I created four or five new files and used Aaron Bartell’s excellent RPGMAIL program to produce and send the letters. It was all original programming, very much out of my largely maintenance/upgrade routine at a longtime IBM Midrange employer.

I had developed a very possessive feeling about “my” code. I tested and retested my code heavily, so I had a great deal of confidence in my code, and I felt there would be little more than trivial revisions or corrections from then on.

So it bothered me very much that a user had submitted a trouble ticket telling me that he was seeing instances of dates being pre-filled onto my display screens. The user is supposed to put in the date he notifies a customer about the issue being dealt with by the letter; but the user was telling me that the dates were being pre-filled by the system, and that they were in fact usually old dates, before the letter was even generated.

THIS could not be. The program was not designed to pre-fill dates. So it was not happening. It must be user error; he must be putting in erroneous dates and forgetting about it. MY program was not pre-filling dates. I double-checked my screen program code, then (fortunately, not out loud or in print so anyone else would know) dismissed the issue as user error and went on to other projects that were really more important.

But time went on and the problem persisted. It was brought to my attention again. It finally dawned on me that this was happening too much, and the pattern was too persistent, for it to be user error. So I decided to dig a little deeper and look at the file update programs.

And I found the problem. When I was building history records, I read the history file itself first to prepare for further processing. Then, when appropriate, I wrote a new history record. What I forgot to do was initialize the record format before writing a new record, or at least make sure I explicitly filled every field in the format before writing it. I missed a few fields – and one of those was the date displayed in the screen. The date needed to be initialized to zero, but I was writing the date from a previous read of the customer I was working with, or even another user entirely. So I fixed it, tested it, and notified the user to keep an eye on it.

No matter how skilled you are in programming, you must realize (hopefully, without being forced to do so by an irate user) that you are going to make stupid mistakes. When I started learning to program back in the late 1970’s, I heard and read a number of stories about programmers with massive ego problems. Usually, the story ended with an example of a big problem created by the programmer who thought he was a genius. Supposedly you have to be smart to learn how to program, but often smart people must learn that they are not as smart as they think they are.

So I am glad that I was reminded so gently that it is a smart programmer who learns from his mistakes and realizes how stupid he really is.

Read the original at RPG and Programming.

Categories: Blogs Tags: ,

Mike's IBM i PHP blog and more... › Who have you Mentored lately?

March 11th, 2013 Comments off

I’ve had a chance to visit customers literally around the world and they all similarly ask the same question as to how to get more people aware of the solutions available on IBM i.  In a phrase, educating the great unwashed.  Yes, the IBM i is a special animal in the world of computing.  High uptime, resilient object and file systems, integrated database and incredible native language for business in RPG is just the beginning of a radically different OS than Linux or Windows.  There is a lot to misunderstand about this platform and therefore education is essential. One customer who had been on the platform for over 20 years actually did not know what COMMON was!  Ouch!!!  By the way, we’ll be at the Annual Conference and Expo at the beginning of April with a booth and sessions and more!

Education of the team is the manager’s responsibility.  Another customer asked me about the kids today learning RPG and why there aren’t that many.  I mentioned Jim Buck’s program at Gateway and also we kicked around a number of anecdotal concepts.  So when we settled in to discuss what projects they were using for PHP they pointed to a very young member of the team who was primarily responsible for the PHP development.  He is a great guy with a good head on his shoulders for business, more on that in a minute.  But what struck me was that they were investing in his education of PHP and this makes perfect sense until I asked the question: “When do you start training him on RPG?”  You see, I thought after the previous discussion about bringing younger folks into the fold of RPG that this customer would have discovered this opportunity themselves.  They were a little shocked when I mentioned that having a younger person learn RPG until I reminded them of the previous discussion.  Once they considered what I had to say they acknowledged that it would make sense to help this young man learn RPG and that it could even make him more valuable as a resource in today’s economy.  

This brings up the primary position of my blog for the month.  What have you done to mentor someone today?  I remember when I was a budding RPG developer and I had two mentors who were essential in my success as an RPG programmer.  Sure I might have learned the same things over time, but not nearly as quickly or effectively.  In this day of “instant gratification” everyone is too busy to stop and help someone along the way like we used to in the 80’s and 90’s.  And certainly the Internet has come along way to make information much more available and easier to absorb.  But to hold someone by the hand and explain exactly why *INZSR is a useful subroutine or the different between packed decimal and an integer data type can effect storage is something I simply do not see that much of these days.  I challenge everyone out there who is responsible for the development team, in any role.  Go find an intern and teach them RPG.  

OK, so it will take time for them to learn RPG.  They may not like RPG once they’ve learned it (silly thought).  It’s not sexy like .Net or Java (so what!).  Then fuel the discussion with some other points like CASH, MOOLAH, DeNiro, COIN, Money, Geidis, scratch, and a myriad of other terms.  Folks, with nearly 8% unemployment (and higher when you consider those who quit looking) I gotta believe there is someone out there who is wiling to learn RPG in today’s shops.  But just as important, they must appreciate business.  Interns at local community colleges can come along with referrals from their college advisers.  Get in touch with the local college adviser and look for an intern who appreciates BUSINESS!  I have, somewhat provocatively, stated at several presentations that RPG programmers are not programmers at all.  They are business analysts who code RPG.  Therefore, it is essential that anyone you interview for a position to learn or work on IBM i that they understand and appreciate business.  That is not to say young developers who want to do cool, sexy things cannot help an IBM i shop.  But they will tend to get frustrated when you ask them the difference between a PO, a payable and a payment!  We are a VERY special breed as RPG developers because of the business influence and therefore we should be looking at this for future IBM i developers.  

One of the anticipated questions I run into is “well why would a younger person be interested in learning RPG?”  The obvious answer is they want a JOB!!!   But do you want to throw them into the deep end of RPG with no hope of leveraging any other technologies?  I think the reality is to get someone on deck who is will to learn RPG, but also leverage what they’ve learned in the college setting like HTML, JavaScript,  Ajax, PHP, etc.  Modernize your applications and leverage the more modern tools available in IBM i at the same time! 

See you soon!   

Read the original at Mike's IBM i PHP blog and more....

Categories: Blogs Tags:

Steve Pitcher › EPA Migrates 25,000 Lotus Notes Mail Files to Office 365…Without 14 Years of Historical Data?

March 10th, 2013 Comments off

The US Environmental Protection Agency (EPA) was a Lotus Notes shop for about 15 years until their very recent move to Office 365, facilitated by Microsoft and Lockheed Martin.  Lynn Singleton, director of environment services for Lockheed Martin is featured in the article and provides much insight into the rapid migration schedule along with some of the struggles and successes.

A couple of things stand out in this article.  I've highlighted text for effect.

"But an unexpected hurdle was the size of many of the mailboxes that needed to be transitioned, which forced EPA and Lockheed to rethink how to approach the migration midway through the project."

The EPA "'didn’t have a size limit on mailboxes to trigger purging or archiving of information. Some of the larger mailboxes had over a million objects in them. In all, the mailboxes contained a very large universe of information, representing about 90 terabytes of data,' Singleton said."

"Initially, EPA wanted to transition all of the mailboxes along with their information to the cloud. 'But the throughput requirements of that, just the physical constraints, were such that we could not do it,'

"If the team proceeded as planned there would have been network latency problems.  Plus, the team determined that they could not handle the quantity of information with the migration tool they had selected." 

How did they solve the problem?  Well, it looks like they only migrated some of the data.

"So the team weeded out mailboxes with large attachments and archived legacy information that was older than a year."

OK, so they've got one year of live data in the cloud?  If that's the case is the other fourteen years of data existing within Lotus Domino databases on EPA servers?  Do EPA employees use Lotus Notes clients to access their mail archives?  What about the custom Lotus applications they have?  They aren't mentioned in the article.  I ask because the EPA had, as of 2010, twelve Domino servers labeled as "Lotus Notes Application Server" in this document.  It would be nice to know if they have plans for those.

I've sent a note to the author for clarification.

Read the original at Steve Pitcher.

Categories: Blogs Tags:

Geekish Garrulous Grumblings blogs › Living on the edge of america

March 10th, 2013 Comments off
life on Folly Beach South Carolina

Last week was an exciting one... driving from San Francisco to Las Vegas on Friday (including the obligatory but less than amusing Boris Breakdown)... packing and loading my moving truck on Saturday/Sunday and then driving across country to my new home here at Folly Beach South Carolina.

Unpacking was fun, courtesy of three little helping hands (Nate, Fin and TIggy) and four little paws (Bailey) and now a week later I'm delighted to say that I'm mostly settled. Pictures on the wall, wireless network up and floating around the beach air, media server is serving and the coffee maker is bubbling.

Bailey the super dog is getting his regular walks around the neighbourhood and I'm feeling myself de-stress on a near hourly basis. No wonder folks who live at the beach have this perpetually smug, self amused and content look to them.... Life is Good!

Read the original at Geekish Garrulous Grumblings blogs.

Categories: Blogs Tags:

Bob Cancilla on IBM i › RPG Programmers a Vanishing Breed

March 9th, 2013 Comments off
I wanted to get an objective handle on the future of IBM i and RPG language.  I have been telling folks that it is time to move away from RPG or put your business at risk and of course the RPG folks are saying NO ITS NOT TRUE! 

The reality is that the RPG programming language represents a usage of less than 2% of all of the program code written and the population of people with skills to write RPG are equally narrow. 

Here are some statistics to back this up:

Tiobe Software Programming Community Index February 2013 -  RPG 0.247% of all languages
The Transparent Language Popularity Index - March 2013 —  RPG .175% of all languages
PYPL PopularitY of Programming Language Index —  RPG NOT LISTED
Programming Language Trends - O’Rielly  — RPG NOT LISTED job listings   RPG NOT LISTED

 Note: COBOL is rated at .515% by Tiobe which is 5 X that of RPG!

The most popular languages are:

Language Data Sources
TIOBE The Transparent PYPL Job's
JAVA 18.387% 17.717% 27.100% 20.653%
C 17.080% 17.391% 8.300% 1.654%
Objective-C 9.803% 10.426% 6.100% 15.352%
C++ 8.758% 5.885% 9.400% 3.053%
C# 6.680% 4.708% 9.500% 6.361%
PHP 5.074% 4.583% 14.400% 22.434%
Python 4.949% 4.059% 9.600% 4.071%
Visual Basic 4.648% 6.605% 3.600%  
Perl 2.252% 2.158%    
Ruby 1.752% 1.954% 2.700% 8.736%
JavaScript 1.423% 1.271%   8.227%

 The message here should be crystal clear!  If you are using RPG based systems you need to replace or convert them quickly.  You have two big points of risk:

1.  a lack of RPG programmers in the market place with skills to maintain your systems,
2.  the probability that IBM will withdraw support in the near future and you will have no support.


Read the original at Bob Cancilla on IBM i.

Categories: Blogs Tags: