Robert Bruce McInnis Clearwater, Florida 33762 727 / 452 - 1319 [email protected]

TECHNICAL SUMMARY

Operating Systems

• LuminOS, Linux, Windows 2.10-3.10,95/98/2000/CE/ME/NT/XP/Vista/7, Sun/Solaris, BSD Unix, HP-UX, AT&T System V Unix, MS- DOS, SCO System V Unix, OS/2, VMS Languages/Environments

• C++, C, Pro*C, SQL, Lua, ((Lisp)), HTML, XML, CGI, Javascript, Pascal, VAX Assembler, IBM-PC Assembler, FORTRAN, HPGL,Booch, Fusion, UML, Lua, Perl • Oracle SQL, Oracle Pro*C, ODBC, MySQL, MS Access, MS SQL Server, Ingres SQL, dbVista, dBase, Persistence, ObjectStore • MS Windows (2.10 - 3.1,95, 98, CE, ME, NT, 2000, XP, Vista, 7, 8, 10), Win32/Win64 API, Presentation Manager, X Windows, , Qt, Kali-SDK, Lumin-SDK • Visual C++, .NET, MFC, GNU C/C++, EGCS, Borland C++, OWL, zApp, HCR C++, HP SoftBench C/C++ • Jira, Gerrit, Git, CVS, SVN, Source Safe, PVCS, RCS, Pthreads, Multi-threading, Thread pools, STL, TCP/IP, sockets, Winsock EDUCATION

• Bachelor of Science in Computer Science Northeastern University, Massachusetts • Bachelor of Science in Mathematics Northeastern University, Massachusetts

CLEARANCE

• Department of Defense – Secret (inactive 2009)

EXPERIENCE

Solid ICE Technology December 2020 - present Designer/developer/owner Clearwater, Florida

Currently developing DFC, Deplorable Frog Communications. DFC is a decentralized communications tool developed to withstand DDoS attacks, de-platforming, and removal from the DNS. Distributing secure user communications behind numerous proxies, DFC will protect against the frightening rise of cancel culture and censorship. Servers implemented using C/C++ on Windows and Linux systems as well as JavaScript for browser-based client frontends, DFC utilizes distributed storage to ensure against physical and DDoS attacks. All posts are digitally signed to ensure integrity and authenticity. Upon achieving milestone one, DFC will allow for user home pages, direct messaging, and posting of messages which will include some minor markup text as well as images. Tools include Visual Studio, Visual C++, GNU C/C++, MySQL, and Git for version control.

Magic Leap, Inc. June 2017 – Oct 2018 Senior Developer/Contractor Plantation, Florida

Implemented the Gallery for the MagicLeap-1 (ML-1) mixed reality platform. Gallery is a multi-threaded application written for the LuminOS embedded platform using c/c++ and the Kali / Lumin RT development toolkit. Added automated testing capability to aid QA in analyzing and testing Gallery. Gallery would present all media content to the user via hologram like constructs that would allow interaction from the user. Gallery would also synchronize its contents with the cloud, thereby insuring no loss of data. Tools include gnu c/c++, git for version control, jira for work tracking, and gerrit for task management.

Implemented the OX for the MagicLeap-1 (ML-1) mixed reality platform running LuminOS. The OX, or Open eXperience, is a multi- threaded, distributed, client/server application that would e nable multiple users to view, interact, and experience the same virtual content in real-time. Sub apps included tic-tac-toe, a projector, some flying UFOs, a video wall to play streaming video, the ability to share media from the Gallery, and a mu lti-user duck-hunt style shooting board. All sounds took advantage of the spatial audio capabilities of the platform. Tools include gnu c/c++, Kali / LuminSDK, git for version control, jira f or work tracking, and gerrit for task management. Implemented TriggerHappy for the MagicLeap-1 (ML-1) mixed reality platform. TriggerHappy is a single player experience similar to duck-hunt until the second level. At which point the targets begin shooting back. The user must dodge the shots or take damage while also trying to stop the enemy from drilling into our dimension. Once the portal opens, 3d models of spider bots would come crawling out trying to tear more holes in our space. At this point the user would use their gun to fire rift - sealant at the edges of the hole in order to stop the enemy (This is as far as it was implemented). Tools include gnu c/c++, Kali / Lumin-SDK, git for version control, jira for work tracking, and gerrit for task management.

