David Markun
Contact info: http://www.markun.com/contact.html
Located near Boston, Massachusetts, USA
Major focus is system software in Windows
After my start in application level software,
I began in 1990 to focus on system software
in the undocumented and less-documented areas of Microsoft's operating systems. Often this has meant that I have
used device driver toolkits to deal with non-device-related issues (e.g. filesystems, storage drivers, and network stacks).
I keep contact with the "real world" of end-users and system administrators by doing the
hardware and software support for my own networks of 12+ nodes, and by hosting some Web sites for nonprofit organizations.
Specific experience:
Certain detailed internals of SQL Server.
Filesystems and filesystem filter drivers on Windows Vista/XP/2K/NT.
NDIS network drivers.
Internet protocol internals.
Debugging without source code, undocumented interfaces, 4th party software conflicts.
Detailed work history:
1993-present: Independent software contractor. Projects included:
- Devised a method for duly authorized users to obtain the fallback self-signed certificate SSL_Self_Signed_Fallback created dynamically by SQL Server
2005, 2008, etc. and used to encrypt SQL Server logins.
- For a client in Europe, oversaw the bringing to market of a filesystem for Windows XP/2K/NT and Win9x, using a shared code
base. Worked about half of the project's duration alone, and about half as USA-based remote project leader of a team that grew to 6 developers with three
native languages in addition to English.
- Designed and implemented a TCP/IP "Shim" to intercept all traffic
just below Microsoft's TCP/IP. Using this NDIS-based system,
sends and receives can be monitored, modified, discarded, delayed, or simulated. In Win9x, the
shim can be loaded dynamically with no reboot required.
- For the vendor of an industrial laser marking system driven by a Windows NT computer,
gave a quick two-week tweak to their two-year-old driver, making it
possible for the first time to run serious background tasks in NT without
starving the laser for command input.
- Intervened to help the developer of a Windows NT filesystem filter driver find a problem
that only showed up when running with McAfee's filesystem filter driver.
- For a Windows 9x/NT implementation of a new Internet protocol, devised a
quasi-documented (but very safe) technique to get TCP/IP's routing table information.
- To debug a showstopper problem with a Winsock Layered Service Provider, wrote
code to walk and verify the undocumented DSocket list internal to WS2_32.dll.
- For a Windows 9x third-party network filesystem, wrote a Network Provider DLL, and modified the
network's IFS client filesystem and server side. It turns out that Microsoft's Network Provider
documentation and IFS network documentation is not quite so complete as it looks.
- For a team building an H.324 videoconferencing system running on Windows 95, served as Ring 0 ringleader: provided guidance,
shared subroutines, tools, and problem-solving assistance as the team used VToolsD to do their first work in Ring 0.
Most interesting problems were VCOMM client problems and Ring 0 floating point problems.
- Wrote a Windows 95 IOS layer driver to make a packetized CD-R disc readable by ordinary CD-ROM readers.
- For one of the early CD-R drives (in the days before UDF) wrote a complete staging filesystem to make the CD-R available as an ordinary driveletter on Win95, Win3.x, or DOS-only systems.
- For a startup's Windows-3.1-based desktop videoconferencing system, ported a 24,000-line hardware interrupt handler (written in C) from 16-bit DLL to 32-bit VxD, using my proprietary performance-oriented VxD-in-C toolkit.
- For a SCSI CD-R archival system:
- Ported a filesystem from MS-DOS TSR to MS Windows VxD.
- Solved a problem with reentering DOS, by doing the necessary spelunking inside DOS to find a quirk not known at the time to the authors of Undocumented DOS.
1988-1993 Lotus Development Corporation
1992-1993 System Architect
- Designed and built client-side file system redirector for Lotus CD/Networker. This, my first TSR, occupied only half the
then-precious low-address memory of a competitor's comparable TSR (which turned out to have been written by a seasoned TSR veteran).
- Provided flexible per-VM instancing of driveletters by writing a VxD.
- To write my first VxD, developed tools for writing VxD's in 32-bit Watcom C. (At that time, Microsoft supported only MASM for VxD's). My VxD-in-C tools were written up in the NuMega News and were adopted by Daniel Norton, author of Writing Windows Device Drivers.
- Built client-side DLL that enabled the GUI frontend to be built in Visual Basic and customizable by customers.
1988-1991 Principal Engineer
Architected and led implementation of C programmers' database publishing platform on VAX/VMS. Programmers found it reduced development effort by 75%.
1985-1987 Senior Software Engineer, Datext Inc.
One of original handful of engineers who brought this startup's product line to market. Designed and wrote CDROM mastering program. Architected development/integration/production environment,
that successfully accommodated a 25-fold increase in CDROM database production.
1982-1984 Senior Analyst, Interactive Data Corporation.
Led team of 4 in making nondisruptive major upgrade to funds transfer system that moved $6 billion/day for 1000+ users/day.
1979-1981 Project Leader, Cambridge Computer Associates.
Grew quickly from neophyte on-the-job trainee to leader of 6-person development team for this consulting firm, in this my first white-collar job.
Education:
Harvard University, B.A. in Engineering Sciences.
=o-o=