3981 Alemany Blvd, Apt 201
San Francisco, CA 94132
David James (650) 997-4533
james@cs.toronto.edu
Employment History
Senior Software Engineer Alexa Internet Nov. 2006 - Present

Crawl Engineering

  • Increased Alexa's peak per-site crawl rate 100-fold by redesigning the URL scheduling algorithm, allowing for expanded coverage of popular sites and products. C++
  • Reduced the CPU time required to schedule a billion URLs for crawling by 90%. C++
  • Trimmed disk space requirements for link graphs by 95% via compression, redundancy analysis and removal, and priority-ordered pruning. C++, Python
  • Cut the cost of running the Alexa crawl system by 90%.

Webmaster Tools

  • Created a tool to evaluate a website's search engine optimization score, and provide suggestions for improving its rankings. C++, Python, PHP
  • Designed algorithms for calculating a website's reputation relative to competitors through aggregation of discoverability and crawlability metrics. C++, Python, PHP
  • Developed software to help webmasters target ad campaigns at websites with overlapping audiences. C++, Python, PHP

Toolbar Development

  • Accelerated browser performance by upgrading the Alexa Firefox add-on to use asynchronous DNS resolution. Javascript, XPCOM
  • Enhanced user experience by designing a method for translating HTTP specific error codes to meaningful explanations with suggestions for recovery. Javascript, XPCOM
Software Engineer CollabNet Jan. 2006 - Nov. 2006
  • Reduced checkout times by 50-80% for large projects stored in CVS or Subversion. C
  • Developed high-performance, high-concurrency web applications. Java, JBoss, MySQL
Software Engineer Idee Inc. Fall 2005
  • Setup software development team with a bug tracker, an automated build bot, a Subversion repository, and a new test suite.
NSERC Research Assistant University of Toronto Summers 2003 - 2005
  • Developed new statistical machine-learning methods for extracting semantic knowledge about verbs from a corpus of on-line text. Perl, Matlab
  • Created a web interface for visualizing syntactic knowledge about verbs. PHP, SQL
  • Developed webcasting system which displays synchronized transcripts with lecture content. C#, ASP.NET
Lead Programmer Nerdheaven Summers 1999 - 2000, 2002
  • Created Perl E-Commerce Toolkit and presented it at the O'Reilly Open Source Convention.
Software Developer Starnix Summer 2001
  • Created Linux and Windows desktop applications for network monitoring. C++, Perl
Education
B.Sc. in Computer Science University of Toronto Sep. 2001 - Dec. 2005
  • GPA: 3.61 (out of 4). Graduated with High Distinction as a Software Engineering specialist.
  • Achieved top-ranked grades in Compilers and Interpreters (99%), Programming Languages (99%), Artificial Intelligence (95%), Modelling and Simulation (96%) and Databases (99%).
  • Earned three national research awards, a Google Summer of Code grant, and a scholarship.
Open Source Projects
Summer of Code Mentor Google Summers 2006 - 2007
  • Created simple, complete and automatic Python bindings for the Subversion APIs using a modified ctypes code generator.
  • Helped a student build a high-level Python interface for Subversion.
Full Committer Subversion Corp. Jun. 2005 - Present
  • Reduced the time required to run 'svn log' on a revision with 10,000 paths from 7 seconds to 0.2 seconds.
  • Extended the Subversion API to support copying internal datastructures into user-managed memory pools, allowing for user-friendly memory management in the Python and Ruby bindings.