Resume for
Homepage: http://www.TropicalCoder.com
Email: Contact me
Objective: Software Engineering
I enjoy coding fast and innovative algorithms in C/C++, especially for sounds or images. I love the rush of speed I get from using assembler language where appropriate. With well over a decade of experience programming in C, at times I find VB useful for rapid prototyping, especially when combined with DLLs written in C. MFC is great for user interface. I like the challenge of interfacing my software with external hardware, like a GPS receiver for example. Developing software for the Pocket PC and embedded devices can be fun too. I am currently studying 3D graphics programming for DirectX 9, and C++/OOP in MFC for games developers.
Technology Skill Set
Programming Languages: C/C++, Visual Basic, Assembler, MFC, knowledge of C# and Java, Z80, Forth, knowledge of Ada, CMS-2, Ultra 16
Compilers: Visual C++ 6.0, Win CE 3.0, Visual Basic 6.0, Borland Builder 6, MASM, Dynamic C 9.24, Borland C++ 4.5
Operating Systems: Windows XP, ME, 2K, 98, 95, 3.x, Pocket PC, DOS, Unix, CP/M
Libraries: DirectSound, DirectShow and Direct3D to version 9.0c, TV3D version 6.5
Professional Experience
01/2007 to present
Software Consultant
Developed an MP3 parser that permits fast and agile real-time seeking to individual frames within a given file, along with other software that employs the mp3 parser to pre-append an offset table in an ID3 tag for instant seeking.
Developed DLLs that permit multi-channel access to professional and consumer sound cards via switching between ASIO, DirectX, or the older Windows' multimedia system audio interface at the click of a button. This software supports any number of simultaneous audio streams and provides functions for overlapped playing, fades, seeking, and all the functions required for automation of radio broadcasting and other mission-critical audio applications. It features modular, object oriented design and includes support for the display of peak sample and hold audio level meters and includes a built-in test signal generator.
Developed ActiveX controls to wrap the above DLLs, providing quick and easy integration for VB developers.
Developed multi-track recording capability for ASIO driven sound cards as well as many refinements to my ASIO interface libraries in general.
Developed an interface in C# between DirectShow, Direct3D and the TV3D 6.5 3D rendering engine to render multiple video capture streams to a 3D surface for an Australian company involved in cutting edge TV broadcast camera control automation.
Developed a “Virtual Audio Cable” software DLL to permit two-way voice communications via DirectSound between a PC and a Bluetooth headset for a company specializing in solutions for audiologists (near Philadelphia)
01/2006 – 01/2007
Software Consultant
Developed original software in C++ employing DirectX and MP3 compression for streaming CD quality music/voice via TCP/UDP with Winsock over a LAN, WAN, or the Internet.
Took over a failed embedded software development project (Dynamic C 9.24, Rabbit 2000 microprocessor) for a biomedical analyzer and brought the project to fruition inside of two months.
01/2005 – 01/2006
Software Consultant
Developed a utility to convert between audio formats WMA and MP3
Developed DLLs in C++ and assembler to mix and stream multi-channel audio to pro sound cards such as the Delta 1010LT via ASIO interface.
Developed a professional software signal generator in MFC, C++ and assembler for ASIO audio. The “ASIO Audio Test Signal Generator” enjoys broad popular appeal and is currently being freely distributed over the Internet
Developed DLL to provide an interface between Windows TAPI and a Java application.
Developed the user interface for a commercial VOIP Internet application in MFC interfaced with the Internet Explorer browser.
01/2004 – 01/2005
Software Consultant
Developed 3D Graphics techniques Demo using DirectX 9.0
Developed a Broadcast Audio Preprocessor in MFC featuring DirectShow technologies transport and filters
Developed Audio Active/Comparative Language Learning software for a major chain of language schools in Brazil, featuring DirectShow transport to display audio and video while recording user response.
07/2003 – 01/2004
Software Consultant
Developed interface in VB using DLL in C for M-Audio Delta 44/66 professional sound card
Developed software to concatenate MP3 files generated by station logging software I previously developed.
Developed voice actuated recorder featuring rumble filter, in C and Assembler
Developed software to automatically fetch statistical climate data from the internet
12/2002 – 07/2003
Personal Professional Development
Conducted intense self-directed course of study and research into technologies and Windows APIs including the following:
Developed Interface with Logitech Webcam via DirectShow API featuring motion detection.
Developed Telephone Answering Software with Windows TAPI
Wrote Low Level Modem Interface and communications via RS-232
Learned and practiced FPU Assembler Techniques
Studied Intel Assembler Optimization guidelines for the P4 CPU
Developed a Real-time Spectrum Analyzer employing an FFT, and Software Signal Generator to complete a suite of audio testing tools
Experimented with Windows Speech SDK and Text-to-Speech engine
Experimented with Neural Networks and Genetic Algorithms
04/2001 – 12/2002
Project Coordinator
Research & Development of software for GIS in C/C++, involving display of images, maps, databases, user interfaces
Developed interface with GPS (Garmin, Teletype) for both the PC & Pocket PC, using both Garmin proprietary interface & NMEA.
Developed Navigation Software integrating GPS and aerial photography to provide unique capability to navigate by actual images of a geographic area with vehicle on board computer or a Pocket PC (HP/Compaq iPaq).
06/1999 – 12/2000
Director of Software Engineering
Directed and monitored software development by other programmers in the company, ensuring proper software engineering principles were adhered to, thereby reaping large gains in product performance and reliability.
Developed DLLs in C and User Interfaces in Visual Basic for radio broadcasting automation applications.
11/1994 - 08/1998
Multimedia Software Developer
Developed software for games and applications for the PC
Developed low level code in C and assembler for code libraries and in-house utilities
Lead programmer on Starwars Playset ® using DirectShow to provide interactive video
Lead programmer on Celtica ® (a Myst ® type game) using Direct X to provide animation and sound
Developed a DLL in C to decode and play streaming MP3 audio for the game sound engine
Participated in the development of tools for the artists and animators
Developed applications (for the Interactive Sports TV division) used for the real time collection and display of statistics for major sports; transmitted to television studio broadcast equipment via an RS-232 interface
1993 - 1994
Software Consultant
Developed presentation management software for advertisers and businesses, involving the development of an original & innovative LZW encoder/decoder and GIF image display software
Designed and developed code for ‘TFE Local’, a simulation of trading at the Toronto Futures Exchange for xxxx Enterprises Ltd.
Education
Diplomas
1999: OOP, C++, VB, Java, MFC
1994: Windows Programming Techniques
1992: Real-Time Software Engineering Diploma
1989: Computer Technology Diploma
1979: Digital Electronics
Prior background in Digital Electronics (References available on request.)
Favourite Quote
"For me, a beautiful algorithm is almost a tangible thing. I liken software development in its ultimate abstraction to building castles in the air. If you want to excel at developing software in C/C++, it is like being a concert pianist. You need to practice for hours every day, for years, to be really good at it. My very first personal computer was an Intel P286 with a Hercules graphics card, running a copy of Borland C. I was so thrilled to have my own computer that I was working on it day and night without pause. I never stopped since." - from George W. Taylor's unpublished autobiography.