Table/Maker The Only Spreadsheet There Ever Was Using Only Arithmetic
No related academy, institute, foundation, group of experts or teachers on any side has ever responded to an enquiry with more than a solicitation for a donation.
Could this idea be that terrible or is something else going on? Feedback welcomed. Are you in a big hurry?    below marks the link to the first introductary video.

References:      https://en.wikipedia.org/wiki/T/Maker        https://en.wikipedia.org/wiki/Peter Roizen      Email: roizen@ix.netcom.com

 Links:  The Download Page      My other outside-the-box idea:  WildWords Crossword Game   

Some say teach everyone algebra. Others say let many learn "practical math." Meanwhile graduating seniors and the population at large are setting new lows for numeracy measures. And, how do you do this "practical math" easily when every spreadsheet is driven by the abstract notation you are trying to avoid? Even those who do pass algebra but with some reluctance can quickly become victims of "use it or lose it." A better answer: you have to come up with a new tool with a foundation in arithmetic. Nobody forgets arithmetic. You're probably not going to be surprised that I think I have such a tool. With help from a Microsoft or Google, it could be polished up and dispersed to millions never appropriately served at their math cafeteria. T/Maker is easy to use. It's non-algebaic yet very capable. It might even draw some of the disenfranchised back in the game. So, why me? How did I get here? Why am I suggesting this thing that no one else ever even imagined? Answer below.

IHA Boxpr History:  While the world produced cell-based algebra spreadsheets (starting with VisiCalc), unusual choices resulted in a task on my desk that was fundamentally different. It involved typing instructions within a document to perform calculations. I did this with arithmetic symbols across the page and in the left margin. These could be removed automatically before printing. Thus the document was undisturbed on paper. I published T/Maker in 1979 with that feature in what was a word processor plus many other utilities. Later in 1991, I extracted the math part and added cells in a version for Windows. In 2020 a system update killed these tools. Jumping ship to a regular spreadsheet would have been a betrayal of worthy ideas, fond memories, and surprising success. So I resurrected and expanded this one-of-a-kind syntax. The obvious audience would be people with no knowledge of algebra. Am I a madman on a mission? I am on a mission and might be the one person in the world who was destined to create this page, at this time, with this approach. The lead-up described is accurate and spans more than four decades. If that isn't destiny, it's pretty close to it. 
Sketch from Programmers At Work, Microsoft Press, (c) 1983
Not the best title for the 1991 version!
 
A Surprisingly Big Chunk Of The Most Important Ideas Plus A Video Of Real Time Usage With A Nifty Tool:



What does it mean to calculate something? Usually you have some numbers and hope to derive a new one based on them. Maybe your annual sales from monthly figures? Maybe the average number of eggs per day laid by your chickens? Who knows? Aside from the numbers to start with, you will need basic arithmetic symbols representing known operations with two numbers: + adds two numbers, / divides a first number by a second, etcetera. There are two kinds of numbers used in a calculation. There are known constants like 3.1416 (pi) that is often needed when calculating with circles. And there is the radius or diameter of a circle which varies from circle to circle. You generally won't have a line on your screen or in a print-out like "My value for pi" or "The number of months in a year." But you would probably have one that shows the diameter or radius of the circle in question. That would allow changing the radius while using the same math for that new circle.

So what should one look for in a software program intended to do calculations? Easy ways to write and understand the math operators and the sequence in which they would be executed is a good start. A number of convenient choices to identify the numbers used from the grid and where new numbers should be placed would be cool. If you could see all this side by side in a visually intuitive display that would be great. But allowing a calculation to be specified in a location where it is not used can be helpful in uncommon-sense situations. A tool that walked through and displayed your operations one by one would very much increase your confidence and comfort level. All these charms are accomplished by T/Maker. It is not intended to be a replacement for Excel or its like. T/Maker homesteads in the desolation valley between a hand calculator and an algebraic spreadsheet. It is well-suited for daily life calculations. It is unsuited for global economic forecasts. Ironically, way back then, My Employer = The World Bank!


