Education |
Ph.D. Computer Science -- Machine Learning and Optimization
- 2003 - 2006
- Brigham Young University
- Provo, UT
- Graduated August 2006
- 4.0 GPA
- Phi-Kappa-Phi Honor Society Member
MS Computer Science -- Machine Learning (RL emphasis)
- 2002 - 2003
- Brigham Young University
- Provo, UT
- Graduated August 2003
- 4.0 GPA
BS Electrical Engineering with Math Minor
- 1992 - 1998
- Brigham Young University
- Provo, UT
- Graduated Cum Laude December 1998
- 3.81 GPA
|
Publications |
- Monson, C., Introduction to Programming for the Independent Student: A Self-Starter's Course on the Principles and Practice of Bending Computers to Your Will, 2020, Amazon.com, ISBN 979-8670383400
- Nielson, S., Monson, C., Practical Cryptography in Python: Learning Correct Cryptography by Example, 2019, Apress, ISBN 978-1484248997
- Monson, C. K., Seppi, K. D., Confident but Weakly-Informed: Tackling PSO's Momentum Conundrum, In Proceedings of the IEEE Symposium Series on Computational Intelligence (IEEE SSCI 2014), Orlando, Florida, 2014
- Monson, C. K., Seppi, K. D., Under-Informed Momentum in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2014), Vancouver, British Columbia, Canada, 2014
- Monson, C. K., Simple Adaptive Cognition for PSO, In Proceedings of the Congress on Evolutionary Computation (CEC 2011), New Orleans, Louisiana, 2011
- Monson, C. K., Seppi, K. D., and Carroll, J, A Graphical Model for Evolutionary Optimization, Evolutionary Computation Journal (2008), 16(3):289-313
- Carroll, J., Monson, C. K., and Seppi, K. D., A Bayesian CMAC for High-Assurance Supervised Learning, In Proceedings of the International Joint Conference on Neural Networks Workshop on Applications of Neural Networks in High-Assurance Systems 2007, Orlando, FL, 2007
- McNabb, A. W., Monson, C. K., and Seppi, K. D., Parallel PSO Using MapReduce, In Proceedings of the Congress on Evolutionary Computation (CEC 2007), Singapore, 2007
- Monson, C. K., Seppi, K. D., and Carroll, J. A Utile Function Optimizer, In Proceedings of the Congress on Evolutionary Computation (CEC 2007), Singapore, 2007
- McNabb, A. W., Monson, C. K., and Seppi, K. D., MRPSO: MapReduce Particle Swarm Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference Poster Session (GECCO 2007), London, England
- Monson, C. K., No Free Lunch, Bayesian Inference, and Utility: A Decision-Theoretic Approach to Optimization, Ph.D. Dissertation, Brigham Young University Department of Computer Science, 2006
- Monson, C. K. and Seppi, K. D., Adaptive Diversity in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2006), Seattle, Washington, 2006
- Mullen, P. B., Monson, C. K, and Seppi, K. D., Particle Swarm Optimization in Dynamic Pricing, In Proceedings of the Congress on Evolutionary Computation (CEC 2006), Vancouver, B.C., 2006
- Monson, C. K. and Seppi, K. D., Linear Equality Constraints and Homomorphous Mappings in PSO, In Proceedings of the Congress on Evolutionary Computation (CEC 2005), Edinburgh, U.K., 2005
- Monson, C. K., Seppi, K. D., Exposing Origin-Seeking Bias in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2005) (to appear), Washington, D. C., 2005
- Monson, C. K., Seppi, K. D., Bayesian Optimization Models for Particle Swarms, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2005) (to appear), Washington, D. C., 2005
- Monson, C. K. and Seppi, K. D., Improving on the Kalman Swarm: Extracting Its Essential Characteristics, In Late Breaking Papers of the Genetic and Evolutionary Computation Conference (GECCO 2004), Seattle, Washington, 2004
- Monson, C. K. and Seppi, K. D., The Kalman Swarm: A New Approach to Particle Motion in Swarm Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2004), Seattle, Washington, pp. 140-150, 2004
- Monson, C. K., Wingate, D., Seppi, K. D., and Peterson, T. S., Variable Resolution Discretization in the Joint Space, In Proceedings of the International Conference on Machine Learning and Applications (ICMLA 2004), Louisville, Kentucky, 2004
- Monson, C. K., Reinforcement Learning in the Joint Space: Value Iteration in Worlds with Continuous States and Actions, Master's Thesis, Brigham Young University Department of Computer Science, 2003
|
Patents |
- Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Intrusive Software Management, (US 8,515,896), Filed October 2007
- Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Detecting an Intrusive Landing Page, (US 8,019,700), Filed October 2007
- Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Intrusive Feature Classification Model, (US 7,991,710), Filed March 2008
|
Open Source Projects |
|
Work Experience |
Engineer and Engineering Manager
- March 2024 - Present
- Meta
- Remote, MD
- Engineering Manager in ads experiments / AB Test.
- June 2023 - March 2024
- Meta
- Remote MD
- Senior Machine Learning Engineer in ads experiments / AB Test..
- August 2022 - June 2023
- Meta
- Remote MD
- Engineering Manager in Reality Labs (AR).
- April 2021 - July 2022
- Meta
- Remote MD
- Senior Software Engineer, Tech Lead in "Privacy: External Data Misuse" team.
CTO
- March 2018 - April 2021
- Data Machines Corp.
- Ashburn, VA; Baltimore, MD
- Primary Investigator and Chief Architect for DARPA MediFor (Media Forensics) System and Integration
- Primary Investigator and Chief Architect for DARPA LogX (Next Generation Logistics) System and Integration
- Chief Architect for NXGBCC (US Army Next-Generation Biometrics Collection and Search)
- SRE Founder and Oversight Board member
- Company-wide technical leadership for multiple additional contracts
Cloud Computing Security Lecturer
- August 2018 - Present
- Johns Hopkins Information Security Institute
- Baltimore, MD
- Create and teach curriculum for Cloud Computing Security course
Senior Software Engineer
- March 2014 - March 2018
- Google, Inc.
- Washington, D.C.; New York City, NY; Baltimore, MD
- Area 120 Project involving TTS and speech recognition (Chief Architect) (Aug 2017 - March 2018)
- Machine Learning for Hiring and People Operations (Tech Lead) (Mar 2015 - Aug 2017)
- Payments (in between projects: Jan 2015 - Mar 2015)
- Elections Search Results and Civic Now Cards (Mar 2014 - Jan 2015)
- Chrome iOS, 20% time (Jan 2015 - Mar 2015)
- Python readability reviewer
- Go readability reviewer, instructor
- Machine Learning instructor
- Various university recruiting and speaking engagements
Machine Learning Consultant
- Red Brain Labs (UT): Multi-day consulting on ML models and systems engineering.
Research Scientist
- January 2014 - March 2014
- Data Tactics Corporation
- McLean, VA
- Worked on the XData project, specifically Go Circuit (in Go, of course). Built filesystem-based (Fuse) networked concurrency primitives: create, mutex, channel, and select before heading back to Google.
Research Scientist
- February 2013 - December 2013
- Harbor Labs, LLC.
- Owings Mills, MD
- Technical expert report drafting, patent non-infringement and invalidity.
- Prior art research and report drafting.
- Code review and evidence collection for patent infringement and non-infringement experts.
- System design and practice review for content owners.
- Ongoing research on Bayesian methods for image understanding and particle swarm optimization.
Senior Software Engineer
- May 2006 - February 2013
- Google, Inc.
- Mountain View, CA; Pittsburgh, PA; Zürich, Switzerland
- Enormous-scale machine learning for ads click prediction
- AdSense for Search Tech Lead - team of 8 engineers
- Made modeling improvements with direct and substantial impact on revenue.
- Made the "Top 10 Accomplishments at Google" list for Q1 2010
- AdSense for Content - Predictions
- Regional Maps Data work - Tech Lead at Zürich office.
- Site Reliability Engineer in Ads Predictions ("root@google")
- Search Quality Projects - received an Executive Management Group award.
- Gears-based YouTube uploader
- Teaching and speaking engagements:
- Invited talk at Rice University on Bayesian optimization models
- Guest lecturer at the University of Pittsburgh (Google technologies)
- Internal Python Training (instructor)
- CMU 15-505: Internet Search Technologies (instructor)
- BYU "Why Graduate School?" talk (invited speaker two consecutive years)
- Volunteer Python readability reviewer - keeping the codebase clean
Engineering Intern
- May 2005 - September 2005
- Google, Inc.
- Mountain View, CA
- Statistical machine translation - received an Operating Committee award.
Graduate Instructor
- January 2005 - May 2005
- Brigham Young University
- Provo, UT
- Graduate-level Artificial Intelligence class. Completely overhauled curriculum, wrote new assignments, labs, and tests, and did all of the TA stuff, too, since I didn't have a TA. One of the most enjoyable things I have ever done. Got excellent reviews.
Teaching Assistant
- January 2002 - January 2005
- Brigham Young University
- Provo, UT
- Freshman introductory CS course. Held (insane but amazing) office hours, gave lectures, graded work, etc. TA stuff.
- Second-year data structures course. Rewrote entire curriculum, including lectures, assignments, and tests during off hours, when not doing standard TA stuff. New changes officially adopted and integrated.
- Graduate-level Bayesian Statistics for Machine Learning course. Standard TA stuff, plus developing curriculum and creating tests and assignments.
Adjunct Professor of Computer Science
- August 2001 - December 2001
- Utah Valley State College (now UVU)
- Provo, UT
- Taught discrete mathematics for CS students. Developed and delivered curriculum and lectures, wrote and administered tests, graded papers and programming labs, held office hours, basically did everything and loved all of it. The students did, too, and gave me glowing reviews. I was proud.
Chief Architect and Software Engineer
- 2000 - 2002
- Orangatango.com
- Provo, UT
- Migrated entire code base to a single-machine development environment, allowing for development in a sandboxed environment using CVS./li>
- Designed and implemented high-performance template engine for Perl (HTML::CMTemplate) and Python (CMTemplate.py), used for all content in product.
- Virtualized all data access, built implementations in Oracle, PostgreSQL, and XMLRPC.
- Rearchitected to scale up using geographically distributed nodes.
- Developed several management applications in Perl.
- Co-designed and implemented Bayesian content filtering system as an Apache 2.0 module.
CTO and Software Engineer
- 2000
- PageLaunch.com, inc.
- Provo, UT
- Designed and implemented a free hosting architecture using PHP, Python, MySQL, QMail, and Apache 1.3 on Linux. The system included bandwidth and space-limiting features, a custom file manager, and administrative tools for the clients as well as the system administrator. The system was load-balanced and scalable in space, CPU, and bandwidth requirements using cheap Intel hardware and free software.
- Developed an easy roll-out code structure to allow for updates of production servers with minimal service interruption.
- Managed the technology team, including 4 developers, 1 network administrator, and 1 HTML designer. Assigned tasks and followed up on completion of various tools and web pages.
- Set up and maintained a Bugzilla bug database.
- Set up and maintained a CVS repository. Created a web interface for CVS updates on the test server.
Software and Systems Consultant
- 2000
- Linux2Order.com
- Provo, UT
- Assisted in moving web services to Apache on Linux from IIS on WinNT.
- Assisted in the configuration of a backend Oracle database.
- Assisted in the administration of an Apache Web Server with SSL.
- Trained programmers on the use of CGI to create dynamic archives for immediate download.
Software Consultant
- 1996 - 2000 (Evening Job)
- Aptex Video
- Provo, UT
- Wrote and maintained custom test and initialization (over RS-232) software used to drive analog LCD flat video screens using Delphi, C++ Builder, and limited x86 assembly.
- Wrote and maintained a hardware licensing web site. Wrote code to perform secure communication over HTTP without the use of SSL. Wrote tools for administration of the license database over HTTP using Perl and MySQL.
Software Engineer
- 1999 - 2000
- Campus Pipeline
- Salt Lake City, UT
- Lead Engineer of small Intranet Web Development Team.
- Designed and developed intranet applications in Perl, SQL (Oracle), HTML, JavaScript, and Java.
Software Engineer
- 1997 - 1999
- Access Data
- Provo, UT
- Developed and maintained Password Recovery Toolkit version 4.x for Windows using C++ Builder.
- Assisted in development of Version 5.x using Visual C++.
- Developed system models for clean plug-in integration and maintenance.
- Developed compiled code obfuscation and licensing for product protection.
|
Skills and Experience |
Deposition and Trial Expertise
- Deposed as fact witness, April 2019
- Fact Witness in trial, December 2019
Programming, Web, and Databases
- Go, Java, Python 2 & 3, Bash, JavaScript, TypeScript, Dart, SQL, Hack (current)
- C, C++, HTML5, CSS, AngularJS, Angular2, Flutter (experienced)
- Perl, Make (experienced but rusty)
- PHP 3 & 4, Delphi (quite rusty but not overly concerned)
- Haskell, Racket/Scheme, Clojure (varying levels of familiarity)
Other Experience
- Google: MapReduce, Flume (Data Flow), Dremel (BigQuery), Borg, GFS/CNS (Cloud Storage), BigTable, Spanner, Chubby (Paxos)
- Protobuf, gRPC, Google AppEngine, GCE, Cloud Functions, Actions on Google, DialogFlow (API.AI)
- Kubernetes, Docker Swarm, Ceph
- HTTP, RESTful Services, mTLS
|