MARC CLIFTON
Address and Contact Information Available By Request
email: marc.clifton@gmail.com
home page: www.marcclifton.com
Specializing in the design and development of client-server applications, turnkey systems, business automation solutions, and training / staff development of software best practices.
1998 - Present Contractor, Video Simplex, San Diego CA
Video Kiosk System
Utilized the Interacx n-tier client/server environment to develop a digital video kiosk distribution and management system in C#/.NET. Worked with another contractor to interface with Cygwin applications to rip DVD's and distribute MPEG2 movies for preview in an intranet environment, and to utilized Avisynth to re-encode MPEG2 movies into different AVI movies to provide a smooth, TIVO-like transition between forward and rewind playbacks. Implemented a USB interface for bill acceptor and touch panel USB communications. Designed and implemented the back-office server and administration forms and reports to track movie play time and bill acceptor income, and allow for custom schedules and rate structures. Developed the kiosk player utilizing DirectShow.NET and VMR9 technologies for both movie file and DVD playback. Assisted in resolving numerous codec issues.
Entertainer Management System
Developed a 2-tier entertainment management system in C++/MFC. System tracks cash transactions, club and entertainer earnings, and employee/contractor hours of work using a central application server and Microsoft SQL Server. Developed a proprietary UDP packet protocol to interface to custom hardware designed by Video Simplex. System manages complex schedule and rate structures, implements multithreading to manage schedule updates and hardware communications. Interfaces with Dallas Semiconductor iButton hardware for personnel identification. Systems are installed in numerous locations across the country, demonstrating improved club profits and assisting with stricter IRS record keeping requirements.
Sept. 2004 - Contractor, XAKTSoft Inc.
Oct. 2006 Powell, OH
Utilized UML object, state, and sequence diagrams (Visio and Enterprise Architect) to document the architecture and investigate the design issues for an n-tier client/server application intended to support the merging of domain-specific business rules, UI layout and report customization with a baseline application domain template. Implemented a prototype n-tier server and rich client application in C#/.NET demonstrating the feasibility of the requirements. Worked with DevExpress's XtraReports library to develop a custom report writer. Interfaced the Infragistics scheduler component to the rich client to work generically with the client/server architecture. Designed and implemented the TCP client-server communication layers. Provided guidance on code and architecture documentation techniques, .NET best practices guidelines (with FxCop), unit testing using NUnit, acceptance testing, and bug tracking using FogBugz for in-house and offshore programming staff.
July, 2006 Contractor, John And Kira's Chocolates
Implemented a small application that extracted zipcodes from an Excel document and populated each row with temperature and condition predictions from the NOAA webservice, intended to assist in determining how much ice should be packed with shipments of chocolate.
June 2004 - Contractor, Genlang Corporation
Jan 2005 Corona, CA
Developed declarative markup tools and components implemented in C#/.NET. These tools included an integrated development environment (IDE) to construct and deploy custom client/server systems based on the MyXaml open source application. The IDE included a visual designer for Form layout and declarative markup generation, a solution explorer for compiling .NET assemblies, a property viewer, and a syntax editor with Intellisense. The application was built using the DevExpress and Actipro Software components.
December 2003- Contractor, Panacea Software
June 2004 San Diego, CA
Implemented an Xml Schema Definition (XSD) editor and XPath query builder for Panacea's WebMantra application, part of a suite of software designed to provide a visual development platform for Business Process Execution Language for Web Services (BPEL4WS). Implemented in C#/.NET, the editor and query builder interfaced with their existing application and utilized the Model-View-Controller (MVC) architecture.
August, 2001 -
October 2003 Contractor,
Dodson Boat Yard, Stonington CT,
Pine Island Marina, Groton CT
Developed custom yard management software in C++ with a 2-tier client/server application. Implemented inventory management, work-order processing, purchasing, receiving, accounts payable and accounts receivable modules. Designed and implemented the database schema to support a multi-user transaction system. Working closely with an independent auditor, identified deficiencies in inventory management and accounting practices. As a result of this work, Dodson increased account receivables and reduced inventory overhead from $400,000 to $250,000. System was also sold to Pine Island Marina, Groton CT.
February 2001 -
October 2001 Contractor, Nintendo North America
Developed a Color Game Boy emulator under the Windows OS, written in C++ and assembly language, for an in-flight entertainment system. This project required coordinating activities with Japanese and British interests. Unlike numerous emulators available on the Internet, the final product successfully emulated all required games, handling undocumented video and audio "tricks".
1998 - 2002 Contractor, Space Systems / Loral, Palo Alto CA
Switch Ring Analysis
Developed algorithms in C++ to rapidly analyze and determine path failure conditions in satellite redundancy rings. Algorithm utilized topology and minimum path rules to analyze switch networks consisting of more than 2^60 possible states. Implementation was the first tool to successfully analyze non-trivial switch ring networks.
Internet Over Satellite Simulation
Developed proprietary Internet over satellite simulator, modeling a virtual CPE (Consumer Premise Equipment), virtual satellite link (Ka and Ku band), and virtual gateway, using COM objects, workflow, and multi-threading. This system demonstrated the advantages of TCP split protocol, queues, rain fade compensation, and quality of service. Developed proprietary split protocols for HTTP and FTP data transfers. Implemented fairness and round robin queues based on Cisco designs and other sources. The demonstration system modeled cable, DSL, uncompensated satellite, and Loral?s proprietary split protocol capabilities, illustrating the benefits of quality of service, and rain fade compensation, using NetMeeting, HTTP, and FTP transfers, both visually (graphical display) and numerically (comparing transfer times). During the development of this project, I gained significant knowledge in low level TCP/IP, browser implementations, HTTP, FTP, and H.323 protocols, and NIC hardware and drivers.
Satellite Design Tool
Requested by SS/L to continue work on contract formerly held by IPI (see below), completed development of satellite design tool to beta release. Work included various additions to the frequency plan and payload design modules, and completing the satellite module: orbital power requirements, mass calculations, orbital lifetime calculations and launch vehicle selection.
1997 - 1998 Technical Lead, Senior Software Engineer
Integration Partners Inc., San Diego CA
Technical lead for project developing an automated satellite design and analysis tool. Designed software object structures (Visual C++), database models (Oracle 7.3) and interfaces to automate drawing and routing (Visio). Delegated and supervised design and implementation. Worked with project manager on budget and schedules, assisted in funding proposals. Provided instructional training for junior level programmers, enabling them to succeed in product related module development tasks. Lead an internal training course on fundamentals of object oriented design and analysis and object re-use methodologies.
Technology advisor for the company, designed and developed an ?Application Coordinator? which: automated database transactions; unified GUI-application-component data and process interactions; utilized DLL technology in a COM-like implementation to achieve run-time plug and play of both internal and third party software interfaces.
"Tiger team" lead, troubleshooter for other projects. Resolved database model and C++ design problems, using the Application Coordinator technology to provide real time diagnosis of data transaction errors. Recommended changes to database referential integrity checks and constraints.
Summary:
Delivered satellite design tool through all funding periods on time and in budget with required functionality. Original target of $125.00 per man hour was exceeded, achieving $150.00 per man hour, allowing this project to be very profitable for the company. Application Coordinator technology was the first successful attempt at IPI to produce a re-usable internal tool that enhanced developer productivity while seamlessly integrating with the MFC implementation. Eliminated an estimated 800 hours of ?C? database interface programming using C++ object design and automation techniques.
As tiger team lead, brought several projects that were over budget and behind schedule back on track, meeting revised delivery schedules. Automation and productivity enhancement of the Application Coordinator resulted in IPI being awarded several new contracts due to the quality and completeness of prototype demonstrations?using real data and database interfaces as opposed to simulations.
1995 - 1997 Senior Software Engineer
Votec Corporation, Rancho Bernardo CA
Document Imaging
Designed and developed a document imaging system for Windows 95 / NT in C++. Utilized inter-application object messaging, shared memory and task management techniques, third party ICR, OCR, barcode, and scanner toolkits (TWAIN and ISIS).
Oracle Development
Using Oracle Developer 2000 Reports and PL/SQL, implemented database documentation and revision control by establishing auto-documenting processes of Oracle database tables. Tasked to write absentee and petition reports with a very short learning curve. As Oracle Developer 2000 Reports ?guru?, frequently provided training and assistance to other employees. Using Oracle Forms and SQL, designed and developed job control management and database tables to automate running of reports and other tasks. Abstracted job parameters into predetermined data sets that can be dynamically associated with a job at run time.
Election Results Display
Designed and developed election results display software written in Windows 3.1 using Borland C++ and Object Windows Library (OWL). System displays election results in real time reported by ballot counting stations via network, RS-232, and floppy disk. System distributes election results to other display stations via RS-232 and network interfaces.
Summary:
Imaging system provided marketing advantage over the competition, aiding in sales of election management systems. Company is seeking several patents for the imaging system?s unique data presentation style and internal implementation. Received $3,000 bonus for innovations.
Database documentation significantly reduced report and data entry form bugs that result from database model changes. Provided the basis for the review of the database model, which resulted in several improvements. Delivery of absentee and petition reports on time to clients was key in completing Votec?s contractual obligations.
Election Results Display application delivered on time to the end user (City of Los Angeles) after a very short design / development cycle. Product used to display all Loss Angeles City election results over cable television. Worked directly with end user on fine tuning display features and provided on site training.
1994 - 1995 Project Leader
Software Sorcery, San Diego CA
Lead programmer in the design and implementation of a 32 bit DOS, CD based, multimedia educational product, implemented in Watcom C++ and DOS4GW extender. Implemented library classed for CD audio (Red Book and High Sierra formats), MIDI and PCM music (Radcliff), PCX image manipulation, sprite animation, mouse / keyboard interface, and hot spot control. Designed custom lossless PCM compression routines, prototyped in C++, then coded in 80386 protected mode for performance. Managed two other developers. Provided training and direction for three artists and two sound personnel. Provided a built-in debugging object to facilitate locating and correcting bugs, including memory and resource leaks.
Summary:
Completed the product development cycle in six months. The design and project management methodologies were used as a model by the company in its other product development efforts. Contributed to the overall understanding of the process of producing a quality CD product.
1990 - 1994 Senior Software Engineer
Robot Research, San Diego CA (now a division of Sensormatic Corp.)
Team leader of DOS based four line video transmission system, implemented in Borland C++. Principle designer of all object components including video compression, database management, and serial communications. Developed a plug in text and font module (similar to Unicode in Windows) for language conversion to Japanese.
Summary:
Received $2,000 bonus for delivering product on schedule and within budget. Object oriented design and embedded debugging tools aided in reducing debug phase, resulting in beta product shipping one month ahead of schedule. Product won ?Product of the Year? award in ?Security Industry Magazine.?
1986 - 1990 Software Engineer
Xybion Electronic Systems, San Diego CA
Developed embedded system camera controller for mechanically shuttered camera. Used by NASA to monitor Space Shuttle launches, particularly motor burn. Developed multispectral image analysis toolset. Used by NASA to analyze hydrogen flame emissions. Developed embedded system to control low light cameras (intensifiers) used with laser range gating systems.
Awards
2004, 2005, 2006, 2007 Microsoft Most Valuable Professional, C#
2005, 2006, 2007 Code Project MVP
4/30/2004 Code Project article competition winner
2/28/2004 Code Project article competition winner
4/30/2003 Code Project article competition winner
Articles
Ranked #1 in article authoring, with over 110 articles on C++, C#, and XML/declarative programming development published on the Code Project and my personal website.
See: http://www.codeproject.com/script/articles/list_articles.asp?userid=36803
Open Source Projects
Advanced Unit Testing - exploring workflow unit testing and unit test design patterns
MyXaml - declarative programming for the .NET environment
Traceract - a diagnostic trace viewer tool
Commercial Products
Interacx - Interacx is a RAD environment for n-tier applications, consisting of a client/server application and schema, form, and report designer application development tools. Interacx supports automatic client synchronization, offline client capability, menu-level user/group permission management, and plug-in client and server-side business rules.
Courses / Seminars
1996, Woods Associates Document Imaging Conference
1994, Jordan Schipper Co., Total Quality Management / ISO 9000
1994, Dale Carnegie Institute, Human Relations, Graduate Assistant
1993, Dale Carnegie Institute, Human Relations, received Personal Achievement Award
1993, San Diego Supercomputer Center at UCSD, Courses in C++
1993, Borland Languages Conference
Other activities
2006, occasional chef for Thyme In The Country, a local bed & breakfast Inn.
2006, 45 hours pro-bono work for the Wildlife Conservation Society
2003, volunteer editor for the Agile Times newsletter
2002-2003, volunteer editor for The Code Project
1999, Participated in Coleman College (San Diego) graduate student mentor program