Robert John McCall
                       Curriculum Vitae

Timeline of recent work:

2000
  August    Enrolled at Carnegie-Mellon University, Pittsburgh.
             Originally I was going to be a mathematics/physics
             double major, but over the course of my freshman
             year I discovered theoretical computer science and
             simultaneously lost interest in academically pursuing
             physics.
  October   Began research with Jade Goldstein at CMU's Language
             Technologies Institute, under Jaime Carbonell.
             At this point, I was simply developing an applet
             front-end to her text summarizer;  by summer we'd
             started investigating the use of document-feature
             classifiers for identifying document genre (that is,
             whether it's a news article, a movie review, etc.).
2001
  fall      Began the Mathematical Studies sequence, a two-semester
             rigorous survey of undergraduate mathematics, including
             formal logic, set theory, algebra, and a formal
             treatment of integral calculus.
            Became the 2nd Vice President of the CMU KGB -- that is,
             I became the activities coordinator for a fifty-person
             student group with weekly events (despite the name, KGB
             is a non-political social organization).  I held this
             position until the May, 2002.
2002
  spring    To everyone's surprise, Linear Algebra II became an
             undergraduate research course for this one semester.
             I was asked to classify all three-dimensional
             associative algebras, which I believe is an open
             problem.  I'm still working on it, off and on.
            Helped KGB build a "booth" for CMU's Spring Carnival.
             Over the course of a month, I sank well over a
             hundred hours into this -- in retrospect, probably
             a mistake, given that I simultaneously:
            Took Operating Systems, an intensive course in OS
             development in which I designed and implemented a
             UNIX-like kernel and filesystem.  At one point, I
             was scheduled to T.A. it the next semester -- but I
             ran out of energy during Booth, my grade slipped,
             and I was disqualified.  Still, one of my favorite
             experiences from college.
  summer    Interned with Intellions.com, a very recent start-up:
             I was one of only three employees.  We developed
             software for analyzing price/demand curves in online
             stores by dynamically changing the price.
            Interned at iCarnegie, Inc., a CMU-affiliated online
             school of technology.  A few CMU students were asked
             to develop a systems-programming course in conjunction
             with CMU Professor David O'Hallaron;  I created course
             material for the section on operating systems, and I
             wrote a lab in which students used the Pentium's cycle
             counter to identify context switches.
            Finished my work with Jade Goldstein.
  fall      Worn out and personal crisis.  I did attempt to withdraw
             from CMU for the semester, but my advisor recommended
             against it.
2003 
  December  Graduated from CMU with a B.S. in Mathematics
             and a double major in Computer Science
2004
  January   Began full-time employment as a software
             developer at MAYA Viz, a collaborative information-
             visualization company.  Viz's core product is a
             collaborative architecture and UI environment
             called CoMotion, on top of which other applications
             are written.  My primary role has been as a
             visualization and interface developer for TransViz,
             a CoMotion-based logistical analysis tool for the
             U.S. Transportation Command;  my duties include
             maintaining the TransViz user interface and working
             with information and visual designers to develop efficient
             visualizations for large data sets (30,000+ items).
  April     Wrote a general framework for on-the-fly changes to the
             mechanics of CoMotion visualizations: for example,
             to switch the data attributes visualized on one axis
             of a chart
  August    Became the primary maintainer of MAYA Viz's map
             architecture, used extensively by the Command Post of
             the Future (CPOF), a software package currently
             deployed to active U.S. Army divisions in Iraq
2005
  April     MAYA Viz sells itself to General Dynamics, a major
             American defense contractor
  May       Developed an architecture for parsing user-authored
             XML files with goals of strict validation, error
             recovery, and high levels of user feedback.  Applied
             this architecture to the chart-specification language,
             greatly streamlining the process of creating new
             visualizations.
  August    Applied the above XML-parsing architecture to the
             application configuration files.

Areas of research experience:
  Automated document classification, particularly on applying
    feature classifiers to the problem of identifying the "genre"
    of a document (news article, opinion piece, review, etc.),
    through work with Jade Goldstein and Jaime Carbonell.
  Information Architecture (IA), particularly on practical considerations
    of schema choice and user-specified schemas, through work with MAYA's
    "u-form" architecture.
  Information Visualization (InfoVis), particularly on visualization
    creation and architectural approaches to information extraction,
    through work with Stefan Kerpedjiev.

Areas of practice:
  6 years as an application/architecture developer in Java
  4 years of side projects in functional languages, particularly SML and OCAML
  3 years as a "hard" systems programmer in C
  2 years as a professional software developer, including experience in:
      - creating and maintaining stable product releases
      - requirements analysis and prototype development with visual,
        information, and interaction designers
      - automated and manual software testing
      - configuration management

Obligatory laundry list of other skills:
  graphical user interface design, development, and user testing
  passably literate in French (e.g., I can translate French technical papers,
    and I once wrote proofs in French for an entire semester)
  technical interviewer for two years
  UNIX (FreeBSD, Linux, Solaris) programming and maintenance
  use and configuration of CVS, Perforce, Bugzilla, Apache, Tomcat, etc.