Yep. The self professed MathPhobe (that would be me… just ask my husband.) has been deep-diving into all things MathML for the last few weeks.
I’m specifically looking for best practices to create math markup that contains everything needed to faithfully reproduce a piece of math, such that it can be read by those
who actually care about the meaning of the math (it’s all greek letters and squiggles to me, and has been since 10th grade). As an added bonus, the markup needs to have enough semantic meaning that it can be rendered by, say, for example, an audio program that reads XML to the visually disabled.
Guess what? I remember a heck of a lot more high school Algebra buzz words than I thought. I’m reading the MathML Handbook, and actually understanding some of the semantic stuff, in addition to how it’s supposed to be rendered. Equations, logic, and functions are all coming back to me. It’s really kind of shocking, since I’ve always been of the “I’ll never use this stuff in real life” ilk when it came to the subject of, well, anything to do with numbers.
So what is the most important thing I’ve learned about MathML, in general? One word: Unicode.
Unicode. If you are going to work with MathML, you can only truly preserve the semantics of your math by using the proper Unicode characters in operations. This means, for example, searching out the actual Summation (x2211) character instead of going for the uppercase Greek Sigma (x3A3).
Talk about a lightbulb moment. I felt the proverbial “click” and it was suddenly clearly obvious to me that at least one MathML best practice is to know your Unicode. Or at least know where to look it up. (Thanks again for the link, Dave!)
The other thing that I suddenly remembered was how math – specifically Algebra stuff – is hierarchical. Heck! I know hierarchies. You don’t play with SGML and XML for 11 years without learning about hierarchies. And in addition to hierarchies, I also know the basic precedence of operators – both with and without fences (the fancy word for parentheses). And functions! I get it! I get it!
Not the details mind you… but the concepts are really hitting home now. I wish there had been an option to take a practiceable approach to the study of numbers when I was a teenager. If I knew then what I know now… They should’ve just put me in front of a computer and taught me how to program. Heck. Maybe I would’ve gone on to get a computer science degree instead of a music degree.
And wouldn’t that have made my dad happy.