halcanary@gmail.com • +1-919-724-2801 • Durham, NC, USA • https://halcanary.org/
Technical Skills
- Languages: Go, C++, JavaScript, Python, C, Java, Shell Scripting
- Software Tools: React, NPM, Docker, Kubernetes, Git, CMake, OpenGL
- Operating systems: Unix and Linux workstations and servers, Android and iOS.
- Specialties: scientific and numerical computing, scientific visualization, computer graphics, full-stack web development, microservices, databases.
Education
- University of North Carolina at Chapel Hill, M.S. Computer Science, August 2013.
- University of Wisconsin-Madison, B.S. Physics and Mathematics, May 2001.
Experience
- Senior Software Engineer, Aternity LLC./Riverbed Technology LLC. 2021–present
- MacOS software engineer for MacOS Digital Experience Management Agent. https://www.aternity.com/
- Senior Software Engineer, Voith Digital. 2020
- Full-stack software engineer for Voith OnCumulus Industrial Internet-of-Things project (http://voith.com/corp-en/digital-solutions/oncumulus.html).
- Worked on creating the Voith Paper Break Protector tool: using machine learning to predict potential industrial problems and display these risks to machine operators.
- React/JavaScript frontend.
- Go microservices backend.
- Agile development on a distributed, remote team.
- Software Engineer, Google, Inc. 2013–2020
- Member of the Skia 2D graphic library (https://skia.org/) team.
- Created SkQP, a project to use Skia rendering tests to generate new Android Compatibility Test Suite tests for OpenGLES and Vulkan drivers, for Android Pie and Andoroid 10 (https://skia.org/dev/testing/skqp).
- Maintained SkPDF, Skia's PDF generator used by Chrome printing and Android framework. Refactored entire code to use a fraction of the RAM, execute faster, be threadsafe and optionally multithreaded (https://skia.org/user/sample/pdf).
- Experience running, testing, debugging Skia software library on Linux, MacOS, Windows, Android and iOS.
- Wrote example and testing applications for Android and iOS, linking a native C++ library to Java (via JNI) or Objective-C (e.g. https://halcanary.org/skottie-ios-app/).
- Contributed to API documentation and examples.
- Created scripts in Python, Go, and Shell to automate tasks (e.g. https://halcanary.org/git-sync-deps/).
- Research Assistant, UNC-Chapel Hill, Computer Science Department. 2011–2013
- Created novel tools for visualizations of high-dimensional statistical distributions.
- Built visualizations for scientific data (nuclear quantum-chromodynamic plasma simulation, meteorologic simulation, and cosmological galactic formation simulation datasets) using VTK and ParaView.
- Iteratively designed and developed the MADAI Distribution Sampling Tools (https://halcanary.org/madai-dst/) and the MADAI Visualization Workbench (https://halcanary.org/madai-bench/).
- Developed new VTK filters and ParaView macros.
- Collaborated with domain scientists to develop visualization and statistical product requirements.
- Receiving Manager, Barnes & Noble. 2006–2011
- College Math Tutor, Edgewood College. 2004–2005
- Programmer and Student Researcher, UW-Madison Math Department. 2001–2004
- Interface Analyst and Programmer, Epic Systems Corporation. 2001–2002
- Developed database interface software in InterSystems Caché; Installed and configured client’s software;. Resolved customer issues with troubleshootingr; Developed custom software for clients.
- Undergraduate Researcher, UW-Madison Physics Department. 1999–2000
Publications
- Hal Canary, Russell M. Taylor II, Cory Quammen, Scott Pratt, Facundo A. Gómez, Brian O'Shea, Christopher G. Healey. “Visualizing Likelihood Density Functions via Optimal Region Projection.” Computers & Graphics 41 (2014): 62–71. (https://halcanary.org/optimal-region-projection/)
- Steffen A. Bass, Hannah Petersen, Cory Quammen, Hal Canary, Christopher G. Healey, Russell M. Taylor II. “Probing the QCD Critical Point with Relativistic Heavy-Ion Collisions.” Central European Journal of Physics (2012) 10, 1278–1281. (https://doi.org/10.2478/s11534-012-0076-1)
- Hal Canary. “Aztec Diamonds and Baxter Permutations.” The Electronic Journal of Combinatorics 17 (2010), #R105 (https://halcanary.org/aztec-diamonds/)