DreamWorks Animation LLC March 2017 – June 2017 Senior Developer/Contractor Glendale, California

Worked on the farm/cloud team developing tools for artist submission and management of jobs/work to the studio compute cloud. Used C/C++ on RHEL6 Linux to maximize parallel computations across the render farm/cloud. Git was used for version control, jira for issues/task tracking, and crucible for code review s, and HTCondor for distributed process management.

Solid ICE Technologies, Inc. September 2004 - February 2017 Senior Developer/Consultant Clearwater, Florida

Created oChat, a real-time, collaborative desktop written in Javascript for the web. oChat allows for real-time chatting, sharing of documents, and white boarding from any platform on any modern Javascript enabled browser. Node.js was used for the oChat server and interfaced with a MySQL database on Linux.

Created Icebox, a multi-threaded Windows application written in C++ to distribute add-ons for Blizzard’s World of Warcraft. The Icebox server would break down the add-on into signed blocks and send them via UDP. Each piece would have its signature verified before being assembled and installed.

Created oQueue, a World of Warcraft add-on written in Lua which enabled all users to advertise, find, and join groups from any realm in the region. This required the creation of a mesh network communicating across Blizzard’s in-realm communications as well as intra-realm via their Battle.net API. This mesh was coordinated via the oQueue Scorekeeper, another Warcraft add-on that served as the central hub to seed mesh users and synchronize time across all members of the mesh. The creation of oQueue spawned a community of 600k+ users from Hong Kong, China to St. Petersburg, Russia. Along with this was promotion of the Wow Public Vent, a Ventrilo server which grew to the world’s largest as the oQueue community utilized it, averaging over 200k+ users every other month at its peak.

Created Keyclone, a multi-threaded Windows application written in C++ to enable softw are multi-boxing, a gaming technique that enabled its users to coordinate multiple characters across multiple copies of the game on multiple machines. Keyclone utilized a UDP based protocol to implement its ad-hoc network to allow for near real-time performance. With the creation of Keyclone, a small community of gaming enthusiasts started to emerge, first in Shadowbane and then in Blizzard’s World of Warcraft, coining the term ‘multi-boxing’.

The Nielsen Company December 2007 - September 2008 Senior consultant Oldsmar, Florida

Under contract, created a proprietary business information tool for executive management. The tool was developed as a web spider designed to search out business information. In particular, board members, senior staff, and project leads along with any relationships that may exist between any of those and any other corporation or organization. All information was scrubbed and indexed then stored along with a copy of the original page to a blob database. This system was designed to be scaled up to allow for deeper and faster scanning. To utilize this data, a windows UI was designed to allow the user to select or search f or any business entity or individual. Once found, the UI would display associated data allowing the user to 'dig' int o whichever type of data they were interested. Additionally, the UI allowed the user to specify multiple targets then ask the system to f ind the shortest informational 'route' between the two, within the specified search depth. This system was invaluable to senior staff when dealing with previously unknown clients or potential vendors. Development included C/C++, SQL Server, libCURL, XML, HTML, MFC, real-time graphics and multi- threads. More details may be available upon request.

ITT Aerospace / Communications Division January 2007 - November 2007 Senior consultant Clifton, New Jersey

Under contract, helped bring the MPC 860 INC to Linux. The MPC 860 INC is responsible for routing data around the battlefield for the US and foreign militaries. The new INC is an embedded device developed using MontaVista's implementation of RedHat Fedora running Linux 2.6.10. I was personally responsible for several components within the system, all developed using C/C++ requiring multi-threading, Linux message queues, shared libraries, and UDP. I was also responsible for developing the SNMP interface which required implementing the MIB definitions required for the project. All system development was coordinated using the CVS version control system.

Voipster BV July 2004 - March 2006 Chief Technology Officer / Chief Architect Amsterdam, Netherlands

