I'm a driven engineer who enjoys solving problems through programming. I develop many types of software, from low-level operating systems to high-level web applications. I was a software engineer at HP for 11 years and have spent the last 5 years at Tuple, where I'm the solo developer of the Windows and Linux ports of their remote pair-programming application. Outside of work I contribute extensively to open source: over 500,000 lines of code across 166 repositories in 2024-2026. Popular tools I've created include zigup (1.1K ★), anyzig (388 ★), msvcup (348 ★, blog post hit #1 on Hacker News), and zigwin32 (referenced from the official microsoft/win32metadata repository). I enjoy new challenges and love to learn.
Currently looking for Lead Engineer roles building Windows and/or Linux desktop applications.
Solo developer of the Windows and Linux ports of the Tuple remote pair-programming application (originally macOS-only). Built the Windows port from scratch starting March 2023; it now has hundreds of weekly active users and a very low bug-report rate. ~64K lines of C/C++ across ~250 source files and ~1,366 commits.
End-to-end ownership. I own everything required to ship the app, not just the application code: CI and build orchestration, the installer, code signing, the auto-update mechanism, crash reporting and symbol upload (Sentry + Crashpad), testing, and ongoing maintenance and triage.
Tech stack (Windows): C++20 native (x86_64 and arm64) built with MSVC + CMake + Ninja, plus a custom-built fork of WebRTC. Rendering and text via Direct2D / DirectWrite / WIC. Direct3D 10/11 with custom HLSL shaders for GPU RGB→NV12/I420 conversion. Three interchangeable screen-capture backends (DXGI Desktop Duplication, Windows Graphics Capture, GDI fallback) selected per-monitor and per-OS-version. Webcam capture via Media Foundation. Audio I/O via WASAPI + miniaudio with RNNoise (noise suppression) and whisper.cpp (transcription), built via Zig. Transport via libwebrtc m121 (custom build). Embedded UI via WebView2. COM/RAII via Microsoft WIL. Crash reporting via Sentry + Crashpad. Animations via rlottie. UI is hand-rolled Win32 (HWND-per-window with custom WndProcs, low-level keyboard/mouse hooks, systray, DPI / per-monitor text-scale aware).
Notable problems solved: "App Veil", which lets users exclude specific applications from the screen share, required deep Win32 architecture knowledge. It's implemented via DLL injection and global Windows hooks that monitor every window on the system and prevent excluded ones from being captured. The screen-capture pipeline uses three swappable backends (DXGI Desktop Duplication, Windows Graphics Capture, GDI fallback) selected per-monitor and per-OS-version. Remote-control input injection uses batched SendInput with differential modifier-state replay and an ALT-key double-tap focus workaround. Other Win32 work includes global low-level keyboard/mouse hooks routed cross-thread via PostMessage, multi-monitor and per-monitor DPI/text-scale handling across mixed displays, and WASAPI device-change recovery.
11 years across HP's enterprise printer firmware, spanning low-level systems (drivers, USB stack, bootloaders, networking) up through .NET tooling, internal web services, and build infrastructure. Sole or primary developer on most of the work below.
Linux infrastructure. Primary developer of HP's Linux distribution for enterprise printer firmware, built on Yocto (received Yocto training from bootlin). Wrote a Linux block device driver that lets Linux share a disk with another processor on the same ASIC by sending DMA lists rather than data, with performance close to native. Built the tooling to run Android on printers: runtime dm-verity, image signing, EFI image verification, a port-forwarding kernel module, and a SOCKS proxy server on Windows CE.
Networking architecture. HP's printer firmware ran three concurrent network stacks. I built MultiStackProxy, an async-networking framework on Windows CE that handled cross-stack proxying; on top of it I added an HTTP file server, SOCKS v4/v5 proxies, and a custom auth protocol, each implementation under a few hundred lines. I also wrote a replacement for ws2_32.dll that let applications transparently interact with multiple network stacks. This is a critical piece of HP enterprise products, bridging internal Windows networking and the external-facing Jetdirect stack.
Tools and frameworks. Developed a finisher-device simulator for HP printers (~80K lines, sole developer, year-long effort, dozens of device configurations, in production 6+ years with a single-digit bug count). Built web services and tools that monitor hundreds of printer emulators (ASP.NET / SQL / PHP / JavaScript / C#). Helped maintain Windows CE for our enterprise printers (drivers, OS triage, transparent multi-stack networking) before the Linux switch.
Open-source C# libraries. Over my first 5 years, I developed a large set of common C# libraries and went through HP's Open Source Review Board to ship them publicly: github.com/hpinc/More.
Worked on code analysis software written in LISP (ACL2). This was for professor James Alves Foss who was writing static code analysis software for Wind River.
I've tried to include at least one project in each general area I've worked in. More detail for projects that span more areas. Some open source work can also be viewed on my GitHub profile: https://github.com/marler8997
A list of some of my public projects on GitHub that I've created and maintained over the years.
microsoft/win32metadata.execve for Windows.Over the years I've contributed to hundreds of projects in dozens of languages. I prefer to work in whatever language is "native" to the platform I'm on, whether that be C/C++/Zig on bare metal, or JavaScript in the Browser. Here's a list of some of those languages: C, C++, C#, D, Zig, Python, JavaScript, HTML/CSS, Java, PHP, LISP, Bash, Perl, Ruby, R, ASPX, Batch.