Let's imagine a giant calculator with tons of buttons sitting on top a screen of green and white boxes in two dimensions. Formulas are not written in T/Maker as in algebra. Rather, you compose something called a Calculation Trail. These are placed in the green cells. The white cells hold the text and numbers you want to see or print when not fiddling with the math. Each trail is made up of steps which are numbered and will be executed in number order. One step is like a sequence of buttons pressed on a calculator. T/Maker reads and does the step moving left to right. Unlike a formula, one trail can calculate many values. Also there is no need for parentheses or confusing rules of precedence.

Image MissingYou can see some Basic Operators in the middle of the toolbar. There are tool tips to learn most everything. The exclamation point ! enters a value into the calculator. But which value is that? In T/Maker there are different values you can choose to specify. A key to understanding T/Maker is learning to read the operator symbol and seeing immediately what value is designated. When the symbol requires such a value and none is present, T/Maker takes the value from the adjacent white column. Step 1 sets the value in the calculator to 2. Step 2 adds the value 3 to the calculator since that constant follows the operator. The presence of 55 in the white cell is of no importance. Columns in T/Maker are named from A to Z. When a symbol is followed by a single letter, the value used will be the one in the column named. In step 3 the value in the calculator is multiplied by the value in column D which is 5. As with step 2, the number in the adjacent cell is of no consequence. With experience, you learn to choose among the possible conventions and where to place them for a clear presentation of what is going on.

There are things called "Functions" that take the value in the calculator and replace it with a value derived from it. "sqr" is one that replaces the calculator's value with its square root. An equal sign = is an Output operator and is followed by a designation of where to place the current calculator value. The same is true of the number symbol #. The difference is the = also clears the calculator to zero while the # leaves the value in the calculator unchanged for further manipulations. T/Maker's calculator offers memory storage slots you can name yourself. A memory name must start with two letters optionally followed by more letters and numbers. They must not be the same as a keyword in the toolbar. Choose them for their clarity and rememberability. They are immensely valuable for intermediate results. In Step 4, the square root value in the calculator is placed in a memory named SaveIt. Step 5 enters 4 in the calculator, adds the value in the SaveIt memory and puts the result in cell c6 -- column C row 6. Cell names are discouraged. They have no intuitive value and often lead to mistakes. Step 6 determines the area of a circle form its diameter using the memory pi which is built-in. Sometimes it's best to do a whole calculation in one green cell if relevant cells are all on the same row. That is often the case in tables.

"Special" functions require multiple input numbers as with a mortgage payment (amount, interest rate, length of loan). By convention the parameters are placed in fixed name memories. "Flow Control" allows impromptu exits from or restarts of various calculations. A "When" clause describes a conditional test so different situations can be handled by different calculations. T/Maker's calculator is completely programmable and useable to create simulations, perform binary searches, etcetera. Still, giving a completely ignored audience a way to do daily life bookkeeping and calculations sans algebra is the major breakthrough here.
Even though you have learned a lot,  
please watch this video demonstrating the above and some surprises in real time.  Size the new window as needed.

The rest of this page is under reconstruction, but you can still learn from it.
I also need to review and improve tutorial videos and examples.
The program is in good shape and can be installed with a few preconditions.


Geometry: This subject is often taught with a requirement of algebra first. Frankly, I think geometry is the easier of the two with more immediately apparent applications. DIY projects are particulary needy of perimeters, areas, and volumes.  Even familiarizing everyone with the variety of measures used in different circumstanes is useful: miles, meters, cubic inches, acres, etcetera.. The table below figures out the number of bags of QuikCrete needed to fill the holes made for 30 fence posts.  The video explains the thinking and the use of memories. This can be done with less typing, but I like doing stuff in the clearest way. Also, all the relevant constants can be changed for other other holes and posts. You can imagine knocking out some complicated word problems exercising critical thinking. What pieces do I need along the way? How do I put them together? Important life decisions, however, are almost never about a single number solution. So there will also be time spent figuring collections of numbers to be better informed.


