MARK D. HOLIDAY

 

PO Box 238

Saratoga Springs, NY  12866

mholiday@gmail.com

 

ACADEMIC EDUCATION

 

Master of Science, Computer Science

Union College, Schenectady, NY

 

Bachelor of Science, Computer Science

State University of New York, College at New Paltz, New Paltz, NY

 

EXPERTISE SUMMARY

 

Hardware & Systems Software / Networks & Protocols

¨     Windows NT4/2K/XP/Win7/Win10 WDM/WDF/KMDF device driver & application development

¨     NDIS 5.x, 6.x Protocol, Intermediate, Miniport and virtual network device driver development

¨     TCP/IP packet filtering, checksums, NAT, DHCP, ARP

¨     USB, PCI and DMA driver development and architecture

¨     UEFI/BIOS development, including EFI shell

¨     Embedded Linux driver development

¨     Windows NT Embedded with KDF

¨     Windows CE development 1.0 to 2.12, Platform Builder 5.0

 

Languages and Tools

¨     x86 Assembler, C, C++, C#

¨     Java, Python, JavaScript, JSON, PHP, CSS, XML, AJAX

¨     Microsoft Visual Studio IDE (up to 2022)

¨     WinDbg Debugger (up to Windows 10, target/host configuration)

¨     Git, Jira, Confluence, Tortoise. Pagaent

¨     BIOS flash, USB protocol analyzer, JTAG Emulator

¨     Platform Builder, Target Designer for NT Embedded

 

Generic Application / System Software Development Expertise

¨     Windows kernel mode, driver development, internals and debugging (expert)

¨     Embedded device development (advanced-intermediate)

¨     Mobile device development (advanced-intermediate)

¨     Web server development (e.g. PHP, AJAX) (intermediate)

¨     Software migration across languages and platforms

¨     Multi-threaded, networking and kernel-level development for various platforms

¨     Team-oriented software development in multiple environments, Agile processes

 

 

PROFESSIONAL EMPLOYMENT

 

Xenotran – Linthicum Heights, MD

Software Developer / Architect (10/20-Present)

Brought on as principal to design and develop virtual network interface card device (VNIC) as central component for system that provides advanced data communications over low-bandwidth satellite link (SATCOM). Developed supporting technologies that leveraged that VNIC to facilitate TCP/IP traffic. Worked with project lead to design architecture for system and co-manage small software team, leading Agile/Scrum meetings and planning sessions as result. Developed network planning utility to help configure workstations for SATCOM usage. Gave demonstrations of these component(s) at quarterly intervals to affiliates.

 


HOLIDAY - Page Two

 

PROFESSIONAL EMPLOYMENT (continued)

 

DRS Technologies - Melbourne, FL

Software Contractor (2/20-4/20)

Develop UEFI/BIOS security components that interface with TPM for proprietary military tablet platform. Develop utilities for EFI Shell environment for Secure Boot to Windows or Linux. Setup and enable virtual TPM interface on CentOS installation on VMware system.

 

IDEXX Laboratories - Westbrook, ME

Software Contractor / Architect (2/13-8/13, 3/15-4/15, 5/17-7/17, 5/19-9/19)

Project 1: Work on identifying and correcting crash situation in proprietary WDM USB host-side driver that manifested when client moved system to Windows 7 platform.  Led to being sole developer for KMDF version of driver for proper migration.  Work on secondary task of investigating and developing solution employing Windows Text Services Framework for detecting various language input events.

Project 2: Subsequently brought in to identify and correct urgent crash situation for device driver that manifested on manufacturing floor due to Windows platform upgrade.

Project 3: Brought in to migrate both USB and software-only WDF device drivers to 64-bit Windows 10 for Anniversary/Creator Update platforms and beyond, using Visual Studio 2015.  Integrated EV certificate for driver build and installation to satisfy Windows 10 platforms.

Project 4: Brought back to facilitate authored USB and software-only device driver packages setup and pass Microsoft Hardware Lab Kit (HLK) testing to achieve Device Hardware Certification status for 64-bit Windows 10 platforms.  Migrate development projects to Visual Studio 2017.

 

Apple / Beats by Dre - Culver City, CA

Software Contractor / Architect (8/16-3/17, 9/18-4/19)

Project 1: Brought on as principal Windows developer to identify and implement protocol support in Windows 7/10 firmware upgrade application for next-generation devices.  Developed and integrated low-level C++ library and test application that demonstrated solution.  Implemented marshal interface for integration with legacy C# application.  Setup WHQL/HCK test configuration and obtained certification for legacy driver package.  Modified InstallShield project to advance total product installation. Work with build engineer to facilitate migration to Apple build system for product release.  Participate in project development meetings.

Project 2: Brought back to add support for subsequent next-generation wireless product to same updater Windows application, consisting of much the same work as previous effort.  Update InstallShield Installer application.  Migrate build system to Visual Studio 2017 platform.

 

Analog Devices - Tampa, FL

Software Contractor / Architect (9/17-3/18)

