Joe Ganley, Ph.D.

Email
Summary:
I am an outstanding software engineer, particularly strong in C++. I have over ten years of professional software development experience, plus much more from college and hobby work. I have worked on massive text processing applications, electronic design automation (i.e. computer-aided design for electronics, which includes a broad span of areas including algorithms, advanced data structures, graphics, and user-interface design), webware, compilers and interpreters, image processing and compression software, OCR software, data acquisition and analysis software, client-server database code, and more.

Since receiving my Ph.D. in May 1995, I have worked on code including text processing, database and infrastructure, physical design algorithms, and interactive graphical editing. I have received 21 patents for algorithmic innovations and four special achievement awards.


Skills:
Languages: C++, C, Python, Lisp/Scheme, Skill, Java, familiar with many more.
Platforms: Windows/Visual C++, many flavors of Unix, OpenGL, Qt, COM, .NET.
Particular subject strengths: Algorithms, data structures, compilers, graphics, user interface design.


Work Experience:
Senior Computer Scientist, January 2008 to Present
White Oak Technologies, Inc., Silver Spring, Maryland
Staff R&D Engineer, November 2006 to January 2008
Synopsys, Inc., Vienna, Virginia and Mountain View, California
Senior Staff Engineer, February 2006 to November 2006
Tabula, Inc., Vienna, Virginia and Santa Clara, California
Senior Member of Consulting Staff, January 2003 to February 2006
Cadence Design Systems, Vienna, Virginia and San Jose, California
Senior Member of Consulting Staff, July 2002 to January 2003
Cadence Design Systems, Vienna, Virginia and San Jose, California
Senior Engineering Manager, February 2002 to June 2002
Senior Staff Engineer, January 2000 to February 2002
Staff Engineer, May 1999 to December 1999
Simplex Solutions, Inc., Vienna, Virginia and Sunnyvale, California
Member of Consulting Staff, December 1996 to May 1999
Senior Member of Technical Staff, June 1995 to September 1996
Cadence Design Systems, San Jose, California (from 12/96 on, full-time teleworker from Virginia)
Research Assistant, September 1992 to May 1995
University of Virginia Computer Science Department, Charlottesville, Virginia
Research Assistant, September 1991 to August 1992
Virginia Tech Computer Science Department, Blacksburg, Virginia
Lab Instructor, January 1991 to December 1991
Virginia Tech Computer Science Department, Blacksburg, Virginia
Software Engineer, May 1991 to August 1991
United States Postal Service Research Center, Merrifield, Virginia
Programmer, September 1984 to June 1985
Science Applications International Corporation, McLean, Virginia


Education:
Ph.D. in Computer Science
University of Virginia, Charlottesville, Virginia
May 1995
Dissertation: Geometric Interconnection and Placement Algorithms
Advisor: James P. Cohoon

M.S. in Computer Science
Virginia Tech, Blacksburg, Virginia
August 1992
Thesis: Heuristics for Laying Out Information Graphs
Advisor: Lenwood S. Heath

B.S. in Computer Science
Virginia Tech, Blacksburg, Virginia
July 1990


Honors:
"Armchair Marketing Award" from Simplex for coining the term "liquid routing," 2002
Simplex Values Award, 1999
Nominated for Cadence Quality Award, 1998
Cadence Quality Award, 1997
Cadence Engineering Special Achievement Award, 1995
Nominated for ACM Doctoral Dissertation Award, 1995
Nominated for DiPrima (SIAM Doctoral Dissertation) Prize, 1995
Virginia Space Grant Fellowship, 1994
University of Virginia Dean's Fellowship, 1992-93
Member of Tau Beta Pi Engineering Honor Society, since 1992


