Tony Hannan
9 West 64th St. #4b, New York NY 10023, USA


To obtain a research, engineering, or management position at a software company developing a distributed system that enables end-users to easily and securely find, process, and share structured information


Georgia Institute of Technology - PhD student in Computer Science, 2004 - 2006
Specialization: Distributed Systems and Programming Languages
Research topics: peer-to-peer topologies and search, replication and consistency, software transactional memory, information-flow security, capability-based security, monads, type inference
Classes taught (assisted): Database Systems Implementation, Programming Languages, Operating Systems Design, Object-Oriented Design

Cornell University - Master of Engineering in Computer Science, 2000
Also took business classes and city planning classes
GPA: 3.4 (3.7 in major)

Rutgers University - Bachelor of Arts in Computer Science, 1990
Minor: Economics
GPA: 3.7 (4.0 in major)


Panther Express / CDNetworks, New York NY - Principal Software Engineer, 2006 - present
Designed, developed, and maintained significant components of our large, world-wide, Content Distribution Network. The components are server/network monitoring, load balancing, request routing, and content allocation. They successfully addressed many of the issues in distributed computing like fault-tolerance, high availability, scalability, consistency, and performance.

Hewlett-Packard Laboratories, Palo Alto CA - Research Associate, 2003 - 2004
Worked in Alan Kay's Squeak research group while collaborating with the E language research group. I worked on the design and implementation of a programming language that allowed both low-level and high-level programming seamlessly and safely. It served as a common language for both Smalltalk and E. I also developed a graphical user interface for manipulating objects in this language, analogous to a spreadsheet.

IBM, New York NY - Software Engineer, 1993 - 1996
Member of a 20-person development team that built a banking system for managing syndicated loans. I developed many of the systems-level libraries and frameworks, providing a higher level environment for the other programmers on the team. Some of them were: an object persistence framework that translated Smalltalk expressions into SQL and loaded objects optimally to save space and time; a nested transaction model that automatically kept track of changed objects with commit and rollback functionality; a source code translator for when our project switched languages; several enhanced user-interface components like tree views and free-form graphics; and a report generation framework.

EDS, Dallas TX - Software Engineer, 1990 - 1993
Member of an 8-person development team that built software tools for EDS's management consultants. I built a tool that tracked and analyzed client mission statements, business objectives, business processes, etc.. This entailed building charting and other analytical functions, as well as a persistence framework.

City Planning Department, New York NY - Intern
Mount Snow, VT - Ski instructor
Club Med, Playa Blanca Mexico - Rock climbing instructor


Squeak open-source project
From 2001 to 2003, I was a regular contributor to the Squeak project in terms of code and discussion on the mailing list. Most significantly, I rewrote the Smalltalk-to-bytecode compiler making it more modular and thus easier to experiment with new language constructs and bytecodes. This compiler also fixed the treatment of lambdas (Smalltalk blocks) in the language so they were reentrant (true closures). I also contributed fixes and enhancements to the debugger, virtual machine, simulator, and system tracer.

Updated: Oct 2009