Wide Open

From the Vault – The Computing of Business, October 2014

EarthquakeDid you know that in the wide world of open source software there is an application for analyzing seismic data? If I had only known that a few weeks ago I could have thrown a portable seismograph into my carry-on for a recent trip to California.

Since I was rudely awakened during my stay by what FEMA now calls a major earthquake, I could easily have done a quick data reduction and submitted the results to the open source Global Quake Model. But alas, during the event I was thinking more about what might happen to the roof than contributing to science. At 40 miles from the epicenter it was certainly a unique experience and the building held together nicely—check that one off the bucket list.

So open source is everywhere. Good developers are developing good, creative software and distributing for all to use within the confines of a number of different license platforms.

In a recent IT-related university classroom experience Phil McCullough, a fellow COMMON Director, noted that the entire curriculum centered on open source. Open source operating systems, open source databases, open source development tools, open source applications; the entire gamut. The message was loud and clear: open source will be a big part of our computing future.

But software, by its very nature, contains defects. In many cases those defects do not consist of what we traditionally consider a problem. For example, as the programmable point of sale system industry was developing a couple of decades ago, I cannot imagine that leaving a credit card number unencrypted in ram memory would ever be considered a problem. Turns out it was.

Recently my employer sold some software we had developed to a very large company. Parts of that software contain open source components like frameworks and other mechanisms that helped develop a very complex set of code. Before the deal could close the buyer required substantial documentation of every open source component, and the version of that component. Additionally, the entire base of object code was scanned for any known vulnerabilities. All went well and the deal was completed.

Open source operating systems like Linux, and large open source applications like Sugar CRM, have the benefit of having substantial support organizations. Dedicated people watching for problems are an advantage many small applications do not, and cannot, possibly have. The likelihood is very real that the bad guys—and there are an awful lot of them—will stumble on to something they can exploit in almost any open source project. If you run some or all of a smaller targeted code base, it then becomes simply a matter of a bad guy (they are voracious sharers of exploit information) finding your system and deploying one of the myriad ways of injecting malware on to it.

Of course there needs to be something worthwhile to steal. Credit card numbers are the currency de jour though certain kinds of pictures bring a bigger bang. Regardless, any information about your company or your customers has value to someone.

A number of scanning solutions like OpenLogic and OpenVAS  can attempt to locate problematic software. But using such tools seems to me to be a bit reactive. The veritable cat may have already left its bag.

A more proactive approach is to know where in your software, and on your systems, the open Ground Crackssource stuff (and anything else with known vulnerabilities) is. Trust me, the stuff is there. Complete, accurate application inventories are more important than ever. An inventory, coupled with appropriate monitoring of the threat landscape, will keep you ahead of the bad guys. Yes, this is something more to do with your constantly shrinking resource base. But staying ahead of the bad guy sure beats the alternative.

For many the 2014 South Napa earthquake was a disaster. For me it was an interesting experience.

For some the open source landscape will be a disaster. Reading about those problems should be the only experience you want.

About the Author: Randy Dufault, CCBCP

Randy DufaultRandy is the Director of Solution Development for Genus Technologies, a Midwestern consultancy dealing primarily with enterprise content management systems. His experience with content management dates back 25 years, where he helped develop what ultimately became IBM‘s Content Manager for iSeries. He has also developed and integrated a number of advanced technologies including document creation, character recognition, records management, and work flow management. Randy is a member of the COMMON North America Board of Directors and was active in the development of COMMON‘s Certification program.

Read Randy’s Computing of Business column in COMMON.CONNECT.

The Ruby Programming Language

RubyRuby is an open source language that is available for the IBM i operating system. While its syntax is very similar to other open source languages commonly used for the web, such as Python and Perl, Ruby has many unique characteristics that make it a great choice for your project.

 Ruby’s Purpose

Like many modern languages, Ruby is dynamically typed and supports both object-oriented programming and other programming paradigms. While most commonly used in web development, Ruby is a general-purpose language used for different types of applications.

Object Based

