Gordon Woodhull

gordon@woodhull.com
http://gordon.woodhull.com
(718) 288-7258

Objective

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.

Skills

Languages: JavaScript, C/C++ (Boost, metaprogramming, STL), R, Perl, SQL, C#, XML schemas, HTML, SML, Fortran, Lisp, etc.

Tools: d3.js, Boost, STL, gcc, Microsoft Visual C++, Perforce, Subversion, ClearCase, Windows Installer, bjam, make, yacc, awk, Emacs.

Operating Systems: Unix, Windows, OS X.

Network: TCP/IP sockets, SOAP, XML-RPC, etc.

Experience

AT&T Research, Information Visualization group. Consultant, 2/13 – 12/14. Senior Inventive Scientist, 1/15 – present.
Building visualization tools for data scientists and network planners. Lead developer on a collaborative analysis and visualization platform in JavaScript and R.

BoostPro Computing. Consultant, 9/11 – 12/12.
Proprietary extensions to the open source Clang C++ compiler.

Morgan Stanley, Counterparty Risk group. Senior Developer, 9/08 – 3/11
Design and maintenance of multithreaded, multiprocess, and distributed market simulation and pricing software systems in C++ and Perl on Unix.

Bloomberg LP, Trading Systems group. Senior Developer, 4/07 – 5/08.
Brought legacy Trading Systems code for several market sectors into the modern C++ Ticketing API.

dynagraph.org. Independent consultant. 12/05 – 3/07.
Developing the Dynagraph dynamic graph visualization library in C++.

Primedia Software-on-Demand. New York City. Consultant, 3/04 – 11/05.
Developed the EduCast Client, a native win32 application deployed to school computers which managed running software through integration with the Softricity SoftGrid Client.

AT&T Labs Research. Information Visualization Group. Consultant, 9/97 – 8/03.
Developed graph drawing algorithms and applications in Windows and Java.

Department of Computer Science. Berkeley, CA. Undergraduate researcher, 9/96 – 8/97.
Developed an application of the Berkeley Analysis Engine (BANE) to analyze and interactively display the data flow of Java programs 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 for DOS and added internationalization and network features. Joined a spin-off project and developed earlysoftware to "skin" Windows.

Education

New York University. M.S., Computer Science, 2012. Michael Waller Master's Fellow. GPA: 3.781

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.

Software

dc.graph.js. Author. Library for network visualization linked with built cola.js, dagre, d3.js, Crossfilter and dc.js.

dc.js. Maintainer. Library for dimensional charting, charts that brush and filter each other, built on Crossfilter and d3.js.

MPL.Graph. Proposed Boost library for graph metaprogramming, housed in the Meta State Machine (MSM) library since release 1.46.

Dynasty. Large graph browser which uses Dynagraph for layout. By Jason Eisner and the Dyna team; I contributed ideas and bug fixes.

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, porting C layout libraries by Stephen North, Emden Gansner, and others to C++.

Dynagraph for Windows. Full-featured and integrated Windows graph editor.

Betel. A graphics engine for paper cut-out style animation.

Bipolar House. A satirical simulation of housemate behavior.

Publications

Shkapenyuk, Vladislav, Pramod Jamkhedkar, Theodore Johnson, Yaron Kanza, Aman Shaikh, N Shankaranarayanan, Gordon Woodhull (2017). Virtualized Network Service Topology Exploration Using Nepal. ACM SIGMOD 2017. Chicago, May.

North, Stephen, Carlos Scheidegger, Simon Urbanek, and Gordon Woodhull (2015). Collaborative Visual Analysis with RCloud. IEEE Visual Analytics Science and Technology, Chicago, October.

Woodhull, Gordon (2012). Compile-time ‘reparsing’. (slides) (video) C++Now, Aspen, May.

Woodhull, Gordon (2011). A Library for Graph Metaprogramming. (slides) (video) BoostCon, Aspen, May.

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.