Optional Video (a bit repetitive for now but better explained)

Home Budgeting and Bill Paying: Sometimes a well-made list with a minimum of calculations is valuable on its own. You don't always have to be predicting the future of hedge funds! To the right is one that's a favorite of mine. It lists all bills that need to be paid. The list includes the number per year, how it arrives, where to find details about it, what day it closes, how it is paid, an approximate average amount, the total per year (calculated), and a number to sort on for my prefered order. The other number calculated is the column total of "Total" The table can also be sorted on any other column. I print one now and then to mark an amount paid if any for potentially adjusting the average. With the number of bills one has these days, I am happy to have this page in a permanent location on my phyiscal desktop. My actual list has a lot more lines. Take a quick look at some easy and useful manipulations of this list including the insertion of a new cloned row.
Optional Video


Graphics: While the charts and graphs are not on a par with well-established spreadsheets, you can use them to get insights into your data and a student can learn what type of chart best illustrates a certain point. This is one of a number of areas where T/Maker could be improved by teaming up with a company that already has a professional collection of charts and graphs. The current graph interface could be kept pretty much as is in terms of simplicity. Better to forgo a few capabilities than start to make things complicated.








 
Statistics: An understanding of some basic statisics is certainly useful. Many can be obtianed with one trail using the & (Combo cursor). It uses memories to keep track of a number of key indices. These can be fetched from the memories and displayed as in the table below. With a few other trails you can put the values in normalized form and calculate correlation coefficients. I am not suggesting the average student calculates their own correlations but they should understand what a lot of every day terms mean like the mean versus the median. I would also teach scepticism for the statements made in typical advertisements or new articles. The ten best places to live, etcetera. A lot of nonsense is passed off as science.



Forms: With four different line styles plus the possibility of no line, you can design some nice forms. Allow text to span multiple columns when setting formats (Alignment "+" Spans). Text can be specified in an invisible ink format effectively blanking it out. This is useful when elements in a table are needed for calculations but not desired in a final print-out. A respectably looking estimate or invoice could cetainly be made for the self-employed.

Printing:  Print the table in one of four fonts. Choose font style and size. Set a row height to tighten or spread out the vertical dimension. Decide whether or not to print lines. Options are available for row names and column names. Switch between landscape and portrait as well as set margins with two system dialog boxes called up with a button.

The top of the page shows the length and width of your table in pages. In addition to marign adjustments, changing the size of the font and other items may affect these numbers. Use the Recalculate button to refigure the size when you have altered any items. I generally try for a minimum number of pages with the width of only a single page.



Starting From (Almost) Scratch :  I do keep the template below handy without any data. It gives me a head start on adding up lump sums or quantities with unit prices. My once a year hand-prepared maintenance bill for a runabout gets checked for labor and parts. The template includes a single pie chart for all the items most of which are zero. I just push the Show button for that.

   



Video: Gambling on Roulette
What you saw: You saw a table that plays the optimal strategy for roulette within constraints defined by the you. In addition to demonstrating a functional use of memories, it calls on a number of elements available in the large toolbar above. These include conditional logic and branching which makes this not just a table but a program. So why is it here in a page hoping to entice persons with very modest math skills? As they say, "that's a good question."
T/Maker does provide room for any user to grow with more and more difficult problems. But probably more important in a classroom setting, T/Maker can open up a world with a variety of topics. With some reasonable amount of time, I believe the workings behind this roulette exercise could be explained to pretty much everyone. The same can be said for T/Maker tables calculating basic statistics, performing simulations or binary searches, contrasting investment strategies, weighing present versus future values, or factoring in appreciation and depreciation, etc.  Plus, these important values can be calculated with T/Maker and explained intuitively without complicated algebraic formulas.
Dumb me! I should not have used the metaphore of "rolls the dice" i
n the video for "spins the ball."
 
