Eccentric Flower talk:201103/Relative Jargon
From Eccentric Flower
Comments on Eccentric Flower:201103/Relative Jargon
I think learning basic math so that one can do it in one's head is hugely important -- it's actually faster than using a calculator, and can be more accurate (fingers mis-entering digits can be a problem). It's hard to explain why that ability is an important life skill because if one doesn't have it, one doesn't see the benefits, the amount of time saved that can then be applied to doing something else.
I love paying a cashier for, say, a bill of $5.53 with a twenty, a one and three pennies, then watching their heads explode -- they have no idea why I'm handing them all that money until they punch the numbers into the register and see what they have to give me back.
-- 20:13, 23 March 2011 (GMT)
Oh, so many things to reply to… :)
"For a two-operand function, the best, most self-documenting, and most efficient way of writing that function is to have a special symbol with its parameters (as it were) on its left and its right" Owners of HP calculators, people who use Emacs, and fans of Postscript or Forth would take issue with that statement. There's much less ambiguity in "7 3 4 + *" (or "* 7 + 3 4") than the associated infix version ("3 + 4 * 7").
"as no one will ever need it again except the handful who go on to be programmers" Or anyone who wants to figure out when 14:00 is in non-military time. Or what time that meeting in 30 minutes is in if it's 2:45. Or how many cookies they'll need to eat to have the rest split evenly between their five daughters.
"Only people who write code ever make actual, working use of other number bases regularly, and they only use two others besides base ten - two and sixteen." I think a lot more people use base-60 and base-12 than you might think. They just don't know that they're doing it. (And don't get me started on the imperial measurement system…)
"(who use the modulus all the time because it is important in going back and forth between integer and floating numbers)" How do you use modulus to go between integers and floating point numbers?
"(Octal is dead.)" Unless you like to make files non-world-readable. (But yeah, that's the only place I've used them.)
And finally, what do you think of √ for the root sign? So 3√27 would be the cube root of 27… And your choice for log would be ˇ? (Those would be option-v and option-shift-t on a Mac, for those of you playing along at home.)
-- 02:59, 25 March 2011 (GMT)
The problem with pre- or postfix notation is it does not seem to match the way people THINK, or at least not the ones I talk to. I'm sure there's probably some Germans who are very comfortable with postfix, but they're used to stacking up all their verbs at the end of the sentence. It's a very large price to pay for removing a very small amount of multi-operation ambiguity (and frankly, if we all agreed to operate left to right and/or use grouping symbols, even that minor ambiguity wouldn't be an issue). Prefix makes sense to programmers who are used to a function-call model (because * 7 + 3 4 is the same as multiply(7, add(3, 4))), but not to anyone else.
Subtracting 12 from 1400 to get 2 pm is such a slight use of modular arithmetic that I think it doesn't even count. Quibbling aside, though, I do agree that clock operations are a place where humans routinely do modular arithmetic - which is probably why most elementary ed curricula teach it first on a clock face - but I'm not sure that's the kind of use of modular arithmetic I really meant. This is, and I readily concede this, a definitional exclusion: The kind of modular arithmetic you really do use barely needs to be taught; the kind that is explicitly taught, conversely, is likely never to be used.
Same argument on number bases. The stuff we actually use is almost subconscious. The horror show is like Tom Lehrer's example: "Now, this is not actually the answer we wanted, because the book I got this problem from wants you to do it in base eight." Teaching a child to explicitly do arithmetic in base eight or convert back and forth from base eight to base ten is an utterly useless thought exercise for most.
I did badly on that modulus comment. First off, I don't use the modulus to convert, not exactly; and second it may be an experience unique to my use of integer-forced Perl (although I have had similar issues with other languages). I deal all the time with inputs (that I do not control) which may or may not have a (foul, vile) decimal portion.* Modulus is important to me in figuring out whether the input has a fractional portion which I must then process (or, more likely, spit back in the user's face). In integer-forced Perl, 25/5 and 25.6/5 both produce an answer of 5. Without testing modulus you would never know that the latter number has a part that is invisibly being discarded in the division operation. Ignore this entirely. It makes absolutely no sense. I plead insanity. -c
(Of course, the more fundamental issue is that in Perl you cannot tell if a scalar is real or integer without testing its value.) True, but irrelevant to the insanity above. -c
* The only time I've ever voluntarily accepted non-integer numbers in input in I dunno how many years of UI code is for currency. But frankly, the usual problem is gathering things like mouse x/y input, where the numbers come in as 45.3432 or some such and I simply do not care because I want its location in whole pixels.
You're right about file permissions, of course, but I never think of them as octal; I think of them as three bits per permission - ergo I would think of a 775 file as being three separate binary settings for which the (octal) digits are just space-saving shorthand.
Finally, those are fine choices for symbols, and my only wish is that you didn't have to use potentially non-translatable characters which might not show up properly for all users in all situations. We frown on that sort of thing here (says the person who sometimes goes through comments and replaces pasted-in special characters with HTML-legal equivalents). One day, when HTML has full Unicode escapements, life will be good. Meanwhile, the list of recognized character entities has not changed from this 3.2 specification. (It may have changed in HTML 5, but since I consider that "not supported yet," that doesn't count.)
-- 13:56, 25 March 2011 (GMT)
Memo to the rest of you: Blake demanded nerdish quibbling and nerdish quibbling he got. You need not try to penetrate my necessary use of gibberish.
-- 14:03, 25 March 2011 (GMT)
"The problem with pre- or postfix notation is it does not seem to match the way people THINK, or at least not the ones I talk to. [snip…] Prefix makes sense to programmers who are used to a function-call model (because * 7 + 3 4 is the same as multiply(7, add(3, 4))), but not to anyone else."
So, how would people say that they added three and four? Or multiplied seven by seven?
"Subtracting 12 from 1400 to get 2 pm is such a slight use of modular arithmetic that I think it doesn't even count. [snip…] This is, and I readily concede this, a definitional exclusion: The kind of modular arithmetic you really do use barely needs to be taught; the kind that is explicitly taught, conversely, is likely never to be used."
http://en.wikipedia.org/wiki/No_true_Scotsman indeed. :)
I suspect we use limited modular arithmetic in other places, but I also suspect they'll fall under the same exclusions. Of course, all of these things need to be taught, and if you're going to teach two or three versions of modulo arithmetic, why not teach the underlying theory that links them all together?
"Same argument on number bases. The stuff we actually use is almost subconscious."
Only because that's how you were taught to do it, I suspect.
"Teaching a child to explicitly do arithmetic in base eight or convert back and forth from base eight to base ten is an utterly useless thought exercise for most."
I suspect it's useful to realize that the base we choose to use is entirely arbitrary, and teaching multiple bases seems like the best way to do that. Also, it does lead into a better understanding of how computers work, and why we chose base 2 for their operations.
"I did badly on that modulus comment. First off, I don't use the modulus to convert, not exactly; and second it may be an experience unique to my use of integer-forced Perl (although I have had similar issues with other languages). I deal all the time with inputs (that I do not control) which may or may not have a (foul, vile) decimal portion.* Modulus is important to me in figuring out whether the input has a fractional portion which I must then process (or, more likely, spit back in the user's face). In integer-forced Perl, 25/5 and 25.6/5 both produce an answer of 5. Without testing modulus you would never know that the latter number has a part that is invisibly being discarded in the division operation."
So, you're doing mod 1? That's a neat use… :)
"* The only time I've ever voluntarily accepted non-integer numbers in input in I dunno how many years of UI code is for currency. But frankly, the usual problem is gathering things like mouse x/y input, where the numbers come in as 45.3432 or some such and I simply do not care because I want its location in whole pixels."
Yeah, and I hope you quickly converted the non-integers to integers. Fixed-point is far superior to floating-point for currency calculations.
"Finally, those are fine choices for symbols, and my only wish is that you didn't have to use potentially non-translatable characters which might not show up properly for all users in all situations. We frown on that sort of thing here. One day, when HTML has full Unicode escapements, life will be good."
If you set the page encoding to UTF-8, you don't need to use escapements at all, just put in the characters themselves. (And if you set the page encoding to anything other than UTF-8, fie on you!)
"Meanwhile, the list of recognized character entities has not changed from this 3.2 specification. (It may have changed in HTML 4, but since I consider that "not supported yet," that doesn't count.)"
You know HTML 5 is out, right? :) (Okay, working at a browser company might influence my view of the world a little…)
-- 15:32, 25 March 2011 (GMT)
You need to not hold edits open so long. Your quote above missed my correction from "HTML 4" to "HTML 5" in that paragraph, which was a plain old mistake ... which means you were holding the document open for I dunno how long because I made that correction a half hour ago. And then it warned me of an edit conflict while I was trying to strike out most of that last paragraph and put this instead:
"I stand corrected. [1] Apparently they did add a few in HTML 4 and √ (√) seems to be one of them. As for the logarithm sign, I still can't find an HTML-4-legal entity that rises high enough off the baseline that it doesn't look like a V."
So in summation of that: HTML 4, which is a supported standard, added more entities than I thought; HTML 5, however, is still vaporware in my book.
The question is not whether I have set this page to UTF-8, but what the user's browser can display, just as the question on HTML 5 is not whether the W3C has blessed it, but whether any browsers can display it.
Modulus: You know what? You're absolutely right. I have no idea what I was thinking. I KNOW in the past I have used modulus for something involving whether I have to deal with a fractional part, but now that I consider it, that may just have been the ordinary "get the remainder" kind of thing. I'm not sure what planet my comments above were coming from. Ignore them all. In fact, I think I'll go back with the strikeout tag.
There is no fixed-point in Perl. Numbers are either integer or float. You have to operate on floats and then round or truncate the result to two decimal places when working with money.
-- 15:47, 25 March 2011 (GMT)
P.S. I really shouldn't post long replies before the coffee has kicked in.
-- 15:51, 25 March 2011 (GMT)
To elaborate on the UTF-8 display problem - because it is clear that clarity and lucidity are at a premium today - have a look at this page, which, I note, is the first of a set of sixteen. Those sixteen pages show every single Unicode character using HTML entities. In this case the question of whether the character was typed directly or displayed using an escapement is moot. (I use the escapements simply because I have no way of typing most specialized characters INTO an edit field in a web browser in the first place.)
How many of the characters - even the ones on the first page - can you not display? (If what you see for a character is that funny little rectangle with four hex digits in it, that means it couldn't display.)
I'll tell you for sure you will not be likely to display the ones in the latter pages, becase those are mostly Chinese/Japanese/Korean characters, and you'd have to jump through special hoops to get your browser to show them. So I can drop in some gold 金 but god alone knows if you'll see it properly.
(And if your browser seems to have shifted to a slightly different font for the paragraph above, it's because the presence of kanji seems to completely screw up their kerning etc in some inexplicable way.)
-- 16:06, 25 March 2011 (GMT)
You're right about file permissions, of course, but I never think of them as octal; I think of them as three bits per permission - ergo I would think of a 775 file as being three separate binary settings for which the (octal) digits are just space-saving shorthand.
...so, you thought of them as octal, then. *grin*
-- 19:34, 4 April 2011 (BST)
Also I hate your site's inability to keep me logged in, or in any way make me notice I'm not logged in until a comment post fails.
-- 19:35, 4 April 2011 (BST)

Bunny42:
Waaaay back in the day, I actually did a science project on base 5 calculation, an obscure concept to us fifth-graders. Heck, I even named it Zulu. (It did give me a leg up, when binary started becoming sort of important.) See, back then, there was still time to explore unusual concepts just for the sheer joy of learning. It was supposed to help us comprehend the wonder of numbers. These days, everything builds on everything else, toward one end, and that is THE BOTTOM LINE! If I can't apply what I've learned in everyday life, or toward a career, then there's just no time for it, anymore. They tell me that this is why kids use calculators in math class. Saves time for the "important" stuff, and who bothers with mundane arithmetic, anyway? Everybody's got a calculator, don't they? Hrmmph. *mutters disgustedly and totters away on her cane*
-- 15:10, 23 March 2011 (GMT)