According to this article on pocoo.org, Ruby differs from Python in that it is a pure object-oriented language where everything is an object. Tricks in using the objects allow the use of other programming paradigms. Python, on the other hand, has both functions and objects and is thus a hybrid language.

Design Philosophy

Ruby is a language that has a special philosophy behind it about design and usage. While designed as a fun and simple language for programmers to write in, Ruby also allows great complexity in the programs that it can create. Furthermore, Ruby is a very flexible language that allows developers a great amount of creativity in the implementation process.

Popularity

Ruby is quite a popular language and is very much in demand in the industry. Ruby on Rails is a framework that is commonly used in web development and greatly extends Ruby’s capabilities. Distributed under the MIT License, Ruby on Rails is a Model-View-Controller framework that integrates well with common web technologies such as JavaScript. This framework allows for the fast development of secure and scalable web applications.

Learn Ruby for IBM i – along with Node.js and Python – with COMMON’s Open Source Video Tutorials. Learn more.

Want more Open Source for IBM i? Check out these 2017 Fall Conference & Expo sessions.

Open Source on IBM i

Open Source Video

Speaker: Jesse Gorzinski

In this recording, Jesse explains the newest developments to Open Source on IBM i. Learn about the major Git enhancements and other new features added in 2017 for 5733OPS. It is a great way to gain knowledge about the IBM i Open Source community and how you can participate in this exciting frontier.

Topics covered:

  • Git
  • rsync
  • Wget
  • cURL
  • GO LICPGM

About the Speaker

Jesse GorzinskiJesse Gorzinski works for the IBM i development lab in Rochester, MN. He is the Business Architect of open source technologies. Jesse, who was doing RPG programming at the age of 18, is an expert on application development on IBM i, as well as system access and modernization.

How IBM Power Systems Are Challenging x86 Servers in the Corporate Data Center

Intel’s x86 architecture has long been dominant in the corporate server marketplace for good reason. Chips based on the x86 framework have been at the heart of personal computers and other devices for more than three decades, and a standardized, widely adopted infrastructure for development and support of x86-based products is in place. The head start x86 enjoys over any potential challengers is immense.

But that hasn’t stopped IBM from joining the fray.

In 2014, IBM sold its x86 server business to Lenovo and pinned its hopes for increasing its penetration of the enterprise and cloud server markets on its upgraded Power Systems line. At that time the consensus in the media and among competitors was that IBM’s efforts would be too little, too late. Intel’s x86 standard was simply too well entrenched to be displaced.

But that assessment is beginning to change. Servers based on the company’s Power8 RISC processor seem to be gathering momentum in the marketplace. In 2015, IBM’s financial results revealed that it had enjoyed revenue growth in its Power Systems line for the first time in four years.

Key to that growth, say analysts, was IBM’s decision to add Linux as an alternative to its proprietary AIX operating system. There are now thousands of ISVs (independent software vendors) developing new Power8 Linux applications or working to port existing x86-based Linux applications to the Power environment. And, IBM claims, it has demonstrated some very good reasons for its customers to do exactly that.

In a June, 2015 conference presentation, the company revealed certified benchmark test results showing that Power8 servers significantly outperformed x86 servers in running financial workloads. In fact, an IBM Power System 824 server more than doubled the performance of a best-in-class x86 machine.

Says Terry Keene, CEO of Integration Systems, LLC,

“Comparing the x86 and Power processors on a micro-benchmark level will show little raw performance advantages for either. Comparing the two using enterprise workloads will demonstrate a significant advantage for Power in data workloads such as databases, data warehouses, data transaction processing, data encryption/compression, and certainly in high-performance computing.”

IBM is aggressively pursuing its objective of gaining a double-digit share of the server market by 2020. And with its even more powerful Power9 chips due out in 2017, the company seems well positioned to reach that goal.

Swift and Kitura

SwiftMost developers think of Swift as Apple’s latest open source language for macOS and iOS. However, IBM is also putting a lot of effort behind it. The open-source Swift language is suited for many kinds of work, and IBM is promoting it as a language for Web and cloud applications.