Patents:
  1. U.S. Patent 7,143,382, Method and apparatus for storing routes , issued 28 November 2006.
  2. U.S. Patent 7,139,994, Method and apparatus for pre-computing routes , issued 21 November 2006.
  3. U.S. Patent 7,100,137, Method and apparatus for quantifying the quality of placement configurations in a partitioned region of an integrated circuit layout , issued 29 August 2006.
  4. U.S. Patent 7,089,523, Method and apparatus for using connection graphs with potential diagonal edges to model interconnect topologies during placement, issued 8 August 2006.
  5. U.S. Patent 7,080,336, Method and apparatus for computing placement costs, issued 18 July 2006.
  6. U.S. Patent 7,055,120, Method and apparatus for placing circuit modules, issued 30 May 2006.
  7. U.S. Patent 7,024,650, Method and apparatus for considering diagonal wiring in placement, issued 4 April 2006.
  8. U.S. Patent 6,988,256, Method and apparatus for pre-computing and using multiple placement cost attributes to quantify the quality of a placement configuration within a partitioned region, issued 17 January 2006.
  9. U.S. Patent 6,910,198, Method and apparatus for pre-computing and using placement costs within a partitioned region for multiple wiring models, issued 21 June 2005.
  10. U.S. Patent 6,907,593, Method and apparatus for pre-computing attributes of routes, issued 14 June 2005.
  11. U.S. Patent 6,904,580, Method and apparatus for pre-computing placement costs, issued 7 June 2005.
  12. U.S. Patent 6,848,091, Partitioning placement method and apparatus, issued 25 January 2005.
  13. U.S. Patent 6,826,737, Recursive partitioning placement method and apparatus, issued 30 November 2004.
  14. U.S. Patent 6,802,049, Method and apparatus for computing placement costs by calculating bend values of connection graphs that model interconnect line topologies, issued 5 October 2004.
  15. U.S. Patent 6,795,958, Method and apparatus for generating routes for groups of related node configurations, issued 21 September 2004.
  16. U.S. Patent 6,687,893, Method and apparatus for pre-computing routes for multiple wiring models, issued 3 February 2004.
  17. U.S. Patent 6,678,872, Method and apparatus for using a diagonal line to measure congestion in a region of an integrated-circuit layout, issued 13 January 2004.
  18. U.S. Patent 6,671,864, Method and apparatus for using a diagonal line to measure an attribute of a bounding box of a net, issued 30 December 2003.
  19. U.S. Patent 6,651,233, Method and apparatus for measuring congestion in a partitioned region, issued 18 November 2003.
  20. U.S. Patent 6,516,455, Partitioning placement method using diagonal cutlines, issued 4 February 2003.
  21. U.S. Patent 6,161,078, Efficient method for solving systems of discrete rotation and reflection constraints, issued 12 December 2000.