Find / Replace Helper in Misc. Menu:
If you are in a position where you regularly enter data of purchases or whatever that need to be listed, the Find / Replace helper can be handy.
Use it to create abbreviations to minimize typing and store them with the file.
Then the Do All Instructions / Cells button is used to replace all abbreviations with the fully spelled out text.
For a needed monthly list of purchases, start with the previous month's file, rename it, and blank out the data to take advantage of the abbreviations stored in it. Quick look. Video: Find Replace Helper



It's There Somewhere:  While not always the case, if you find something you and others probably want to do, there is a chance it's there. It may be a faster way to edit, move the screen, duplicate some data, or in this case, insert, delete, or reorder trails and givem the names and descriptions. This starts with the Revise button on the Trails screen. Select the Trail Slot and move it or whatever. If you change the text (Name or Comments), remember to push the Set / Reset button. Names and comments will be helpful reminders. Also, someone else may have put in meaningful text in a file you got from elesewhere, like here! Some other screens have their own purposes for the Revise button.




The When Clause:  Different rows or columns in a table may require very different calculations. With the Apply button you do have the possibility to have a number of different trails and choose to apply them across different rows or columns as needed. This introduces an overhead of keeping track of what is used where and making choices when a new row or column is added.  Another approach is to put something in the trail or a step that lets the trail determine if it should do a calculation or not. This is achieved through what is called a "When Clause."  This clause is a true or false test which can be put in a step. If the clause is true, the operators after it are executed normally. If the clause is false execution moves on to the next step.

The clause itself consists of the word "when," a first operand, a test to be performed, and the second operand for the test. One chooses the elements proceeding from left to right on the help screen. This completes the edit area to the right of the light green "Load Clipboard and Cursor" button below. You may also edit what is in that area to provide specifics of what happens when the test is true. Then you can push the just mentioned button to get a cursor representing the text and click it where needed. It is often the case that some form of almost the same clause is needed more than once. You can change the text in the edit area and use the aforementioned button to get a new cursor. Note below that the calculation given is only executed for rows designated with the code "A".



Watch the construction of a When Clause demonstrating another use of it with the Tally Table button.


Importing Data: To try T/Maker, you don't have to start with typing data. You can probably import data from a program you have that exports files in the popular CSV (Comma Seperated Values) format. T/Maker can also import data using white space as a delimiter, parsing mostly vertical columns, or using a first line that is a template for where columns of data are located.



Open a table file or create a new blank one for the data to be imported.
Click Export / Import menu, then Clipboard / File Controls
If the data is in a file, use the Load Clipboard button.
Otherwise make sure the data is in the clipboard.
Push the Show Clipboard button to display the data.
You may edit lines shown for whatever purpose.
If you do, push Set Clipboard To: button to load your edited version.


For this example, I made a selection from a web page and used the copy keystroke. I was unable to select the titles. Perhaps they are represented by a graphic and not text. Pushing the Show Clipboard button, the data appeared as in the listbox. I used the Select cursor on Row 1 Column A as the strarting position to load the table. Then I chose the White Space Delimited option to transfer the data to the table. You can see the first two rows below.


Picking data out of a web page works or does not work depending on how the HTML in the web page is written.
As you can see, there are a number of Clipboard to Table options. You can try one after the other. 
Push the Explain button for more details.

If you can get a CSV file, use it. If not, you can inspect the clipboard to see what might work.  The Export / Import menu also has some cursors to fix problems that might occur on individual rows.



Exporting Data:
Load the table from which data is to be exported.
Click Export / Import menu, then Clipboard / File Controls
Use the Select Cursor to select an area (click first and last cell)
Hint for above: use Page Up, Page Down, etc. to move screen
Or, push Select All button.
Enter CSV Character for separating values in CSV Format.
(Above does not have to be a comma)

Check Export Raw Values or leave blank for formatted values.
Choose a Table to Clipboard option.
Clipboard will then show in area below.
You may edit lines shown for whatever purpose.
If so, push Set Clipboard To: afterwards to load your changes.
To save clipboard as a file, push Save Clipboard option.
A dialog box will allow you to set a folder and file name.
   Moving Data:
   Save the file as it is first. 
