Blog Archive 2022 DnsQueryEx Needs Love May 06 2022 2021 All Good Things… Aug 13 2021 2019 Roundup: Part 1 - Porting the DLL Interceptor to AArch64 Mar 01 2021 2018 Roundup: H2 - Preparing to Enable the Launcher Process by Default Feb 24 2021 2018 Roundup: Q2, Part 3 - Fleshing Out the Launcher Process Jan 05 2021 2018 Roundup: Q2, Part 2 - Implementing a Skeletal Launcher Process Jan 04 2021 2019 Coming Around Full Circle Sep 30 2019 2018 Roundup: Q2, Part 1 - Refactoring the DLL Interceptor Jan 23 2019 2018 Roundup: Q1 - Learning More About DLLs Injected Into Firefox Jan 18 2019 2017 Legacy Firefox Extensions and “Userspace” Nov 16 2017 Win32 Gotchas Jul 17 2017 Why I Prefer Using CRITICAL_SECTIONs for Mutexes in Windows Nightly Builds Jun 12 2017 Asynchronous Plugin Initialization: Requiem Apr 07 2017 2016 New Team, New Project Apr 06 2016 New Mozdbgext Command: !iat Feb 11 2016 Announcing Mozdbgext Jan 26 2016 Bugs From Hell: Injected Third-party Code + Detours = a Bad Time Jan 11 2016 2015 On WebExtensions Aug 30 2015 Interesting Win32 APIs Jul 28 2015 WaitMessage Considered Harmful Mar 12 2015 Attached Input Queues on Firefox for Windows Mar 03 2015 2014 Asynchronous Plugin Initialization: Nightly Dec 31 2014 Profile Unlocking in Firefox 34 for Windows Aug 21 2014 Diffusion of Responsibility Aug 14 2014 Asynchronous Plugin Initialization: An Introduction Jun 17 2014 2013 Detecting Main Thread I/O With SPS Jun 12 2013 Plugin Hang UI on Aurora Feb 15 2013 2012 Plugin Hang User Interface for Firefox Nov 22 2012