Brought on as principal Windows developer to migrate Wideband data recorder system from Windows XP/7 to Windows 10 platform.  Involved resolving complex issues in legacy WDM PCI device driver, including rewriting fundamental DMA supporting routines.  Also resolved issues migrating corresponding application set to Visual Studio 2015 for Windows 10.  Resolved source control issues for Subversion.  Work with configuration to facilitate system for product release.

 


HOLIDAY - Page Three

 

PROFESSIONAL EMPLOYMENT (continued)

 

Vanteon Corporation - Rochester, NY

Software Contractor / Architect (1/06-5/07, 6/08-7/08, 9/15-2/16)

Project 1: Architect responsible for modem interface of customer’s proprietary device on MX31 ARM platform running Windows CE 5.0.  Develop NDIS intermediate miniport driver as primary component of device; implement streams and message queue interface to said driver for communication with central driving application; modify boot loader code for FPGA and DSP modules; develop build system for Windows CE 5.0 environment; configure RNDIS functionality for host connection to device; implement encryption support using Windows Cryptography API; develop application that automatically-updates software employing device notification; create “safe” WinCE image and modify BSP boot loader for fail-safe device boot.

Project 2: Subsequent project entailed creation of USB 2.0 Host-side class driver on Windows CE 5.0 platform for client’s proprietary device.

Project 3: Third project was sole developer of KMDF PCI driver on Windows 7 platform for customer’s proprietary image-capturing device to facilitate migration from Windows XP WDM predecessor.

 

Digi International (Minnetonka, MN) - Saratoga Springs, NY

Software Contractor (8/15-9/15)

Perform corrective maintenance on proprietary Windows KMDF multiport serial PCIe device driver in 100% remote environment.

 

General Electric, Intelligent Platforms Division - Albany, NY

Software Contractor (4/15-8/15)

Add features to large-scale HMI/SCADA system on Win32 platform. Use of MFC classes. Participate in daily scrums in agile environment.

 

Dataram Corp - Princeton, NJ

Software Contractor (8/14-11/14)

Work on WDM storage device driver for caching product that improves PC gamer experience; set up wiki page for team; participate in code reviews.

 

Microsoft - Redmond, WA

Software Contractor (4/14-6/14)

Work on KMDF/UMDF device drivers for HID accessories and assist in board bring-up, within Surface division; participate in code reviews.

 

Lockheed Martin - Boulder, CO

Software Contractor / Architect (9/13-11/13)

Responsible for file system minifilter driver component and its communication to other kernel components for proprietary file-access security system. Also developed System Event Log module.

 

Aeroflex Incorporated – Lenexa, KS

Software Contractor / Architect (4/12-2/13)

Designed and developed architecture for supporting client’s proprietary PCI digital boards and corresponding network interface. Solution involved implementation of four (4) WDF drivers for platform matrix consisting of Windows 7 32-bit & 64-bit, and Vista & XP 32-bit. Driver set included: PCI driver for each of two (2) in-house boards; NDIS-WDM upper device filter driver; and custom root-enumerated driver for control and multiplexing between network and multiple PCI cards.  Developed internal I/O test application.  Applied client’s signing certificate for 64-bit installations.

 

Lockheed Martin - Owego, NY

Software Contractor / Architect (10/11-3/12)

Responsible for building different variants of BIOS images in a cyber-security capacity.  Employ Arium JTAG emulator for flashing images and debugging. Work with customer to develop proprietary binary parser for BIOS images. All activities performed ahead of schedule and delivered under budget.


HOLIDAY - Page Four

 

PROFESSIONAL EMPLOYMENT (continued)

 

Phoenix Technologies, Ltd. - Milpitas, CA

Software Contractor / Architect (10/08-8/10)

Responsible for migration of BIOS-based FailSafe system to BIOS-agnostic Windows platform using two-phased approach:

Phase 1: Modified kernel-mode WDM driver to support such activity.  Implement Windows Native application to provide POST/BIOS verification upon startup of systems intentionally disabled via server UI.  Incorporate installer library in previously-written personal Setup application provided to client.  Develop applications/libraries to hook client system current input context.  Oversee Winqual (WHQL) efforts to obtain certifiable version of crucial driver component.  Work with personnel dedicated to this custom effort to successfully deliver product to customer.

Phase 2: Second phase of project involved migrating above security platform to desktop virtual environment.  Involved in fundamental architectural discussions and subsequent design and implementation of proposed solution.  Extend Linux kernel driver to support secure storage of data from previous phase.  Customize third-party NDIS filter driver framework to adapt to platform, and work with team personnel to extend existing Windows WDF virtual PCI driver to support proprietary network over shared memory/shared interrupt interface; extend to KMDF v1.9.  Implement Windows kernel mode driver-to-driver communication to provide proprietary network interface from Windows guest domain to secure host domain.  Implement custom library to provide interface to these kernel-mode routines to fundamental product applications.

 

AuthenTec, Inc. - Melbourne, FL

Software Contractor (10/07- 4/08)