Duplicate or move data in a table by exporting it. Then import it to the new location.
   Erase the old data when that operation is completed. Don't save anything until you are sure.
   BTW, one backup file is kept with zzz prepended to the file name if you set that option in the Options Menu.


Column Relative Memory Names: Here is a feature that got created because it's useful. Let's say you are doing the same calculations on a range of columns. Suppose Trail 3 creates a value that would be useful in Trail 7. You might put in Trail 3 a notation like step 4 to save the value in a memory for use by Trail 7. Problem: All applications of Trail 3 are done before T/Maker even gets to Trail 4. Therefore the value in memory Myval will be overwritten each time the trail is applied on a subsequent column.
Realizing that you will need a different trail using a different memory name for each column, you have to wonder if there is a better way to attack this prorblem. There is.

If a memory name ends with a question mark, the question mark is replaced by the column letter in which the name is used, case insensitive. That means when MYval? occurs in column A, it is as though you wrote MyvalA.
Thus a use in one column of Myval? will not refer to the same memory when it is used in another column. This technique is used with the "Combo cursor" to calculate a number of statistics across multiple columns without having one application step step on the toes of another. It can also be used, for example, to store values from say row 11 so they can be easily called back in row 61 as memory names.


Mortgage Payment The Hard Way:  This is the formula for a monthly mortgage payment (M) from the amount borrowed (Principle) over (n) periods at an interest rate (i) per period:
M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ].  It is more easily forgotten than remembered. This example is for readers who wonder about unexpected tasks that T/Maker might handle. Most will not be attempting to construct a table at this level of complexity. But hopefully they can get the idea of how it works. Skip it if you like.


I  do know the payment accounting that is done each month. Interest is added. The payment is subtracted. That yields the remaining balance for the next month. And so it goes for every period. T/Maker is programmable. With the terms of a mortgage and a given monthly payment, it could do the math. If the final balance ended up negative by more than a trivial amount, it would mean the payment was too large. If it ended up too positive, it would mean the payment was too small. Something called a binary search is a smart way to deal with this type of situation.

First we need to find a low and a high estimate for the correct payment (discussed later), then we take the average of the two, and do the math. If the remaining balance is too negative the payment was too much. We change the high estimate to the average we just used and start over with a new average. If the balance is too positive, the payment was too little. We change the low estimate to the average instead and try again. If the balance was a trivial amount from zero, the payment is right and we stop repeating loops. The term "Binary" is used because the range of possibilities is cut in half with each iteration.

We will have three sorts of stages in this process: 1) Start Up: calculate the correct value as in the previous example to compare with this approach and set some nicely named memories with initial values. 2) Prep Next Guess: Prepare memories with values to run through all payments and establish our next payment guess. 3) Run and Evaluate: Do all payments, evaluate the remaining balance, and take the appropriate action. We will do one trail for each stage which makes it easier to see what is going on. A trail is a very flexible item.


Trail 1:


Startup: When T/Maker begins calculating all memories are effectively zero. In the first step, Pass is a memory which will be zero at the first execution of the trail. A When Clause is used with the "not equal" comparison to see what the story is. This test will fail since Pass is zero, so the rest of step 1 will not be done. T/Maker will jump to step 2. Later when Pass is not zero, the rest of the step will be done and T/Maker would EXit this TRAIL (EXTRAIL) and jump to step 1 of next trail, namely, 2.

This trail is meant to be executed only once. Steps 2 through 5 calculate the correct mortgage payment in the way of the previous example. Step 6 puts the borrowed amount in the memory Amount. Step 7 divides the interest per period by 100 so it is a rate as opposed to a percentage. Step 8 puts the number of periods in the memory Months. In truth, it could be quarters or years or whatever. Perhaps a memory named Periods would have been more to the point.






Trail 2:



Prep Next Guess: The first two steps of trail 2 are only done the first time trail 2 is executed. Otherwise, the Low and High estimates for the Payment are controlled in the third stage. The Low payment is calculated to only pay back something less than the full amount of the loan. Banks don't generally offer that. The High payment would pay back the interest on the full amount every month plus the Low payment. This would probably be called "sharking."

