Note: I enjoy working with numbers (this page) and playing with words (this link).
Table /Maker Five   Email: roizen@ix.netcom.com - Feedback Welcomed
Math recipes with free and fresh ideas!

      Sketch from Programmers At Work,
   Microsoft Press, (c) 1983


pr
References: https://en.wikipedia.org/wiki/T/Maker        https://en.wikipedia.org/wiki/Peter_Roizen                            










 
Links for later:  The Download Page      Tutorial Videos      Example Tables

Short (3:47) Overview Video: You will be surprised how simple and intuitive T/Maker can be.
But there's plenty of power in reserve to do so much more with relative ease!

IHA Box
History: This product has roots in one I created in 1979 (the good ole days) and a modernization of the most unusual part in 1991.  In 2020 my Windows OS sacrificed these items during an automatic update. Given my history, I was not about to jump ship to a normal spreadsheet. That would be a betrayal of decades of ideas, fond memories, and a surprising level of success. So, I decided to resurrect and revamp the calculating capabilities that ignited my fire then, but for a different purpose this time. I also hope to answer a nagging question that has haunted me since Day One. WTF is this thing and what sort of person could benefit from using it ?!

The Normal: The basic unit of work in spreadsheets is the formula.  It calculates one result from other numbers. Particular values are referenced by a name which is their location in a grid (e.g.,  B7, Z23).  The formula can use parentheses to establish the order of calculation (precedence) or to encase parameters for special functions. What they got there is no secret. It's called (and sometimes cursed) Algebra!  AI tells us "a core function of algebra involves solving for unknown variables within equations, using various techniques to isolate and determine their values." My personal guess as to the last time you, and I mean Y-O-U, manipulated an equation to isolate and determine an unknown value represented by an X or Y or whatever, for your own purposes, was never.

Striking Out: Math educators from middle school teachers to scholarly university professors as well as some prestigious institutions spend a lot of energy trying to push and pull every student, willing or unwilling, over the hurdle of algebra. But many others think it's not worth the bother for students heading away from science. Curiously, I have never seen anyone even wonder if there might be a tool for the less capable and/or less motivated students that could enable practical math using only basic arithmetic. Wouldn't teaching those students how to use a friendly tool be a better approach?  I think it would. But if you pose that possibility to the appropriate think tanks, the only response I have ever gotten is a solicitation for a donation.

T/Maker: It works with a built-in calculator. This calculator dwarfs the power of the best of the best calculators ever held in anyone's hand. It accepts instructions written in arithmetic across two dimensions. It can save for you and recall any problem you ever gave it. Depending upon your generation, the screen and syntax might remind you of the blackboard, green board, whiteboard, or electronic screen where your 4th grade teacher displayed multiplication tables. It's where you learned that six times seven was and remains 42.


Important Note:
Making this approach available to the widest audience, on the greatest variety of equipment, maintained by a reputable software giant, as a goodwill gesture, with no cost to users, is certainly within the realm of possibility. In the meantime, my own version for Windows and Macs is downloadable here for you or any group or any anything. I'll be happy to answer questions and be helpful.


Calculation Trail: The unit of work in T/Maker is the calculation trail.
Travel around the screen while pushing calculator buttons to fetch/store data and calculate with it.
Each trail is put on a separate screen. Trails can be restarted numerous times from different locations.
A trail is composed of steps. Steps are numbered to establish calculating order.
Each step is located over a cell. That mIght facilitate interactions with the cell or maybe just claify the purpose.
A trail, unlike a formula, can calculate and place many values anywhere in the grid from anywhere else.
With a bit of experience, trails can be read left to right with the same ease (but greater thrills) than Dick and Jane books.
You won't be needing the skin of your teeth, the seat of your pants, or a wing and a prayer for basic computerized math.



Trails Screen: Showing Math Lite toolbar.
2 cells for each column.
Green for math. White for text and data.
Some often used operators chosen.