Under contract for Solid ICE, produced Voipster, the voice over IP communications tool. The Voipster system was developed using C++ on Win32 and Linux. The architecture utilized a centralized, scalable, secure, p2p client / server design to provide real-time group communication via socket based UDP. Responsible for managing the entire development team of 12 people, consisting of 6 developers, 2 testers, 2 graphic designers, 1 project manager, and 1 web developer. Personally developed a majority of the system while also overseeing the development and planning for the other sections. Servers were written using state machine-based communications and thread-based queues to manage massive user loads of over 30,000 messages per minute. GOTools, from Solid ICE Technologies Inc., was used extensively throughout the system to provide extensible pattern support. Secure audio communications were developed to allow 10-way calling and multiple audio codecs simultaneously while also supporting RTP and SIP capabilities. G7 11, iLBC and G729 were some of the codecs we provided. Secure video conferencing and file transfer were also developed for pc-to-pc calling utilizing On2 Technologies video compression technology. Communication security was developed using a combination of asymmetric (RSA) and symmetric (AES) encryption. Qt by Trolltech was used to provide the main skinned client interface, while MFC was used to provide the test harness UI.

Extensive travel was required as the corporate office was in Amsterdam and the development offices were in Estonia. Development was coordinated using subversion (SVN), project, and Bugzilla

. cMedia Corporation November 2003 – February 2004 Senior Softw are Developer Orlando, Florida

Under contract for Solid ICE, designed and implemented the decoding and display engine for VEMS, the Video Evidence Management System. This subsystem was initially written for Win32 using Visual C++ but was later ported to XWindows on RedHat Linux using GNU C++. The application decodes MPEG-1 and MPEG-4 streams for audio and video playback upon direction from the main Java client. This subsystem allows for four (4) streams to be played simultaneously with no flicker and low CPU load.

MusicMatch, Inc. August 2003 - January 2004 Senior Softw are Developer Orlando, Florida

Under contract for Solid ICE, designed and implemented the MusicMatch System Information architecture. MMSysInfo was written using. Net and Visual C++ 7.0 using mostly Windows SDK calls in order to offer as minimal a download as possible. This client application would generate system information reports in XML, compress them using zlib, and encrypt them for transmission using TwoFish. MMSysInfo was designed to be portable betw een Win9x, NT, 2000, and XP. A CGI interface was also created to gather the various reports and assign a token for reference to customer service. The CGI interface would allow the customer server personnel to query for a particular report and analyze the data.

Designed and implemented the PC-Link server for compatibility with Philips line of Streamium products. This server was created using .Net and Visual C++ 7.0 to handle the various XML based query request s. All system development was coordinated using the StarTeam 5.2 version control system.

Titan Secure Solutions October 2002 - May 2003 Senior Softw are Architect Riyadh, Saudi Arabia

Under contract for Solid ICE, designed and implemented the Identification Card Printing (ICP) project for the National Information Center within the Ministry of the Interior of Saudi Arabia. This scalable, three -tier project was written using Visual C++ for the Windows , with portability to Linux and HP/ UX. The goal of the system was to produce an ID card and biometric tracking system utilizing an Optical Smartcard with embedded Lasercard holographic strip, OVD Kinegram TKO and Multos smartchip. The system also required distributed print client softw are to work with the Fargo Pro-LX printer through a centralized server. Card layouts and settings were disseminated from the central location to insure the quality of the cards printed. Photos were obtained using the Canon SDK for the PowerShot S40 and the Twain SDK interfaced with the Epson 1260 scanner. All communications between workstations and servers was accomplished using a TCP/IP based messaging protocol and push technology. The client user interface was created using MFC on Win32 under Visual C++. System architecture utilized UML and all system development was coordinated using CVS and the WinCVS version control system.

Euclid Discoveries, LLC May 2002 - September 2002 Technical Lead Concord, Massachusetts

Under contract for Solid ICE, implemented the Euclid Compression Studio (ECS) utilizing Visual C++, MFC, and Intel’s OpenCV. ECS allowed for the capture and compression of video streams using proprietary Euclid compression technology. Numerous metrics and real- time charts helped the compression developer visualize the effectiveness of the techniques being employed. This required real-time DIB manipulation, timers, and threads. Other information may be available upon request.

StoreMonitor.com, Inc. July 2000 - April 2002 Chief Technology Officer / Senior Architect Garland, Texas

