tag:blogger.com,1999:blog-45774555831426486962024-03-13T07:51:27.149-07:00Mike's IBM i PHP blog and more...A nice little space tucked away in suburban cyberspace where you and the IBM i kiddies can come and seek safe haven. Oh, and a dash of PHP and CL for good measure!Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.comBlogger52125tag:blogger.com,1999:blog-4577455583142648696.post-51024961036897348212016-03-29T14:40:00.000-07:002016-03-29T14:45:14.729-07:00<h2>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Events Abound</span></h2>
<a href="https://3.bp.blogspot.com/-0X5qvr8m0c8/Vvr3WaAYU9I/AAAAAAAAJdE/u8ujlK8MYw43KqsYvimP2sZYvN0tSZELw/s1600/MikeSpeakSolo.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://3.bp.blogspot.com/-0X5qvr8m0c8/Vvr3WaAYU9I/AAAAAAAAJdE/u8ujlK8MYw43KqsYvimP2sZYvN0tSZELw/s1600/MikeSpeakSolo.JPG" /></a><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">As a speaker in the IBM i community we are in the midst of “high” season for events. Having just wrapped up the <a href="http://systemideveloper.com/Summit/conferences.html" target="_blank">RPG & DB2 Summit</a> in Dallas last week and <a href="https://www.wmcpa.org/" target="_blank">WMCPA</a> the week before, we came away with some strong impressions. Great turnout at the workshops and sessions leads us to believe that folks are definitely looking to improve their applications and skills and PHP is near the top of the list.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br />
<br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">How many using PHP?</span></h3>
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">We had a chance to meet a bunch of folks gearing up for PHP on IBM i and also some loyal <a href="http://www.zend.com/en/products/zend_server" target="_blank">Zend Server</a> folks who are already using it. The keynote by <a href="https://www.linkedin.com/in/ian-jarman-37545416" target="_blank">Ian Jarman</a> highlighted the <a href="http://www.helpsystems.com/ibm-i-marketplace-survey-results" target="_blank">Help Systems survey</a> that shows 25% of the respondents indicate using PHP for new application development on IBM i. That is a HUGE statistic and we’re excited about it only getting bigger. </span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">New sessions!</span></h3>
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I launched two new sessions at the WMCPA conference and then at SUMMIT. The first is a session inspired by Ted Holt, <a href="http://www.itjungle.com/fhg/fhgindex.html" target="_blank">senior editor at Four Hundred Guru</a>, called “30 PHP tips in 60 Minutes”. This session is a collection of PHP and IBM i tips I’ve amassed over the last few years and at least one attendee walked out of it with a page full of notes on things to do when he got to the home office. The second session, "Exploring DB2 data Access in PHP", is a deep dive on the usage of the DB2 extension in PHP. It was inspired by a recent <a href="http://www.zendcon.com/" target="_blank">ZendCon</a> attendee who was new to IBM i and has been struggling with accessing the native database. A lot of the code samples that were used to educate that newbie have been decomposed and detailed in this session. If you’ve been wondering how to manage the library list in SQL calls or wondered how to use the <a href="https://www.google.com/url?q=https://www.zend.com/topics/Zend-Server-Data-Caching-Whitepaper-0106-T-WP-R1-EN.pdf&sa=U&ved=0ahUKEwjphPSo7ObLAhVG8GMKHZzQCgYQFggEMAA&client=internal-uds-cse&usg=AFQjCNHFhhK4UVO0oQl6Fl5_QNrS9PcHKw" target="_blank">data cache</a> in Zend Server, this is the session for you.</span><br />
<br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Coming to COMMON?</span></h3>
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">I’ll be taking these sessions and many of the updated classics on the road to events all around the country this spring and of course at <a href="http://www.common.org/index.php/annualmeeting.html" target="_blank">COMMON</a> in New Orleans! Have you made plans to attend the annual Conference and Expo? Please swing by the Zend booth(#114) if you can. We’ll have some goodies to pass around and, of course, the Zend IBM i team will be there to answer any questions you might have. I see many sessions on PHP and other open source topics and even a brand new session on a cute little database called <a href="https://mariadb.com/products/mariadb-ibm-power8" target="_blank">Maria</a>.</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-59534722217596289022016-02-04T09:26:00.000-08:002016-02-04T09:27:53.460-08:00What's in a champion and why?<h2>
<span style="font-family: "arial" , "helvetica" , sans-serif;">What is a champion and why?</span></h2>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />IBM has named a new group of <a href="http://www.ibm.com/developerworks/champion/index.html" target="_blank">Champions</a> and your truly has been added to the VERY prestigious list of folks that have been selected. I am honored and quite thrilled to be added to the list. But it does get one to start reflecting, “What is a champion?” </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />The word <a href="http://dictionary.reference.com/browse/champion?s=t" target="_blank">champion</a> often times refers to the “winner” or “first place”. Certainly not where I would put myself in any way, shape or form. I’ve never been athletic and I’m not terribly competitive unless you count the <a href="http://www.bbcamerica.com/shows/doctor-who/">Doctor Who</a> trivia contest at the Panopticon Conference in 1983. I believe IBM’s connotations for Champion in this context is more along the lines of Advocate. Yes, this is where I fit in to the term “Champion”. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />I joke that I have been dialing the IBM support line number for more than 30 years. Since that predates my tenure on <a href="http://www-03.ibm.com/systems/power/software/i/" target="_blank">IBM i</a> and its predecessors, I have no choice but to acknowledge my roots as an IBM mainframe geek. Working as a computer operator and then programmer at a bank in Chicago was a great experience. But the coolest bragging right I have was operating one of the first partitioned systems implemented in Chicago somewhere around 1990. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />As I got into programming I used the standard TSO editor in ISPF and thought that was all I had. When taking a refresher course on COBOL at <a href="https://www.morainevalley.edu/" target="_blank">Moraine Valley Community College</a> (where I now moonlight as a <a href="https://www.morainevalley.edu/academics/academic-programs/certificates/php-programmer-certificate/" target="_blank">PHP instructor</a>) I met the AS/400 and immediately fell in love with PDM and CL. The rest as they say is history. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />Fast forward a few years and I found myself getting involved in many activities such as my local user group, <a href="http://www.omniuser.org/index.php" target="_blank">The Omni User</a>, where I have held several posts including conference chair and president. But the most poignant opportunity came as I was recruited to the <a href="http://www.common.org/caac.html" target="_blank">COMMON Americas Advisory Council</a> where I submitted my charter <a href="http://requirements.common.org/" target="_blank">requirement </a>to bring <a href="http://php.net/">PHP</a> to IBM i. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />I was just a customer, development manager, at the time looking for a way for my mixed RPG and Microsoft development team to modernize the look and feel of the bulletproof IBM i applications. My CIO shipped me off to a one week boot camp on the LAMP stack and I came back a believer. I wondered why IBM did not have something like <a href="http://php.net/" target="_blank">PHP</a>. But they did! <a href="http://www-03.ibm.com/systems/power/software/i/netdata/resources.html">Net.Data</a>. So we built applications using this. But Net.Data fell out of favor with the greater IBM and soon became <a href="http://www-01.ibm.com/support/knowledgecenter/SS7K4U_8.5.5/com.ibm.websphere.zseries.doc/ae/rmig_stabfeat.html">“stabilized”</a>. It was then that IBM and <a href="http://common.org/">COMMON</a> were looking for folks to resume the “requirements” process and I submitted my ideas and got selected to the CAAC. Little did I know that would be the beginning of 10+ years of service to COMMON where I have had the honor to be a speaker, subject matter expert and member of several different committees. </span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />So what makes a Champion to me is simply put, having passion about something. For me, I am passionate about the IBM i community and I want to see it thrive and flourish. I am lucky enough to get recognized by some for my passion and I appreciate that. However, I would like to salute the folks out there who have passion and are champions but have not been recognized. If you have made it this far and know of someone worthy of this recognition, consider <a href="http://www.ibm.com/developerworks/champion/nominate.html">nominating</a> them for the honor of being an IBM Champion. We are all part of a wonderful community that I hope to enjoy for another 30 years with as much energy as I had when I started this journey in 1985! </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com2tag:blogger.com,1999:blog-4577455583142648696.post-89931448356655529462015-01-19T16:27:00.001-08:002015-01-19T16:37:48.874-08:00Developing PHP with Zend Server 8 for IBM i<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Developing PHP with Zend Server 8 for IBM i </span></h2>
<br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Product</span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">A lot of announcements from Zend last week and most important is the release of <a href="http://www.zend.com/en/products/server" target="_blank">Zend Server 8</a> which includes the updated distribution for IBM i! Zend Server 8 has quite a few <a href="http://www.zend.com/en/products/server#whatsnew" target="_blank">new features</a> you can read up more about on our web site like Z-Ray and URL Contexts. I would like to focus this discussion here on the latest versions of PHP and installation questions.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The Zend website went through some changes last year and some folks have had trouble finding things. As always, please do not suffer in silence. Let us help you. First question that tends to come up: “Is Zend Server still free?” And the answer is yes, the Basic Edition comes at no charge via our partnership with IBM. Now the license to enable the Admin GUI is available through the team at Zend. So please <a href="mailto:roy.c@zend.com" target="_blank">get in touch with us</a> if you need an updated key after your initial support window has expired. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The <a href="http://www.zend.com/en/products/server/downloads#IBM%20i" target="_blank">download page</a> has several options including the full install and updates. If you have Zend Server 5 or lower, you will install Zend Server 8 side-by-side and migrate the applications to the new environment. If you have Zend Server 6 or later, there is a single PTF to update the server AND PHP version! Yes, that’s right, you can update the PHP version while updating Zend Server. Just LODPTF and APYPTF and you’re all set. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">We only support one instance of Zend Server per LPAR so if you’d like to test things out we’d strongly recommend a development LPAR. If you do not have a development LPAR and we can refer you to some folks who do a GREAT job helping companies implementing these solutions so the production environment remains safe and unchanged until you are ready to move forward. </span><br />
<br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Development LPAR? </span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Folks often ask me: “why do I need a development LPAR when we’ve been running on IBM i and its ancestors for years without a problem?” For that question I have many responses and I’ll focus on two here. First you have more workload on your IBM i today than you did even 5 years ago. I have many customers running their green screen ERP along with EDI, web services, web pages and much more. So the resources are being taxed and there are more moving parts to worry about than just flipping a library list. Second, you have more developers on your IBM i today than in previous years. Again, I run into many IBM i shops with PHP developers who have not grown up on IBM i and are accustomed to having their on sandbox where things can break. Putting them on a production LPAR can prove disastrous!</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">IBM has made it much more cost effective to have a development LPAR as of POWER 7 and IBM i 7.1 so if you are in need then now is a great time to look into this feature. </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com2tag:blogger.com,1999:blog-4577455583142648696.post-14548272134708337822014-06-18T02:48:00.000-07:002014-06-18T02:48:30.917-07:00We got a new site!<span style="font-family: Arial,Helvetica,sans-serif;">After months of planning and tireless execution the Zend team has delivered a new website with even more content than before. Dedicated to the themes of PHP, Agile, Continuous Delivery and more, <a href="http://www.zend.com/">www.zend.com</a> has more than a new look & feel as it plans to be the cornerstone to the future of our product and support infrastructure. But this is just the tip of the iceberg as many new announcements are coming VERY soon! If you have not been here in a while please check us out. Here are some of our favorite links:</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<a href="http://www.zend.com/en/webinars/recorded/show-by-topic/142_ibm+i" target="_blank"><span style="font-family: Arial,Helvetica,sans-serif;">IBM i Webinars</span></a><br />
<a href="http://www.zend.com/en/support-center" target="_blank"><span style="font-family: Arial,Helvetica,sans-serif;">Documentation</span></a><br />
<ul>
<li><a href="http://files.zend.com/help/Zend-Server-IBMi/zend-server.htm#i5_installation_guide.htm" target="_blank"><span style="font-family: Arial,Helvetica,sans-serif;">Installation Guide</span></a></li>
<li><a href="http://files.zend.com/help/Zend-Server-IBMi/zend-server.htm" target="_blank"><span style="font-family: Arial,Helvetica,sans-serif;">User Guide</span></a></li>
<li><span style="font-family: Arial,Helvetica,sans-serif;"><a href="http://files.zend.com/help/Zend-Server-IBMi/zend-server.htm#introduction2.htm" target="_blank">API Reference (Toolkit)</a></span></li>
</ul>
<a href="http://www.zend.com/en/solutions/modernize-ibm-i" target="_blank"><span style="font-family: Arial,Helvetica,sans-serif;">IBM i Main Page</span></a><br />
<a href="http://www.zend.com/en/solutions/modernize-ibm-i/ibm-i-product" target="_blank"><span style="font-family: Arial, Helvetica, sans-serif;">IBM i Products</span></a><br />
<a href="http://www.zend.com/en/support-center/support/ibmi-sla" target="_blank"><span style="font-family: Arial, Helvetica, sans-serif;">IBM i Service Levels</span></a><br />
<a href="http://www.zend.com/en/solutions/modernize-ibm-i/ibm-i-customer-success" target="_blank"><span style="font-family: Arial, Helvetica, sans-serif;">IBM i Customer Success Stories</span></a><br />
<a href="http://www.zend.com/en/products/studio" target="_blank"><span style="font-family: Arial, Helvetica, sans-serif;">Zend Studio</span></a><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Forums </span><br />
<ul>
<li><a href="http://forums.zend.com/viewforum.php?f=77" target="_blank"><span style="font-family: Arial, Helvetica, sans-serif;">Zend Server for IBM i </span></a></li>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://forums.zend.com/viewforum.php?f=65" target="_blank">Zend Studio for IBM i </a></span></li>
</ul>
<span style="font-family: Arial, Helvetica, sans-serif;"> Enjoy!!!</span><br />
<br />Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-50613070441474096752014-02-16T11:46:00.002-08:002014-02-16T11:46:42.543-08:00More IBM i PHP than ever before!<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Like voting in Chicago, upgrade early and often!</span></h2>
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h2>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">So the other day Zend announced <a href="http://www.zend.com/en/products/server/" target="_blank">Zend Server 6.3</a>. As per their commitment level, they released it for Linux, Windows and IBM i! Woohoo! It is nice to be on the same release sequence as the other major products so thank you R&D!</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">What’s in it for me? </span></h3>
<h4>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h4>
<span style="font-family: Arial,Helvetica,sans-serif;">Zend Server 6.3 has a load of good stuff for IBM i PHP enthusiasts. This is the first time Zend has announced support for 3 major release levels of <a href="http://php.net/" target="_blank">PHP, PHP 5.3, 5.4 and brand new PHP 5.5</a>. In addition, Zend Server for IBM i also supports cross version upgrades. This means you can update the Zend Server 6 PHP stack from PHP 5.3 to PHP 5.5 with only a PTF. In previous release this was only supported by uninstalling Zend Server and reinstalling it. A HUGE time saver but beware of deprecated features as you move from 5.2 to <a href="http://www.php.net/manual/en/migration53.deprecated.php" target="_blank">5.3</a> to <a href="http://www.php.net/manual/en/migration54.deprecated.php" target="_blank">5.4</a> to <a href="http://www.php.net/manual/de/migration55.deprecated.php" target="_blank">5.5</a>. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />Also new in Zend Server 6 is support for the <a href="http://www.zend.com/en/products/server/server-whats-new" target="_blank">Open Source toolkit as a library</a>. This feature makes updates virtually painless and you can easily select which toolkit version you want to use by clicking an option on the library screen. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Many of your favorite PHP extensions are also updated as a result of the new version of PHP. These and performance improvements can provide tons of reasons why you should consider updating your PHP stack. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Stay current </span></h3>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">The latest PHP version is out called <a href="http://www.php.net/ChangeLog-5.php#5.5.0" target="_blank">PHP 5.5</a>. This new release contains support for new features like generators and list function in the foreach clause. There are 37 bug fixes, performance improvements to the PHP Engine and much more. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />As always, the basic edition of Zend Server is ready and waiting for you to install on IBM i thanks to the great partnership with IBM. <br /></span><br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">How do I get there?</span></h3>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="http://www.zend.com/en/products/server/downloads" target="_blank">Downloads </a>are available on the Zend.com website and installed via the PTF process. Keep in mind that PTF’s can be installed and removed so you have a way out if there is a problem. Ideally, Zend recommends a separate LPAR for development where these discoveries can be made before finding out the hard way. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />Are you on Zend Server 5? You can <a href="http://files.zend.com/help/Zend-Server-IBMi/zend-server.htm#migrating_from_zend_server_for_ibmi5.htm" target="_blank">install Zend Server 6 side by side with Zend Server 5 </a>and run them simultaneously on the same LPAR. There is a single conflict in the port definitions of the Java Bridge, but that can be remedied quite quickly (/usr/local/zendsvr6/etc/conf.d/jbridge.ini ). <br /><br />We’ve come a long way since Zend Core and PHP 5.2. And there is no end in sight!</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-87145202779394316332013-08-30T06:39:00.000-07:002013-08-30T07:24:59.083-07:00<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Zend Server 6.1 for IBM i – Woohoo!</span></h2>
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Have you looked at <a href="http://www.zend.com/en/products/server/" target="_blank">Zend Server 6</a> which was released in April of this year? Check it out at <a href="http://zend.com/">Zend.com</a> to see the latest in PHP stacks as we now support PHP 5.4. The first thing you notice about Zend Server 6 is the login screen asks you for a user id and password. That is because we now include role based access to the user interface to Zend Server 6. This allows companies that have a strict division between developers and administration to set and enforce these roles appropriately. Enterprise customers can further enhance the experience by tying the admin interface into a LDAP server thus allowing folks to user their normal userid and password to access the interface and a full blown audit trail for changes to configuration files. Otherwise the ADMIN and DEVELOPER user profiles will work fine.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-gTPddgN1uBU/UiCiFPsVLcI/AAAAAAAAAGc/Tsa8E-qchlk/s1600/ZS61Admin2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="167" src="http://1.bp.blogspot.com/-gTPddgN1uBU/UiCiFPsVLcI/AAAAAAAAAGc/Tsa8E-qchlk/s320/ZS61Admin2.PNG" width="320" /></a></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /> </span><br />
<br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Once logged onto the Zend Server administrative interface, you’ll notice that cleaner and more sleek UI. The folks in R&D spent a lot of time on usability and focused aggressively on a cleaner interface. The initial dashboard shows system statistics as well as events that have recently occurred. And the responsiveness of the screens has tremendously improved over Zend Server 5.</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial,Helvetica,sans-serif;"><a href="http://4.bp.blogspot.com/-tIx9rZPIfNM/UiCigiU0a6I/AAAAAAAAAGo/sxdLLKY7ALY/s1600/ZS61Admin.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="158" src="http://4.bp.blogspot.com/-tIx9rZPIfNM/UiCigiU0a6I/AAAAAAAAAGo/sxdLLKY7ALY/s320/ZS61Admin.PNG" width="320" /></a></span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />One of the cornerstones to Zend Server 6 is the applications centric environment. This gives the administrators the ability to fine tune the event monitor rules based upon application and not just at the server level. One practical example of this is evidenced by an administrator setting up event notification at the application level thus allowing only the production applications to send event email and leaving the more nebulous applications alone. No need to react of hours cause phpMyAdmin threw a PHP error.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-T8kZJt5UWRY/UiCigmVaCKI/AAAAAAAAAGs/2k5kBUkICmI/s1600/ZS61Deploy.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="83" src="http://1.bp.blogspot.com/-T8kZJt5UWRY/UiCigmVaCKI/AAAAAAAAAGs/2k5kBUkICmI/s320/ZS61Deploy.PNG" width="320" /></a></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />Installation of Zend Server 6 is done in parallel with Zend Server 5. This gives IBM i shops the ability to set up the environment of before going live. Once the environment is ready for production all you need to do is flip around a couple of ports. The default ports administration is placed at 10081 and for web serving is 10080. These values can be changed in the Apache configuration file when ready. This separation from UI and Admin brought the IBM i version of Zend Server in line with other platforms and enhances the security by allowing network administrators to block the port from the public.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />Zend Server 6.1 is the current version available at Zend .Com and can be downloaded as a complete installable file or as a PTF to Zend server 6.0 which was released back in March of 2013. Full documentation for Zend Server and the tool kits are available and <a href="http://files.zend.com/help/Zend-Server-6-IBMi/zend-server.htm" target="_blank">documentation pages</a> and <a href="http://zend.com/">Zend.Com</a>. </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-28343698184024429062013-03-11T09:15:00.001-07:002013-03-11T09:15:44.935-07:00Who have you Mentored lately? <!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">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.<span style="mso-spacerun: yes;">
</span>In a phrase, educating the great unwashed.<span style="mso-spacerun: yes;"> </span>Yes, the IBM i is a special animal in the
world of computing.<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span>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 <a href="http://common.org/" target="_blank">COMMON</a> was!<span style="mso-spacerun: yes;"> </span>Ouch!!!<span style="mso-spacerun: yes;"> </span>By the way, we’ll be at the <a href="http://common.org/index.php/annualmeeting.html" target="_blank">Annual Conference and Expo</a> at the beginning
of April with a booth and sessions and more!</span></div>
<div class="MsoNormal">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">Education of the team is the manager’s responsibility.<span style="mso-spacerun: yes;"> </span>Another customer asked me about the kids
today learning RPG and why there aren’t that many.<span style="mso-spacerun: yes;"> </span>I mentioned Jim Buck’s program at Gateway and
also we kicked around a number of anecdotal concepts.<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span>He is a great guy with a good head on his
shoulders for business, more on that in a minute.<span style="mso-spacerun: yes;"> </span>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?”<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span>They were a little shocked when I mentioned
that having a younger person learn RPG until I reminded them of the previous
discussion.<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">This brings up the primary position of my blog for the
month.<span style="mso-spacerun: yes;"> </span>What have you done to mentor
someone today?<span style="mso-spacerun: yes;"> </span>I remember when I was a
budding RPG developer and I had two mentors who were essential in my success as
an RPG programmer.<span style="mso-spacerun: yes;"> </span>Sure I might have
learned the same things over time, but not nearly as quickly or
effectively.<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span>And
certainly the Internet has come along way to make information much more available
and easier to absorb.<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span>I challenge everyone out there who is
responsible for the development team, in any role.<span style="mso-spacerun: yes;"> </span>Go find an intern and teach them RPG.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">OK, so it will take time for them to learn RPG.<span style="mso-spacerun: yes;"> </span>They may not like RPG once they’ve learned it
(silly thought).<span style="mso-spacerun: yes;"> </span>It’s not sexy like .Net
or Java (so what!).<span style="mso-spacerun: yes;"> </span>Then fuel the
discussion with some other points like CASH, MOOLAH, DeNiro, COIN, Money,
Geidis, scratch, and a myriad of other terms.<span style="mso-spacerun: yes;">
</span>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. <span style="mso-spacerun: yes;"> </span>But just as
important, they must appreciate business.<span style="mso-spacerun: yes;">
</span>Interns at local community colleges can come along with referrals from
their college advisers.<span style="mso-spacerun: yes;"> </span>Get in touch
with the local college adviser and look for an intern who appreciates BUSINESS!<span style="mso-spacerun: yes;"> </span>I have, somewhat provocatively, stated at
several presentations that RPG programmers are not programmers at all.<span style="mso-spacerun: yes;"> </span>They are business analysts who code RPG.<span style="mso-spacerun: yes;"> </span>Therefore, it is essential that anyone you
interview for a position to learn or work on IBM i that they understand and
appreciate business.<span style="mso-spacerun: yes;"> </span>That is not to say
young developers who want to do cool, sexy things cannot help an IBM i
shop.<span style="mso-spacerun: yes;"> </span>But they will tend to get
frustrated when you ask them the difference between a PO, a payable and a
payment!<span style="mso-spacerun: yes;"> </span>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.<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">One of the anticipated questions I run into is “well why
would a younger person be interested in learning RPG?”<span style="mso-spacerun: yes;"> </span>The obvious answer is they want a JOB!!!<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>But do
you want to throw them into the deep end of RPG with no hope of leveraging any
other technologies?<span style="mso-spacerun: yes;"> </span>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, <span style="mso-spacerun: yes;"> </span>Ajax, PHP, etc. <span style="mso-spacerun: yes;"> </span>Modernize your applications and leverage the
more modern tools available in IBM i at the same time!<span style="mso-spacerun: yes;"> </span></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<br /></div>
<span style="font-family: Arial,Helvetica,sans-serif;">
</span><div class="MsoNormal">
<span style="font-family: Arial,Helvetica,sans-serif;">See you soon! <span style="mso-spacerun: yes;"> </span></span></div>
Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-12611768902566915552012-12-10T16:08:00.001-08:002012-12-10T16:41:17.952-08:00New Cumulative PTF for Zend Server for IBM i<h2>
<span style="font-family: Arial,Helvetica,sans-serif;"> </span></h2>
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Updates All in One! </span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Hot off the press, Zend Server Hot Fix 7 is a cumulative update for the Zend Server stack with almost all of the latest and greatest enhancements. Folks who recently updated their PHP stack for Zend Server were probably getting annoyed at how many PTF's they needed to apply. Now in a single PTF update you can get all the following new enhancements to the PHP stack. </span><br />
<br />
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">PHP Version 5.3.14</span></h3>
<span style="font-family: Arial, Helvetica, sans-serif;">The PHP stack gets updated for PHP 5.3 users and this PTF is ONLY for PHP 5.3. PHP 5.2 has been deprecated for some time and you'll notice from the download page that we reorganized the PHP 5.2 stuff to another page. rest assured the 5.2 stuff will be around for a bit but the main download page was getting a tad cluttered. </span><br />
<br />
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">Zend Framework 1 & 2 </span></h3>
<span style="font-family: Arial, Helvetica, sans-serif;">The Zend Framework stack for version 1 has been updated to 1.12.0 and Zend Framework 2 is now included. The DB2 adapter is still undergoing some beta work and should be out soon, but for those who want to get going with ZF2 the code is there at 2.0.2.</span><br />
<br />
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">PHP Toolkit and XML Service</span></h3>
<span style="font-family: Arial, Helvetica, sans-serif;">We've updated the toolkit with a fresh copy of XML Service and the PHP code from the YiPs website but another version is coming soon. Stay tuned. </span><br />
<br />
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;">The PTF Process </span></h3>
<span style="font-family: Arial, Helvetica, sans-serif;">When we introduced Zend Server we moved from an automatic update to a PTF approach as more and more IBM i shops were looking for a controlled environment. So please <a href="http://www.zend.com/en/products/server/downloads?src=downloadb" target="_blank">get your PTF</a> from the Zend Server download page and have an updated stack. As always, please get your questions in early and often and feel free to ring up your account manager if your bandwidth is maxed out. Our <a href="http://www.zend.com/services/consulting/?src=tindex" target="_blank">services folks</a> would love to help! Need some <a href="http://www.zend.com/en/services/training/" target="_blank">training</a>? Got that too!!!</span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">As this will probably be my last blog of the year, please have a Merry Christmas and a Happy & Healthy New Year! Wishing you all a Peaceful and Joyous 2013! </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"> </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-26687113733566903212012-11-05T12:00:00.000-08:002012-12-10T15:47:21.518-08:00ZendCon 2012 & Product Announcements<br />
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">A funny thing happened on my way to ZendCon, Summit and LUG! </span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">So I figure a recap of the activities from ZendCon 2012 is in order as there was a lot of information shared especially about new product. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Zend Server 6</span></h3>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Zend Server 6 was announced to a very enthusiastic crowd. Some cool new features that were demonstrated include the ability to organize access to Zend Server by role, leverage LDAP authentication and generate statistics on application and web site usage. The new UI was re-written in a lightweight JavaScript framework which makes it perform extremely well. Add to that that the architecture that is API driven and now third party vendors will be able to plug into it! The beta does not include IBM i but i do have an alpha copy loaded on one of my LPARs so it will be along soon. Here is a <a href="http://www.youtube.com/watch?v=6qT9oFn0Cxk" target="_blank">video</a> with more info.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Zend Studio</span></h3>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">So Studio has some enhancements, as well. The most prominent piece is the new Wizard that help a customer build an end-to-end mobile application in minutes. Leveraging the open source PhoneGap library, you can literally build test and deploy in a project in Zend studio to any of the three major handhelds in their specific technologies: iPhone(i/OS), Android and Windows Mobile. Zend Framework 2 integration has been enhanced along with greater PHP 5.4 support. Check out the <a href="http://www.zend.com/en/products/studio/studio-10-beta" target="_blank">beta here</a> and provide feedback in the <a href="http://forums.zend.com/viewforum.php?f=123" target="_blank">Studio 10 forum</a>!</span><br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">Other happenings</span></h3>
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;"></span></h3>
<span style="font-family: Arial,Helvetica,sans-serif;">BCD, IBM and Zend hosted a really happening reception where all the IBM i folks gathered on Tuesday evening. Originally envisioned as a small dinner where the IBM i faithful could gather to network and share ideas (ala CUDS) this reception has evolved into a full blown party with about 45 people joining us from all parts of the community. Folks had a chance to mingle with the authors of the toolkit, IBM’ers Ryan and Tony, one of the current developers of the BCD tools and many Zenders stopped by on their way to and from various events. I think this was easily one of the most successful IBM i networking receptions we ever had and a special thanks to the marketing folks at IBM (Elaine and Andrea) for putting up with my badgering and allowing it to happen. Also, a HUGE thank you for BCD who did a great job participating and sponsoring. BCD is a great new partner and longtime friend of PHP on IBM i. </span><br />
<br />
<h3>
<span style="font-family: Arial,Helvetica,sans-serif;">And then there was the LUG</span></h3>
<h3>
</h3>
<span style="font-family: Arial,Helvetica,sans-serif;">I had the privilege of addressing the IBM Large User Group in Rochester Minnesota the same week as ZendCon. The crowd was excited as always about the solutions being delivered by Zend and the general direction of PHP. But what was really telling was the interest in mobile solutions and how important mobile has become to this community. more and more IBM i customers are continuing to adopt PHP and it is always great to chat with these folks all over the world! Here's to a great 2013 where the road work will be even greater!!!</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com2tag:blogger.com,1999:blog-4577455583142648696.post-18074181257727871772012-09-20T08:47:00.001-07:002012-09-20T08:47:40.341-07:00PLEASE, Let your "Top Concerns" be heard!!!<span style="font-family: Arial,Helvetica,sans-serif;">The folks at COMMON in Europe created an <a href="http://www.topconcerns.org/" target="_blank">interesting survey</a> that asks IBM i folks about what "concerns" them about IBM i. (By the way, the survey is written in <a href="http://php.net/" target="_blank">PHP</a> using an open source content
management system called <a href="http://www.joomla.org/" target="_blank">Joomla</a> and guess what OS it is running on?) While I absolutely love this machine there are many things that concern me so I jumped at the chance the let my voice be heard and here's why.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">Years ago I became a charter member of the <a href="https://www.common.org/index.php/volunteer/caac.html" target="_blank">COMMON Americas Advisory Counsel</a>. This group was created to, essentially, resurrect the old requirements process and provide direct feedback to IBM Rochester to make improvements to IBM i. This came about as the result of a blanket email that went to all members of <a href="http://www.common.org/" target="_blank">COMMON</a> in North America. In the application the email asked for a charter requirement. In other words, what would you want IBM to do to IBM i to make it better. Well, it is probably no big secret that my charter requirement was to ask IBM to either enhance <a href="http://www-01.ibm.com/software/data/net.data/" target="_blank">Net.Data</a> or bring a scripting solution like <a href="http://php.net/" target="_blank">PHP</a> to the platform. Not only was my application accepted, but so was my requirement. I was thrilled to become part of an influential community within the IBM i community.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">Over the next several years as I watched my <a href="http://php.net/" target="_blank">PHP</a> requirement evolve into the partnership with <a href="http://www.zend.com/" target="_blank">Zend</a> and THOUSANDS of IBM i people around the world enjoying <a href="http://php.net/" target="_blank">PHP</a> running natively on IBM i, I also had the chance to provide input and requirements on many other aspects of IBM i. Some of them include Blades, simplified interfaces, and even a confirmation screen for potentially dangerous commands like PWRDWNSYS and ENDTCP. As you might have guessed, some requirements were accepted and some were not for various reasons. However, while sitting in a keynote presentation by Steve Will at the recent OMNI Technical Conference I was commenting to someone sitting next to me about some of the many things IBM has brought to IBM i that were the result of mine and other peoples requirements. This made me quite proud that our contributions were perceived as valuable and that proved that IBM was listening!</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">A couple of years ago I left the advisory counsel for a number of reasons, most notable was that my role had evolved from customer to ISV and that I found myself focused on other initiatives. But this survey gave me what I was looking for in a fast and easy way to communicate some of my recent requirements. You can always create a requirement at COMMON or by going online. But when something is easy I just love it! </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">It took me a whopping 5 minutes to fill out the <a href="http://www.topconcerns.org/" target="_blank">Top Concerns survey</a> and I encourage you to do the same. The designers of the survey are also awarding a prize which you can choose to decline. All responses are anonymous, unless you would prefer to include your name in the description field. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: Arial,Helvetica,sans-serif;">This is a great opportunity for a great platform. Please find some time to cast your opinion. Even if it is just to say thanks for a wonderful operating system!</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-90106939174136576062012-09-11T15:39:00.000-07:002012-09-11T15:39:23.436-07:00PHP Growing Up on IBM i<span style="font-family: Arial,Helvetica,sans-serif;">The PHP community around IBM i is growing up and I couldn’t be more impressed.<br /> </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">As I get ready for the fall conference season I see plenty of travel in my future. This is always a good thing as that means there is demand and sincere interest in PHP on IBM i. What also seems to be chewing up my free time is our training programs. Zend has two major IBM i centric initiatives. First is the <a href="http://www.zend.com/services/training/course-catalog/php-foundations-i5">PHP I Foundation for IBM i</a>. This is the class where most IBM i customers begin their journey down the PHP road. The class is taught online for 2 hours a day, every other day for three weeks by John Valance and occasionally by me. There was so much demand for the course in the 2nd half of this year and now we are sold out for the rest of 2012. </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />Building on the success of the foundations 1 course is our <a href="http://www.zend.com/en/services/consulting/smartstart-i5/">SmartStart</a> which combines the system setup, Foundations I training, and a “Proof-of-Concept” type project for one low price. One major advantage is that we let the customer decide the project! These have ranged from iPad applications on a shop floor to Web services to Executive dashboards. The concept is to compress the head pounding that many IBM i folks endure when learning a new technology from 6 months down to 2 weeks. At the end of the engagement most customers have a solution they can show off and support! In today’s “results oriented” society, this provides a big advantage for most IBM i shops. A CIO can show REAL value for the investment and also make a VERY informed decision about the strategic value of PHP without risking the entire budget.</span><br />
<span style="font-family: Arial,Helvetica,sans-serif;"><br />In the spirit of full disclosure, I would love to say the SmartStart has been a smashing success and in many ways they have all been successful. But we have learned a lot about the delivery and services around IBM i and are in the prime execution mode of SmartStart. In addition to delivering training a local company I walk away with new perspectives on businesses using PHP and the day to day issues developers struggle with when working with IBM i. Some of these issues are self-inflicted like working with RPG II & III skills and code bases while others are still struggling with three environments on a single IBM i. We at Zend ARE listening and in the next few months you will be hearing about the fruits of our labors. The R&D group is hard at work on MANY new initiatives and we are working to address a number of the customer concerns raised over the years as we move toward the next major release. I think that teases it nicely without committing to any details ;-) <br /></span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-3305755361742726882012-08-08T13:03:00.000-07:002012-08-08T13:03:10.025-07:00Don't Suffer in Silence!<span style="font-family: Arial,Helvetica,sans-serif;">I have run in to a few customers over the last several months who were surprised to find out they had access to support. One of the worst things an IBM i programmer can do when trying to adopt <a href="http://php.net/">PHP</a> is suffer in silence. We have a ton of resources at <a href="http://zend.com/">Zend.com</a> that are designed to help everyone adopt <a href="http://php.net/">PHP</a> regardless of platform. And even though our installer is fairly straight forward we have seen some customers have trouble because of old system configuration settings that they inherited. Let’s look at some of these resources.</span><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> </span><br />
<h2>
<a href="http://www.zend.com/resources/webinars/"><span style="font-family: Arial,Helvetica,sans-serif;">Webcasts</span></a></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">We have a bunch of webcasts where you can tune in to see just about everything from basic <a href="http://php.net/">PHP</a> to <a href="http://www.zend.com/products/studio/">Zend Studio</a> and <a href="http://www.zend.com/community/framework">Zend Framework</a> discussions and examples. Not all of these webcasts are geared specifically for IBM i, but that’s OK since they are all geared toward <a href="http://php.net/">PHP</a>. And it’s the same <a href="http://php.net/">PHP</a> that runs on t Linux, Windows and IBM i. </span><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> </span><br />
<h2>
<a href="http://www.zend.com/resources/zend-documentation/"><span style="font-family: Arial,Helvetica,sans-serif;">Documentation</span></a></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">All of our products are fully documented in both <a href="http://files.zend.com/help/Zend-Server-IBMi/zend-server.htm">online</a> and <a href="http://www.zend.com/resources/zend-documentation/">PDF formats</a>. These materials talk about installation and configuration options for both version of <a href="http://www.zend.com/products/server/">Zend Server</a>, <a href="http://www.zend.com/products/studio/">Zend Studio</a> and <a href="http://www.zend.com/products/guard/">Zend Guard</a>. In addition to the standard documentation on our site we also host many white papers and case studies. These tend to illustrate many of the interesting ways to leverage <a href="http://php.net/">PHP</a> and also discuss how many of our customers are deploying <a href="http://php.net/">PHP</a> based solutions in their own environments. </span><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> </span><br />
<br />
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Sample Scripts</span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">With <a href="http://www.zend.com/products/server/">Zend Server</a> comes several sample scripts that illustrate basic <a href="http://php.net/">PHP</a> functions. These samples are great for validating that <a href="http://www.zend.com/products/server/">Zend Server</a> was installed properly and demonstrate basic PHP functions like database access and Zend Framework usage. They can be accessed from the Demo Applications subtab of the Monitor tab in the <a href="http://www.zend.com/products/server/">Zend Server</a> Administrative Interface and the script code is in the default document root: "/www/zendsvr/htdocs/samples. </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-I8_faZK5JuQ/UCK4VmSOyWI/AAAAAAAAAFY/9jofCFTqoeM/s1600/ZendSamplesIBM.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="202" src="http://2.bp.blogspot.com/-I8_faZK5JuQ/UCK4VmSOyWI/AAAAAAAAAFY/9jofCFTqoeM/s400/ZendSamplesIBM.JPG" width="400" /></a></div>
<br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> </span><br />
<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Cases</span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;">Opening a support ticket is the best way for a supported customer to get help. Cases are designed to help customers with issues during installation or why some feature sets might not appear to be functioning correctly. There are several support levels available at Zend including the 1 year of free support thanks to our partnership with IBM which is available after <a href="http://www.zend.com/products/server/ibm/license">registering </a>your copy of <a href="http://www.zend.com/products/server/">Zend Server for IBM i</a>. The <a href="http://www.zend.com/support-center/support/production-sla-ibm-i">SLA’s</a> for the various support models delineate what is available to whom. Customers with <a href="http://www.zend.com/support-center/support/production-sla-ibm-i">Gold or Platinum support</a> also get a phone number to call for support. This number was sent to your primary Zend account holder immediately after purchasing <a href="http://www.zend.com/products/server/">Zend Server</a>. If you don’t have it or don’t know where it is please drop us a line or call your account manager. </span><br />Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com3tag:blogger.com,1999:blog-4577455583142648696.post-1331768463721414152012-06-26T15:31:00.001-07:002012-06-26T15:34:36.471-07:00Zend and MySQL:DB2 Storage Engine<span style="font-family: Arial,Helvetica,sans-serif;">Zend and MySQL…</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">On my travels through Europe as I visit many IBM i customers I am presented with wonderful challenges and opportunities. </span><span style="font-family: Arial,Helvetica,sans-serif;">One challenge had me stunned but I must say should not be terribly surprising. It was about the DB2 Storage Engine for </span><span style="font-family: Arial,Helvetica,sans-serif;">MySQL and support.</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">First, what is Mike talking about? Well, MySQL is the world’s most popular open source RDBMS and it runs on nearly every </span><span style="font-family: Arial,Helvetica,sans-serif;">platform including IBM i with the recent edition of the new <a href="http://www.zend.com/en/products/dbi/">Zend DBi</a> product. <a href="http://www.mysql.com/common/images/PSEA_diagram.jpg">MySQL is architected</a> in a </span><span style="font-family: Arial,Helvetica,sans-serif;">special way in which the UI is separated from the data storage layer. This allows MySQL to change the storage layer </span><span style="font-family: Arial,Helvetica,sans-serif;">without having to rewrite the application. Does this sound familiar?</span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">The idea is that you would use an application that would store data in MySQL, possibly SugarCRM, Drupal, MediaWiki or </span><span style="font-family: Arial,Helvetica,sans-serif;">something like along those lines. Even a home grown application talking to MySQL would work. Then, you tell MySQL to </span><span style="font-family: Arial,Helvetica,sans-serif;">store the data for those tables in DB2 rather than MySQL via the ENGINE SQL directive. This lets your applications talk to </span><span style="font-family: Arial,Helvetica,sans-serif;">MySQL while the actual data is being stored in DB2 on IBM i. It is important to understand that this data is NOT </span><span style="font-family: Arial,Helvetica,sans-serif;">replicated. The actual data store is DB2. Existing tables can be converted to DB2 by using the alter table statement as well. IBM has a couple of great <a href="http://publib-b.boulder.ibm.com/Redbooks.nsf/searchdomain?SearchView&query=%5Bsubjects%5D=AS400+and+mysql&SearchOrder=1&category=systemi">redbooks</a> on the subject that are well worth checking out. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">So someone asked if the DB2 Storage Engine is supported. </span><span style="font-family: Arial,Helvetica,sans-serif;">According to IBM, the answer is yes </span><span style="font-family: Arial,Helvetica,sans-serif;">so long as they are current on their IBM Software Maintenance Agreement (SWMA). If a customer is current, </span><span style="font-family: Arial,Helvetica,sans-serif;">then that customer who deploys this solution and has who needs to log a support ticket a problem can, under SWMA, </span><span style="font-family: Arial,Helvetica,sans-serif;">open a PMR regarding the DB2 Storage engine and IBM will work toward a resolution. This is a good </span><span style="font-family: Arial,Helvetica,sans-serif;">thing and proves that IBM will stand by their solutions. </span><br />
<br />
<span style="font-family: Arial,Helvetica,sans-serif;">I developed a new presentation called Introduction to MySQL for IBM i. This session has been getting some pretty good </span><span style="font-family: Arial,Helvetica,sans-serif;">reviews and I have gotten some awesome feedback for updates. As a result we are scheduling a webcast on the <a href="http://www.zend.com/en/company/news/event/1087_webinar-introduction-to-mysql-for-ibm-i">MySQL and IBM i</a> in </span><span style="font-family: Arial,Helvetica,sans-serif;">August! There is no charge for the live and </span><span style="font-family: Arial,Helvetica,sans-serif;">recorded </span><span style="font-family: Arial,Helvetica,sans-serif;">webcasts at the <a href="http://zend.com/">Zend</a> website so like voting in Chicago – tune in early </span><span style="font-family: Arial,Helvetica,sans-serif;">and often!</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-36086134390072480802012-05-25T09:45:00.000-07:002012-05-25T09:45:02.463-07:00Why Upgrade IBM i?<h2>
<span style="font-family: Arial,Helvetica,sans-serif;">or...the Rising Tide Raises all Boats...What has DB2 Done for me Lately? </span></h2>
<span style="font-family: Arial,Helvetica,sans-serif;"><br /></span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">There are two sides – PHP and/or as important as PHP is the OS You should examine your OS level and I will implore you to </span><span style="font-family: Arial,Helvetica,sans-serif;">consider leveraging your current investment. Upgrade to i6.1 or i7.1 today! IBM has done a nice job adding features to IBM i and the way they do that is with new releases and the technology refresh </span><span style="font-family: Arial,Helvetica,sans-serif;">process. And i6.1 or higher has new DB2 features that can dramatically improve the performance of IBM i and expand your </span><span style="font-family: Arial,Helvetica,sans-serif;">abilities as an IBM I developer. </span><br />
<br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;">One thing is clear, IBM is investing heavily in DB2 on IBM i. I have been on the road now for two weeks of a six week road </span><span style="font-family: Arial,Helvetica,sans-serif;">show. (They let me go home on weekends to see how much the kids have grown). As I visit all these events I notice there </span><span style="font-family: Arial,Helvetica,sans-serif;">seems to be 2 guys from IBM Rochester talking about DB2. This would not be so shocking if it weren’t for the fact that </span><span style="font-family: Arial,Helvetica,sans-serif;">it’s rarely the same two guys! It appears IBM has been hoarding an army of DB2 guys and now they are on the road talking </span><span style="font-family: Arial,Helvetica,sans-serif;">about all the great new stuff! This led me to a dramatic realization that makes perfect sense when you think about it. If </span><span style="font-family: Arial,Helvetica,sans-serif;">IBM invests in RPG, as they continue to do, then many RPG folks benefit, same for Java and COBOL, etc. But, since we ALL </span><span style="font-family: Arial,Helvetica,sans-serif;">use DB2, any investments IBM makes in DB2 benefits ALL OF US! Yes, PHP gets faster and more powerful as IBM improves DB2!</span><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> </span><br />
<span style="font-family: Arial,Helvetica,sans-serif;">Yep, PHP, RPG, COBOL, Java and all the utility vendors benefit from performance and feature improvements to DB2. Makes </span><span style="font-family: Arial,Helvetica,sans-serif;">sense to me. As I have no idea how much IBM spends on IBM i R&D and know even less about how they divide it up, I can only </span><span style="font-family: Arial,Helvetica,sans-serif;">guess that the portion invested in DB2 is significant. Why? Think about it. Anything IBM changes in DB2 has to be rock </span><span style="font-family: Arial,Helvetica,sans-serif;">solid and virtually bulletproof. The main reason for this is that IBM themselves are using DB2 on IBM I to run parts of </span><span style="font-family: Arial,Helvetica,sans-serif;">the OS! This means the developers have added pressure of IBM management breathing down their backs as well as customer </span><span style="font-family: Arial,Helvetica,sans-serif;">satisfaction.</span><br />
<br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;">IBM uses the carrot and stick approach to get customers to upgrade and update their systems. In some cases, folks simply </span><span style="font-family: Arial,Helvetica,sans-serif;">cannot cost justify an upgrade. I am not looking to start a religious war about why a company should or should not go off </span><span style="font-family: Arial,Helvetica,sans-serif;">maintenance. But I do understand that these are tough times and every penny counts. So if you are a company on </span><span style="font-family: Arial,Helvetica,sans-serif;">maintenance and you have a machine that can go up, why haven’t you? Time? Experience? Confidence? Could be a myriad of </span><span style="font-family: Arial,Helvetica,sans-serif;">reasons why you are holding off. </span><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;"> I ask you to look at the benefits, however. I have a customer who recently planned a hardware upgrade. Obviously, the </span><span style="font-family: Arial,Helvetica,sans-serif;">upgrade would go smoother if they upgrade the OS from V5R4 to i7.1 before attempting the hardware, so they did. There were </span><span style="font-family: Arial,Helvetica,sans-serif;">so many performance improvements and opportunities to improve DB2 performance that they were able to cancel the hardware </span><span style="font-family: Arial,Helvetica,sans-serif;">upgrade. Think about that value! A company was able to postpone a significant investment just by implementing a newer </span><span style="font-family: Arial,Helvetica,sans-serif;">version of the OS that THEY WERE ALREADY ENTITLED TO thanks to their SWMA!</span><br />
<br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;">If you can swing new hardware, there are things like smaller footprints and lower power utilization. We have a new Power </span><span style="font-family: Arial,Helvetica,sans-serif;">720 in our office with 9 LPAR’s and I am amazed at how powerful it is as well as easy to administer. Now, I did get some </span><span style="font-family: Arial,Helvetica,sans-serif;">help setting the machine up. But once it was set up it has been great! Which brings me to my last point, excess power? </span><br style="font-family: Arial,Helvetica,sans-serif;" /><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;">In many cases I have customers who have upgraded hardware to stay current on maintenance or simply to add a little capacity </span><span style="font-family: Arial,Helvetica,sans-serif;">like disk, etc. What some of these folks discover is that their machines have excess capacity at the end of the upgrade. </span><span style="font-family: Arial,Helvetica,sans-serif;">So what to do with that capacity? I have a few ideas. How about an open source CRM or content management system written </span><span style="font-family: Arial,Helvetica,sans-serif;">in PHP? By implementing something like Joomla, Drupal, MediWiki or SugarCRM, customers can take advantage of this excess </span><span style="font-family: Arial,Helvetica,sans-serif;">capacity by leveraging PHP natively on IBM i and simultaneously avoid the investment in additional Intel infrastructure. </span><br style="font-family: Arial,Helvetica,sans-serif;" /><br style="font-family: Arial,Helvetica,sans-serif;" /><span style="font-family: Arial,Helvetica,sans-serif;">Nice. </span><br style="font-family: Arial,Helvetica,sans-serif;" />Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-25366323947404054132012-04-16T13:16:00.002-07:002012-04-16T13:33:02.613-07:00Open Source Tools for IBM i<span style="font-size:130%;"><span style=" font-weight: bold;font-family:arial;" >Tools anyone?</span></span><br style="font-family:arial;"><span style="font-family:arial;">Rather than blather on about the new toolkit, once again, I was struck by an opportunity I saw recently in the open source arena. One of the things I love about open source is the idea that I can kick the tires before buying into a solution. There will always be those folks out there who refuse to pay for anything, regardless of the level of value they derive from someone else’s efforts. There are many ways to contribute to the open source community that do not require code and <a href="http://www.makeuseof.com/tag/8-ways-opensource-projects-coder/">here is an article</a> that highlights a few.<br /></span><br style="font-family:arial;"><span style="font-family:arial;">So as I was discussing the open source arena the other day with a colleague he mentioned another project. Like Zend Server CE that is distributed for no charge and has an optional support model. The is attractive in many ways, mostly by breaking down the barrier to entry to almost nothing. Also, it provides an insidious way for some derelict companies to modernize. It still shocks me to run into a company with apathetic management or “coasters” (those who have a couple of years to go before retirement and do not wish to risk anything new.) </span><br style="font-family:arial;"><span style="font-family:arial;">I want staff to stand up and start skunk-works projects and here are a couple of way to do that. Managers are welcome to exploit these techniques, as well.<br /></span><br style="font-family:arial;"><span style="font-family:arial;"><span style="font-size:130%;"><span style="font-weight: bold;">phpMyAdmin</span></span> – comes pre-installed with Zend Server</span><br style="font-family:arial;"><span style="font-family:arial;">This is an open source utility written in PHP that provides nearly every administrative function necessary for MySQL. The MySQL Monitor (command line interface) can seem a bit intimidating for the uninitiated and this interface really softens the blow. Getting familiar with MySQL makes like a lot easier and is required when ramping up on other open source projects like <a href="http://www.sugarforge.org/">SugarCRM</a>, <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>, <a href="http://www.joomla.org/">Joomla </a>and <a href="http://drupal.org/">Drupal</a>, all of which I have installed and run on IBM i. Here is a helpful tip:When you first install MySQL, either as part of Zend Server or as part of the <a href="http://www.zend.com/en/products/dbi/">Zend DBi</a> product just released by Zend you should realize the ROOT user profile (MySQL equivalent of QSECOFR) has no password. Immediately upon installation of the MySQL Server I create a powerful profile for myself and once I have verified that it is working I set the password to ROOT so that no one can hack my implementation. </span><br /><br style="font-family:arial;"><span style="font-family:arial;"><span style="font-size:130%;"><span style="font-weight: bold;">Content Management</span></span> with <a href="http://drupal.org">Drupal </a>or <a href="http://www.joomla.org/">Joomla </a>or whatever…</span><br style="font-family:arial;"><span style="font-family:arial;">Putting up a website can seem like a daunting task. Installing something that can manage the site might make more sense, especially if your company is contemplating a new Intranet. There are many open source content management systems (CMS) out there to consider. I have been a big advocate of <a href="http://drupal.org">Drupal</a> since it has a VERY large and rabid following and seems to have many key features folks want in their sites. But truly any content management system will do. The folks at <a href="http://wmcpa.org">WMCPA</a> and <a href="http://common.org">COMMON</a> selected <a href="http://www.joomla.org/">Joomla </a>as their CMS of choice and have been very pleased with it. </span><br /><br style="font-family:arial;"><span style="font-size:130%;"><span style=" font-weight: bold;font-family:arial;" >Documentation?</span></span><br style="font-family:arial;"><span style="font-family:arial;">A while ago I picked up a tip from <a href="http://www.ibmsystemsmag.com/authors/Jon-Paris/">Jon Paris</a> of <a href="http://www.partner400.com/">Partner400</a> fame. The idea was to take a wiki application and allow end users to build their own doc. Jon recommends <a href="http://www.pmwiki.org/">PMWiki</a> and while I am not terribly familiar with that solution I tend to advocate <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>. <a href="http://www.mediawiki.org/wiki/MediaWiki"> MediaWiki </a>has a great feature that is activated by default. This feature can be turned on to allow the IT staff and developers to build the end user documentations for programs and processes within the organization. AND for each page they build there is a corresponding end user documentation page that is fully annotatable. Meaning, end users can makes notes right on the page running in PHP and updating MySQL running directly on IBM i. Think of some of the added benefits to this approach like automatically backing up end user documentation with each SAV of the IFS or option 21. Also, think of disaster recovery scenarios where the end user doc is now immediately available after restoring the system. No need to recover a file server or windows/linux box. </span><br style="font-family:arial;"><br style="font-family:arial;"><span style="font-family:arial;">There are quite a few interesting options out there and I would strongly recommend you check out the <a href="http://http//youngiprofessionals.com/">YiPs</a> website for more details… or, let your fingers do the walking with Google. </span><br style="font-family:arial;"><span style="font-family:arial;"> </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-69011555927399726882012-03-13T14:18:00.002-07:002012-03-13T14:35:29.829-07:00Spring has sprung and so has conference season!<span style="font-family: arial;">Spring has sprung here in Chicago and that means getting on the road! I’m coming to see you!</span><br style="font-family: arial;"><span style="font-family: arial;">Actually, everybody at Zend is excited about all the new announcements and events coming up so I thought I would run some of them down for you. You can always get the latest on the most recent events from the Zend Event Calendar and the monthly newsletter. But a little nudge every once in a while doesn’t hurt.</span><br /><br style="font-family: arial;"><span style="font-family: arial;">While I love to run around the country and the world to spread the good news about PHP on IBM i, the real value for me is meeting a bunch of AWESOME people. These folks really understand systems if they have an IBM i we can instantly click. I spend a great deal of time in and out of sessions helping to marry these folks with that awesome infrastructure with a contemporary language like PHP. It is truly a luxury, but don’t tell my boss because he’ll think I am having too much fun. Plus I have an awesome collection on miniature shampoo bottles from hotels around the world. </span><br /><br style="font-family: arial;"><span style="font-family: arial;">This month I will be heading to Lake Geneva, Wisconsin for the annual <a href="http://wmcpa.org/index.php/spring-conference/2012-spring-conference-information">WMCPA Conference</a> on March 20-23. Here are some folks who not only understand the value of PHP (Their website is Joomla running on IBM i) they also support a fantastic educational event with headlining speakers like Jon Paris, Susan Gantner, Pete Massiello and PHP evangelist Alan Seiden, just to name a few. I’ll be doing a couple of presentations and a PHP workshop! Stop by the Zend booth. </span><br /><br style="font-family: arial;"><span style="font-family: arial;">Next, I follow Jon and Susan down to Ft Worth, TX for the semi-annual <a href="http://www.systemideveloper.com/Summit/conferences.html">RPG & DB2 Summit</a>. This event draws out some of the strongest RPG programmers I have ever met. Many of whom are interested in moving forward with PHP as well as RPG and that is just perfect. These folks will really appreciate the new open source toolkit bundled into Zend Server 5.6 to leverage legacy RPG business logic. </span><br /><br style="font-family: arial;"><span style="font-family: arial;">A quick trip to the bay area to stop by HQ and then I am off to Framingham(Boston), MA for the annual <a href="http://neugc.org/">NEUGC conference</a> on April 2-4. This is one of the biggest events in the Northeast that will focus on IBM i centric technology. This will be my first appearance at this event and I hope not the last. We will be running a hands on PHP workshop as well as several sessions on PHP content. </span><br /><br style="font-family: arial;"><span style="font-family: arial;">There may be a few pother events beforehand but let’s not forget the big one, the <a href="http://www.common.org/index.php/annualmeeting.html">COMMON Annual Meeting</a> in Anaheim on May 6-9. Zend will have a booth and I will be doing several sessions and maybe a biggie on Zend DBi, the new MySQL distribution from Zend Technologies. With over a dozen sessions on PHP and hundreds of sessions on IBM i and AIX content, this is sure to be the biggest event in the US. I have seen many great activities planned around the conference so make plans to be in Disneyland this week!</span><br /><br style="font-family: arial;"><span style="font-family: arial;">What about outside of the US? Well, Vienna is supposed to be very nice in June! Yes, <a href="http://comeur.org/common/">COMMON Europe</a> will be holding their annual event in Vienna Austria this year on June 9-12 and Zend will be there for the festivities. With presentations, a booth and several events we expect this to help COMMON celebrate 50 years in Europe! </span><br /><br /><span style="font-family: arial;">Have I ever mentioned that all those website links in the previous text are pointing to PHP applications? The COMMON and WMCPA sites actually run on IBM i!</span><br /><br style="font-family: arial;"><span style="font-family: arial;">So hopefully I will be around your neck of the woods soon. If not, <a href="mailto:%20mike.p@zend.com">drop me a line</a> and let’s see if I can swing by! I live for user groups and more!</span><br style="font-family: arial;">Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-40879233764558392902012-02-17T10:05:00.001-08:002012-02-24T10:27:26.260-08:00How does PHP perform on IBM i?<span style="font-family:arial;">Many folks who explore PHP on IBM i are very excited about a solution that works quickly, easily and efficiently. When you grow up from hello world to data inquiry to full blown CRUD you begin to pull a bit harder on the resources that the IBM i has to offer. And it happily accommodates you.</span><br style="font-family:arial;"><br /><span style="font-weight: bold;font-size:180%;" ><span style="font-family:arial;">Myths</span></span><br style="font-family:arial;"><span style="font-family:arial;">So there are many “myths” about the IBM i. Some will insist that Linux servers are “faster” than the IBM i. In part that may be true and false but for a variety of reasons. However, most of my customers do not have an IBM i because it is the “fastest” computer in the house even though these new Power 7 servers are pretty zippy. Most of my customers have IBM i because of the fact that they lived through the reality of TCO and they have legacy system investments that span decades that they simply do not wish to walk away from. Others will have you believe that the IBM i is not modern. To that I say you have not been to an IBM i event, lately. There are more advanced features in an IBM i today than ever before. With Virtualized everything, PHP, Java, MySQL and all the power of RPG Open Access the IBM i competes quite effectively. But I will spend a few minutes here speaking about the primary value prop of the IBM i: Consolidation.</span><br style="font-family:arial;"><br /><span style="font-weight: bold;font-size:180%;" ><span style="font-family:arial;">All the eggs</span></span><br style="font-family:arial;"><span style="font-family:arial;">Consolidation is all about many different workloads happily coexisting on a single platform. It reminds me of growing up on the Southwest side of Chicago in a 2 bedroom bungalow where my parents and three siblings “peaceably” coexisted for many years. Sure there was some tension when we were all packed into a small space. But it also brought about an intimacy that today seems impossible to duplicate no matter how often we “get together”. As we have scattered to the 4 winds we still maintain a closeness, but not nearly as strong as the days we were all together. So one would argue that at times having 6 people in line for the bathroom could slow us down. But at other times, when we wanted to install a new pool, many hands made for light work and would or could do things in a day that could never be accomplished by a single person. I see significant similarities between this life growing up and the data center that blasts apart applications by platform.</span><br style="font-family:arial;"><br /><span style="font-weight: bold;font-size:180%;" ><span style="font-family:arial;">PHP</span></span><br style="font-family:arial;"><span style="font-family:arial;">Getting back to PHP, when you have all these applications happily humming along on your IBM i there are bound to be conflicts, just like between me and my brother and sisters and so on. So what should we look for? The first thing to do is “don’t just throw hardware at the problem”. Even if you completely believe that hardware is your issue, you should still capture some metrics. There are several tool vendors that can gather these metrics as well as IBM. One partner I worked with had a relationship where they were able to “rent” the tools to create reports. These reports proved we need the hardware, but also confirmed exactly what hardware was needed, where and when we were i/o or memory bound, etc. So let’s pretend that you have resolved the hardware issues, where do you go next?</span><br style="font-family:arial;"><br style="font-family:arial;"><span style="font-family:arial;">Working through the “work management” features of IBM can sometimes seem like a dark art. So do the right thing and get a little help. Maybe you go to <a href="http://www.common.org/">COMMON </a>and follow the <a href="http://www.idevcloud.com/">iDevCloud</a> guys, <a href="http://www.frankeni.com/">Larry Bolhuis</a> and <a href="http://www.linkedin.com/in/joberholtzer">Jim Oberholtzer</a> like groupies! Another good call is to call your business partner and they offer some services. It’s OK to Google the issue and lurk around <a href="http://midrange.com/">Midrange.com</a> for solutions too. But the worst thing you can do is throw hardware at the problem and assume it is fixed or suffer in silence.</span><br style="font-family:arial;"><br style="font-family:arial;"><span style="font-family:arial;">PHP workload can be very diverse. One of the things I always tell my users in a demo is that DB2 performance improvements made in PHP applications help not only the PHP script response time, but it also reduces the load on DB2! And, just like the rising tide that raises all boats, every reduction in resources made by building better indexes in DB2 leaves more CPW for the rest of the server. CPW that drives RPG, PHP, Domino and all other kinds of workload. I have a customer who was planning a hardware upgrade. We recommended that they turn on some key features in Zend Server and then upgrade from V5R4 to i7.1. Once they did, new tools became available to indicate where there were performance bottlenecks in their server. No, the upgrade was for the right reasons Disk and RAM rather than “let’s just go to the latest hardware…” Please do not misunderstand me, if you need new hardware, processors, etc. then the investment should be made. But it should be made intelligently. Newer prices on Power7 hardware and maintenance can, in many cases, make the case for upgrading. Get your IBM BP involved and if you do not have an IBM BP or it is time for a change reach out to someone you trust. We have had good luck with the <a href="http://www.idevcloud.com/">iDevCloud</a> folks and you can too.</span><br style="font-family:arial;"><br style="font-family:arial;"><span style="font-family:arial;">This was just a nugget of what we will talk about in the next <a href="http://www.zend.com/en/company/events/">IBM i webinar at Zend.com</a>. Tune in for more so you too can benefit from the performance possibilities of <a href="http://www.zend.com/en/products/server/zend-server-ibm-i">Zend Server</a> and IBM i.</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com4tag:blogger.com,1999:blog-4577455583142648696.post-80470914956375461812012-01-23T17:56:00.000-08:002012-01-23T18:15:22.966-08:00New Toolkit, anyone?<span style=" font-weight: bold;font-family:arial;" >Want a new, simpler way to access IBM i artifacts like HLL Programs and Spooled files? The new open Source toolkit is just for you!</span><br style="font-family:arial;"><br style="font-family:arial;"><span style="font-family:arial;"><a href="http://www.zend.com/en/products/server/zend-server-ibm-i">Zend Server for IBM i 5.6</a> no longer ships with the old i5 toolkit. That much is true. And there has been some press about the expiration of the relationship with Aura, the authors of the toolkit we have used for the last few years. Zend’s official position can be found <a href="http://forums.zend.com/viewtopic.php?f=113&t=41648">here</a>. So with change comes the good, the bad and the downright awesome! What we are witnessing here is not just a new toolkit, but the dawning of a new era in software development.</span><br /><br style="font-family:arial;"><span style="font-family:arial;"><a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM</a> has been a primary engineer of the new toolkit as they have built <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE</a>. <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE </a>is <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM's</a> first (as far as I know) official entry in the open source arena regarding <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>. Sure <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM</a> has contributed projects like <a href="http://eclipse.org/">Eclipse</a> and contributed to projects like <a href="http://apache.org/">Apache</a> and others. But <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE </a>represents <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM</a> Rochester’s biggest investment in opening a new technology to the community that will drive <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a> workload for <a href="http://php.net/">PHP </a>and other open source languages to come. Yes, I said it, when the right group comes around to support <a href="http://python.org/">Python</a> or <a href="http://www.ruby-lang.org/en/">Ruby</a>, <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM</a> will be ready and waiting with <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE </a>to take care of their system integration needs! </span><span style="font-family: arial;">Special shout out to the <a href="http://www.youngiprofessionals.com/">YoungiProfessionals</a> website for hosting the project up to now. the new home is a closely guarded secret, but will be made available very soon. <span style="font-family: arial;">And a GREAT BIG community shout out to Tony Cairns for the development work on <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE</a>, Sam Pinkhasov on the Toolkit API and <a href="http://www.alanseiden.com/">Alan Seiden</a> for the CW!</span></span><br /><br style="font-family:arial;"><span style="font-family:arial;">Zend is the first official consumer of <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE </a>by introducing the new Toolkit API classes into Zend Server. These classes represent the plumbing necessary to communicate with <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">XMLSERVICE </a>and return values important to the <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a> developer whether they be parameters from HLL programs or values from data areas. Oh, and we fixed a few things along the way. If you ever tried calling a sub-procedure from <a href="http://php.net">PHP</a> you might have gotten frustrated with the fact that all you could get back was an INT. Well, not any more! The new toolkit can process goo-gobs of stuff and pass all kinds of data around the house. </span><br /><br style="font-family:arial;"><span style="font-family:arial;">But I have all those i5 function calls out there, what do I do? Well, as the <a href="http://forums.zend.com/viewtopic.php?f=113&t=41648">FAQ</a> indicates, we are also introducing the new <a href="http://174.79.32.155/wiki/index.php/XMLService/XMLService">Compatibility Wrapper</a> classes in the new toolkit. These classes will deliver the ability to code i5 function calls using the procedural model and have the work completed by the new toolkit. This fills the last gap in the migration of the new toolkit.</span> <span style="font-family:arial;">Customers who upgrade from previous versions of <a href="http://www.zend.com/en/resources/zend-documentation/old">Zend Server for IBM i</a> to <a href="http://www.zend.com/en/products/server/zend-server-ibm-i">Zend Server for IBM i 5.6</a> will still be able to use the old toolkit, if they so choose. But they also have the option to explore the new Open Source toolkit, as well. Kind of like having you cake and eating it too!</span><br /><br style="font-family:arial;"><span style="font-family:arial;">I just got back from Toronto where I introduced the new toolkit to <a href="http://tug.ca/">TUG</a> and it seems the enjoyed the presentation. I’ll be doing that at <a href="http://omniuser.org/">Omni</a> in Chicago tomorrow and maybe at a local user group near you, soon! <a href="mailto:mike.p@zend.com">Drop me a line</a> and let’s talk! </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com3tag:blogger.com,1999:blog-4577455583142648696.post-21228529968443229052011-11-28T16:52:00.000-08:002011-11-28T17:13:20.519-08:00PHP jobs and IBM i<span style=" font-weight: bold;font-family:arial;" >If you were wondering where the next opportunity is in IT then PHP might be just the thing for you.</span> <br /><br /><span style="font-family:arial;">I was reading a newsletter from another <a href="http://cancillaoni.blogspot.com/2011/11/figures-dont-lie-look-at-these-job.html">IBM i pundit</a> who was disparaging the future of the IBM i & for RPG programmers using a statistical grid from the job trends section of <a href="http://www.indeed.com/jobtrends">Indeed.com</a>. Indeed.com is a site that tracks IT job opportunities and has a nifty graph that lays them in so you can make comparisons. The best part is that it is very easy to use. The author of the newsletter was trying to diminish <a href="https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=b542d3ac-0785-4b6f-8e53-f72051460822">RPG</a> as a language with little future because Indeed.com had very few hits. I was not happy with his assessment and posted a response. Unfortunately he is moderating his postings and chose to not allow mine through, as of this writing. So here is what his <a href="http://www.indeed.com/jobtrends?q=RPG%2C+Java%2C+C%2B%2B%2C+C%23%2C+Visual+Basic&l=">graphic</a> looks like as he put it forth:</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-BvMfhKYX6j8/TtQuvzUUd5I/AAAAAAAAAFA/y2ZQCCPX9rQ/s1600/IndeedNoPHP.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 182px;" src="http://2.bp.blogspot.com/-BvMfhKYX6j8/TtQuvzUUd5I/AAAAAAAAAFA/y2ZQCCPX9rQ/s320/IndeedNoPHP.JPG" alt="" id="BLOGGER_PHOTO_ID_5680216428785203090" border="0" /></a><br /><br /><span style="font-family:arial;">As you can see from this image, the future for the typical RPG programmer looks pretty bleak. That was what the author was trying to portray. But these graphs can be interpreted in many ways. First of all, the entire RPG job market is not very big to begin with. Also, I had gotten my last 3 RPG opportunities via recruiters and they do not post openings via boards like this. As this graphics is display Percentage of opportunities over all, then yes I would agree that there are not nearly as many job opportunities for RPG developers as there are for Java developers, etc. But I could hardly put this on RPG or the IBM i. Another thing to point out is that some of those Java jobs might be on IBM i. That skews the whole equation. </span><span style="font-family:arial;">What I did when I read the piece and followed the authors link is I added one more language to the chart. This language is called PHP and look at the <a href="http://www.indeed.com/jobtrends?q=RPG%2C+Java%2C+C%2B%2B%2C+C%23%2C+Visual+Basic%2C+PHP&l=">graphic</a> it created:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-hFozECmDhEA/TtQvL5u0TDI/AAAAAAAAAFM/1Y7vuknb12U/s1600/IndeedwithPHP.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 182px;" src="http://2.bp.blogspot.com/-hFozECmDhEA/TtQvL5u0TDI/AAAAAAAAAFM/1Y7vuknb12U/s320/IndeedwithPHP.JPG" alt="" id="BLOGGER_PHOTO_ID_5680216911543290930" border="0" /></a><br /><br /></span> <span style="font-family:arial;">In this graphic we can see that the market for PHP developers is on a steep incline. Are any of these opportunities on IBM i? I am not sure. But I have heard of a few IBM i shops leveraging their significant investment in RPG and COBOL while opening up to the open source continuum with PHP. One can also infer fro the above graphic that PHP job growth is far more explosive than many other contemporary languages and that since PHP runs natively on IBM i there might be a future! I believe there is a future to IBM i and that future is made up of many technologies and third party solutions. All should be evaluated and considered when the traditional green screen shop starts looking to go to a GUI solution. And then in the spirit of the season, you select PHP.</span><br /><br /><span style="font-family: arial;">The truth, as many of you already know is that statistics can be manipulated to support or defend nearly any idea or agenda. Please read as much as you can about a certain topic but do NOT accept any one persons view as the truth without first evaluating it creditability with at least a little Googling. <br /><br />Happy Holiday's!<br /><br />Mike<br /></span><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-US</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <w:browserlevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style> <![endif]-->Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-64314546862066755522011-10-24T12:49:00.000-07:002011-10-25T05:56:03.421-07:00To OO or not to OO, that is the question...<!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-US</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial; mso-bidi-theme-font:minor-bidi;} </style> <![endif]--><p class="MsoNormal" style="font-family:arial;">I grew up with procedural programming.<span style="mso-spacerun:yes"> </span>What does that mean?<span style="mso-spacerun:yes"> </span>To me it means I have spent a MAJORITY of my business career delivering value to companies by developing programs that have subroutines and possibly functions and sub procedures.<span style="mso-spacerun:yes"> </span>I like to think I have added tremendous value but at the same time I also realize that some of my code has been superseded by newer programs and alternate methods.</p> <p class="MsoNormal" style="font-family:arial;">But everyone tells me that OO (Object Oriented programming) is where I should be!<span style="mso-spacerun:yes"> </span>The “industry” is/has moved to the OO model of development thanks to such powerful languages like Java and C++.<span style="mso-spacerun:yes"> </span>Even PHP has an OO model to let me feel like I am playing along.<span style="mso-spacerun:yes"> </span>So what should I do?<span style="mso-spacerun:yes"> </span>Well, here is my tale on the OO paradigm and I hope this makes some sense to all of you!</p> <p class="MsoNormal" style="font-family:arial;">As a procedural programmer in the 90’s I heard the “good news” of Java from IBM.<span style="mso-spacerun:yes"> </span>I struggled with Java at first and then had some VERY marginal success.<span style="mso-spacerun:yes"> </span>I found it cumbersome to try and learn, not because Java was necessarily hard, but because I was trying to absorb too much at one time.<span style="mso-spacerun:yes"> </span>Many challenges plagued this old RPG dog like a new language, syntax, structure, environment, etc.<span style="mso-spacerun:yes"> </span>I’m not the only one who struggles, even <a href="http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/">Carnegie Melon dropped OO</a> from their freshman curricula because students were coming up with not nearly enough experience in developing algorithms. </p> <p class="MsoNormal" style="font-family:arial;">Enter in PHP and the opportunity to learn something new.<span style="mso-spacerun:yes"> </span>PHP becomes the ideal language for education and more since it can start you at your level.<span style="mso-spacerun:yes"> </span>Think of the PHP landscape as a major expressway with different lanes for more or less experienced drivers.<span style="mso-spacerun:yes"> </span>Folks who come to PHP with no programming experience can start with very simple inline code.<span style="mso-spacerun:yes"> </span>For those of us who hail from the procedural world we can pick up with functions.<span style="mso-spacerun:yes"> </span>And for those who are flying in and out of traffic with a Java or C++ background there is a fully support Object Oriented model to work with.<span style="mso-spacerun:yes"> </span></p> <p style="font-family: arial;" class="MsoNormal">I have been recommending PHP to many educational institutions and have it on good rumor that the curricula I have been teaching at <a href="http://www.morainevalley.edu/">Moraine Valley Community College</a> will become permanent courses called MIS126 and MIS226.<span style="mso-spacerun:yes"> </span>These courses start at procedural PHP and then work up to and through the Object Oriented realm.<span style="mso-spacerun:yes"> </span>This is great news as we can now add more PHP developers to the world and demonstrate that PHP is not just a hobbyist language by delivering classes in true academia!</p> <p style="font-family: arial;" class="MsoNormal">For those who cannot wait, the educational path at <a href="http://zend.com/">Zend</a> offers <a href="http://www.zend.com/services/training/course-catalog/php-foundations-i5">PHP 1 Foundations for IBM i Programmers</a> and <a href="http://www.zend.com/services/training/course-catalog/higher-structures-of-php">PHP Foundations 2: Higher Structures</a>.<span style="mso-spacerun:yes"> </span>The first class takes an RPG programmer from zero to sixty with a full immersion in the functional world of PHP while the second class starts off at functions and whips you up into the object oriented realm.<span style="mso-spacerun:yes"> </span><span style="mso-spacerun:yes"> </span></p> <p style="font-family: arial;" class="MsoNormal">Even more educational opportunities exist at places like <a href="http://www2.systeminetwork.com/edu/e-learning/">SystemiNetwork</a> where we are about to begin a whole new online sequence for PHP training.<span style="mso-spacerun:yes"> </span></p> <p style="font-family: arial;" class="MsoNormal">No excuses, get out there and play!</p>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-35920811938562483322011-09-19T20:15:00.000-07:002011-09-19T21:37:56.889-07:00Zend DBi to the rescue!<span style="font-family:arial;">Are you looking for MySQL for IBM i? Look no further as Zend and IBM are introducing Zend DBi</span><br /><br /><span style="font-family:arial;">A few years ago I was at in a <a href="http://www.blogger.com/www.common.org/CAAC.html">CAAC</a> meeting with some really good customers and some really good IBM’ers. IBM’s Software Chief Architect at the time or maybe someone nearly as powerful said “Hey, how about we bring <a href="http://mysql.org/">MySQL</a> to <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>?” As <a href="http://php.net/">PHP</a> has started to gain popularity via the Zend distribution at this point I chimed in and said “Why? I’ve got <a href="http://www-01.ibm.com/software/data/db2/">DB2</a>…”. Well, in the spirit of <a href="http://www.snopes.com/quotes/kenolsen.asp">Ken Olson</a> </span><span style="font-family:arial;"> I too am capable of a really bad prediction question when it comes to hindsight. </span><br /><br /><span style="font-family:arial;">Until that point I had really thought <a href="http://php.net/">PHP</a> on <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a> would only be used for accessing <a href="http://www-01.ibm.com/software/data/db2/">DB2</a> data and <a href="https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=b542d3ac-0785-4b6f-8e53-f72051460822">RPG</a> programs. Sure there would be the odd <a href="http://www.cobol.com/">COBOL</a> programmer out there, but I was an <a href="https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=b542d3ac-0785-4b6f-8e53-f72051460822">RPG</a> guy and very narrow minded. I saw lots of opportunities to web enable <a href="http://www-01.ibm.com/software/data/db2/">DB2</a> data, make green bar reports disappear and replace them with <a href="http://www.w3.org/html/">HTML</a> tables generated by bunches of <a href="http://php.net/">PHP</a> scripts running 100% on <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>. </span><br /><br /><span style="font-family:arial;">Then we started to discuss the opportunity. Thousands of open source and commercial applications in the <a href="http://php.net/">PHP</a> world are essentially written to the <a href="http://php.about.com/od/phpbasics/p/LAMP.htm">LAMP</a> stack: <a href="http://www.linux.org/">Linux</a>, <a href="http://www.apache.org/">Apache</a>, <a href="http://mysql.org/">MySQL</a> and <a href="http://php.net/">PHP</a>. What we had done to that point was create the iADP stack: <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>, <a href="http://apache.org">Apache</a>, <a href="http://www-01.ibm.com/software/data/management/?pgel=ibmhzn&cm_re=masthead-_-products-_-sw-db2">DB2</a> and <a href="http://php.net">PHP</a>. With several thousand <a href="http://php.net">PHP</a> applications looking for MySQL there was a perfect fit about to be created. By implementing <a href="http://mysql.org/">MySQL</a> on <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>, customers could then install nearly ANY open source application natively on the machine and reap the benefits of some really good technology without having to deploy YAFS (Yet-Another-Friendly-Server). </span><br /><br /><span style="font-family:arial;">So now customers could write <a href="http://php.net/">PHP</a> applications and web services, implement database agnostic <a href="http://php.net/">PHP</a> applications via Zend Framework and PDO and now implement MySQL based applications. OK, I was sold. Then IBM went one better and created the <a href="http://www.redbooks.ibm.com/abstracts/sg247705.html">DB2 Storage Engine for MySQL</a>. <a href="http://mysql.org/">MySQL</a> is constructed in such a way where the database storage engine is abstracted from the SQL interface layer. This creates a VERY powerful equation in that your <a href="http://php.net/">PHP</a> applications can think it is reading and writing to <a href="http://mysql.org/">MySQL</a> yet all the time and under the covers it is really storing and retrieving from <a href="http://www-01.ibm.com/software/data/db2/">DB2</a>!<br /></span><br /><span style="font-family:arial;">Then the folks at Oracle said NO MORE MYSQL FOR YOU to the entire <a href="http://www.ibm.com/systems/power/?cm_re=masthead-_-products-_-sys-power">IBM Power Systems</a> family! The distributions of <a href="http://mysql.org/">MySQL</a> were relegated to the archive site and IBM i customers were confused and looking for answers. IBM immediately set out to find a new suitor for MySQL on <a href="http://www-03.ibm.com/systems/power/software/i/index.html">IBM i</a>. There was too much at stake to let it languish in obscurity and after all it was just another open source project. So, looking to the company that successfully landed <a href="http://php.net/">PHP</a> on the platform made a LOT of sense. Now Zend and IBM have one more thing to brag about, Zend DBi! Zend DBi is essentially a drop-in replacement for the <a href="http://mysql.org/">MySQL</a> distribution that customers have been leveraging. Zend will provide, as part of the <a href="http://www.zend.com/en/products/server/downloads">Zend Server Download</a>, or alone, a current distribution of <a href="http://mysql.org/">MySQL</a> under the name Zend DBi.</span><br /><br /><span style="font-family:arial;">Some of the details are still solidifying, but the excitement is building and more information can be gathered either from my <a href="http://www.zend.com/en/webinar/IBMi/70170000000bc0P-webinar-collaborative-open-source-php-on-ibmi-20110913%20.flv">webcast from last week</a> or in a periodical near you.</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com1tag:blogger.com,1999:blog-4577455583142648696.post-20645647634955607252011-08-04T11:34:00.000-07:002011-08-04T12:53:07.506-07:00ZendCon for Mere Mortals<span style="font-family:arial;"><br />As we ramp up our plans for <a href="http://www.zendcon.com/">ZendCon</a></span><span style="font-family:arial;">, the annual <a href="http://php.net/">PHP</a> conference run by Zend, I have been asked time and again what would attract the IBM i crowd to our annual conference. If you have any suggestions please feel free to share as I am always open to leverage other people's IP just like most of the <a href="http://php.net/">PHP</a> community. But seriously, we have all the right things planned for IBM folks like good technical content surrounding the new open source toolkit. Tony Cairns will emerge from the depths of the Rochester labs to share a little of the new toolkit's plumbing. Alan Seiden will be on hand with the best-of-the-best practices and a capstone session that will blow the lid off of anything you have seen lately that will include announcements, success stories and much more. So what else would the IBM i faithful want? How about good <a href="http://php.net/">PHP</a> content?</span><br /><br /><span style="font-family:arial;">You see, this is what is so AWESOME about <a href="http://php.net/">PHP</a>. Nearly EVERY session at <a href="http://www.zendcon.com/">ZendCon</a> applies to the IBM i customer as well as the Linux/windows crew. Sure there will be the odd session on Cluster Management which we do not need to be concerned with as IBM has taken good care of us from a scalability and up time perspective. But BUNCHES of other sessions like…</span><br /><span style="display: block;" id="formatbar_Buttons"><span onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);" class=" down" style="display: block;" id="formatbar_CreateLink" title="Link"><img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /></span></span><span style="font-family:arial;"><a href="http://zendframework.com/">Zend Framework</a>! See what is new and exciting about <a href="http://zendframework.com/">ZF</a> and maybe a sneak preview of <a href="http://framework.zend.com/wiki/display/ZFDEV2/Home">ZF2</a>. This is the nice thing about <a href="http://php.net/">PHP</a> on IBM i; it support Zend Framework completely. Anything you see regarding <a href="http://zendframework.com/">ZF</a> at <a href="http://www.zendcon.com/">ZendCon</a> can apply to IBM i as well. </span><br /><br /><span style="font-family:arial;">SOA and Web Services seem to work well in the IBM i community. I have spoken to several customers leveraging Web Services within their infrastructure. One of my customers is using it as glue in a cross-platform environment! So if you have disparate systems or even want a better way to explore program-to-program communication some of these session on REST or SOA might do the trick.</span><br /><br /><span style="font-family:arial;">Web 3.0 anyone? I have no idea if that is a real term, but figured I’d coin it before Steve Jobs does. What do I mean? Simply that we are about to turn the corner on the next generation of the Web using HTML 5, CSS 3 and Flash/Flex, regardless of what <a href="http://calacanis.com/2007/10/03/web-3-0-the-official-definition/">Calacanis </a>says!. Also concepts like context-sensitive applications side by side with mobile are part of this new REQUIREMENT. Yes, all these will be quite well represented at <a href="http://www.zendcon.com/">ZendCon</a>. But wait, you say, these technologies have nothing to do directly with PHP. And to that I would say "yes" and "no". We all know the entire purpose of PHP as a server centric language is to produce something the browser can digest. These technologies are fair game and very digestible by today’s browsers. If you are still dependent upon IE6 then I would say you NEED these sessions!</span><br /><br /><span style="font-family:arial;">All this and more like certification testing, demos in the expo area, simply the best sponsors in the community, killer nightlife and the uncon will make the <a href="http://www.zendcon.com/">ZendCon</a> value proposition not only attractive to the PHP faithful, but especially to the IBM i <a href="http://php.net/">PHP</a> faithful. Oh, and did I mention the annual IBM i evening event? I think my good buddy the elePHPant will be stopping by too. Yes, lots of good things for IBM i <a href="http://php.net/">PHP</a> developers, managers and analysts than just the awesome IBM i sessions. Check it out for yourself!</span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-62872411063899286172011-07-15T13:10:00.000-07:002011-07-19T14:10:11.895-07:00Is Ajax a spice or an entree?<!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-US</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <w:browserlevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;} </style> <![endif]--> <p class="MsoNormal" style="font-family:arial;">A recent trip to visit a customer site had me thinking about food.<span style="mso-spacerun:yes"> </span>No, it wasn’t the great big burrito I had for lunch.<span style="mso-spacerun:yes"> </span>It was the use of technology in the application.<span style="mso-spacerun:yes"> </span>We were invited to this customer site to examine a PHP application that was not performing well.<span style="mso-spacerun:yes"> </span>This is not unusual for IBM i, Linux or Windows based PHP applications as no one is immune from challenges with coding practices and I for one can write bad code in more than 10 languages!<span style="mso-spacerun:yes"> </span>Frequently, customers ask us a couple of standard questions like “where is the problem”.<span style="mso-spacerun:yes"> </span>In many cases there isn’t just one problem but a handful of poor practices or as in this case some really good practices, poorly applied.<span style="mso-spacerun:yes"> </span></p> <p class="MsoNormal" style="font-family:arial;">Now it is not unusual for PHP to “take it on the chin” for the sins of poorly applied technologies like Dojo, ExtJS and others.<span style="mso-spacerun:yes"> </span>Frequently, we at Zend are in the trenches of a “This PHP application performs like $@#%” war and have to explain that the PHP is perfectly fine.<span style="mso-spacerun:yes"> </span>In many cases the lack of indexes on SQL calls, tuning of the FastCGI or overuse of ajax can contribute to poor application performance.<span style="mso-spacerun:yes"> </span>This is why the Application Audit from Zend becomes EXTREMELY valuable.<span style="mso-spacerun:yes"> </span>Forgive me as I am not trying to turn this into an advertisement for our canned services as much as relating a recent experience.<span style="mso-spacerun:yes"> </span><span style="mso-spacerun:yes"> </span></explicative></p> <p class="MsoNormal" style="font-family:arial;">After we finished the application audit, our auditor creates a summary.<span style="mso-spacerun:yes"> </span>Sometimes in as few as 20 pages and others have shot well past 100.<span style="mso-spacerun:yes"> </span>The length of the document really depends on what we find and the overall size and complexity of the application. Once the summary is completed we schedule a conference call with the auditor, customer and maybe a couple of carefully selected folks from Zend. For example, it would not be unusual to have someone from the ZF team join the call for a customer who is using ZF and needs direction on how best to optimize it.<span style="mso-spacerun:yes"> </span>We went into the call for this customer with our punch list and I got to drive the discussion.<span style="mso-spacerun:yes"> </span></p> <p class="MsoNormal" style="font-family:arial;">Like many of my discussions, I tend to think on the fly.<span style="mso-spacerun:yes"> </span>The combination of ADD, diverse cultural experience and IT training gives me a unique ability pull analogies out of thin air.<span style="mso-spacerun:yes"> </span>Some at Zend have referred to this as the “Pavlakian Response”.<span style="mso-spacerun:yes"> </span>I was honored when they named it…I think.<span style="mso-spacerun:yes"> </span>Regardless, I got on a bit of a roll with this customer as I started down a food analogy. Everybody can relate to food!<span style="mso-spacerun:yes"> </span>We all have to eat, we’ve all had good meals and we’ve all had meals that left us a little less impressed.<span style="mso-spacerun:yes"> </span>In this case, I chose to attack the application issues using the spicing analogy.</p> <p class="MsoNormal" style="font-family:arial;">The meat and potatoes of most PHP applications are typically made up of the PHP code, HTML and database access.<span style="mso-spacerun:yes"> </span>In most transaction based applications THIS IS ALL YOU NEED.<span style="mso-spacerun:yes"> </span>Now stop with the torches and pitchforks regarding ZF, CSS, JavaScript, etc.<span style="mso-spacerun:yes"> </span>I’m not saying those technologies are not valuable; in fact it is quite the contrary. I think JavaScript is EXTREMELY valuable and would encourage everyone to get educated.<span style="mso-spacerun:yes"> </span>But just like with food, a balanced approach can make for an ideal experience. <span style="mso-spacerun:yes"> </span>Different applications require different solutions much like food may differ based upon the environment.<span style="mso-spacerun:yes"> </span>You simply cannot compare a buffet at a conference to a seven course meal at a fine steak house, yet I have enjoyed the experience of both.<span style="mso-spacerun:yes"> </span><span style="mso-spacerun:yes"> </span></p> <p class="MsoNormal" style="font-family:arial;">Clearly this application was using JavaScript more like an entrée than as a spice and was causing significant problems with latency and unnecessary page rebuilds.<span style="mso-spacerun:yes"> </span>For example, somewhere along the line they forgot that the A in ajax stands for asynchronous.<span style="mso-spacerun:yes"> </span>Instead they were building everything serially, every time the page was built!<span style="mso-spacerun:yes"> </span>This is nice for graphical applications or high level summaries where the data may not change very often.<span style="mso-spacerun:yes"> </span>But in transaction processing you do not want to make the data entry folks wait for a summary element to be built before they can continue keying.<span style="mso-spacerun:yes"> </span>As IBM i programmers we know this.<span style="mso-spacerun:yes"> </span>As web designers become transaction based application developers, a little time in the kitchen working on how to make a balanced meal is in order!</p> <p class="MsoNormal" style="font-family:arial;">These analogies come in handy because sometimes you never quite know who you are talking to on the phone.<span style="mso-spacerun:yes"> </span>The audience for this call was very diverse as everyone on the phone understood what the application was supposed to do but each person possesses a very different level of technical expertise.<span style="mso-spacerun:yes"> </span>While opening up the code might work for the developers in the room the business analysts and executives who may not have seen code in a few years might not appreciate the level of detail and potentially tune out.<span style="mso-spacerun:yes"> </span>The food analogy helped all of the people in the room relate the fundamental issue and communicate at a common level.<span style="mso-spacerun:yes"> </span>While nothing communicates value like a shared understanding we all can relate to a really good meal!<span style="mso-spacerun:yes"> </span></p> <p style="font-family: arial;" class="MsoNormal">So, I ask you, are you using Ajax or other technologies as a spice or as an entrée? </p>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com0tag:blogger.com,1999:blog-4577455583142648696.post-43211810074962821322011-06-16T18:14:00.000-07:002011-06-22T12:20:52.368-07:00Global Services means GLOBAL SERVICES...<span style="font-family:arial;"><br />When they say Global Services, they really mean Global Services…</span><br /><br /><span style="font-family:arial;">Some of you may be aware that I used to report to the manager of the North American region. A few months ago I was moved to Global Services which is an awesome reaction to some of the work I have done at Zend. As a result I had a chance to visit the Zend folks in Europe including Paris, Cologne and Milan. The trip was well planned and orchestrated by the local team and I sure had my skates on! One thing that became crystal clear is that there is HUGE demand for application modernization using PHP in Europe!</span><br /><span style="font-family:arial;"><br />First, in the West end of Paris I had a wonderful opportunity to meet one of the few remaining IBM i focused FTSS (Field Technical Sales Support) by the name of Philippe Beorgeois. Philippe hosted a two day event at the IBM offices near the West side of Paris on modernization and I had a chance to present an introductory breakout session on PHP for IBM i. With well over 170 attendees and about 35 people in my room the event was a HUGE success on every level. </span><br /><span style="font-family:arial;"><br />Our team in Paris including Christophe, Christian, Clement and David were exceptional hosts. I did not have to worry about anything as they make sure I did not get lost. I would highly recommend the Metro system and anxiously await Scott Klement to review the rail someday. Speaking of rail, on Wednesday I took a bullet train (<a href="http://www.thalys.com/">Thalys</a>) from Paris to Cologne Germany where I met our local account manager Stefanie.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-Az2R8WFqgCU/TftdW-Ft4iI/AAAAAAAAAEA/n7BoD5Z18dA/s1600/ThalysCologne.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 390px; height: 365px;" src="http://2.bp.blogspot.com/-Az2R8WFqgCU/TftdW-Ft4iI/AAAAAAAAAEA/n7BoD5Z18dA/s400/ThalysCologne.jpg" alt="" id="BLOGGER_PHOTO_ID_5619187609280307746" border="0" /></a><br /><br /><br />She introduced me to a wonderful customer called GroupMT where Dr. Rainer Schmitz is working magic with PHP on his IBM i. </span><span style="font-family:arial;">Here is the link to his <a href="http://www.zend.com/de/resources/webinars/">webinar</a> in German where he discusses some of his awesome achievements. </span><br /><span style="font-family:arial;"><br />Two big discoveries as Cologne is the home of <a href="http://en.wikipedia.org/wiki/K%C3%B6lsch_%28beer%29">Kolsh</a> style beer so I had to try some…</span><br /><span style="font-family:arial;"><br />The <a href="http://en.wikipedia.org/wiki/Cologne_Cathedral">Dome of Cologne</a> which is a magnificent cathedral that is the final resting place of the <a href="http://www.newadvent.org/cathen/09527a.htm">Magi</a> (three wise men from Christian history). As I emerged from the train station I got a great look at the cathedral. I received a call from Stefanie who asked where I was and I responded “I’m between the train station and this really dirty church…” she giggled and new exactly where I was. After checking with a few of the locals I discovered the dirt is from hundreds of years of train soot. There is a walking tour available inside the cathedral for the low price of a 1 euro donation. I highly recommend the investment. </span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-mt9bbZWToP8/TfteJK6RJrI/AAAAAAAAAEI/ZhccCZzKWac/s1600/CologneCathedralClose.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/-mt9bbZWToP8/TfteJK6RJrI/AAAAAAAAAEI/ZhccCZzKWac/s400/CologneCathedralClose.jpg" alt="" id="BLOGGER_PHOTO_ID_5619188471715407538" border="0" /></a><br /><br /><span style="font-family:arial;">When it was time to leave Cologne, Stefanie dropped me off at the station and when I saw my train come up on the board I saw a message. It was in German so out came the Blackberry and thanks to Google Translate I discovered the message read “fall from train”. Needless to say the last train was canceled so I headed back to the <a href="http://www.starwoodhotels.com/fourpoints/property/overview/index.html?propertyID=1412">Four Points</a> hotel for one more night and enjoyed a little more Kolsch. </span><br /><br /><span style="font-family:arial;">I got to spend my Saturday off in Paris and see some of the <a href="http://www.aviewoncities.com/maps/paris.htm">sights</a>. This was very cool. As I love to walk I took a Metro from my hotel in the opera district to the Eiffel Tower. I was beginning to feel like an expert Parisian on the Metro. I walked from the Eiffel Tower to the American Church, then to the Grand Palace, up the Tuileries to the Louvre and then to Notre Dame. After experiencing the Cathedral in Cologne I was not as impressed with the size of Notre Dame as I was with the <a href="http://www.usna.edu/Users/humss/bwheeler/notre_dame.html">relics</a>. The museum tour is a little over priced, but I would not have missed it for the world as they have a relic that contains a sliver from the cross of Jesus and many other priceless artifacts. Feeling a bit tired I walked back to my hotel and grabbed a quick nap. Then off to meet some awesome friends for dinner, Anne and Kent, who just happened to be on vacation in Paris. </span><br /><br /><span style="font-family:arial;">Sunday was the trip to Milan and began my visit to <a href="http://www.comeur.net/common/index.php">COMMON Europe</a>. Dinner that night was in a little café in the <a href="http://www.panoramio.com/photo/14183692">Piazza el Duomo</a>, a very famous cathedral.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-Step7JkKVeA/TftfE2otNdI/AAAAAAAAAEQ/rI7dgbe8BZk/s1600/piazza-del-duomo-milan-italy.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/-Step7JkKVeA/TftfE2otNdI/AAAAAAAAAEQ/rI7dgbe8BZk/s400/piazza-del-duomo-milan-italy.jpg" alt="" id="BLOGGER_PHOTO_ID_5619189497065190866" border="0" /></a><br />The next day I went to COMMON and met with Angela and Elena, our Zend team in Italy. Along with <a href="http://www.zimuel.it/blog/">Enrico</a> who has recently been recruited to the <a href="http://www.zendframework.com/">ZF</a> Core team from professional services, they do a great job taking care of our customers. It was an unbelievable experience because as I presented my session in English there were attendants who translated it into Italian for people who got headsets. It was a little unsettling when I told a joke because as the English speaking folks would giggle about 3 seconds later the folks with the headsets would giggle. But a great turn out and wonderful response for PHP on IBM i! several session by Zend and other companies regarding PHP!</span><br /><span style="font-family:arial;"><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-ScIhdmgkNhs/Tftk7Up6_OI/AAAAAAAAAEw/g-0RlZxebB0/s1600/IMG-20110523-00209.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/-ScIhdmgkNhs/Tftk7Up6_OI/AAAAAAAAAEw/g-0RlZxebB0/s400/IMG-20110523-00209.jpg" alt="" id="BLOGGER_PHOTO_ID_5619195930394426594" border="0" /></a><br />The first night of COMMON we had a great dinner with some IBM’ers. Met up with <a href="http://ibmsystemsmag.blogs.com/you_and_i/">Steve Will</a> and his lovely wife, Sherry, Alison Butterill, Trevor Perry and some new friends.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-KgdeFZyrdyc/TftlU5aciyI/AAAAAAAAAE4/HLoHh2KOAok/s1600/IMG-20110524-00211.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/-KgdeFZyrdyc/TftlU5aciyI/AAAAAAAAAE4/HLoHh2KOAok/s400/IMG-20110524-00211.jpg" alt="" id="BLOGGER_PHOTO_ID_5619196369758358306" border="0" /></a><br /><br /><br /><br />The second night was the Gala event. This was truly special as we were shuttled out to the country to a farm with live entertainment. There was an Italian version of the renaissance fair where they conducted sword fights and dancing. After a wonderful dinner we were shuttled back to the hotel and I saw a little more of Milan.<br /><br />Sessions at COMMON in Italy were VERY well attended. The Zend team was fully engaged starting with Christian Durel our General Manager of European Operations. Working with a couple of other partners he led a very popular round table on New Business Models, innovation, skills development and professional attitude as key factors to exit the current crisis. Many attendees found it to be VERY helpful as they move forward in this treacherous economy!<br /><br />There were a few other PHP sessions that explored several different aspects of the technology. it impresses me how creative people become once they realize the chains of the 5250 interface have been released. Mobile, javascript, Flash and other technologies are both powerful and liberating. Seeing members of the IBM i community en bracing these technologies reinforces the fact that we are all on the right track.<br /><br />Also on deck was Elena and Enrico who hosted a seminar on PHP on the last day. I hear it went very well! I could not stick around as I had to high-tail it home for my son's graduation. Another AWESOME event!<br /><br />Without question this was an AWESOME trip. WE covered a lot of ground, did a lot of business and saw a lot of the area. Looking forward to my next trip across the pond which looks like it will be around November for an event in London!<br /><br />Woohoo!<br /></span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com3tag:blogger.com,1999:blog-4577455583142648696.post-27856778233248744012011-05-06T23:28:00.000-07:002011-05-09T09:49:33.504-07:00My Breakfast with Al<span style="font-family: arial;font-family:arial;" >Several years ago I had just wrapped up some interesting <a href="http://www.common.org/index.php/vol-groups/caac.html">CAAC</a> meetings and I was standing around the <a href="http://www.common.org/index.php/annualmeeting.html">COMMON conference</a> registration area trying to decide on breakfast. In walked <a href="http://www.mr400.com/Al.html">Al Barsa</a> who was looking to get into the same kind of trouble. Having never met the man, he looked me in the eye and asked me if I wanted to go get something to eat. I said sure, why not! </span><br /><span style="font-family: arial;font-family:arial;" ><br />Certainly I had heard and seen of Al before that event. His many session presentations at COMMON and around the country at local user groups, his tireless efforts advocating and consulting on IBM i, and his passionate questions at the “sound off” session at each COMMON conference were well known. But I never thought I was worthy of breaking bread with the legend. What I learned at that meal was very helpful to me and I try to put some of what Al said into my daily living.</span><br /><span style="font-family: arial;font-family:arial;" ><br />Al was very focused on two things: The IBM i community and his family. His passion for both was about equal and he loved to tell stories about his kids or his systems. It was difficult sometimes listening as I think even he struggled to separate them. But it was clear where his passions lie. I was inspired. It was after that breakfast that I decided to start submitting material for sessions at COMMON. Later at the conference, I considered myself fortunate to now be on a first name basis with the man. </span><br /><span style="font-family: arial;font-family:arial;" ><br />A few years later, the community was shocked by the terrible tragedy that Al had passed away on the last night of the COMMON conference in Nashville. When I heard the news I was stunned. Thanks to such tools as email and web forums, details started to spill and so did the many gestures of respect and reflections of the man. We all discussed things like life and death and wondered what we could do. Many said they wanted to contribute this and that. With <a href="http://midrange.com/">Midrange.com</a> fielding most of the posts, <a href="http://imho.midrange.com/author/david/">David Gibbs</a> decided that he wanted to contribute too. It was clear that Al had quite a long reach.</span><br /><span style="font-family: arial;font-family:arial;" ><br />Not too long after, the <a href="http://www.common.org/index.php/ed-foundation.html">COMMON Education Foundation</a> decided to arrange a memorial scholarship in Al’s name. This scholarship is awarded once a year and is meant for only the people who best represented the commitment and caring qualities that Al had for the community. The award has been given two times before this conference: The first to Paul Rogers and the second to my good friend Larry “<a href="http://www.frankeni.com/bio.html">Dr. Franken</a>” Bolhuis. As the third recipient of this prestigious award, I am lucky to share in some pretty awesome company. </span><br /><span style="font-family: arial;font-family:arial;" ><br />Al had quite a reputation as a hell raiser with IBM and I am proud to be honored with a reward that sees a similar trait in me. While I am thrilled to win this award, I reflect upon my own life and how I have been running pretty hard myself these days. As i look at the clock on the wall I see it is 1:45 am and maybe it’s time to slow down a bit. Not too much, but just a little. Enough to stop and smell the roses, admire my five children at athletics & academia and spend a little more time with the woman who makes me whole. I challenge all of you to look into your own lifestyle and seek the balance that Al seemed to struggle with. But even if Al’s life was not completely balanced, it sure was full of passion and love. Godspeed, Al!</span><span style="font-family:arial;"> As i reflect upon Al I am reminded of an old Japanese proverb: <span style="font-weight: bold;">Vision without action is a daydream-Action without vision is a nightmare</span>. Al had a good dose of both and I am proud to be considered worthy of his memorial. </span><br /><span style="font-family: arial;font-family:arial;" ><br />Well, the COMMON Annual Conference is over and I know a lot of people who are heavily educated and a lot of other people who are completely exhausted. But both are happy for the experience. Working with any volunteer group can be a rewarding experience. I have found that my local user group <a href="http://omniuser.org/">Omni</a> and the national user group COMMON can be very rewarding. If you ever thought of helping out a local user group please consider stepping forward. Consider folks like Al and the commitment and passion they brought to the platform. You too can make a huge difference with surprisingly little effort. </span>Mike Pavlakhttp://www.blogger.com/profile/06265665870415574144noreply@blogger.com2