1902-1028 Barclay St, Vancouver, BC, V6E0B1
Seeking to build upon my extensive experience doing operating systems research and development. I seek to expand upon our knowledge of systems by identifying and demonstrating innovative improvements in the field.
wamason.com, December 2016 to Present
- Consulting, focusing on providing Expert Witness services (primarily in patent litigation) and consulting with commercial customers implementing file systems and file system technologies.
- Research Assistant. Working with Professor Andrew Warfield on research in operating systems research, with a focus on file systems related areas.
OSR Open Systems Resources, Inc. November 1994 to November 2016
- Consulting Partner. In this role I was responsible for providing services to commercial customers, by designing and implementing key file systems technologies for file systems and file system filter drivers. I was involved in critical aspects of our educational offerings, teaching classes in Driver Development, File Systems Development, File System mini-filter development and Kernel Debugging. Focus was on the Windows OS platform. Recent projects include: Isolation Filter Kit that provides multiple simultaneous views of a single file on either local or network storage without modifying the underlying file system. This abstraction was useful for transparent per-file encryption in that different applications could be given different views (raw or encrypted) of the file, with coherency, specialized file system mini-filter for transparently backing up SQL databases to Azure, another for doing block level change tracking for SQL databases.
FORE Systems, September 1993 to November 1994
- Technical Manager. In this role I was responsible commercial ATM adapter device driver development for PC platforms (Windows, Novell, and OS/2). Actively participated in the ATM Forum (SA&A and LAN Emulation SWG). Worked with both Microsoft and Novell to define and establish architectural support for ATM.
Transarc Corporation, July 1989 to September 1993
- Area Manager. Technical management for DCE LFS physical media file systems work: coordinate activities of team members, managed DCE/DFS integration including working with key external partners: OSF, HP, IBM and Digital Equipment Corporation.
- Member of Technical Staff. Transarc AFS development on various UNIX platforms, DCE/DFS development. As a member of the Episode team I was responsible for designing and implementing the transactional system, still novel for its use of undo/redo model journaling. Part of the DCE/DFS development team, participated in architecuture and design.
Stanford University, June 1987 to June 1989
- Research Staff. Working in Professor David Cheriton’s Distributed Systems Group. Responsible for systems administration for the group. Implemented the UNIX version of VMTP (Versatile Message Transport Protocol), a reliable transport protocol for use over IP, including IP multicast. Wrote kernel mode device drivers for Ethernet NICs for the V Operating System, as well as a primitive kernel debugger.
- University of British Columbia, Vancouver BC, January 2017 to Present
- PhD Computer Science, Network, Systems & Security Lab, September 2017 to Present
- Georgia Institute of Technology, Atlanta GA (Graduated 2017)
- OMSCS Program (Interactive Intelligence) MSCS December 2017
- University of Chicago, Chicago, IL (Graduated 1987)
- SB Mathematics (Computer Science Concentration)
- Georgia Institute of Technology, Atlanta GA, August 2015 to Present. Teaching Assistant for Professor Ada Gavrilovska’s Graduate Introduction to Operating Systems. Answer student questions (Piazza, Slack), assist in development and maintenance of automated grading system for student code, maintain documentation for student projects, enhance and document class procedures, coordinate activities with other TAs.
- OSR Open Systems Resources Inc., Amherst, NH March 1996 to November 2016. Design and develop kernel mode development classes on Device Drivers, File System Drivers, File System Mini-Filter Drivers, Windows OS Internals, and Kernel Debugging for both lecture and lab workshop style classes.
US/9830329 Methods and Systems for Data Storage
US/9600486 File System Directory Attribute Correction
US/9535759 Work Queue Thread Balancing
US/8990228 Systems and Methods for Arbitrary Data Transformation
US/8903874 File System Directory Attribute Correction
US/8539228 Managing Access to a Resource
US/8521752 Systems and Methods for Arbitrary Data Transformations
US/8024433 Managing Application Resources
US/7809897 Managing Lock Rankings
US/7512748 Managing Lock Rankings
US/7949693 Log-Structured Host Data Storage
Windows NT Device Driver Development, New Riders, 1998
lex & yacc, O’Reilly & Associates, June 1990 (1st Edition), November 1992 (2nd Edition)
- Articles & Papers
Changes in Windows 10 Redstone, The NT Insider, January/February 2017
Logical and Physical File Sizes in Windows, The NT Insider, Mar/Apr 2015
Minifilter Load and Unload Ordering, The NT Insider, May/June 2014
Alternatives to Drive Letters, The NT Insider, May/June 2014
Windows Pool Manager, The NT Insider, Jan/Feb 2014
The Isolation Driver (Part II), The NT Insider, Vol. 18, Iss. 1, January 2011
The Isolation Driver (Part I), The NT Insider, Vol. 17, Iss. 2, July 2010
Undocumented DFS & RDR Interactions, The NT Insider, Vol. 17, Iss. 2, July 2010
File Systems, File System Filter Drivers and Removable Storage Devices, The NT Insider, Vol. 16, Iss. 2, May 2009
Filtering File Systems – Ten Things You Should Know, The NT Insider, Vol. 16, Iss. 1, January 2009
Debugging 103: Where to Go With a System Crash, The NT Insider, Vol. 15, Iss. 2, July 2008
Windows Vista and File Systems, The NT Insider, Vol. 14, Iss. 4, November 2007
An Introduction to Transactions, The NT Insider, Vol. 14, Iss. 1, January 2007
MUP Changes in Windows Vista, The NT Insider, Vol. 14, Iss. 1, January 2007
Obtaining a Useful Name for the Executable Image in a Process, The NT Insider, Vol. 13, Iss. 4
An Introduction to File System Streams, The NT Insider, Vol. 13, Iss. 2, March 2006
Hashing Techniques, The NT Insider, Vol. 13, Iss. 1, January 2006
The Transactional File System (TxFS) in Windows, The NT Insider, Vol. 12, Iss. 3 May 2005
File System Filter Context – Observations & Comments, The NT Insider, Vol. 11, Iss. 5, November 2004
Testing File Systems, The NT Insider, Vol. 11, Iss.3, May 2004
Blocking Special Kernel APCs at IRQL PASSIVE_LEVEL, The NT Insider, Vol. 11, Iss. 2, March 2004
Clever Ways to Save Stack Space, The NT Insider, Vol. 11, Iss. 2, March 2004
Finding File Contents in Memory, The NT Insider, Vol. 11, Iss. 1, January 2004
Debugging a Sound Driver, The NT Insider, Vol. 11, Iss. 1, January 2004
Caching in the Pentium 4 Processor, The NT Insider, Vol. 11, Iss. 1, January 2004
Finding Your Way Through the Stack, The NT Insider, Vol. 9, Iss. 6, November 2003
Emerging Issues in IoCancelFileOpen, The NT Insider, Vol. 10, Iss. 4, September 2003
Debugging Another Crash Dump, The NT Insider, Vol. 10, Iss. 2, March 2003
Calling Conventions for the x86, The NT Insider, Vol. 10, Iss. 1, January 2003
Reparse Points in Windows, The NT Insider, Vol. 10, Iss. 1, January 2003
Managing Address Space Increases for IA64, The NT Insider, Vol. 9, Iss. 4, July 2002
Drive Letter Assignment and the Mount Manager, The NT Insider, Vol. 9, Iss. 4, July 2002
Byte Range Locking, The NT Insider, Vol. 9, Iss. 3, May 2002
Reference Counting for File System Filter Drivers, The NT Insider, Vol. 9, Iss. 2, March 2002
Using the Inverted Call Model, The NT Insider, Vol. 9, Iss. 1, January 2002
A Review of Synchronization Primitives, The NT Insider, Vol. 9, Iss. 1, January 2002
New File Systems Material in Windows XP, The NT Insider, Vol. 8, Iss. 4, July 2001
Name Tunneling in Windows 2000 File Systems, The NT Insider, Vol. 8, Iss. 3, May 2001
Windows NT Security Part III, The NT Insider, Vol. 8, Iss. 3, May 2001
Observations on File System Filter Drivers, The NT Insider, Vol. 7, Iss. 6, November 2000
Analyzing A Crash Dump, The NT Insider, Vol. 7, Iss. 2, March 2000
Windows NT Security Part II, The NT Insider, Vol. 6, Iss. 5, September 1999
Windows NT Security Part I, The NT Insider, Vol. 6, Iss. 3, May 1999
Structured Exception Handling, The NT Insider, Vol. 6, Iss. 2, March 1999
Windows NT Virtual Memory Part II, The NT Insider, Vol. 6, Iss. 1, January 1999
Windows NT Virtual Memory Part I, The NT Insider, Vol. 5, Iss. 2, March 1998
Asynchronous Procedure Calls, The NT Insider, Vol. 5, Iss. 1, January 1998
How NT Handles I/O Completion, The NT Insider, Vol. 4, Iss. 3, May 1997
Building IRPs to Perform I/O, The NT Insider, Vol. 4, Iss. 1, January 1997
The LanManager File Server on NT, The NT Insider, Vol. 3, Iss. 4, October 1996
Oplocks on Windows NT, The NT Insider, Vol. 3, Iss. 3, July 1996
Using the NT Cache Manager, The NT Insider, Vol. 3, Iss. 2, April 1996
Life in the Fast I/O Lane, The NT Insider, Vol. 3, Iss. 1, January 1996
LAN Emulation, IEEE Communications, Fall 1996
Distributed Computing, Encyclopedia of Computer Science & Technology, Vol. 30, 1994
OSF’s Distributed Computing Environment, UNIX Review, January 1993
The Episode File System, USENIX Winter 1992, pp 43-60
Decorum file system architecture overview, USENIX Summer 1990.
The V Operating System, Byte Magazine, November 1987
- Languages: C, C++, x86/x64 assembly, Python, Prolog, Forth, Tcl, Perl, various others.
- Systems: Windows, Linux, UNIX, Mach, V
- References are available on request.