Initially under contract for Solid ICE, designed, managed, and implemented the CentricVision virtual management solution. This centralized, peer- to-peer netw ork allows for remote, real-time access to video cameras and point-of-sale (POS) systems. POS data can be queried for multiple types of events and displayed with synchronized video to allow storeowners to verify events and sales. Segments of time stamped video can also be retrieved and stored in the event of robbery or other such incident.

The client front end was created using C/C++ with Visual C++ for Win32 using a bare minimum of MFC. A TCP socket based, multi- threaded, multi-channel communications architecture was utilized to communicate between the client front ends and the various servers. The in-store servers are embedded Linux systems developed using Egcs C/C++ which coordinates over 30 days of video and transaction data using MySQL and a proprietary block based DBMS. Each store links in with a central server which coordinates security and alerts. Video feeds contained JPEG and MPEG video formats. The central server was created using C/C++ for a Sun/Solaris system that would communicate to the stores via TCP sockets using a proprietary, multi-channel protocol. System architecture utilized Booch methodologies and all system development was coordinated using CVS and the WinCVS version control system.

Solid ICE Technologies, Inc. September 1998 - June 2000 Sr. Softw are Architect / Developer Clearwater, Florida

Solid ICE Technologies, Inc. was formed in September of 1998 to produce a real-t ime stock trading application called Trade Runner. Written in C/C++ using MFC for Win32 using Winsock sockets and threads, the Trade Runner client allowed the user to log into the server and receive real-time stock data. This data included Level 1, Level 2, fundamental, and historical. The data was displayed real-time in smoothly animated charts, insta-sorted watch windows, as well as monitored for alert conditions. The user could also place trades on the NASDAQ by passing trade requests up to the Trade Runner servers, which in turn would determine the proper route for the trade request.

The core of the Trade Runner system was the distributed server net, also written in C/C++ for cross platform portability, targeting Linux and Sun/Solaris Unix systems. This series of 6 servers coordinated the data flow between the client and the numerous data sources being monitored via TCP based sockets. All communications were done over a proprietary, multi- channel architecture allowing for narrow casting as well as encrypted data streams. These communications utilized Pthread- based, thread pools for message processing and MySQL database insertions. All system development was coordinated using CVS and the WinCVS version control system.

Zadu, Inc. July 1999 - November 1999 Team lead/Architect Clearwater, Florida

Under contract for Solid ICE, designed and developed a distributed, netw ork load simulator and test harness, using C/C++ with Visual C++/MFC on WinNT. This client simulator would emulate the load produced by thousands of clients w ith varying levels of demand. This system would help pinpoint the bottlenecks and shortcomings of the Zadu group servers. The application utilized the bare bones of MFC to produce smooth animated charts of load and response times. All system development was coordinated using CVS and the WinCVS version control system.

TradeONE Securities, Inc. October 1997 - June 1998 Chief Technology Officer / Senior Architect Francisco, California

Duties ranged from architect, development manager, systems designer, to principle engineer in order to develop VisualQuotes and VOES, the Visual Order Execution System. All designs utilized Booch methodologies. These systems were designed to be real-time push servers, providing day traders with the latest, up to the second, stock information over the Internet via TCP sockets and a 28.8k modem. Designed and developed a narrow casting protocol utilizing Pthread based multi-threaded, push technologies under GNU C/C++. The central server was a massively multi- threaded server, which coordinated data from all incoming sources and would route to the registered clients. The main ODBC database server was written for massively paralleled insertion capability for use with Oracle on Sun/Solaris multi- processor RAID systems. All servers were routinely ported betw een Sun/Solaris, HP/UX, Linux, and Win32. The user interface was developed using MFC under Visual C++, for the platforms (NT/95). All system development was coordinated using CVS and the WinCVS version control system.

Home Shopping Network, Inc. Consultant/Tech Lead, Server Development March 1997 - September 1997 Clearwater, Florida

Designed and developed a three tier, Pthread based, architecture bridging an Oracle database server, on Sun Solaris, to a Win95 Visual

Basic thin client application via a Visual C/C++ middle layer. The communication was done using TCP/ IP sockets and a lightweight messaging protocol. The middle tier was developed under Unix using SunWorks C++ with Persistence. The multi-threaded client/server middle layer implemented message "handlers" as "plug-ins" to respond to requests from the Visual Basic front end. Rational Rose was utilized to design class hierarchies and generate base class implementations adhering to Booch methodologies. All system development was coordinated using the PVCS version control system.

