Todd Fleming

360 Silver Leaf Dr.
Christiansburg, VA 24073
(540)381-6953

Summary I have a strong aptitude for research and development, which is supported by hardware design abilities and extensive software development skills. I am proficient at transferring knowledge, results, and ideas to others. I am competent to work independently and as a team leader.
Education
  • Ph.D. Student, Electrical Engineering, Jan 1997 - Aug 1997, Jan 2005 - present
    Virginia Tech, Blacksburg, VA
    Advisor: Peter Athanas
  • M.S., Electrical Engineering, Dec 1996
    Virginia Tech, Blacksburg, VA
    Thesis: Improving the Performance of the World Wide Web over Wireless Networks
    Advisor: Scott F. Midkiff
  • B.S., Computer Engineering, Dec 1994
    Virginia Tech, Blacksburg, VA
Honors
  • Bradley Fellow
  • Graduated Summa Cum Laude
  • Member Eta Kappa Nu (EE honor society)
Skills
  • FPGA development using Verilog
  • Windows: Software development (Primarily Win32, also Borland VCL)
  • Object-oriented languages: Managed C++, C#, Python
  • Linux: System administration
  • STL and Boost libraries (C++)
  • Scheme
  • SQL
  • Web application development
  • Digital hardware design and prototyping
  • 80x86 assembly and Pic assembly
  • XSLT (An XML transformation language)
  • Non-recent: Paradox, Toolbook, Pascal, Prolog, Lingo, and VHDL (a hardware description language)
