I finished my graduate studies at Stanford University in the Department of Mathematics. I received my Ph.D. in June 2003.
SAGE is an open-source computer algebra system.
ATLAS of finite group representations.
This page has various information on the (5,8,24) Steiner system, the Mathieu group M24, and related topics.
A Java applet implementing Curtis' "Miracle Octad Generator" for the group M24.
My thesis was in the area of elliptic curves. Introductory texts and software for the subject can be found from that link.
John Cremona's tables for elliptic curve data, for conductor up to 20000. The full text of his book, Algorithms for Modular Elliptic Curves (2nd edition), now available online.
Tom Womack's tables on curves of minimal conductor having a given rank.
A wealth of data on modular forms is available in William Stein's Modular Forms Database.
Helena Verrill's Java applet to draw fundamental domains of various congruence subgroups.
I gave a Kiddie Colloquium (a graduate student colloquium at Stanford) in 2001 entitled "Do we really need while loops?". Here is an example of a program which always terminates, but cannot be written "without while loops." (More precisely, it gives a recursive function which is not primitive recursive. Here "while loop" means any kind of loop in which the number of iterations is not determined in advance.)
Notes from a Kiddie Colloquium talk ("Why can't we integrate e^(x^2)?") that I gave on October 15, 1999 in DVI format. The topic, as suggested, is the basic theory of how to determine whether an elementary function has an elementary integral. The proof of the main theorem is here. (It's just a normal text file; the .int extension means "integral" and has nothing to do with the file format...)
Inspired by a post on sci.math, I wrote this on planar rooted trees. Turns out to all be well-known ideas....
In the summer of 1998, I worked for Wolfram Research, the makers of Mathematica. (One of) the things I did was participate in the final proofreading of the enormous poster of mathematical functions.
I participated in MOSP (Math Olympiad Summer Program) in 1994, the training camp for the International Mathematics Olympiad.
Dave Rusin's page on known mathematical material is a good place to look if you want to know whether the answer to some mathematics question is known. Another good source is MathWorld, particularly if you are looking for specific formulas or identities.
1.8378770664093... What number could this be? Using the Inverse Symbolic Calculator, you could find out that it is, to 13 decimal places, ln(2*pi). Isn't that cool?
Need to evaluate an indefinite integral? Check out the Integrator. Here's an interesting function to feed it: Sqrt[x + Sqrt[x]].Here are past competition problems from the Putnam, USAMO, IMO, and other mathematics competitions.
Strategy games of any type interest me.
I am a member of the Stanford bridge club.
Players of all levels are welcome to join.
For current schedule and other information, visit the Stanford Bridge Club home page.
I play on Bridge Base Online under the ID thwa.
One of the bidding systems I like to play is a strong diamond system called Recursive Diamond.
You can practice some chess endgames against perfect endgame tablebases. (If those aren't working, try here instead.)
Information on computer chess programming.
Chess in other countries: Xiangqi (Chinese Chess) or Shogi (Japanese Chess). In Shogi, captured pieces can reappear back on the board later in the game!
Here is the Chess Variants page. Lots of strange variations on chess for you to try.
I enjoy solving and composing chess problems. One of my favorite types of problems is retrograde analysis chess problems. As the name suggests, the object is to deduce things about the history of the game. Questions may be of the sort:
Problem P0069 on this page is an SPG (Shortest Proof Game) problem that I composed. In an SPG, you must reach the diagrammed position in the shortest number of moves. The number is usually given.
The game of go combines very simple rules with very complex strategy.
Arimaa is an excellent recently-invented board game that can be played with a standard chess set.
Information on Othello. I've written an Othello program which plays okay. For information on how to write such programs, see the computer chess programming link above; many of the basic techniques and algorithms apply to both games (and to many other games).
Information on Backgammon.
A Dots and Boxes Java applet. Dots and Boxes has an extensive mathematical theory, largely (but by no means completely) derived from the theory of impartial combinatorial games.
The Computer Science department at the University of Alberta has a GAMES group. There is also a group at Stanford University studying general game playing methods.
Some blogs related to languages are Language Log and
Language Hat.
The Ethnologue contains information on over 6900 languages.
I studied Spanish in high school and have learned some French on my own,
mostly through reading mathematics papers written in it.
If you're a Trekkie and/or have lots of free time on your hands (neither of which applies to me), you could try learning the language Klingon.
Some lecture notes on the mathematics of the Rubik's Cube
The Students for the Exploration and Development of Space has various nice astronomial links. The program Celestia allows you to explore many, many objects in the universe from just about any perspective (it's free and very well written!).
Information on eclipses. The last total lunar eclipse occurred on February 21, 2008. The next total solar eclipse will occur on August 1, 2008.
Here is my Ultraedit wordfile for the interactive-fiction programming language TADS. An introduction to the programming language TADS is here.