Chris Lomont

Chris Lomont, PhD

Principal Research Engineer & Inventor

Objective

To lead or collaborate with teams developing advanced technology projects including machine learning, robotics, computer security, scientific computing, rendering and visualization, network research, algorithm development, quantum computation, or anything else sufficiently fascinating. Prefer to work at the boundary of research and products, using small teams to convert suitable cutting edge research to products.

Security Clearance: Secret (Active spring 2022)

Work Experience

Senior Research Engineer at Cybernet Systems, LLC, Ann Arbor, MI

Oct 2019 - Present

  • Principal Investigator on a wide range of topics including
    • Machine learning, scientific mechine learning, applied to a wide range of problems
    • High performance computing, GPU and CUDA development
    • Advanced algorithms (compression, alternative architectures, resource for any problems on any teams at Cybernet)
    • 3D scanning, reconstruction, SLAM, structure from motion
    • Computer security (hardware and software issues)
  • Tasked with developing machine learning area of expertise for Cybernet Systems
  • Writes and wins proposals for a wide range of research projects
  • Technology used
    • Software: C/C++, CUDA, Julia, Python, C# and WPF/MVVM, F#, Mathematica
    • Platforms: PC (Windows/Linux), NVidia Jetson, ESP32
    • Algorithms: wide range of machine learning areas, custom compression, 3D localization and reconstruction
  • Recent projects (and methods):
    • 3D reconstruction from RGBD images on a handheld scanner based on an NVidia Jetson (SLAM, surfel fusion).
    • Library and version detection in compiled code (C++, C#, Java) to trace security needs (data fusion).
    • Firearm make and model detection in video (Deep Learning, custom training data generation and augmentation)
    • Deep learning to improve path reconstruction from inertial measurement units (IMUs) for GPS-denied areas.
    • Deep learning for gesture recognition for augmented reality mobile command centers.
    • Deep learning for high performance touchless fingerprint matching to legacy databases on mobile devices
  • Runs weekly seminar on programming issues for Cybernet and other companies, have focused on machine learning for the past few years

Consultant for eVN USA

Aug 2018 - Dec 2018

  • Replaced their offline image compositing tool with a cloud based tool
    • Composites hundreds to thousands of OpenEXR images into a final product image
    • Replaces Nuke from The Foundry as a compositing tool, custom parser to read their scripts
    • Allows rapid cloud rendering and integration with company workflow
    • Custom high-performance C++ parallelized rendering architecture
  • Technology used
    • Software: C/C++, OpenEXR image development
    • Platforms: PC, Azure
    • Algorithms: high-precision, high-performance image compositing

Senior Principal Engineer at Logikos, Fort Wayne, IN

Nov 2017 - Oct 2019

  • Developed product for large headphone and speaker company to compute audio raycasting in venues to predict good speaker design and layout.
    • Created custom 3D rendering engine to support audio rendering and UI needs
    • Created temporary high-fidelty audio path tracing engine to support trade shows during develoment
  • Technology used
    • Software: C/C++, Assembler, C# and WPF/MVVM, F#, Mathematica, ~400K lines
    • Platforms: PC,OSX, Qt
    • Algorithms: audio path modeling, image filtering, high-performance rendering
  • Helped pitch new ideas to other companies for new products and contracts.
  • Ran weekly programming seminar to spread knowledge among engineering staff
  • Gave frequent brownbag seminars on upcoming technologies

Owner at Hypnocube, LLC, Ann Arbor, MI

Summer 2005 - Present

  • Cofounder of Hypnocube, LLC (www.hypnocube.com), with Gene Foulk, in 2005
  • End to end product design and development, resulting in retail channel products
  • Specialization in integration of embedded electronics with custom software to produce art
  • Sold ~$1.5M of product as of spring 2017
  • Commercial products we developed include
    • The Hypnocube, a 3D lattice of true color LEDs for entertainment and scientific visualizations
    • The Hypnosquare, a 2D version
    • The HypnoLight, a remote controlled string light for many purposes
    • The HypnoLSD, a driver board for creating large scale art and lighting projects
  • Technology used
    • Software: C/C++, Assembler, C# and WPF/MVVM, F#, Mathematica, ~400K lines
    • Platforms: PIC, Atmel, Gumstix, Beagleboard, ESP32, WS2812, FreeRTOS, Linux, others
    • Algorithms: specialized compression, auto-color theme matching, audio analysis
  • Custom design for clients under NDA, including Intel and Mathematica, makers of Mathematica
  • Multiple art projects

Principal Investigator at Cybernet Systems, LLC, Ann Arbor, MI

May 2003 – April 2013

  • Authored, won, and executed/lead many Phase I and Phase II SBIRs, totalling ~$4M in award value
  • Principal Investigator on many projects (most in C++ or C#/WPF/MVVM), including
    • Image processing using quantum computation; C++
    • Hardware assisted rootkit detection and prevention via bus monitoring OS structures; FPGA, PCIe
    • Wavelet based image compression for NASA satellite imagery; C
    • Automated software verification for security; C#/WPF/MVVM
    • Network security innovations, such as IPv6 port hopping protocols; C, Linux
    • Preventing hardware attack vectors, such as a USB firewall to prevent USB attacks; USB, C, Linux
    • Virtual machine research, such as using VM deltas to track malware; C#/WPF
    • Creating radio frequency models for low cost radio verification; C#/WPF
    • Ad-hoc networking protocols; C, Linux
    • Realtime Constructive Solid Geometry (CSG) raytracer for missile defense applications; C++
    • Developed models for mitigating explosive RPG attacks on convoys; Mathematica
    • Developing algorithms for robot self-locationand mapping (SLAM); C++
  • Lead programming seminars to transfer skills from senior to junior developers
  • Numerous internal and external talks on various topics in software development, security, math, physics

Consultant at Waterfield, Ft. Wayne, IN

Apr 2001 – May 2001

  • Used Mathematica to demostrate existance of better tranch pricing algorithm; mathematical modeling
  • Proved optimal solution NP-hard, thus non-feasible; theory
  • Developed mortgage bundling algorithm using simulated annealing & random walks; algorithm devleopment
  • Developed and integrated a program implementing the algorithm; C++

Teaching Assistant at Purdue, West Lafayette, IN

Aug 1996 – May 2003

  • Won excellence in teaching award in 2001, selected by students and faculty
  • Taught courses: all levels of undergrad math, graduate economics, numerical algorithms

Lead Programmer at PHD, Ft. Wayne, IN

Feb 1995 – Nov 2000

  • Lead a team implementing 6 large software systems and many smaller tools; WinNT, Win95, Manage
  • NURBS based parametric geometric modeling tools, with full trim curve and CSG support; C,C++
  • Created rendering tools for robotic part selection and manipulation; C,C++, OpenGL
  • Wrote a cross compiler to convert an old language to C/C++ easing future development; Python
  • Taught advanced C++ to company developers: teaching
  • Resulting tools distributed on CD-ROM to engineers, shortening part generation time
  • Shipped over 300,000 copies in 8 releases

Consultant at Sunstorm, Indianapolis, IN

Oct 1997 – May 1998

  • Developed NURBS code, high-performance surface tessellation, and rendering algorithms; C,C++

Consultant at Inland Productions, Chicago, IL

Jun 1997 – Jul 1998

  • Implemented DirectPlay network code; C/C++
  • Modeled flight paths, obtaining pleasing pitch and yaw flight parameters from parametric curves; Mathematica 3.0
  • Implemented subdivision surface algorithms for use in realtime gaming; C/C++
  • Other miscellaneous coding tasks

Teaching Assistant at IPFW, Ft. Wayne, IN

Aug 1995 – May 1996

  • Taught mathematics courses for IPFW while finishing masters degree in mathematics

Consultant at Studio E, Chicago, IL

June 1995 – Feb 1996

  • Created 20,000 line modeling tool for 3D game development; Sony Playstation, SEGA Saturn, C,C++, WinNT, Win95
  • Tool allowed real-time modeling, Gourad shaded texturing, light placement, DXF import

Consultant at Pulse, Ft. Wayne, IN

Nov 1994 – March 1995

  • Developed program tracking investment firm financial data, did standard and customer portfolio formatting; C

Lead Programmer at Black Pearl Software, Chicago IL

Oct 1993 – Nov 1994

  • Designed and coded SEGA video game, 75,000 lines; 68000 assembler
  • Managed tool programmer and art assets
  • Wrote tools for DOS and Windows; C, C++
  • Developed image processing pipeline, physics based modeling tools
  • Developed music, AI, real-time control, compression, and other systems

Consultant at Betz Systems, ID

Oct 1993 – Feb 1994

  • Developed oil well data acquisition, management, and visualization system; C++, Win 3.1

Lead Programmer at DataLogics, Chicago IL

Oct 1992 – Aug 1993

  • Worked on SGML (document structure language like HTML) parser; C, OS/2, DOS, Win 3.1
  • Formally taught C to group, answering questions about our product internals; C
  • Ported 16-bit, 100,0000 line OS/2 SGML editor to 32-bit Windows NT using the Microsoft SDK;C
  • Rewrote DDE code, PM GUI interface, and a multithreaded application handler;C
  • Wrote graphics launch and viewer for OS/2
  • Worked on SGML import/export code for FrameBuilder under X-Windows on a SPARCstation
  • Developed tools for group as needed

Systems Analyst at Sears, Chicago, IL

Jan 1992 – Oct 1992

  • Worked on team to develop a Promotional Marketing System; C, OS/2, Easel
  • Designed and coded a networked time management system; C++
  • Used DDE to link Lotus to Easel
  • Used TSO and various mainframe to PC connections

Skills

Languages and tooling

  • Mathematica 30 years
  • C/C++ 25+ years
  • C# 12 years
  • WPF/MVVM 10 years
  • F# 5 years
  • x86 assembly 20 years
  • x64 assembly 10 years
  • PIC/MIPS assembly 10 years
  • Python 7 years
  • JavaScript 4 years
  • Go lang 1 year
  • Misc other:
    • Visual Basic, Smalltalk, LISP, COBOL, Basic, Snobol4, Prolog, Pascal, more
    • 6502, 6809, Z80, 6800, 68000, Xtensa, ARM, more
  • MSVC 1.0 to VS2022, 25+ years
  • OpenGL 20+ years
  • Win32 SDK 15 years
  • Modern OpenGL 2+ years
  • DirectX 3+ years
  • Win32 DDK 2+ years

Systems and protocols

  • Windows 25 years, Windows 3.1 through Windows 11
  • Linux, many flavors, 10 years
  • PIC, all types, 10 years
  • (X)HTML, CSS 15 years
  • PHP, Apache 3 years
  • Amazon Web Services, Azure 2 years
  • Android 2 years
  • Xamarin 1 year
  • Embedded platforms 10 years:
    • PIC, Gumstix, Atmel, ESP32, Beagleboard, some FPGA, more
  • Hardware protocols ~5 ~10 years
    • I2C, SPI, DMA, ADC, others
  • Networking protcols 10 years
    • IPv4, IPv6, TCP/IP, UDP, others
  • DOS 10 years
  • OS/2 2.0 and 2.1 3 years
  • SEGA arcade platform 1 year
  • FPGA, 2 years
  • WiFi development 2 years
  • VAX, VMS, MVS, TSO
  • X-Windows for Sun Workstations

Education

Ph.D., Mathematics, Purdue University, W. Lafayette, IN

Fall 1996 - May 2003

  • Dissertation: "Error Correcting Codes on Algebraic Surfaces".
  • Worked in algebraic geometry, coding theory, cryptography, quantum computing
  • Did about half of the coursework for a M.S. in Computer Science, some graduate physics courses

M. S., Mathematics, Indiana-Purdue at Fort Wayne.

Jan 1995 - May 1996

3.6/4.0 GPA

Triple B. S. in Physics, Math, and Computer Science, ORU, Tulsa, OK

Aug 1987 - May 1991

Graduated with honors, 3.5/4.0, top math and top physics student

South Side High School, Ft. Wayne, IN

Graduated 1987 with high honors (#6 out of ~400), top SAT score in school, top math student all four years

Patents (pending and granted)

  • 8806619 System and methods for detecting software vulnerabilities and malicious code
  • 8646082 USB firewall apparatus and method
  • US 20110314331 A1 Automated test and repair method and apparatus applicable to complex, distributed systems
  • US 20080216176 A1 Hardware-assisted rootkit blocker for networked computers

Publications

Awards and recognition

  • Won departmental teaching award for Excellence in teaching, 2000, Purdue University
  • Awarded both VIGRE fellowship (2000-2001) and Purdue Research Fellowship while in PhD program
  • First Place State competition in Academic All Around 1987, 3rd place in Science
  • Top Math student all four years of High School and all four years of college
  • ACM College Computer Programming team 1990–1991
  • Graduated top Physics and top Math student in undergrad
  • Top Scorer Nationwide Putnam Math Competition for Oklahoma\Arkansas section 1991
  • Presented Paper on unsolved problems to the American Math Association 1989

Personal

  • Excellent people and leadership skills
    • Asked to be on various employee/management comittees at last few work places
    • Lead programming teams and workshops at many work places
    • Selected to mentor programmers at many work places
    • Elected Graduate Student Representative almost every year of graduate school
    • Selected to lead a missionary team overseas after undergrad
    • Led sales team during college summers
    • Held numerous leadership positions in high school
  • Have written ~1,000,000 lines of C, C++, assembler, C#, other languages for personal use over 35 years
    • AI: natural language processing, genetic algorithms, neural nets
    • Security and cryptographic algorithms: my AES implementation is widely used
    • Graphics: reading/writing images, 3D formats, color reduction, NURB libraries, color space tools
    • Compression: have designed many compression formats for specialized uses
    • Modeling: mesh manipulation, 3D modeling, mesh compression, sprite compression
    • Languages: designed and implemted several languages, compilers, and IDEs
    • Assemblers/disassemblers: 6809, x86/x64, more
    • Algorithms: tree and graph searching, did 300+ Project Euler problems
    • PRNGs: my code and article for random numbers are widely used.
    • Audio: many algorithms including beat detection and prediction. My FFT code and article are widely used
  • Programming since 6th grade (TRS-80 BASIC and assembler back then..)
  • Learns quickly – IQ tested at over 150

References available upon request