| 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
|
| 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.
|