IFusion, Inc. October 1996 - March 1997 Consultant Vienna, Virginia

Helped bring the latest in push technology, IFusion's Arrive, to the Internet using Visual C++, NT, and MFC. Designed and developed web data "scrapers" which were implemented to pull information via HTTP using C/C++ TCP based sockets from the USAToday web site and parse it into concise pieces that were used to populate the channel. Content labeling engines were also implemented to identify story types from categorization databases. This product was shown at Comdex 96 and ran on Microsoft's Active desktop. All system development was coordinated using the PVCS version control system.

Ryder Dedicated Logistics February 1996 - August 1996 Consultant Miami, Florida

Aided in the ongoing development of the Integrated Logistics Planning System (ILPS). Designed and implemented developer tools for object aware, observable data systems. These tools were written for OWL using Borland C++ under Microsoft Windows NT. These tools have been incorporated into a series of interfaces for the user as well as hooked into the internal business rules of ILPS. System architecture utilized Fusion methodologies and all system development was coordinated using the PVCS version control system.

AT&T October 1995 - February 1996 Consultant/Technical Lead Herndon, Virginia

Analyzed and developed CADM Biller Interface applications. These applications were written using Hewlett Packard's SoftBench C/C++ development framework on an HP-UX machine hooked to an Oracle 7 database server. Pro*C and SQL were used to extract the qualifying billing records into internal structures and then output to an AT&T proprietary file format. After developing the application, Pro*C Oracle insertion support programs were written to help facilitate unit testing. This further required extensive make file and shell script support. This effort required training the on -site team of four developers in C/C++, Oracle SQL, Pro*C, and Unix scripts. System architecture utilized Booch methodologies and all system development was coordinated using RCS version control system.

Dunn & Bradstreet (Nielsen Media Research) February 1995 - August 1995 Consultant Dunedin, Florida

Designed and implemented a database query object to interact with ObjectStore's object oriented database and be driven by a Power Builder front end through OLE. This was a 32 -bit application written under Windows NT, to be run under Windows 3.1, using Microsoft Visual C++ v2.1. The query engine was to accept and assemble fragments of a query and produce a list of qualifying persistent objects. These objects were then used to produce a report in Excel that was then returned to the client front end. All system development was coordinated using the PVCS version control system.

SAIC August 1993 - February 1995 Consultant/Technical Lead (Department of Energy) Washington, DC

Analyzed, designed and implemented the Microsoft Windows National Energy Modeling System (PC-NEMS). Designed utilizing the Booch methodology and implemented using Object Windows (OWL v1.0) w ith Borland C++ for distribution to the federal government. Version 2 of the application was ported to the zApp framework classes. The online help system was generated using RoboHelp and Microsoft Word. System architecture utilized Booch methodologies and all system development was coordinated usin g the PVCS and SourceSafe version control systems.

APACHE Medical Systems, Inc. August 1994 - December 1994 Consultant/Technical Lead Tysons Corner, Virginia

Designed APACHE Acute Care, an Executive Information System (EIS) for healthcare professionals. This application will utilize C++, ODBC, OLE, and EIS technology to help locate and identify procedural bottlenecks, evaluate/compare diagnosis accuracy and treatment effectiveness, as well as help predict health concerns. This will be done for Microsoft Windows as a client/server application connected to a netw orked ODBC-based database and presented in full, interactive presentation business graphics using Visual C++ and the Microsoft Foundation Classes (MFC). All system development was coordinate d using the PVCS version control system.

Network Imaging Systems Corporation (NISC) Herndon, Virginia Consultant/Technical Lead

December 1993 - August 1994

Designed and implemented a Microsoft Windows DLL as a piece of Network Imaging's workflow package. This DLL was responsible for building user defined rules and evaluating the rules at run-time. The builder was created using Microsoft Visual C++ and the zApp Windows class libraries. The rule evaluator was designed to allow for multiple data types and multiple comparisons.

Designed and implemented an object-oriented annotation DLL to be used with the company's Network Object application framework in Windows NT. This series of classes implements user annotations on any o f the objects supported by the NISC ORBs. The classes included basic 3-D shapes as well as pop-up notes, group objects, and "stamps". The DLL can be accessed thru Visual C/C++, Borland C++, and standard Windows SDK programmed in C.

