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! |
![]() ![]() 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 ?! ![]() ![]() ![]() 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, |
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. |
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. |
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.![]() |
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. |