|
gordon@woodhull.com http://gordon.woodhull.com 91R Meserole St. Brooklyn NY 11206 (718) 288-7258 |
I am an intense worker and a quick learner who works well both independently and in teams. I seek a position in New York City where I can learn ever more about software production.
Languages: C/C++ (including MPL), Java, C#, JavaScript, PHP, XML, HTML, SQL, Perl, SML, Fortran, Lisp, etc.
Tools: Boost, STL, Microsoft Visual C++, Subversion, ClearCase, Windows Installer, bjam, make, yacc, awk, Emacs.
Operating Systems: Unix, Windows, OS X.
Network: TCP/IP sockets, XML-RPC.
Contact me for references.
Morgan Stanley, Credit Risk group, 9/08 -
Bloomberg LP, Trading Systems group. 4/07 - 5/08. Senior Developer (and briefly Lead Developer) for the Ticketing API, which wraps millions of lines (and two decades) of legacy Fortran and C code in a clean, safe C++ interface. My responsibilities included designing new interfaces and connecting them to old code, reworking existing code to handle pervasive features such as a new naming system for financial securities, and advising colleagues about good C++ design.
dynagraph.org. 12/05 - present. Developer and maintainer of
the Dynagraph dynamic graph visualization library. I created, maintain, and
distribute this open-source software, which is implemented in
platform-neutral C++. Development involves design/discussion/implementation
of new features, refactoring, maintenance and release of
multiple simultaneous versions, and supporting developers. I am also working on a
new higher-order graph data structure to be submitted to Boost.
My primary client (12/04 - present) is the Dynasty research team
(http://dyna.org/Dynasty) at Johns
Hopkins University, who are building a browser for huge, changing graphs (networks) that uses
Dynagraph for drawing.
Primedia Software-on-Demand. New York City. 3/04 - 11/05. Consultant. Developed the EduCast Client, a native Win32 application deployed to hundreds of school computers which monitored and managed running software through integration with the Softricity SoftGrid Client. Other projects included writing of glue code for processing files downloaded by Fazzt satellite software; writing a C++ ACE module to forward authorization requests to the .NET world using COM; and the development of three generations of a complex installer using NSIS, InstallAnywhere.NET, and then WiX (including writing extensions for Task Scheduling).
AT&T Labs Research. Murray Hill and Florham Park, NJ, and Soho NYC. 9/97 - 8/03. Consultant to Information Visualization Group. Developed graph drawing algorithms and applications in Windows and Java. Designed and implemented a templated C++ graph data structure, a client-server architecture for graph drawing engines and clients, and C++, COM, and text-based APIs. Dissatisfied with MFC's OLE support, built a replacement Windows application framework, Montage. Developed prototypes of a browser for exploring huge graphs.
Department of Computer Science. Berkeley, CA. 9/96 - 8/97. Undergraduate researcher. Developed an application of the Berkeley Analysis Engine (http://www.eecs.berkeley.edu/Research/Aiken/bane.html) to analyse and interactively display the data flow of Java programs. Written in SML, C++, and Emacs Lisp.
Berkeley Systems. Berkeley, CA. 8/93 - 1/95. Tracked down bugs in After Dark screen savers and the Expresso PIM. Maintained the C and assembly code of After Dark or DOS and added internationalization and network features. Joined a spin-off project and developed early software to "skin" Windows.
New York University. Currently attending the Masters program in Computer Science, specializing in User Interface and Graphics.
University of California at Berkeley. B.A., Computer Science (Honors) and Comparative Literature, 1997. Award for Excellence in Undergraduate Research. GPA: 3.8 in CS, 3.6 overall.
Amherst Regional High School. Amherst, Massachusetts, 1992.
Dynasty. Large graph browser which uses Dynagraph for layout. By Jason Eisner and the Dyna team; I contribute ideas and occasional bug fixes. http://dyna.org/Dynasty
Dynagraph. Cross-platform library that draws graphs - networks, flowcharts, and similar diagrams - that change over time. Licensed under the Common Public License. I created the core libraries, importing C layout libraries by Stephen North, Emden Gansner, and others. http://dynagraph.org
Dynagraph for Windows. Full-featured and integrated Windows graph editor. Licensed under the Common Public License. I am the sole author. http://dynagraph.org/dgwin
Betel. A graphics engine for paper cut-out style animation. Licensed under the GNU Public License. I am the sole programmer; art and ideas by Collin Woodard and Ben Courtney; simulation and rendering help by David Pollatsek; original idea and art by May Jong, myself and the Space Team. http://gordon.woodhull.com/betel
Bipolar House. A satirical simulation of housemate behavior. Proprietary! Even Ben Courtney and I are not allowed to know how this works. http://gordon.woodhull.com/bipolarhouse
Eisner, Jason, Michael Kornbluh, Gordon Woodhull, Raymond Buse, Samuel Huang, Constantinos Michael, and George Shafer (2006). Visual navigation through large directed graphs and hypergraphs. Proceedings of the IEEE Symposium on Information Visualization (InfoVis'06), Poster/Demo Session, pp. 116-117, Baltimore, October.
Ellson, John, Emden Gansner, Eleftherios Koutsofios, Stephen North, and Gordon Woodhull (2003) Graphviz and Dynagraph - Static and Dynamic Graph Drawing Tools. Graph Drawing Software (Michael Junger and Petra Mutzel, eds.), pp. 127-148, Springer-Verlag.
North, Stephen, and Gordon Woodhull (2001) On-line Hierarchical Graph Drawing. Proceedings of the 9th International Symposium on Graph Drawing, pp. 232-246, Vienna, September.
North, Stephen, and Gordon Woodhull (1999) Method and system for creating dynamic interfaces using a general control container. U.S. Patent #6,654,947 issued 2003.
Woodhull, Gordon and Stephen North (1998) Montage - an ActiveX Container for Dynamic Interfaces. Proceedings of the 2nd USENIX Windows NT Symposium, pp. 109-116, Seattle, August.