Experience
  • Graduate Research Assistant, Fall 2005 - present, Virginia Tech
    • Part of a team which developed a new approach that allows multiple transceivers to combine transmission power over the air.
    • Primary author of two conference papers and one journal article about the new communications approach that were accepted for publication.
    • Designed an FPGA-based modulator and demodulator for the new communications approach.
    • Created an architecture for interconnecting filters for realtime video processing in FPGAs.
    • Created a VGA framebuffer for PowerPC systems embedded in an FPGA. The framebuffer is a bus master on the Processor Local Bus. The framebuffer overlayed an external video source and is part of the filter chain described above.
    • Created a hardware framework that displayed draggable overlapping windows on a VGA monitor connected to an FPGA. Each window can be driven by a dedicated circuit. Circuits included a logic analyzer display, an analog waveform display, a text display, a bouncing lines display, and a bouncing circles display. All content was generated by hardware; no microprocessors were used.
    • Created a demonstration of partial reconfiguration of an FPGA. The FPGA generated two overlapping windows on a VGA LCD. The contents of one of those windows was generated by an area of the FPGA that was replaced at runtime by one of three different circuits.
  • Intern, Summer 2005, Xilinx
    • Diagnosed and repaired problems in JBits. JBits is a Java library that provides low-level manipulation of Xilinx Virtex-II configuration bitstreams.
  • Consultant, April 2004 - Spring 2005, Blacksburg, VA
    • Developed a web application for the Virginia Tech Corporate Research Center (CRC) that tracks building maintenance activities as they progress from initial request to contractor assignment to completion. The system notifies all interested parties by email whenever a tenant makes a request, the CRC assigns a contractor, the contractor is delayed, or the contractor finishes the job. The application uses an MS SQL Server database and is written in Python.
    • Upgraded the CRC's tenant database from MS Access to MS SQL Server.
    • Provided technical support for Access, SQL Server, and general computing needs.
  • Software Engineer, July 2000 (approx.) - Jan 2004, Recognition Research Inc, Blacksburg, VA
    • Developed editors that configure various parts of forms processing systems. These systems scan, OCR, repair, and store around a hundred thousand documents a day per installation.
    • Created a library that records a history of all changes made to each document by the various processing steps.
    • Part of a team that developed a Statistical Quality Assurance (SQA) package that measures the accuracy of forms processing systems. System engineers use these statistics to improve system accuracy.
    • Developed software that generates statistics about operator actions performed at various stages of form processing. System engineers use these statistics to improve system performance.
    • All of these projects were in either C++ or Managed C++.
  • Lead Software Engineer, Sep 1997 - June 2000, AEDAR Corporation, Blacksburg, VA
    • Developed schematic capture and simulation software in C++ and Python for Windows NT 4. This software demonstrated the application of reconfigurable computing hardware to time-based image recognition. The Ballistic Missile Defense Organization funded the project and the Jet Propulsion Laboratory supervised it.
    • Presented the software and its simulated application to a review board of representatives from both BMDO and JPL.
    • Provided critical analysis of various approaches to reconfigurable hardware design as proposed by the home office.
    • Developed software in C++ for Windows 2000 to run a mobile bank branch. The World Bank funded this project in order to bring banking services to villages in Africa. The software included a custom object-oriented transactional database engine with online backup, software for human tellers, a custom CORBA ORB and IDL compiler to connect the teller and ATM stations to the database backend, and a custom window and widget library for the user interfaces. An employee, under my supervision, wrote the ATM software and the high-level database software that ran on my database engine. The system uses smart cards to identify customers and to help track their account activity.
    • Served on the team that developed the operational specifications for the mobile branch. These specifications included how the branch could be used, how multiple branches communicate with each other and with the home bank, and procedures to follow when a user's card is reported lost or stolen.
    • Hired, trained, and supervised 4 employees for above projects.
    • Installed and managed a Linux server for web, mail, and news hosting; fire walling; and file and printer serving for Windows clients.
    • Installed a 100 Mbps network that connects to the Internet through the Linux firewall.
  • Bradley Fellow, Aug 1996 - Aug 1997, Virginia Tech
  • Graduate Research Assistant, Jan 1995 - Aug 1996, Virginia Tech
    • Master's Thesis: Created a multithreaded proxy server. The proxy was designed for wireless web clients that had a variable-bandwidth communications channel. The proxy kept track of the clients' activity, prefetched content to them, and reduced the resolution of GIF images when the connection was poor. The Virginia Center for Innovative Technology funded this project.
    • Investigated a technique for preliminary design of hardware/software systems and created a preliminary system design demonstrator in Toolbook and C++. The Software Productivity Consortium funded this project.
  • Undergraduate Research, Summer 1994, Virginia Tech
    • Coauthored Windows software that controlled a logic analyzer. The software enabled users to easily configure the analyzer and capture, display, and save timing graphs.
  • Programmer, 1992 - 1994, Lintronics Software Publishing, Blacksburg, VA
    • Part of a project team that developed 3 dual-format interactive CD-ROMS, one of which has won 2 national awards.
    • Created a multimedia authoring system in C++ for both Windows and Macintosh. It was used to create 2 of the CD-ROMS.
  • Consultant, 1986 - 1991, Lakeland, FL
    • Designed a database system for a service organization in Paradox and C++.
    • Designed a car dealership management package in Paradox and C.
    • Provided telephone and on-site technical support for installations in churches, small businesses, and service organizations.
Publications
  • Fleming, T.B.; Athanas, P.M. Collaborative Synchronization for Signal Reinforcement in Sensor Networks. Ad Hoc & Sensor Wireless Networks, Old City Publishing, to be published.
  • Fleming, T.B.; Athanas, P.M. Collaborative Synchronization for Signal Reinforcement in Sensor Networks. IEEE International Conference on Advanced Information Networking and Applications, 2007, to be published.
  • Fleming, T.B.; Athanas, P.M. Demodulator Design for Collaborative Signal Reinforcement in Sensor Networks. IEEE SoutheastCon, 2007.
  • Fleming, T.B.; Midkiff, S.F.; Davis, N.J., IV. Improving the performance of the World Wide Web over wireless networks. IEEE Global Telecommunications Conference, 1997 1937-1942 vol.3.