Globalink, Inc. August 1993 - December 1993 Consultant Vienna, Virginia

Analyzed, designed and implemented Power Translator© for Windows using Borland C/C++/OWL. Power Translator© translates English to/from Spanish, German, and French. The application allowed for the importation of text from word processors, and then would translate and allow for the user to pas te the resultant text back into their documents. Doc -To- Help© was used to develop an extensive online context sensitive help system require d by the project. This application required the ability to sw itch, "on- the-fly", between English, Spanish, French, and German. This meant developing an extensive string table library in each of the target languages.

Best Programs September 1992 - August 1993 Consultant/Technical Lead Reston, Virginia

Designed and developed a platform independent, electronic forms based, tax preparation application in a Borland C/C++ Windows environment. The application was designed to be an object-oriented forms engine to display and manage a series of form objects and their interconnections. These interconnections included a small spreadsheet engine and an ODBC database engine. The interconnections were accomplished using an observer pattern implemented in C++. Designed and implemented an interactive form generator to be used by the forms development staff when creating the forms for the tax product. The generator was responsible for building and managing the objects on the form as well as the various resources availab le to each object.

International Computers Limited (ICL) May 1992 - November 1992 Consultant/Analyst Reston, Virginia

Designed and partially implemented an X.400 platform independent mail application. The application was to be implemented using C/C++ and a platform independent user interface tool kit. The interface u tilized "drag -n-drop" mail messages as well as Object Linking and Embedding (OLE) technology. The primary target platforms we re Ms Windows and Presentation Manager while Macintosh and Solaris/Motif were secondary targets. Designed and prototyped a DBMS class library to work with an internal ICL database format. These classes implemented record level locking under Microsoft Windows and presentation Manager. This allowed for multi-access databases on a network-mounted drive.

Arinc Research Corporation July 1990 - May 1992 Staff Programmer/Analyst Annapolis, Maryland Designed and implemented an object oriented, electronic forms package to be used on SCO and Sun/Solaris Unix. This required the implementation of scalable fonts under system 4, and the ability to manipulate image data on the fly. The user is able to scan in their form, identify regions, edit these fields directly, and then print out the form. Designed and implemented a desktop Fax automation system for SCO Unix system V and Sun/Solaris using C++ under Motif. This required the development of scanning classes, image display classes, Huffman compression/decompression classes, as well as many conversion utilities. An input print filter was also required to allow the printing of a FAX onto a standard postscript printer.

Designed and implemented several modules of FIN/Contracts for the United States Airforce for Motif on SCO Unix and Sun/ Solaris using C/C++.

Designed and implemented an interactive database query protocol for Aircraft Systems Analysis(ASA) under MS -DOS using Glockenspiel C++/Microsoft C and dBVista III. This distributed database application running on PCs and Unix systems would communicate via modems or TCP/IP sockets.

The Analytic Sciences Corporation (TASC) January 1987 - June 1990 Programmer/Analyst Reading, Massachusetts Typeless DBMS for use with internal OS/2 development effort. Implemented using Glockenspiel C/C++/ CommonView for ease of porting between OS/2 Presentation Manager and Microsoft Windows. This required the design of an object-oriented database hierarchy as well as a hierarchy to handle file management.

Designed and Implemented a Microsoft Windows application to display real- time analog images through a New Media Graphics card stored on a Panasonic OMDR in a Glockenspiel C++/ CommonView environment. The application was part of a larger multimedia system for the Strategic Defense Initiative Organization (SDIO). The system was to be used as a "plug -n-play" module while the user was examining data records. Designed and implemented the Planning and Execution Executive Reporting (PEER) system for the Strategic Defense Initiative Organization (SDIO). This required development of custom dBase interface routines as well as a custom for the PC.

Designed and implemented an F-16 heads down flight simulator using Microsoft C for the Air Force Avionics Laboratory w ith real-time communication to a VAX-8200. Required the design of a custom graphical user interface using the Pepper 1280 graphics board and API. Also required communications software between the VAX and the PC. Voice recognition software was used to help bring commands between the user and the simulation.