" /> A Programmer's Apology: July 2007 Archives

« June 2007 | Main | August 2007 »

July 25, 2007

"Math is hard"

Mattel got a lot of flack for its talking Barbie doll which said "Math is hard." I wanted to reprogram the voice chips to say "Partial differential equations with Neumann boundary conditions are hard." It's not that I completely disagreed with Mattel, I just thought Barbie should have been more specific. Imagine the conversations: "Mommy, what's a Neumann boundary condition?" "Well you see dear, that's when you fix the value of the derivative on the boundary curve." But then, I've been working on nerd propaganda for decades.

In a similar vein, this reviewer on Amazon assumes the intelligence of the reader:

Anyone who's been around children (or been a child themselves) knows about the "why?" game. It starts out with something like this: "Daddy (or Mommy), why is the sky blue?" So you explain about Rayleigh scattering and the fact that molecules in the atmosphere scatter photons with an efficiency that's inversely proportional to the fourth power of the wavelength. You are hardly finished when the next question shoots across your bow: Daddy (or Mommy) why is there an atmosphere?" So you dutifully explain planetary evolution, the expulsion of vast quantities of carbon dioxide that facilitated the evolution of life forms that exploit photosynthesis, producing oxygen, etc. Then the third question comes "Daddy (or Mommy) why do planets form?" You follow this question with a short lecture on the planetary nebular hypothesis. But the questions don't stop; they just keep coming and coming and coming.
I want to live in that world: where one just presumes that, of course when any child asks about the blue sky, their parent will dutifully explain Rayleigh scattering and planetary evolution!

Props to Tara C. Smith for reviewing Danica McKellar's new book, "Math Doesn't Suck" and interviewing the author.

I'd like to show girls that math is accessible and relevant, and even a little glamorous! This society constantly bombards us with damaging social messages telling young girls that math and science aren't for them. I want to show them that yes, math is for them, and my goal was to write an entertaining book that presents math in a fun teen-magazine style, to keep this subject in as non-intimidating and non-stuffy an environment as possible.
I want to see girls embrace math who never thought they could, and for them to understand the importance of developing a strong mind. Math is a fabulous mind strengthener - it's like going to the gym, for your brain! Most of all, I'm hoping to help girls strengthen their fortitude and feelings of self-esteem through finding the courage to tackle the often-challenging subject of mathematics. I want them to feel empowered; if they can do math, they can do anything!
While on the theme, check out an old Rebecca Eisenberg column, Girls Need Math.
That's why it comes back to math. Math has no bias. It doesn't come from TV. It doesn't know what you're wearing. Math treats all people equally. Especially when you're in a hard class with all boys, when nobody's cheering you on from the sidelines, when it's not "cool" to be smart, math is a nice thing to have. When nothing else makes sense, math reaches an answer.

July 04, 2007

Cross-platform development

I clicked "Restart" after Apple Software Update applied what I thought were minor system patches, and my computer rebooted into Windows....

No, Apple has not thrown in the towel in the OS wars. I installed Boot Camp, Windows XP, and VMWare Fusion yesterday to work on Graphing Calculator 4 on Windows. I was concerned when the Windows Startup Disk control panel showed no Mac OS X option, but that was due to Windows not recognizing the Mirrored RAID set acting as my Mac OS X startup disk. I was more concerned when holding the option key down did not, as promised, provide a choice of OSes during the boot sequence. That was due to the boot loader occuring before the bluetooth keyboard was recognized. I was getting a trifle worried when, after plugging in a USB keyboard, holding the option key down, selecting the Mac OS X startup disk, the machine still booted into Windows. That seems to have been a bug again related to the mirrored RAID set which shows up during boot as two disks, only one of which actually works.

Now that I have my Mac back, I can launch Windows in the background under VMWare and mix Windows XP windows on my Mac OS X desktop. It's peculiar seeing the Microsoft Visual Studio project window next to the XCode project window next to the CodeWarrior project window. I've resisted the tempation to install Codewarrior for Windows just to complete the set. I can now build Graphing Calculator on Windows and run the Windows release in a window on my Macintosh next to the Mac OS X release to compare bugs.

It's not nearly as nice as during Graphing Calculator 3.2 development, however, when CodeWarrior on Mac OS Classic could "Build All" to compile both the Mac OS and Windows binaries under the same IDE. I expect debugging to be easier, however. Back then, I ran the Windows build under Virtual PC, but VPC was too slow to run the CW IDE and debugger and on a single-processor machine I couldn't convince CodeWarrior's two-machine debugging facility to work on a single computer with the other "machine" being faked by Virtual PC. It hit a deadlock condition starving one process of time while also waiting for it to respond.