Exclamation point enters value into calculator
Plus sign adds value to calculator,  etc.
Number and equal sign output the value in the calculator.
Equal sign also zeros the calculator.
Number sign leaves it as is.
All operators above not followed by any operand (value).
Therefore the operator refers to value in adjacent white cell.
Or, just to that location if the calculator value is to be output.
To see the built-in Debugger walk through the steps of this trail,
click the link below.
It's just 30 seconds. Be ready to tap the pause button
to study
the information displayed as the walk about proceeds.


Valuable tool for finding mistakes and building confidence.




Constants: Follow operators with constants if desited as in the above.
The first exclamation point to enter the value in the calculator has no operand, so it refers to the adjacent white cell.
The equal sign output operator in step 2 also has no operand, so it too refers to the adjacent white cell.
The other operators all refer to their following constant.


Apply Button: This calculation is used four times strarting from the four darkened  green cells.
When you enter the first step, that green cell is darkened.
Not every trail can be reapplied starting from other locations.
You need be careful what options are used in the steps.
Click the link below to see how the Apply button works.
Unfortunately the dark green cursor does not get recorded.
Apply button demo (very short)

Syntactical Glitch: Do not enter a negative number as an operand.
T/Maker interprets - (dash) as subtraction operator.
Use _ (underscore character) instead.
Wrong:  ^-3  (raise calculator value to the power -3).  Right:  ^_3

Memories: See table below. Create memory names on the fly.
Use as operand (value) for operators that require one.
Value used will be the one stored in that memory.
Start name with at least 2 letters and then add numbers or letters as desired.
Insensitve to upper or lower case.
Pick names that remind you of values.
Excellent for storing intermediate values.
Do not pick a T/Maker keyword as name.
Error should show if you do.



Trail used 4 times.
First use: Step 1. Enter 3 ( ! has no operand).
Multiply by 3 ( * has no operand).
a-squared now in calculator.
Place value in memory aa.


Step 2. Enter 4. Mutiply by 4. Add memory aa.
Calculator now holds b-squared + a-squared.
Step 3: Replace calculator value with its squareroot.
Place calculator value in the column of this step (C for first use).

That column would be F for second use that starts in column D.

Column Names: See Car Mileage table below. Locating steps physically to access data in the underlying cell can become tedious and confusing.

Refer to a cell on just the same row as the step that contains it by typing only the column letter. The row is assumed. Insensitive to case.



Above also shows Trail Steps box when Steps button clicked on Menu bar.
Handy feature for trails with lengthy steps or very many steps.
Width and height of box stretchable.

Column names adjusted in trails if a column inserted or deleted to the left of it.
Column name usable as operand including after = (equal sign).
First use of Step1:
Enter value in column B. Subtract value in Column A.
Place result in adjacent column (C).

Trail can be reapplied to other rows but must start in same column.
Column names not adjusted for shifted steps when trail reused.

Cell Names: Cell names are the most common way to reference a value in a normal spreadsheet. Referring to the wrong cell is also probably the most common source of mistakes. T/Maker accepts cell names as operands for operators.

The name of a cell is the letter of the column followed by the number of the row (R2, D2, z99). As usual, upper and lower case are not distinguished from each other.



A cell name in a step will be modified when columns are inserted or deleted to its left. Also, its row number will be changed if rows are inserted or deleted with a lower row number. Cell names will not be altered when a trail is reused from other starting points. A cell name in a step will always refer to the same cell. It is therefore a bad choice for trails used across multiple rows when shifting adjustments are desired.

For cells that represent global values (e.g.,sales tax) entered in one place and used in  many trails, it is generally best to initialize values and place these in memories with intuitive names. That is also an opportunity to convert a value from some natural form to a more useful one (e.g., percentage to a multiplier rate). See below,




  Quick, fast, and visually intuitive!  Worth the bother for even the simplest calculation.
 

