Kirk Shoop (email, phone, map)

@kirkshoop (twitter, github)

Introduction

I love writing code. I am driven to write C++ libraries that provide primitives that contain complexity in order to reduce bugs in code that uses the libraries. In the past I have written; STL collections using macros when templates were not allowed, shared_ptr and unique_ptr when they were not in the standard library, range, unique_error and unwinder that had not been standardized yet and several more. Now I write async libraries like rxcpp and transducer. I love to learn and apply new compiler features to achieve better safety and expressivity in my libraries and code.

Feedback

Developers have said that my code ‘reads like poetry’, that my code is ‘scary until they work in it for a month’, that they ‘learned a lot and are using what they learned in all their new code’, and that I ‘lead without leading’.

Testers have said that they have a hard time finding bugs in code written using my libraries. One tester collected bug stats after a joint project building the same code in a modern gc language and C++. The tester reported that the C++ code, using my libraries and design, had 1/7th the bugs of the same feature coded in the gc language over the same time period. Another tester reported that after I left, a new manager joined, and banned my libraries. The tester said it was nice to have something to do again, when the bug rate jumped, on the same codebase with the same people.

History

Microsoft

  • 1993-1994 - Intern
  • 1993-1997 and 2000 - Contractor
  • 2001-present - Employee
Current

I work on Azure Machine Learning.

After years focused on C++ and systems programming, my goal was to learn something new. I learned how to build and run a cloud service. The Web Service Management portal allowed me to bring my interest in ReactiveExtensions and apply it to a project. We used React and RxJs to build a single-page-application in typescript from scratch.

Past

I worked on various open source projects in my role at Microsoft Open Technologies, Inc..

More..
  • RxJava
  • Biometrics, finger and face recognition and presence detection in windows logon.
  • LiveId in windows logon
  • Virtual smartcard using TPM 2.0 in a UMDF driver
  • Windows kernel codesign enforcement for Windows Store apps

RealNetworks

1997-1999 - employee Worked on the RealServer and RealPlayer, adding end-to-end Authentication and few other features.

Interest

I have been using all my spare time to work on rxcpp

I also publish what I am learning and doing on my blog and in the talks below:

Description Link
unique_error lightning talk youtube
C++Now 2017 talk on youtube C++Now 2017
CERN 2017 CERN
CppCon 2016 talk on youtube CppCon 2016
C++ Russia talk on youtube C++ Russia 2016
CppCon 2014 talk on youtube CppCon 2014