Wednesday, February 27, 2013

Essential EGL+Batch - Source Code 1 thru 22

Source code for lessons 1 through 22 is now available in an archive file. This includes both the EGL and Java source code.

eglprogram-22.zip

For more information on importing the source code, see also Essential EGL+Batch - Archive File.

Essential EGL+Batch - Archive File

Backup your EGL project by exporting it to an archive file. In a new workspace, restore your EGL project by importing an archive file.

Sunday, February 24, 2013

Essential EGL+Batch - Lesson 22 Connection Properties


Get properties from an open connection to a JDBC-compatible database. Configure a database connection for (1) your Eclipse workbench, (2) your EGL project and (3) your EGL program. Use the Database Development perspective to create a new database connection. Edit the EGL Deployment Descriptor (.egldd) file to add a database (SQL/JDBC) resource. Create a library called ConnectionLib to connect to a database. This lesson does not describe how to install database software or create a database.

Essential EGL+Batch - Lesson 21 Arguments


Essential EGL+Batch - Lesson 21 Arguments is now available on my YouTube channel. Use a Java class and external type to get command-line arguments. Pass arguments from a command-line to an EGL batch program.

Essential EGL+Batch - Lesson 20 Delegate Field


Essential EGL+Batch - Lesson 20 Delegate Field is now available on my YouTube channel. A delegate can be a field in a record. Use demo functions from lessons 4 thru 19.

Essential EGL+Batch - Lesson 19 External Type is now available on my YouTube channel. Define and use an external type in an EGL program. Create a Java class called JavaSystem to get a complete list of property names for Java system properties.

Friday, February 22, 2013

Essential EGL+Batch - Lesson 18 Custom Property


Essential EGL+Batch - Lesson 18 Custom Property is now available on my YouTube channel. Define a custom property on the command line and get a custom property in an EGL program. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Wednesday, February 20, 2013

One Reason To Use EGL: Implied Decimal Point