Mistakes: Nobody talks much about mistakes. You are probably not in a position to lose $6.2 billion dollars like "the London Whale" or even the measly sum of $400 million that Lazard threw away with an accidental discount. But whatever you do from planning your allowance and chore income to finding the right downpayment and mortgage, you want to be sure that is indeed what you are doing. Below, we'll examine one common error for beginners and a tool designed specifically to expose errors. T/Maker's approach of sequential arithmetic provides an opportunity that algebraic formulae and spreadsheets in general cannot. To read the article, click on the image.





 
Apply Button Mania: User desires row and column totals.
Steps 1 to 4 are entered for row total.
Steps 5 to 7 are entered for column total.
Bright green block on step 5 indicates another step over same cell.
That is not necessarily an error. It can serve a useful purpose.
User clicks Compute button.
Column total of Thing 1 is correct.
Row total of Bag 1 is correct.

Apply Button then used to reapply trail stating at other rows and columns.





User again clicks Compute button.
Unwanted and nonsense results appear outside the table area.
Steps 1 through 4 do not work well when started at  B3, B4, and B5.
Steps 5 through 7 do not work well when started at C2 and D2.
Solution should have been done with two trails.
One for row totals.
One for column totals.
Each trail could then be restarted only at appropriate locations.

The Debugger: Table below created to answer this question:
Can a Cybertruck carry 5,000 cans of sardines without
exceeding its cargo space or cargo weight limit.
With T/Maker the order of every calculation is known.
Trails are excuted in numerical order.

For each trail, starting locations are done row by row from the top.
At each row, starting locations are done left to right.
From each start location, steps are executed in number order.
For each step, the operators are executed left to right.
The debugger pauses and begins its display with the trail that was on the screen.
The usual calculations will have been performed to that point.
The display offers information about the current trail and location.
You will see values of interest.
You will have options for how to proceed.
BTW, the # operator is like an equal sign but does clear the calculator.



Upper left corner: details trail, the starting location, and step.
Upper middle: displays previous and current values of cell and calculator.
Upper right area: last operator executed and the next to be executed.
Below that: values of memories and cells recently referenced.
Current step and cell values are boxed on the grid..
The tool bar offers range of options for next advancement.
Choose from next trail, next application,  next step, or
even just the next operator.
Options can get you quickly to a specific step.
Get the habit to walk through one example of every step.


  T/Maker's in your face, side by side presentation of the arithmetic and data prevents mistakes.
  The debugger is the icing on that cake!

 
Importing Data: For this example, I decided to begin with a web page of data that interested me rather than a correctly formatted file by another program. I began quite simply be selecting an area on the web page that contained the table of information. Then I chose the Copy option with Windows to load the material into the clipboard. 

    

Import/Export Help Screen: Next I brought up the appropriate help screen and pushed the button to Show Clipboard. This loaded the largest listbox below with the contents of the clipboard. Upon examining it and looking at my options to interpret it, my best choice appeared to be "White Space Delimited." I could see that the row containing "(all models)" would be a problem. There were some other similar rows below.  I selected the cell at row 1 column 1 as the starting location for filling the table and pushed the noted button as my best alternative. This filled the table as shown.

To fix the row in question, I got the eraser cursor and erased the contents of cells C4 and D4. I then went up to the Export / Import Menu (image to the right) and selected the special cursor for Combine With Cell To The Right. I clicked that twice over cell C4 and that was that. A few other problem rows were fixed in a similar manner. Once I had the data in the table, I could have sorted it on a column or added some trails to calculate whatever.  Starting with a copy of information on a web page is not always this successful. It depends entirely on how the HTML for the table was written.


 

      




Exporting Data: Click Export / Import menu.
Click Clipboard Conrols item for helper screen.

Click Select All button for complete table.
Or use Select cursor to select a rectangle of data.
Enter CSV Character for separating values in CSV Format.
Have numbers formatted as dispalyed or raw for accuracy.
Choose one of the Table to Clipboard options.
If needed, use Save Clipboard to save as a file.
Importing Data (usually): Bring up helper sceen.
Load Clipboard from the file if clipboard not already loaded.

