Sunday, November 13, 2005

Let's Raise Money and Patent Putting on Pants

Seems Illiad shares a disdain for "patentus maximus ignoramus," as evidenced by his last two Sunday editions of User Friendly. This week, he harps on the latest Amazon Patents. Last week, it was the patent-applied-for story line.

Then again, maybe we should just jump right up onto this bandwagon and become filthy rich. We can pool our collective resources, raise some VC, and patent the process of putting on pants one leg at a time.
  • > The wording should be broad enough that it also covers the act of donning trousers, chaps, shorts, culottes, underpants (including, but not limited to: boxers, briefs, boxer-briefs, panties, thongs, and jocks), or anything else that has 2 leg holes.
  • > Before we file, we should begin investing in companies that manufacture skirts, kilts, sarongs, togas, and other one-hole or hole-less types of clothing that provide coverage of the lower body.
  • > Further, we should invest in medical supply companies (particularly those that make splints, braces, crutches, and plaster for casts) and hospitals -- for those die-hard pants-wearers who insist on attempting to jump into their pants with both legs at the same time.
  • > We can also sell licenses that allow people to use "our method" of putting on their pants, and may even be altruistic enough to grant free licenses for developing nations.
  • > Individual-use licenses will expressly forbid the donning of pants via the one-leg-at-a-time method for military purposes, and military-use licenses will come at a great cost, have a waiting period, and expire quickly.

Thursday, November 10, 2005

Coming Soon on Amazon.com?

Random House Webster's Constitution of the State of Texas
This State Constitution represents volume 19 in H. Mo Fobia's publicly-acclaimed series of constitutional amendmends that provide a new level of clarity to the American version of the English language.

This illustration is an original, and normally you would see some sort of copyright crapola here. Well, that's not the case this time. I hereby grant license to anybody who wishes to use this illustration as a form of political satire -- so long as you download the image and host it on your own site...

Monday, November 07, 2005

Troubleshooting Your Way to Better Math, Pt. 2