Publications:
    Book Chapters

  1. J. Frankle, A. Fujimura, J. L. Ganley, A. Hetzel, and S. Teig, The X Architecture, invited chapter contribution in Handbook of Algorithms for Physical Design, C. J. Alpert, D. P. Mehta, and S. S. Sapatnekar, editors, Auerbach, to appear 2008.
  2. J. P. Cohoon and J. L. Ganley, Rectilinear Interconnections in the Presence of Obstacles, invited chapter contribution in Advanced Routing of Electronic Modules, M. Pecht and Y. T. Wong, editors, CRC Press, Boca Raton, FL, 1996.

    Journal Publications

  3. J. L. Ganley and L. S. Heath, The pagenumber of k-trees is O(k), Discrete Applied Mathematics 109 (2001) 215-221.
  4. I. I. Mandoiu, V. V. Vazirani , and J. L. Ganley, A new heuristic for rectilinear Steiner trees, IEEE Transactions on Computer-Aided Design 19 (2000) 1129-1139.
  5. J. L. Ganley, Computing optimal rectilinear Steiner trees: A survey and experimental evaluation, Discrete Applied Mathematics 89 (1999) 161-171. (Special issue on combinatorial methods in VLSI design.)
  6. J. L. Ganley and J. S. Salowe, The power-p Steiner tree problem, Nordic Journal of Computing 5 (1998) 115-127.
  7. M. J. Alexander, J. P. Cohoon, J. L. Ganley, and G. Robins, Placement and routing for performance-driven FPGAs, VLSI Design 7 (1998) 97-110.
  8. T. Carpenter, S. Cosares, J. L. Ganley, and I. Saniee, A simple approximation algorithm for two problems in circuit design, IEEE Transactions on Computers 47 (1998) 1310-1312.
  9. J. L. Ganley and J. P. Cohoon, Provably good moat routing, Integration: The VLSI Journal 27 (1998) 47-56.
  10. J. L. Ganley and L. S. Heath, An experimental evaluation of local search heuristics for graph partitioning, Computing 60 (1998) 121-132.
  11. J. L. Ganley, Accuracy and fidelity of fast net length estimates, Integration: The VLSI Journal 23 (1997) 151-155.
  12. J. L. Ganley and J. P. Cohoon, Minimum-congestion hypergraph embedding in a cycle, IEEE Transactions on Computers 46 (1997) 600-602.
  13. J. L. Ganley and J. P. Cohoon, Improved computation of optimal rectilinear Steiner minimal trees, International Journal of Computational Geometry and Applications 7 (1996) 457-472.
  14. J. L. Ganley and J. S. Salowe, Optimal and approximate bottleneck Steiner trees, Operations Research Letters 19 (1996) 217-224.
  15. J. L. Ganley and J. P. Cohoon, Rectilinear Steiner trees on a checkerboard, ACM Transactions on Design Automation of Electronic Systems 1 (1996) 512-522.
  16. J. L. Ganley and L. S. Heath, Heuristics for laying out information graphs, Computing 52 (1994) 389-405.
  17. J. L. Ganley and L. S. Heath, Optimal and random partitions of random graphs, The Computer Journal 37 (1994) 641-643.

    Conference Publications

  18. I. I. Mandoiu, V. V. Vazirani , and J. L. Ganley, A new heuristic for rectilinear Steiner trees, in Proceedings of the International Conference on Computer-Aided Design, pages 157-162, 1999.
  19. J. L. Ganley, Efficient solution of systems of orientation constraints, Proceedings of the International Symposium on Physical Design, 1999.
  20. I. I. Mandoiu, V. V. Vazirani, and J. L. Ganley, A new heuristic for rectilinear Steiner trees, in Proceedings of the Conference on Advanced Research in VLSI, 1999.
  21. E. Malavasi, J. L. Ganley, and E. Charbon, Quick placement with geometric constraints, in Proceedings of the Custom Integrated Circuits Conference, pages 561-564, 1997.
  22. J. L. Ganley and J. P. Cohoon, A provably good moat routing algorithm, in Proceedings of the Sixth Great Lakes Symposium on VLSI, pages 86-91, 1996.
  23. J. L. Ganley and J. P. Cohoon, Thumbnail rectilinear Steiner trees, in Proceedings of the Fifth Great Lakes Symposium on VLSI, pages 46-49, 1995.
  24. J. L. Ganley, M. J. Golin, and J. S. Salowe, The multi-weighted spanning tree problem, in Proceedings of the First International Computing and Combinatorics Conference, pages 141-150, 1995.
  25. M. J. Alexander, J. P. Cohoon, J. L. Ganley, and G. Robins, Performance-oriented placement and routing for field-programmable gate arrays, in Proceedings of the European Design Automation Conference, pages 80-85, 1995.
  26. M. J. Alexander, J. P. Cohoon, J. L. Ganley, and G. Robins, An architecture-independent approach to FPGA routing based on multi-weighted graphs, in Proceedings of the European Design Automation Conference, pages 259-264, 1994.
  27. J. L. Ganley and J. P. Cohoon, Optimal rectilinear Steiner minimal trees in O(n2 2.62n) time, in Proceedings of the Sixth Canadian Conference on Computational Geometry, pages 308-313, 1994.
  28. J. L. Ganley and J. P. Cohoon, A faster dynamic programming algorithm for exact rectilinear Steiner minimal trees, in Proceedings of the Fourth Great Lakes Symposium on VLSI, pages 238-241, 1994.
  29. J. L. Ganley and J. P. Cohoon, Routing a multi-terminal critical net: Steiner tree construction in the presence of obstacles, in Proceedings of the International Symposium on Circuits and Systems, pages 113-116, 1994.

    Newspaper Article

  30. Joe Ganley, Click and Pick: A Window on the Web's 'Portal' Sites, The Washington Post, Business/Technology Section, 25 March 1999, page E6.


Activities:
Publicity Chair, Fifth ACM/SIGDA Physical Design Workshop, 1996
Member, SIGDA Outstanding Dissertation Committee, 1999.
Editor of "Theory Calendar" column for SIGACT News, 1994-95
Referee for numerous journal and conference articles
Co-chair of CS Graduate Student Group, University of Virginia, 1994-95
Vice President of CS Graduate Students, Virginia Tech, 1991-92
ACM Programming Team, Virginia Tech, 1989-91 (Placed 3rd in the world in 1991)
Virginia Tech ACM Chapter Secretary, 1990-91
Referee for numerous journal and conference articles, 1991-