Click Show Clipboard to see what is there.
Set CSV Character if CSV format.
Scan, edit material in box if desired or add template line.
If changed, use Set Clipboard To button to load clipboard from box.
Use Select cursor to choose upper left corner for data.
Choose one of the Clipboard to Table options or try all.

 
Moving Data: Duplicate or move data in a table by exporting it. Then import it to the new location.
Erase the old data only when that operation is completed. 
Don't save anything until you are sure.
BTW, one backup file is kept with zzz prepended to the name.

Find / Replace Helper: To fix data obtained elsewhere, this helper screen can save time.
You might easily remove all the Fahernheit symbols in the web page below once they have moved to your table.
This feature can also come in handy when entering data. Create abbreviations to minimize typing.
In addition to finding and/or replacing in an ad hoc fashion, you may store a series of replacement instructions with the file itself.
Then the Do All Instructions / Cells button is used to replace all abbreviations with the correct fully spelled text.






  You can start by playing with some data you may already have.
  Something you type can be exported elsewhere.

Lists: Sometimes a well-made list with a minimum of calculations is valuable on its own. To the right is one similar to 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. It can also be sorted on any other column. I print one every three months and use the last three columns 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.



Graphics: While the graphics in T/Maker are no match for professional packages, they can keep you abreast of trends over time and unusual circumstances. There are variety of simple charts inluding: pies, bars, lines, and a scatter plot. All are specified by using special cursors to mark labels, values, variable names, etc. with most created in under a minute. Your specifications are stored with the file to call them up at any future time.














Printing:  Print the table in one of three 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 headings and column names. Switch between landscape and portrait as well as set margins with two sytem 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 those number. Use the Recalculate button to refigure the size when you have altered any items. I generally try for a minimum number of pages.


Forms: With four different line styles plus the possibility of no line, you can design some nice forms. Allow text to spans multiple columns when setting formats (Alignment + Spans). Print text in invisible ink effectively blanking it out.




  It's not just about calculating.  Make useful and sortable lists, attractive forms, simple graphics.

More to come soon. Revising daily. Other pages are completely functional should you wish to try it.

Links:  The Download Page      Tutorial Videos      Example Tables




















Memory Names Ending With A Question Mark:   If a memory name ends with a question mark, the question mark is replaced by the column letter in which the name is used. Again, case insensitive. For Row 1 the consecutive values are placed in raB, raC, and raD (think of "ra" as an abbreviation for "row above". In the second row, the value in raD (33, the D is specified) is divided by the values above for the three columns which use the question mark. The example below demonstrates how you might put values from previous rows in memories to make referencing them easier without having to use cell names. Note that when calculating row 3, the row above becomes row 2. This is not regularly used.




Roulette: The table below gambles on roulette with the optimal strategy. Set what you are willing to risk and how much you want to win. Even set your lucky number! That strategy involves betting only on a single number with an amount that achieves your goal on the first win. That amount goes up to cover bets lost. The more you risk for a smaller win, the better your chances. To avoid being responsible for a bad decision you might make, the example below of risking 10,000 to win 500 actually loses after 108 lost bets in row. It wins much more often than it loses.
This simulation is done in one trail. Steps 1 to 4 initialize values on the first pass. Steps 5 through 8 place the funds, update the number of passes, and check for a terminal condition. Step 9 and 10 calculate the bet (cel stands for ceiling and forces the whole number bigger than the bet). Step 11 rolls the dice. Step 12 handles a losing bet. Step 13 handles a winning bet. In either case, the trail is restarted which would exit if a terminal condition is achieved.
At the top of the screen is the "heavy" math toolbar to remind you of what's available.You don't need go get this now or even ever. It's just a demonstration of some things you would not expect T/Maker to do.



  T/Maker is no toy though it makes many tasks seem trivial!