Executive Summary: Relevant decision makers seem to believe the only answer to diminishing competency in math is more teachers with better techniques, especially for algebra. I believe we should accept basic arithmetic as an entry level when needbe and build tools that expand without algebra into a useful universe of practical normal-life computations. Why not, for once, create a Mountain that goes to Mohammed when Mohammed cannot get to the Mountain? |
References: https://en.wikipedia.org/wiki/T/Maker https://en.wikipedia.org/wiki/Peter Roizen My Other Good Idea: WildWords Crossword Game |
Links for later: The Download Page Tutorial Videos Example Tables |
![]() ![]() ![]() Sketch from Programmers At Work, Microsoft Press, (c) 1983 |
This News Is Absolutely, Positively Terrible! The 2023 assessment of 4,600 US adults showed Americans scoring at the lowest numeracy level or below rose to 34% from 29% in 2017. That means more than a third struggle to perform tasks beyond basic arithmetic. I have developed a tool which I would like to put on the table. It circumnavigates the boogyman land of algebra's fixation on solution-finding by providing a capability that can do math in two dimensions based only on a knowledge of arithmetic. It could be taught concentrating on plain old calculating with known numbers to get new ones that summarize situations or offer useful insights. Why not develop and teach something special for them? Although I am using a work of my own to start with, Microsoft, Google, or another big guy could ensure the existance of something similar in the future and expand or polish it in a number of ways. Unlike all commercial spreadsheets, this approach has no prerequisite beyond arithmetic. To begin with, I would like to put the focus on the most important point of all -- everybody can use this approach starting today for a realistic purpose! |
![]() Step 1 "in this case" (abbreviated henceforth as iTc) uses the exclamation point ! operator which tells T/Maker to enter a value into the calculator. Since this symbol is not followed by one of a variety of possibilities, the number to enter is assumed to be the one in the "white adjacent column" (abbreviated henceforth as wAj). Step 2 iTc multiplies the current value in the calculator (cVc) by the wAj. Step 3 iTc outputs the current value in the calculator to the wAj and sets the calculator to zero. Note: If the step 3 had used the number symbol # instead of the equal sign, the value in the calculator would have been left unchanged instead of set to zero. This is often used to display the value in the calculator while carrying it forward for other purposes. The darkened green cells indicate the starting locations where step 1 of the trail is to be restarted. Typical tables often have few trails but many applications of them. Such trails typically serve one clear purpose and must have a trails screen to themselves. If a trail is only used from one starting location, it sometimes serves many puposes with steps wandering around. Even so, moving on to a new trail may be desired to keep intentions clear. ![]() entering calculations and a chart easier! Click here to see that! |
Remember, T/Maker is not this!![]() |
Which can lead to this!![]() |
![]() |
Important Options: Ways to specify the values in a Step You have already seen that an operator which takes a following operand but has none specified, will take the value from or place the value into the white adjacent cell (wAj). Below are other options for referencing particular values in a step. ![]() ![]() ![]() ![]() This trail is using the Pythagorean theorem to determine the length of a tarp that will drop 9 feet while moving 6 feet away from the side of a house. A^2 + B^2 = C^2. 9 is multiplied by itself and placed in memory Asqrd. 6 is multiplied by itself and then Asqrd is added to get A^2 + B^2. sqr is a T/Maker function that replaces the cVc with its squareroot. Thus C^2 became just C (the hypotenuse of the right triangle). BTW, I have only used this twice in my life for the roof of a doghouse and a shower stall to accomodate an inset in a vertical wall. Also, I have never needed to solve two simulaneous linear equations outside of a classroom or doing algebra homework. Same for factoring polynomials. Syntactical Anomaly: Do not enter a negative number as an operand. T/Maker interprets - (dash) as subtraction operator. Use _ (the underscore character) instead. Wrong: *-3 (intended to multiply by -3). Right: *_3 |
Surprise! Many things are not as complicated as you might expect. The tariffs that shocked the world can be calculated by the trail shown below. Step 2, neg, is a function that reverses the sign of the cVc. The second part of Step 5 ( >10 ) imposes a minimum that the cVc is at least 10. Columns A through F came from the NY Times. Column G is calculated using the trail. ![]() Using column names, the calculation could have been done anywhere on the row in just one step: !b neg /d *100 /2 >10 =g T/Maker offers choices because some problems are better solved by different approaches or even a mix of them. It's best to get completely comfortable with all the options for operands (values) and spot them immediately when reading the step left to right: wAj, constants, column names, cell names, and memory names. |
Lists: Sometimes a well-made list with a minimum of calculations is valuable on its own.
Below 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. The other number calculated is
the column total of "Total." The table 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. ![]() It's full speed ahead to get started with basics. Easily set formats (below) or add lines with dedicated screens and toolbars for those purposes. ![]() Click here to see that. |
Getting Things Right! : As
to the main priorities in T/Maker. Priority 2 is making stuff clear and
easy to specify. Priority 1 is heaving a great tool to check your work and find mistakes. If
you clicked on the picture of the distressed individual above, you
would have gotten to an article detailing some incredibly costly errors
made with Excel. Like me, you probably don't have hundreds of millions
to lose. Even so, it's nice to feel confident in the solutions you
create. Below is a table designed to answer a question: can a
Cybertruck carry 5,000 cans of sardines without exceeding its cargo
space or cargo weight limit? For this sort of situation, I wanted to show another way to
display a trail. By clicking on the Steps button on the top tool bar,
you can bring up an ordered list of all steps in the trail. The size of
this box can be adjusted to suit your needs. You can select a step in
the box to delete it, insert a step ahead of it, or edit it. It's
extremely helpful when a trail has many steps or steps with many
operations. This is an easier way to check for typos or various other accidental entries.![]()
A special screen / tool (see below) can do all calculations in sequence while you watch. This is useful for your own work, and also for understanding tables you may have gotten elsewhere like here! With T/Maker the order of every calculation is explicit. This is not true of algbraic spreadsheets where rules of precedence and parentheses govern even a single formula. In T/Maker trails are executed in numerical order. For each trail, applications are done row by row from the top. At each row, applications are done left to right. From each start location, steps are executed in number order. For each step, the operators are performed left to right. When invoked by the Debug button, the debugger begins its display with the trail 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 as well as options for how to proceed. It's a dynamite tool which can only work thanks to T/Maker's ordered calculations. Let's try it with a click here! ![]() |
Mortgages, Etc. : For
mortgage payments and a few other common but complicated
calculations, there are built-in procedures to do them. The
mortgage payment calculation is the second of the three trails
(normally on separate screens shown) below. Memories are filled with
the needed data and then the function name is used to do the
calculation. You start the specification by clicking on the function
name in the Full Math Toolbar. You will get cursors to succesively
click into the appropriate calculation cells. These cursors already
include the needed conversions of the yearly interest rate to monthly
rate, and the number of years to the number of months. You only need to
do the clicks. Watch it happen with a click here. ![]() ![]() ![]() |
Mistakes : It
is, of course, possible to make mistakes in T/Maker. The hardest to
find are the ones where the rules of what's a column name, cell name,
or memory are violated and render it one of the other legitimate
choices. Below is the "All" toolbar on a trails screen.
It shows all the function names and other keywords used. If you are
intending to use one, spell it correctly. If you are not intending to
use one, make sure your name for a memory follows other rules and
cannot be found below or confused with a column name or cell name. The
last part of the video shows the pitfalls of inadvertently covering two
trails with different purposes on only one screen and with one set of
restarting locations.![]() In the video you will see, the Debugger is used to go though some steps. Watching the information provided about each step, you can clearly see what the Debugger believes it has been asked to do. Along the way, you should be making sure that corresponds to your own understanding. Also in the video, some steps place values far from the scenes of their crimes. There is an option in the Misc. Menu to "Whiteout all calculated values." That is easier to do than scanning screens for rogue entries created by errors. Click here for the video. |
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 small ski boat 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.![]() ![]() |
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.![]() |
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 headings 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. ![]() |
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.
|
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.
![]()
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. |
Find / Replace Helper in Misc. Menu: To remove unwanted symbols (e.g., $, #) in data obtained elsewhere, this helper screen can save time. It 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 fully spelled out text. For a needed monthly list of purchases on behalf of someone else, the previous month's file could be renamed and blanked out to take advantage of the abbreviations stored in it. ![]() |
![]() |
![]() |
Statistics: Basic
statistics 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. This table includes those
calculations. The current maximimum number of rows is 250. I have been
meaning to try this with perhaps 25 numbers for each variable and all
completely random. I am curious what the chances are of seeing
correlation coefficients that suggest a correlation even though all
numbers were random.![]() |
Toy or No Toy? If
you have not yet guessed it, I enjoy math and sometimes use my freetime
with T/Maker to investigate an issue that triggers my curiosity. A
number of capabilities in T/Maker (some still to see) would not be
there if I were only trying to satisfy the demands of the most common
denominator of a user. They are included to allow myself and others
like me to solve problems from a wide spectrum including some that
require simulations. This is an example of one of those. Roulette:The table below gambles on roulette with the optimal strategy. One sets what they are willing to risk and how much they want to win. You choose your lucky number as well! The strategy involves betting only on a single number with an amount that achieves your goal on your first win. That amount goes up to cover bets lost. The more you are willing 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. But a loss wipes out the gain from 20 wins. This simulation is done in one trail so it could be shown one screen. Dividing tasks into a few trails be more natural. You can think of the trail as a program that runs over and over again until either the number of passes exceeds "Max Passes," the money is all lost, or the desired winnings are achieved. Steps 1 to 4 initialize values in memories for the very first pass. Steps 5 through 8 place the remianing funds, update the number of passes, and check for a terminal condition. Steps 9 and 10 calculate the bet ("cel" stands for ceiling and forces the bet, if possible, to be the whole number big enough to achieve the desired winnings). 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 has arrived. At the top of the screen is the "heavy" math toolbar to remind you of what's available. Why is this the optimal strategy? Like all casino games, the odds favor the house. When you bet on more that one number, part of your bet is actually betting against other parts of your bet. The more money that gets to the table, the more slices of it the house is expected to get. The odds pay you as though there were 36 numbers on the wheel but there are 38 when you include 0 and 00. ![]() |
![]() ![]() |
![]() 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. |