At school I loved science and math. At home, I played with electronics -- fixing broken TVs, getting interested in Ham Radio (I never learned Morse code well enough to get a license, alas) -- and mechanical things, and mathematics. I read "math puzzle books" voraciously, and did all those "Chinese wooden puzzles" where a bunch of bits of wood fit together to make a mouse or a block or a ball.
When I was 12, I came upon an interesting math problem: the 15 balls on a pool table fit into a triangle, but if you include the cue-ball, you have 16 balls that fit into a square. I asked "what other triangular numbers, when incremented once, give squares?" Clearly a triangle of 3 balls, when one is added, make a 2 x 2 square. Were there other examples? That summer, I wrote my first computer program, in FORTRAN. It was not very clever: for each integer n, it computed n-triangular (i.e., 1 + 2 + ... + n = n(n+1)/2), added one, and called the result U. Then, for each integer k between 1 and n it computed k-squared to see if it was U; if so, it wrote out n, k, and k-squared. I got about 10 (n, k) pairs before exceeding the MAXINT on the IBM 1130. By the way, the program was written on punch-cards
I wondered about the pattern of the numbers, and for several years the discovery of the pattern attempting to prove that my discovery was correct occupied a good deal of my time.
In 10th-grade, I got a remarkable opportunity: my math teacher was a PhD student at MIT who taught at my school for a couple of hours each morning before going in to work. He taught us calculus from Mike Spivak's remarkable calculus book ("Calculus," Michael Spivak, 3rd Edition, Publish or Perish Publication, ISBN: 0914098896) -- a book I still refer to on a weekly basis! -- and then, over the next two years, taught me a huge amount of mathematics. By the time I reached Princeton, I was able to skip the first two years of the "honors" math sequence. This teacher and I are still close friends, 25 years later.
I went to grad school at Berkeley, and studied geometric topology under Rob Kirby, a wonderful and indulgent advisor. I wrote my dissertation in troff on a PDP-11 computer; this was radical at the time -- everyone else paid typists to type up the dissertations. I also used symbolic mathematics programs (precursors of Maple and Mathematica) to do some computations -- another radical idea.
Then I taught at Bryn Mawr for two years -- a wonderful and radicalizing experience -- and finally, in 1984, came to Brown as Tamarkin Assistant Professor of Mathematics, primarily because of Tom Banchoff's influence: his work on visualization of surfaces and solids in higher dimensions was exactly the sort of thing that interested me. I started using the equipment in the graphics lab to make pictures of the mathematical objects that interested me, and soon found I was answering more questions than I was asking. In late 1985, I wrote a paper with two Masters students on constructive solid geometry, and I was on my way to becoming a graphics person rather than a math person. I gradually drifted "across the street" to the CS department, becoming a full-time tenure-trackCS faculty member 3 years ago.I continue, however, to have a strong interest in mathematics, and still am working on a couple of math problems that intrigue me, when I get a few free minutes.