An implied decimal point type is but one small, insignificant reason to use EGL. (That's my way of saying HUGE and COMPELLING.)

Let's compare EGL to Java. Java technology does not have built-in support for an implied decimal point, like COBOL does. In other words, you cannot possibly declare a type like decimal(16, 2). And yet, as you know, SQL supports a column type with an implied decimal point. When reading and writing to an SQL database, Java requires jumping through hoops. You may be required to use a double-precision floating-point type, which is not exactly suited for the task.

EGL has built-in support for an implied decimal point, just like COBOL and SQL. It comes from the fact that an implied decimal point type is one of the cornerstones of business programming. You can generate from EGL to COBOL. The EGL runtime for Java comes with a Java class called something like EDecimal. It provides everything that we need in an implied decimal point type; it behaves exactly like COBOL and SQL. It is built-in so that we don't have to think about it. In EGL, when reading and writing to SQL, it's so easy.

Have you use double-precision floating-point type in your EGL code when you should use an implied decimal point type? That's another issue.

Thanks for listening!

Wednesday, February 13, 2013

One Reason to Use EGL


What is one reason to use EGL? It reduces risk.

Big ol' enterprises, such as state and federal government and major corporations, have been pushing COBOL and CICS as the best way of doing things for the entire duration of my career. It comes from a real need to reduce and eliminate risk.

Risk is a big factor in developing big software. It is bigger than the lifetime cost of software development. It is bigger than productivity of individual developers. It is bigger than the benefit of improved development technique and paradigms.

Big ol' enterprises are ultra-conservative corporate customers. They need a safe bet. The safer the better. They need a very predictable computer environment. The more predictable the better. They have an aversion to risk and the leading edge of technology.

So, what do they choose? They consistently choose big iron, such as mainframes and virtual machines, COBOL and CICS, along with its baggage of big ol' enterprise culture. The decades-old establishment means very little measurable risk. It does not allow software revolution. And actually, that's a Good Thing.

Meanwhile, there has been something of a revolution going on in gadgets, such as smartphones and tablets. The ultra-conservative corporate customer understands that gadgets exist. Instead of adopting the gadget way of doing things, they are finding ways to connect gadgets to big iron. They are creating a new model for gadgets to connect to low risk COBOL and CICS infrastructure.

As a big iron developer, expert in COBOL, CICS and MVS, you might be experiencing the effect of a major clash of cultures as people try web technologies, such as Java and JavaScript, to connect to the big iron. Using a dozen different programming languages to build one application—what does any ultra-conservative corporate customer that? It make no sense.

But, there is a big problem. While there is nothing inherently wrong with the Java Virtual Machine technologies, there is something wrong with the Java programming language. The language is a system programming language like C. Who wants to write a business application in a system programming language? Many people don’t know any better. They are stuck and feel like they have no choice. If you're writing for the Java Virtual Machine, you have to write in the Java programming language, right? Actually, no, you don't.

A long list of other programming languages have been ported to the Java Virtual Machine, including Clojure, Python, Scala and—believe it or not--COBOL. But, ultra-conservative corporate customers don't like the risk of using a so-called foreign programming language on the Java Virtual Machine. They use the Java programming language, the official programming language of the Java Virtual Machine.

And this is part of the reason why I like EGL. I like EGL because it generates to Java to make my ultra-conservative corporate customers happy. While they get a JEE-compatible web application (with HTML/CSS/JavaScript/Java), I get to write in EGL, a business language that gets my work done. When I get my work done, I’m happy. Everybody’s happy.

Essential EGL+Batch - Lesson 17 System Property


Essential EGL+Batch - Lesson 17 System Property is now available on my YouTube channel. When EGL generates to Java, the standard Java system properties, such as “os.name” and “user.name”, are available to your EGL program. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Friday, February 8, 2013

Making a tutorial video in five steps


What steps are used to make a tutorial video? I make a video in the following order.

  1. Gather the video clips. Some of the video clips are found in my personal video library; some must be created. During this part of video production, I must identify and gather together all of the video clips that I want to use in my video. When I forget a clip, it takes extra time to stop editing and switch back to setting up to create a clip.
  2. Assemble a rough edit for the video. I put the video clips together, working to arrange clips in a logical order. Sometimes, the order is dictated by the procedure used in a tutorial. Sometimes, the order must be discovered during the editing process. I work to eliminate for wasted frames, frames that have no action or frames that waste time, such as watching a six minute download.
  3. Capture the audio. I have a USB headset for capturing audio. Once the rough editing is completed, I write (or outline) dialog for the clip. On a good day, I play the video while I capture audio. On a bad day, I read the dialog from a script and edit the video to match the audio, rather than edit the audio to match the video.
  4. Add the audio to the video. With the audio track completed, I add the audio to the video. I playback the video to make sure that the video and audio are in sync, so that key words go with key frames.
  5. Export the video to a format compatible with the target distribution, such as YouTube.

As you can see, I did not include the many research and development steps that precede the actual making of a tutorial video.
  1. Proposing a video topic.
  2. Selection of a video topic.
  3. Research on a selected video topic, including reading and viewing similar presentations in books, articles, tutorials and other videos.
  4. Purchasing, downloading and installing tools for a software tutorial.
  5. Development and testing of working application for a software tutorial.
  6. Outline of steps in presentation.
  7. Practice video/audio capture.
What is the most important step? Choose a tutorial video as the best way to present information. Choose to learn all of the skills needed to make a video, such as video capture, audio capture, video editing and export. Take action.

Thanks for listening!

Essential EGL+Batch - Lesson 16 Log Exception


Essential EGL+Batch - Lesson 16 Log Exception is now available on my YouTube channel. When it is thrown, log an exception on the console. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Thursday, February 7, 2013

Essential EGL+Batch - Java Control Panel

Essential EGL+Batch - Java Control Panel is now available on my YouTube channel. Which version of Java is installed? Explore the Java Control Panel. This video is part of the Essential EGL+Batch series. Featuring Java 6 on Windows.

Essential EGL+Batch - Installing EGL Development Tools on Mac OS X


Essential EGL+Batch - Installing EGL Development Tools on Mac OS X is now available on my YouTube channel. Download and install Eclipse Indigo (3.7) on Mac OS X (Lion). Install EGL Development Tools (EDT) with the Install New Software feature of Eclipse. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Installing EGL Development Tools on Windows


Essential EGL+Batch - Installing EGL Development Tools on Windows is now available on my YouTube channel. Download and install EGL Development Tools (EDT) version 0.8.1 on Microsoft Windows XP (32-bit). Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Lesson 15 Exception

Essential EGL+Batch - Lesson 15 Exception is now available on my YouTube channel. Handle an exception with try/onException. Throw an exception with throw. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Lesson 14 Record Array

Essential EGL+Batch - Lesson 14 Record Array is now available on my YouTube channel. Work with an array of records. Use a fixed-length record to generate a report. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Lesson 13 Nested Record

Essential EGL+Batch - Lesson 13 Nested Record is now available on my YouTube channel. Create and use a nested record, a record within a record. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Lesson 12 Fixed-Length Record


Essential EGL+Batch - Lesson 12 Fixed-Length Record is now available on my YouTube channel. Convert a simple fixed-length record to a normal EGL record. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.

Essential EGL+Batch - Lesson 11 Record

Essential EGL+Batch - Lesson 11 Record is now available on my YouTube channel. Create and use a simple record. Essential EGL+Batch is a video series featuring EGL Development Tools (EDT) version 0.8.