### Running As-Easy-As on FreeDOS

In the early 1990s, I was an undergraduate physics student at the University of Wisconsin-River Falls. A major component of our physics program was the physics lab. Every semester of the two-year General Physics track included a lab. And later in the program, physics students participated in Physics Lab 301 and 302, also known as "Junior Lab" because most of us took that in our Junior year. Depending on your program focus, you might take other physics labs.

As you can imagine, a large part of my physics degree was involved in a lab. I constantly analyzed lab data. So it shouldn't be very surprising to learn that I depended on a quality spreadsheet program.

In the late 1980s and early 1990s, the most common spreadsheet program for MS-DOS was the Lotus 1-2-3 spreadsheet. I remember my dad installed a copy of Lotus 1-2-3 on our home, but that was really the "take home" license from his office. Lotus 1-2-3 was excellent software, but it was far too expensive for me. I soon discovered the As-Easy-As spreadsheet, a shareware program that provided basically the same functionality and features of Lotus 1-2-3, but at a fraction of the cost.

"Shareware" was still something of a new idea in the early 1990s. The basic idea was that you could install the software and try it out. If you liked it, you registered the program by sending the author a check. Most shareware registration fees were pretty low, usually $20 to $30, depending on the program. And the shareware model encouraged you to share the program with friends, such as by passing around the install program on a floppy disk. Hence the name "shareware."

I don't know how many times I used As-Easy-As to help analyze my lab data, but I know it was a lot. I especially appreciated the linear regression function in As-Easy-As, which fit the best line to a linear data set, including standard deviations of the slope and intercept. These "error analysis" values were a required element of our physics labs. While I could run linear data analysis via a FORTRAN program on our campus VAX system, it was much more convenient to run the analysis using As-Easy-As on my home computer, without leaving my dorm or apartment, and without having to dial into the often-busy modem pool.

As-Easy-As was my favorite DOS program of the era, no question. And I still have a great fondness for As-Easy-As, many years later. Whenever I install FreeDOS somewhere, I usually install As-Easy-As, as well.

If you're new to FreeDOS and wonder, "What can I do with FreeDOS?" then I encourage you to try As-Easy-As. While the original version of As-Easy-As was shareware, TRIUS Software has since posted the original install files and activation code for As-Easy-As 5.7, including the full user manual, for free. Thanks, TRIUS! (This isn't "Free software" or even "open source software," but a "closed source" program that is now available at no cost.)

Installation is simple; just unzip the package and run the installer. When you've done that, find your way to the As-Easy-As directory (by default, that's `C:\ASEASY`

) and run the `ASEASY.EXE`

program.

As-Easy-As includes several sample spreadsheets that demo the functionality of the program. You can calculate a mortgage, manage a checkbook, generate probabilities based on different functions (Poisson, Gaussian), convert units, and a host of other functions.

If you are familiar with modern spreadsheet programs like LibreOffice Calc or Microsoft Excel, you will notice a few differences in As-Easy-As. That's because As-Easy-As tried to be as much like Lotus 1-2-3 as possible. Microsoft, and later LibreOffice, tried to simplify the spreadsheet and introduced some new standards. You'll notice this in how you enter data into the spreadsheet. There are three basic ways to enter data:**1. Number data**

Spreadsheets were built for numbers. That's their specialty. So As-Easy-As (as most other spreadsheets) make it really easy to enter numbers. Just type a number.

**2. String data**

In Excel and other modern spreadsheets, you can just type in a string, like the label for a column. As long as the string doesn't look like a number, then Excel saves that data as a string. As-Easy-As sort of works the same way. If you enter an`x`

in a spreadsheet cell, As-Easy-As saves that as an`x`

string. But it's safer to enter strings by starting them with a single quote. So instead of typing`x`

, you type`'x`

.

**3. Calculations**

This is really where things are different under As-Easy-As versus modern spreadsheets. In Excel or other spreadsheets, you start a calculation with the`=`

sign. So to enter a calculation like "cell A1 plus one" into Excel, you type`=A1+1`

. In As-Easy-As, you start calculations with a`+`

sign. So to enter the same calculation in As-Easy-As, you type`+A1+1`

.

Or as you'll see below, you can also start a calculation with`@`

.

The power of spreadsheets is in their functions. Functions make calculations really easy. Every spreadsheet has the same basic functions: calculate the sum of a list of numbers, averages, and so on. Some of these functions are named differently As-Easy-As than modern spreadsheets. For example, the function name to calculate an average of a list of numbers is

`AVERAGE`

on Excel, and `AVG`

on As-Easy-As.Functions in As-Easy-As are set off with an

`@`

character. So the `SUM`

function is actually referenced as `@SUM`

and the `AVG`

function is `@AVG`

.In As-Easy-As, you can get a list of all the spreadsheet functions, and how to use them, in the online help. Just press the

`F1`

key as see the list of `@`

functions.Let me show you a simple example:

As an undergraduate physics student, I often used As-Easy-As to perform linear regression. As a quick example, I created a simple table of

*x*,

*y*data that described a line (

*y*=

*x*). Because a line that is exactly

*y*=

*x*isn't very interesting, I added some randomness to it using the

`@RAND`

function. The random number function generates a random value between zero and one, and I chose to "center" the randomness around the *y*=

*x*line. So for each

*x*, the corresponding

*y*value was

*x*+

`@RAND`

-0.5.In the spreadsheet, you can reference another cell using a cell reference. So the value

`A2`

references whatever value is stored in column A, row 2. Once you enter the calculation `+A2+@RAND-0.5`

into the B2 cell, you can copy the cell to other cells in the same column, and As-Easy-As will propagate the cell references. So the B3 cell bases its calculations from the A3 cell, and so on.I mentioned that As-Easy-As includes a useful linear regression analysis. You tell As-Easy-As where to find the data, and where to prints its results. As you can see below, As-Easy-As fit a straight line of slope 1.022 ± 0.035 and intercept -0.065 ± 0.318 to my randomized linear data.

And the chart from this data:

(I forgot to set my own scale for the

*x*and

*y*ranges, so As-Easy-As made its own best guess. That's why you get the odd interval values: 1.0, 3.3, … instead of typical axis values like 1, 2, 3, …)

Here's another simple example:

What if you wanted to project a trend of current data? For example, I track how many times people download the FreeDOS 1.2 distribution from our website. It's pretty constant, so I entered the download counts for the month of February 2018 into As-Easy-As, and generated a simple trend starting from the middle of the month.

Since downloads are pretty constant, I made the simple assumption to use the

`@AVG`

function on the previous data. That is, the next day's downloads should be pretty close to the average of the days before it. In As-Easy-As, I needed to enter the `@AVG`

function to reference a range of cells.Referencing a range in Excel or other modern spreadsheets uses the

`:`

separator. For example, to reference the five values in column A, rows 2 to 6, you enter `A2:A6`

. But in As-Easy-As, you use the `..`

separator. You reference the same range using `A2..A6`

.That's all that's required to generate a simple trend of our download data in February. Since I already had the complete data, I also generated a simple calculation of the difference of the trend prediction versus the actual value.

And the chart from this data:

(This time, I remembered to set the interval ranges.)