Resume of William A Perilli
William
A. Perilli (508) 653-2188
William A. Perilli
59 Beaver Dam Road Natick, MA 01760 office:
(508) 653-2188 cell:
(508)-397-0900
email:sweng2008(at)earthlink.net
United States Citizen.
Objective
Senior Level Software Engineering
position for Real-time, Embedded, Robotics, Automation, Industrial
Control, Graphical Interfaces, Device Drivers, Diagnostics and test,
Configuration and Package Management, Contract Management,
Monitoring, C++, C, Linux, XML, RTOS, Windows, PHP, Web Spidering,
Apache/httpd, database integration.
Executive Summary of Candidates Skills and
Qualifications:
Senior Level Software Engineer for all phases of Software Procurement, Development, Test, and
Deployment. Proven success at prolifically architecting, coding,
testing, integrating and delivering software packages used in
high-end robotics, industrial equipment, kioscs, and Aerospace payloads with
real-time capability.
Embedded proficiency includes
delivering Board Support packages for multiple RTOS's with multiple
processors. Eight years Aerospace Engineering experience as a United
States Air Force Engineer. Candidate excels at documenting technical
subjects. Proven success as trouble shooter. Trained in multiple
operating systems, build tools, emulators, and test equipment.
Training and experience in both hardware and software in all phases
of board/payload design. Excellent Mentor for junior engineers.
Deep knowledge of Linux and Open Source. Linux System Administrator. Expert knowledge of C++, C, PHP and
other languages. Proven methods of safe and reliable and fault
tolerant software design. Hardworking with prolific design and
coding skills. Proficient at root-boot and bringing up new systems
for the first time regardless of the OS. Long
term Linux user with a strong associated skill set, and intense Linux
System Administration skill in a multi-node environment. UDEV rules.
Linux Services. Bash Scripting. Hard C architecting, coding,
testing, debugging.
Experience
Fantasy Entertainment
Amillia Publishing Company
Automated Assemblies Corporation
Amillia Publishing Company
Automated Assemblies Corporation
Zip Leads Direct
Automated Assemblies Corporation
Green Mountain Optics
Eustis Cable
Conexant / NetPlane Systems
Embedded Support Tools
Tellabs International
Kokusai Semiconductor Equip.
USAF Space Systems Division
March 2007 to Oct 2007
Fantasy Entertainment, Hudson, NH
(now located in Salem, NH)
Commercial Kiosk
Photobooths for Fantasy Entertainment of Hudson New Hampshire (who
have 5000 booths in shopping malls, tourist attractions, etc, world
wide. Working with Fedora 5 and 7. Extensive C code-cracking of
legacy system C code. Converted stack-based C-code mush into heap
based solid C with keyed-container idiom providing insight into
other-wise obscured interface. Extensive study of UDEV rules for use
in rpm loaded startup service scripts. X11 core (utilizing X.h).
GNU tools, gcc, make, pmake, complex build scripts. Service scripts
(in Fedora under /etc/rc.d) and install RPM's for Micro Touch screen
driver. Touch Screen XPointer user interface tools. Hardcore
reliable (and fast as it gets) C coding. Service scripts and
install RPM's for Airprime driver (Verizon version) that at boot
starts service (in Fedora at /etc/rc.d/) and custom UDEV rules (in
Fedora at /etc/sysconfig/modules/udev-stw.modules and also /etc/udev)
in Linux for this airprime card making the wireless device
plug-and-play. As always X11 setup, startup, configuration (in
Fedora at /etc/X11). Extensive use of gdb with gdb-server and
gdb-tui for remote debugging and troubleshooting.
between gigs
Amillia Publishing Company, Natick, MA
While not employed
elsewhere, active in pursuit of new engineering opportunities.
Amillia Publishing Company is my own company.
http://urgecentral.homelinux.com for DYNDNS self-hosted site with PHP
served pages all of my own code. Still doing the PHP home web pages
More than 95,000 images hosted live with custom PHP code.
Jan 2006 to July 2006
Automated Assemblies Corporation, Clinton, MA
Cutting edge realtime C
powered industrial sequencing. Lead Embedded and Real Time architect
for the Raptor Series of industrial robots. Candidate was the
original architect and software engineer for the sequencer portion of
the AAC robotic control system. Cutting edge realtime C powered
industrial sequencing. XML, XSLT, RPM, Linux System Administration,
Web Site Administration, C, C++, Linux Industrial Robot Control. GUI
part done in Kylix based C++ IDE. IPC using XML and persistent
shared memory subsystem. XSLT presentation of XML formatted sequence
input files. These large scale pick-and place industiral robots are
widely distributed by the hundreds in factories world wide especially
in China, Europe, Mexico, and the United States of America.
August 2004 to Present
Amillia Publishing Company, Natick, MA
Details Confidential.
May 2004 to July 2004
Automated Assemblies Corporation, Clinton, MA
Lead Embedded/ Real
Time architect for the Raptor Series of industrial robots. Image
Processing Algorithm Development with the Cognex Insight Camera.
Image processing integration with the AAC robotic control system.
December 2003 – February
2004
Zip Leads Direct, Leominster, MA
Developed PHP web
scripts for web-spidering: data collection for use in direct
marketing.
March 2003 – October 2003
Automated Assemblies Corporation, Clinton, MA
Lead Embedded/ Real
Time architect for the Raptor Series of industrial robots.
As a Software
Engineering Contractor architect and code control software and GUI
for high speed, high-power multi-axis robotics running on Linux.
These robots are used for automated takeout of plastic parts from
injection molding machines. All work is for the Linux OS in C and
C++ using Borland’s Kylix and gcc. Developed real-time robotics
automation sequencer. Developed multi-thread command and control
client software. Intimate with low voltage industrial controller:
specification, BIOS setup, root-boot to Linux, auto-loading OS with
Kickstart (either over a network or through CD loading). Intimate
with a Motion Engineering Incorporated (MEI) controller card. This
controller, utilizing CAN IO and Synqnet, controls high-powered
Kollmorgen drives for robotic axis motion. All aspects of Linux boot
and development. Real-time automation sequencer running under Linux
controlled by a GUI in a separate task (the real stuff that works).
Kickstart for Linux load. Very cutting edge low-voltage controller.
Linux system administration. MEI toolset. CVS Source control.
May 2002 - July 2002
Green Mountain Optics. LLC (startup),
Brattleboro, VT
Control software for
optical coating equipment. Multi-threaded RS-232 client software.
Jan 2002 – May 2002
Eustis Cable Enterprises, LTD, Brookfield VT.
C++ Standard Template
Library (STL) namespace STD. GUI for tracking and invoicing. Data
exchange to MS Excel. Encrypted file formats. Automated input
sequencing.
April 2000 - May 2001
Conexant's NetPlane Systems, Inc(once Harris &
Jeffries), Dedham, MA
Software/Hardware/Firmware
Embedded Engineer:
Networking and TCP/IP
Device Driver Development. MPC8260 Asynchronous Transfer Mode (ATM)
device driver development. 860/850 ATM device driver. ATM used with
the UTOPIA bus and fiber optic connection. Inside Tellecom Switch
industry. Device Drivers, Board Support Packages (BSP) development
for Motorola MPC8260, VxWorks pSOS, VxWorks, ENEA/OSE operating
systems. In Circuit Emulators (ICE) procurement, setup and
efficient use of both AMC Powertap and/or ESTC Vision necessary for
the root boot development of a microprocessor based boards. 860/8260
PowerPC internals: Communications processor configuration with dual
port RAM. MPC8260 work. Ins and outs of MPC8260 ATM. ATM driver
theory, design, and implementation. POSIX: RTOS cross platform
development IPC, queues, messaging, timers, logging, etc. UDP
Remote boot and diagnostics for PowerPC Processors. Advanced
debugging interfaces: logging and data display. GREENHILLS, GNU,
and DIAB compilers. Various MAKE versions. H&J LEAP interface,
LEAP internals (public interface). Tellecom protocol spec and
implementation. Multiplatform build system and Makefile design and
implementation.
Oct 1999 - Jan 2000
Embedded Support Tools Incorporated, Canton,
MA Senior Software/Embedded Engineer
VxWorks
and pSOS BSP releases for PowerPC and 68xxx boards: 860, 860T and
8260 and 68360. Network boot shell for processor startup and
configuration of TCP/IP and Mac addresses. Device Drivers for pSOS
and VxWorks on PowerPC family of processors: Serial, Flash,
Ethernet. 68360, 8260 and 860 assembly language. Network Processor
root boot BIOS capabilities. cross platfrom make systems for GNU and
DIAB standard C Compilers. Symbol table, code locating, linking and
loading for bootable and/or downloadable code: absolute or relative
addressing. Multi-thread coding issues, reentrant functions.
Oct 1998 - Aug 1999
Tellabs International, Burlington, MA Senior
Software Engineer, Optical Networking Group
Low
level boot code development for PowerPC MPC860T multi-node optical
network for telecommunications dense wave division multiplexing fiber
optic switcher/router. MPC860T startup and initialization issues.
MPC860T registers and on-board peripherals. Presentation of register
and initialization data to thin client GUI's based on Windows and/or
Solaris. Initialization Modules: generation of MAC and IP addresses
for 60 boards in network switch. Source Control, makefile and auto
dependency issues. ClearCase source control.
Jan 1996 - June 1998
Kokusai Semiconductor Equipment
Corporation(KSEC), Billerica Ma, formally KBTI, formally Bruce
Technologies International. Senior Software Engineer, Software
Controls Group
In C Designed, Coded,
Tested, Troubleshot and Fixed Control Software for Concurrent
Real-time Multi-Axis semi-conductor fabrication furnaces. VxWorks on
VME Back Plane utilizing 68000 based processors. Logging, Debugging,
Static Database, Pick-and-Place, fault-tolerant algorithms. Group
Leader. Design and implementation in C of testable, provable, and
error-correcting real-time multi-layer command and control system.
Event triggered logging and debugging for legacy furnaces. Advanced
error-correcting pick and place algorithmsMaterial tracking
algorithms: Routing of wafers and cassettes, custom database. Move
and Position Modules for sequencing of robotic automation: movement
continuously monitored with modular interlocks. C Safety Interlock
Engine for collision avoidance: robots move at the same time.
Decoupled modules allow for simulation of devices for development and
testing. Advanced 'agenda' modules: simulations allowed test of
process sequencing. Static database design in C: keyed container
idiom. Modularized Legacy C with Data Wrapping. Eased legacy
maintenance: reengineering with data-wrapping and set/get access for
logging and control of debugging. Command Line Reporters and
Diagnostics. Decoupled GUI Client from Control System Database.
Allows multiple GUI control windows.Memory management: Error logging
for Networked Error Reporting with PCMCIA Flash Memory logging for
anomaly diagnostics. SRAM persistence: error checking, RAM
initialization, WinNT, Solaris (UNIX) and VxWorks cross-platform
environment. SCCS source control. Software build and debug: Tornado
and Crosswind debugger.
July 1988 - Dec 1995
USAF Space Systems Division, Phillips Laboratory
(also called the Air Force Geophysics Laboratory). Hanscom AFB,
MA. Electronics Engineer, Verification and Test Division
(PL/SXAD).
Air Force Geophysics
Laboratory; Aerospace Engineering; DOD contract management.
Engineering, development, verification,
launch, and recovery of balloon, sounding rocket, and Space Shuttle
payloads. Management of Information Systems with Signature Authority
on equipment requests. Wrote and administered preflight acceptance
tests: shake, shock, thermal cycling for DOD scientific aerospace
payloads. C++ Control System for Data Collection: Build system,
makefiles, 80x86 Assembly device drivers. PC Host to V25 target with
RS-232. Interrupt Service Routines. Global Positioning System (GPS)
receiver. Designed portable computing device with GPS prototypes.
Supervised design and manufacture of Space Shuttle qualified boards:
Embedded Controller for Space Shuttle VIPER GAS Experiment for
STS-39: Engineered 8085 electronics, 8085 Assembly Code, and makefile
and build system. 8 bit A/D. Multiple levels of interrupt control.
Switching of 24 high power relays. Integrated at NASA Kennedy Space
Center 1990. NASA Goddard, Maryland. VME, C++ Based High-altitude
Control System. Deployment at Holloman AFB, NM 1991-1992. Ground
crew on various programs including Beam Aboard Rocket (BEAR) at WSMR,
NM 1988-1989 (SDIO program); SPEAR, Wallops IS, VA, 1993; various
balloon launches at White Sands. Crafted DOS (written in Turbo
Pascal from Borland) based GUI library. DOS based GUI fits onto a
300K floppy, and will boot and run from that. Wrote the following
applications with this toolset: GUI and Remote Control of Network
Machines. GUI for EPROM Formatting in Hex/ASCII with IRIG spec data
framing. Telemetry, with s-band RF, monitored and recorded real-time
IRIG spec data at rates of 3 Mbits/sec. TCP/IP networking:
accessing remote military resources. Parts specification and
procurement. Government Acquisition Professional level II. Managed
multi-node communications for world-wide deployment of critical
mission data. Distributed data to scientists and engineers
Antarctica, France, Greenland, New Mexico.
Skills Overview
Design, implementation,
and test of fault tolerant control systems.
C, C++, PHP, XML,
Java, Pascal, PERL, Fortran, MFC, Win32, Borland Builder, Visual
Studio, etc.
Embedded software:
real-time C, Assembly, Device Drivers.Real-time OS device drivers
and board support packages: VxWorks, PSOS, OSE., Linux.
Automake/Autoconf,
gcc, g++, Open Source tools and development.
SPI interface for
injection molding machines (Plastics Industry). Copyright William
Perilli, 2005.
Aerospace (United
States Air Force), Telecommunications, and Semiconductor Industries.
Device Drivers:
Serial, ATM, FLASH. Memory Devices, persistence in Static RAM.
Data persistence:
Designs for fault tolerant static and dynamic data bases of all
types.
Fault tolerant
algorithms, pick and place. Robotic sequencing and automation.
Collision avoidance techniques for Robots. Error Correcting
Processes. Event triggered logging.
Network and
communication processor internals (especially PowerPC).
Linux, OS-X,
WinNT/2000/XP, UNIX, Solaris, VxWorks, PSOS, OSE, Vertex OS's (etc).
Application
software for Windows and Linux: C, C++, Visual Studio, C++ Builder.
Application and
Graphical User Interface standards, design and implementation.
TCCP/IP, POSIX,
UNIX V stacks, queues, timers, etc. Multi-threaded real-time.
Cross platform
MAKE systems. Source Control. CVS Linux configure and gmake,
pkg-config.
Network
management, setup and configuration.
Advanced debugging
techniques. In-circuit emulators for various microprocessors.
Technical Writing:
Help files, Setup files, Technical Presentations. Customer Service.
Education:
BS in Electrical
Engineering, University of Lowell (now U Mass., Lowell).
BA in Communications
and Media, University of Pennsylvania, Philadelphia., PA.
5
of 5 copyright
2005, William A. Perilli
sweng2001(at)mindspring.com
|