a.k.a.: math rant, part 2
By the end of the previous math rant, I had stipulated that all problem solving can be approached in a manner that is typically associated with troubleshooting. Namely, the problem can be reduced by employing an iterative process that results in a continual refinement of the "working answer" into a final solution. The final solution is not reached until all of the available data have been consumed. I provided an example of applying this technique to arrive at the summation of several four-digit numbers.
Problem Solving Theory
One of the most valuable skills in any profession is an ability to understand a problem, classify and distill the problem into discrete components, and formulate methods (or theories) of resolving each resultant "problem-ette." This is the role of a troubleshooter (M-W). Cultivating this skill is essential to success in many fields, although the problems encountered can vary widely. An IT professional will encounter vastly different problems than a plumber or a mechanic, but all of these skilled workers must apply similar problem solving principles. Educators and executives apply the same logical processes in solving the problems encountered in their fields. The principle is simple: understand the nature of the problem, be knowledgeable of the constraints and rules, apply your experience to formulate a hypothesis, and test the hypothesis to verify the result.
Why Troubleshoot Math Problems?
The logical constraints and rules associated with basic arithmetic provide a very practical introduction to troubleshooting methodologies, which can then be applied to more difficult classes of problems. (Those of you who don't dismiss the preceeding statement as a circular argument may have recognized it as a case of the type of iterative process that I am attempting to promote.) A consistent application of problem analysis followed by targeted iterative solution generation reinforces understanding of not only the underlying problem and principles, but also the means of arriving at a solution. The current methods of mathematics education tend to teach rote processes that require little understanding of why the process works.
Example - Find the Product of Two Three-digit Numbers
This class of problem demonstrates my point fairly well. Consider the task of finding the product of two three-digit numbers, say 456 x 789. If you were taught the same way I was, your initial reaction is probably "let me grab my calculator," followed by a reluctant reach for pencil and paper to apply the dreaded process of starting on the right-hand side and carrying digits, which goes something like this:
The Way You Were Taught:
Consider the problem, and apply the method that has been demonstrated to arrive at an answer to the problem. Be sure to write everything in nice little columns, so that you'll be able to "carry" any digits as required. Then, start turning the "multiply like this because it works" crank. The process works something like this (starting from the right-hand side):
1.) Nine times six is fifty-four. Write the four (under the "line"), but "carry" the five.
2.) Nine times five is forty-five -- add in the "carried" five to make fifty. Write the zero to the left of the four, and "carry" the five.
3.) Nine times four is thirty-six -- add in the "carried" five to make forty-one. Write the one to the left of the zero, then -- since there aren't any more digits -- write the four to the left of the one. You now have a top line in your sub-solution that reads "4104"...
4.) Eight times six is forty-eight. Carefully write the eight under the zero from the previous line of the sub-solution, and be sure to "carry" the four. (Some of you may have been lucky enough to learn to place a zero as a "placeholder" to the right of this eight.)
5.) Eight times five is forty -- add in the "carried" four to make forty-four. Write a four to the left of the eight, and "carry" the other four -- don't mix them up!!!!
6.) Eight times four is thirty-two -- add in the "carried" four to make thirty-six. Write the six to the left of the four, then -- since there aren't any more digits -- write the three to the left of the six. You now have a second line in your sub-solution that reads "3648(0)"...
7.) Seven times six is forty-two. Carefully write a two under the four from the previous line of the sub-solution, and be sure to "carry" the four. (Again, some of you may have learned to place two zeros as "placeholders" to the right of this two.)
8.) Seven times five is thirty-five -- add in the "carried" four to make thirty-nine. Write a nine to the left of the two, and "carry" the three.
9.) Seven times four is twenty-eight -- add in the carried three to make thirty-one. Since you're out of digits write the one to the left of the nine, and then the three to the left of the one. You now have a third line in your sub-solution that reads "3192(00)"...
10.) Add the three lines of the sub-solution to get the final solution. So, that's 4104 + 36480 + 319200. Eventually, after much more carrying (see prior rant), you will arrive at 359784.
Why did you add the sub-solutions components? Because you have to, that's just the way it works... Why work the problem right-to-left, because it's harder to lose your place that way. How can you test the validity of your solution?
The Way That Makes More Sense:
Oddly, many of you learned the logical way of solving this class of problem much later in your mathematics education -- after the above process was already firmly, and indelibly, ingrained. When considering the multiplication of two three-digit numbers, the first step is to separate the numbers into their constituent components, namely rewrite the problem as: (400 + 50 +6) x (700 + 80 + 9). When presented in this manner, the "distributive law" and the need for addition of solution components become apparent to those who have studied algebra. I prefer to approach the solution in this manner, because it involves application of a logical process that demonstrates the significance of each digit appropriately. So, without further ado, let's troubleshoot this restated problem:
1.) 400 x 700 is 280000.
2.) 400 x 80 is 32000, and 280000 + 32000 is 312000.
3.) 400 x 9 is 3600, and 312000 + 3600 is 315600.
4.) 50 x 700 is 35000, and 315600 + 35000 is 350600.
5.) 50 x 80 is 4000, and 350600 + 4000 is 354600.
6.) 50 x 9 is 450, and 354600 + 450 is 355050.
7.) 6 x 700 is 4200, and 355050 + 4200 is 359250.
8.) 6 x 80 is 480, and 359250 + 480 is 359730.
9.) 6 x 9 is 54, and 359730 + 54 is 359784.
Instead of carrying digits, we gave them the appropriate significance throughout the entire process. Instead of saving all of our addition until the end, we performed it with each refinement of the solution. Notice that the solution converges on the final answer as the data are consumed, just as it did with our summation example.
Isn't That Still Just a Process?
Because the process is founded on logic and mathematical principles, rather than merely applied "because it works," it is possible to refine the process based on the problem. Once the principles are well-understood, it is appropriate to apply logic to identify "faster" ways of reaching the solution. In fact, I would encourage a group of students to discuss ways to do just that. Remember, we are trying to instill understanding, not just methodology.
For example: 456 x 789 = (456 x 790) - 456. Zeros are really awesome when you're multiplying, because you get to "skip steps." This results in restating the problem as ((400 + 50 +6) x (700 + 90)) - 456, wherein one subtraction takes the place of three "multiply and add" steps from the prior example.
Another example: 456 x 789 = (455 + 1) x (790 - 1). Fives aren't too bad, either. So maybe this would work out to ((400 + 55) x (700 + 90)) + 790 - 456, which takes considerably fewer steps -- but much more advanced understanding. If somebody came up with this and could explain it to the class, they might get a gold star...
Summary
Applying the troubleshooting method, in which the problem is rephrased to allow an iterative process that continually refines estimates until it converges on the solution, represents a logical way to handle many different types of mathematical problems -- not merely simple summations. The above example illustrates how this process can also be applied to finding the product of two three-digit numbers. The key to unlocking the potential of the troubleshooting approach to mathematics is to instill understanding of what the numbers represent and their significance based on place. If we did teach the foundations in this manner, then making the jump from decimal into other number systems -- where this type of "bitwise" operation is essential -- would become vastly easier. As the T-shirt says, "There are only 10 types of people in this world: those who understand binary, and those who don't."

Saturday, November 05, 2005

More Insane DRM Nonsense

Hot on the heels of the Sony CD DRM rootkit fiasco, and the subsequent knee-jerk reaction (pay no heed to the uninformed title of the article), comes the entertainment industry's latest salvo. This is a bill that aims to (cough) encourage the adoption of digital content (cough), assuming that said content is sufficiently restricted. How does it do this? It's deceptively simple, just make analog recording disappear, and you'll have to buy encumbered digital content instead. Don't throw away your current recorders -- they may be worth more than you could possibly imagine in a few years...