Responsible for help resolving issues as result of WDM USB driver for fingerprint sensor being ported to WDF and Vista 32/64-bit OS.  Employed WDTF tools to assist with driver submissions for WHQL process.  Develop filter driver for inserting SAS sequence into keyboard stream.  Develop virtual mouse device stack using KMDF as prototype solution towards utilizing sensor for user I/O navigation.

 

Sierra Wireless Inc. - Carlsbad, CA

Software Contractor (1/05- 6/05)

Solely responsible for migration of NDIS 5.x miniport driver to interface with next-generation bus architecture for high-speed wide-area wireless CDMA device on Windows XP/2K platform.  Work with modem firmware team on system integration and issue investigation.  Instrumental in preparing driver for WHQL submission process.  Develop component to interpret customer’s proprietary structure in system BIOS to ensure device security at startup.  Wrote corresponding documentation.

 

Massachusetts Institute of Technology, Information Systems - Cambridge, MA

Software Contractor (4/03- 6/03)

MIT Information Systems deploys and maintains AFS as a distributed file system across entire campus on XP and 2K workstations.  Hired as principal to solve issues involving running AFS as Win32 system service.  Research and author white paper for purposes of encouraging further discussion concerning benefits and tradeoffs of moving AFS to native file system running in kernel of XP/2K systems.

 

Invensys / The Foxboro Company - Foxboro, MA

Software Contractor (5/02- 4/03)

Hired as principal to solve kernel issues in redundant-network process control software that manifested with migration effort from NT4 to XP.  Instrument and debug core kernel components including proprietary NDIS protocol driver.  Implement WDM serial filter driver to solve printer issue.  Develop NDIS 5.1 Intermediate driver and corresponding installation package for next-generation project effort.  Adapt network component configuration packages.  Develop WMI kernel and user-mode modules.  Improve XP build process for Foxboro kernel components.


HOLIDAY - Page Five

 

PROFESSIONAL EMPLOYMENT (continued)

 

Into Networks Inc. - Cambridge, MA

Principal Software Engineer (12/00- 4/02)

Software Contractor (4/00- 12/00)

Pioneer effort with select team to create client-side portion of streaming media player for Windows 2000/XP, leveraging existing technology for Win9x platforms.  Responsible for kernel components including SCSI Miniport, dynamic device management, and completion of proprietary installable file system.  Orchestrate developer-friendly build process for same project.  Modify VxD components for previously released Win9x product.

Lexicon Inc. - Bedford, MA

Software Contractor (12/99- 4/00)

Execute client's transition of embedded digital audio system from Windows 98 to NT Embedded.  Solely responsible for port of VxD to NT4 kernel mode device driver for proprietary PCI Busmaster audio card to enable transition.  Responsible for creating embedded configurations using Target Designer tool and subsequent installation of images.

 

Rachis Corp. - Maynard, MA

Software Contractor (10/99- 12/99)

Port vendor's Hitachi SH-3 PCI-based reference platform from Windows CE 2.11 to 2.12.  Employ PCI bus analyzer to diagnose problems in vendor's PCI bridge controller for various devices such as EIDE disk, NE2000-flavor network interface card, and video adapter.

ViaTech, Incorporated. - Natick, MA

Software Contractor (3/99-9/99)

Determine and correct show-stopping problem on Windows NT platform for software licensing system.  Create NT filter driver for data protection scheme.  Development on similar project using Win32 API-hooking approach.

 

CorMedica Corporation - Natick, MA

Software Contractor (9/97-8/98)

Company is developing a medical device that monitors a laser catheter inside the heart and displays a 3D representation of the movement and operation of the catheter in real-time on Windows NT 4.0 Workstation.  Responsible for design, development, documentation, and delivery of multi-threaded Win32 DLL that employs OVERLAPPED serial I/O for real-time acquisition of coordinates from tracking system.  Library also parses data stream and provides soft real-time data management for graphics application, exposing an API to readily access formatted data representing catheter activity.  Also implemented multi-threaded dialog-based application for development tool.

 

VenturCom, Inc. - Cambridge, MA

Software Contractor (3/97-9/97, 8/98-2/99, 6/99- 9/99)

Project 1: Various accomplishments for Windows NT embedded market, including augmenting NTDETECT functionality, modifying NT kernel device drivers, developing multi-threaded benchmarks, creating GUI applications to monitor above, and documenting interfaces and various research activities.  Work with Windows CE 1.0, modifying kernel code and developing drivers and applications for various hardware platforms (Intel, MIPS 4300, Hitachi SH-3).  Access high-resolution timer to obtain hard real-time metrics to investigate viability of this platform for real-time embedded market.  Port EIDE disk driver from NT DDK to CE 2.0 for company's QuickStart BSP product.

Project 2: Design and develop DOS-less boot product to load and run Windows CE images for x86 platform, starting from BIOS POST.

Project 3: Created NT kernel driver for booting NT Embedded from CD-ROM.

 

KnowWare, Inc. – Saratoga Springs, NY

Principal Software Contractor / Architect (since 8/98)

Self-employed software contractor that has worked at various companies developing mainly low-level software for Windows and embedded platforms, as described above.  Involved as co-founder and principal developer in various startup projects.