Step 3 displays the Low payment. Step 4 calculates and displays the Payment based on the average of Low and High. Step 5 displays the High payment.

Step 6 sets the memory Remains to full Amount (this is before the first payment is made).
It also sets the Time to 1 (think of this as the current month/period).
And it adds 1 to the memory Pass. This makes sure we won't do the one-time steps again and serves to count the total number of different payment amounts that were tried before the correct payment was found.


Trail 3:


Step 1 calculates the remaining amount including new interest.
Step 2 subtracts the next payment from the remaining amount.
Steps 3 and 4 simply display memory values of interest,
Step 5 Regardless of the Time, If what remains is already less than minus 5 the payment is too high. So the High value is reset to the current Payment and the table is RESTART(ed) from the beginning. However, this time Pass is not equal to zero so various steps will be skipped.
Step 6 tests if the final payment was just made. If not, this trail is RETRAIL(ed) which means T/Maker will jump back to the first step for this trail and advance another time period.
Step 7 is only tested after all payments are made. It checks if the remaining amount is greater than 5. If so the Payment was too low, so the Low value is reset to the current Payment and the table RESTART(ed).
Otherwise it is mission accomplished! The amount remaining is between minus and plus $5.
If there were a trail 4, T/Maker would have started on it.

Don't lose sight of the benefit that this example offers an oppotunity for students to learn something interesting independent of this problem solved. This can be done with many other subjects: statistics, probabilities, etc.
For the record, no trail yet has used a cell name except the example of how to use a cell name!

The Quadratic:  Real life math is generally about applying known formulas to known values to get an estimate or understanding. Finding solutions to equations or points where lines intersect is more about scientific pursuit than managing your home or even small business.  Part of algebra includes this famous formula which can be a nightmare for some students. I thought I would put in a table that solves it for the coefficients a, b, and c.  Pushing the Compute button displays the solution if there is one in real numbers and prepares a list of numbers for the chart to the right. The Show button would show the chart.



The necessary designations for the graph values were put in the table manually on the Graphs input page.  I first did the graph as a single line showing the parabola f(x) versus x. That was rather boring and quite low on information value. I then tried the presentation above. The value of x is shown as a red bar which starts off negative and climbs. The blue bar shows the value of the function. You can see the two solutions where the height of the blue bar is zero. When things are easy, a spirit of trial and error discovery is encouraged. That often leads to something unexpected and better.





Keyywords : Spreadsheet, tables, t/maker, tmaker, arithmetic, remedial math, algebra, quadratic equations, silmultaneous linear equations, word problems, computational skills, math for everyone, spreadsheet for everyone, elementary school spreadsheet, problem solving, problem solving before algebra, spreadsheet for 10 year olds, two dimensional hand calculator, arithmetic syntax for spreadsheets, practical math, math for the real word, usable math, few mistakes, fewer mistakes, easy to understand, intuitve, visual syntax, like writing on a blackboard,sensible, practical, useful, straightforward, user friendly,
fun, enjoyable, low stress, easy to use, math for dummies, spreadsheets for dummies, do not need algebra, algebra not required, only arithmetic needed, no algebraic formulas, no cell names,
memories, make your own names for memories, left to right order, no precedence, no parentheses, mortgage function, net present value, discounted value, growth rate, trigonometry, sine, cosine, tangent,
logs, exponents, Peter Roizen, Cubberley, University of California at Berkeley, Cal, Palo Alto, I Hate Algebra, non-algebraic solutions and notations, programmable calculator, iterations, convergent solutions, probablities, optimal strategies, linear programming, statistics, correlation coefficients, standard deviations, MAGA Principle 1:  Make Arithmetic Great Again.  MAGA Principle 2: Make Alegbra Go Awayy.  MAGA based. MAGA MATH. MAGA SPREADSHEET, MAGA Tables. conditional logic
 
bridge of arithmetic     arithmetic bridge   island of algebra   island of alcatraz island of algebraz      alcatraz island     algebra island    algebraz island