KituraIBM’s Kitura Web framework, written in Swift, includes its own HTTP server. It aims at the development of full-stack applications using Bluemix and an OS X or Linux server.

IBM Cloud Tools for Swift simplify the job of developing applications using Swift on both the client and server sides. Currently the emphasis is on mobile applications, but Apple is energetically moving to Swift for macOS (formerly OS X) development, so Mac-native clients will be feasible.

Swift includes many modern features, compiling to very efficient code while providing a higher level of code safety than the C-based languages which have traditionally been used for low-level code. The features contributing to code safety include:

  • Almost no use of raw memory pointers. They’re available when it’s necessary to address memory directly, but otherwise aren’t needed.
  • Restricted use of null values. A common software bug is the failure to handle unexpected null (called nil in Swift) values. Normal variables in Swift never have nil values. A variable has to be declared optional in Swift to allow nil, calling attention to the need for checking. An optional can be assigned to a normal value after excluding the nil case.
  • Safer switch statements. A switch statement must exhaustively cover all cases, and cases don’t fall through to the next one by default.

Developers can join the Kitura community by submitting a Contributor License Agreement. There are a lot of opportunities for developers to contribute to Swift and Kitura projects.

Reasons to Program in Python

For those who operate Linux operating systems, Python is a staple. Many programmers find Python easier to use than its counterparts, C++ and Java. Here are 5 reasons why Python is preferable when you code on the command line.

Why Python?

  1. Python uses a more streamlined set of commands
  2. The syntax of Python is much easier to read
  3. Most operating systems recognize the Python programming language
  4. In true open-source fashion, Python is free and utilizes community based technical support
  5. Python is useful in solving issues pertaining to Internet protocols, software engineering, operating system interfaces, etc.

Philosophy

On Python’s website, the organization outlines its philosophy. It’s summarized in a list they call PEP 20 – The Zen of Python. Such examples of their coding manifesto include mantras such as (just to name a few):

  • Beautiful is better than ugly
  • Simple is better than complex
  • Sparse is better than dense

Getting Started

Tutorials on coding with Python exist throughout the Internet. From the novice programmer to the expert programmer, the coding is simple to master. As previously mentioned, technical support is community based. This is especially useful when submitting bug reports. Programmers work extra hard to provide patches for any disturbances in the language. Forums are always available for any questions you have. Experts try to answer user questions clearly and concisely.

What’s in a Name?

pythonWhy is the name Python? The answer is simple. The name comes from the British cult comedy troupe Monty Python’s Flying Circus. Unlike the Spanish Inquisition, you can expect to have good results while navigating through this user-friendly open source programming language.

Discuss Python by joining the Open Source Community within Cosmo.

IT Outlook – The Future Is Open

According to data from the U.S. Bureau of Labor Statistics, IT employment continues to grow with numbers increasing 3.1% in 2015 alone. Employment rates aren’t the only thing growing. Salaries are increasing too. Computerworld’s 2016 IT Salary Survey of 3,301 respondents reported compensation increases on average of 3.9%. This was the highest year-over-year pay hike since their 2001 survey results.

But just like any industry, specialized positions are oftentimes in higher demand. As a result, these niche positions show higher initial compensations as well as greater annual increases. So what’s in hot demand these days…open source skills. According to the North Bridge and Black Duck Future of Open Source Study, open source has gone from the exception to the rule. It is now seen in nearly all applications, operating systems, cloud computing, databases, big data and more. With open source continuing to take the IT world by storm, having those skills is going to be critical for those looking to land a job and for those who want the security of keeping their existing job.

COMMON provides the latest education initiatives to stay updated. The upcoming COMMON Forum event in August, is a two-day event, focused on Open Source and Systems Management for IBM i. Here you can learn “why” you should pursue open source and then attend sessions taught by industry experts on “how” to get started.  To learn more about this event or to register, go to:  http://www.common.org/events/forum/#open_source

So whether you’re new to the field or an old pro, staying relevant in today’s IT world means continually refining your skills to be on par with what the market is looking for. And today, open source skills are where it’s at.jpeg 2