1. Gregory N. Gillis, Ph.D. gillisgn@yahoo.com (801)-573-8989
Greg Gillis, Ph.D.
2375 West 13235 South Riverton, UT 84065
Summary: Ph.D in Mathematics with 18 years’ experience in providing software solutions. My work history is
split roughly 50-50 between general software and specialized work. Though I have low-level experience
(algorithms, assembly, embedded work and code optimizations), I also have general customer-facing software
experience including web work. I’m skilled in mathematical modeling and figuring-out tough problems – I’m pretty
tenacious. But, I can also code more general solutions to meet customer needs in a variety of languages. Adept at
planning and scheduling projects, managing people and resources, and presenting, writing and communicating ideas.
I am energetic and interested: I’m a data-wrangler; I love data, I love to learn and I love to code.
Products Developed – and some still in use
Vivint Platform: I contributed software to a multi-tiered service-oriented code body that is Vivint home platform
automation.
CE1000 / CE1500 / CodecSys / MultiCodec: a broadcast quality H.264 encoder/transcoder for commercial real-
time broadcast streaming, VOD, and digital signage. Video and image processing was part of this.
WaveT3: A low-bitrate wavelet-based video codec with scalability through an embedded bitstream. DSP and
Win32 implementations.
Object Tracker: A DSP and Windows software video surveillance tool that detects and tracks objects in video
sequences. Also, an accompanying administrator’s tool for creating rules, and alarms for when rules are violated.
People Counting: A .Net solution leveraging the Object Tracker that counts customers in retail stores and posts
counts to a database, with ASP data-mining and reporting features.
Sorenson Video: Designed and coded the chroma-keying module (shape coding) for Sorenson Video 3 (SV3), and
H.26L, and for MPEG-4. Developed watermarking features, multi-processor cross-platform support and other video
processing features.
Full Skills Tabulation
Computer Languages: C, C++, (15 years); C#, .Net, SQL, SSRS, SSIS, ASP (2 years);Python (3 years),
javascript and AngularJS (1 year), Graphite for graphing, MongoDB (2.5 years)
Assembly: TI (2yrs). x86 based: MMX through SSE4.2, (8 years)
Operating Systems: Windows (15 years), Linux (12 years), Mac (1 year)
Development IDE’s: MS Visual Studio (10 yrs), Intelli-J (2 years), Emacs (4 years)
Computer Algebra Systems: Matlab (15 years), Maple, Minitab, SAS (6 years)
Code Repositories: SourceSafe, CVS, SVN (10 years), Mercurial (4 years), Git (3 years)
Machining Equipment: Manual Mills & Lathes, CNC milling and turning centers (8 years)
Spoken Languages: Almost still fluent in Spanish.
Work History and Experience
Vivint, 7/2015 – 8/2016 Lehi, Utah
Senior Software Engineer
I worked on the Platform Team, as a contributor to a continuously-developed software Platform project with weekly
development, QA, build, and release cycles (Jenkins integration tool). Mostly worked on a web-tool used by
customer-care technicians to remotely resolve customers’ Platform problems. I contributed much new functionality
ranging from network connectivity and health problems to new web views showing historical data, to WiFi issues.
Regarding custom rules and notifications, I changed ALL of the corporate-to-customer grammar/language on the
Platform. All code was written in python, JavaScript, AngularJS and MongoDB. At this position I only provided
software solutions, no data analysis.
SanDisk/Western Digital, 5/2011 – 7/2015 Cottonwood Heights, Utah
Senior Staff Scientist
Determined functional mechanisms for calculating solid-state drive health – RBER and UBER. Developed an AI
mechanism for adjusting write-thru and cache bypass functions. Developed an in-memory cache
simulation/emulation tool, in C/C++, on Linux, for testing garbage collection, log, and cache algorithms, run on
VERY large block-level memory traces (custom and TPC), and I developed a workload analysis tool for analyzing
and indexing workload traces. Characterized performance acceleration for flash-based cache devices, and impact of
DRAM reduction offset by SSD – for memcached, MongoDB, SAP HANA, etc. Three peer-reviewed papers and
spoke at an NVMW Conference 2013. Co-patent holder on item #2 in “Patents” section below. I was used by other
departments for mathematics advice.
2. Gregory N. Gillis, Ph.D. gillisgn@yahoo.com (801)-573-8989
Broadcast International, 2/2008 – 5/2011 Midvale, Utah
Principal Video Codec Scientist
Responsible for technical and research aspects of creating and maintaining an H.264 encoder on Linux and
embedded on the IBM CBE. Responsible for preprocessing modules – de-interlacing, scaling, color conversion,
scene change detection, and noise reduction. Led a group of remote interns. Rewrote or otherwise altered the x.264
Rate Control engine to obtain better video quality, implemented closed-captioning support via demodulating from
VANC, contributed to the configuration tool that administrators use to manage the compression parameters – an
admin config tool. Participated in feature specification and planning, and used agile development practices to meet
release dates. Patent co-holder on CBE implementation of an H.264 encoder - #1 in “Patents” section below.
Datamark, 3/2006 – 2/2008 West Valley City, Utah
.Net Development Manager, Senior Software Engineer, DBA
Responsible for integrating disparate database systems (FOXPRO, ACCESS, MSSQL, MYSQL) and providing
operational database support to all internal departments. SSRS and SSIS for data warehousing and dash-boarding.
Managed the group of 8 .Net developers.
Verint Video Solutions, 1/2003-3/2006 Durango, CO
Senior Codec Engineer 5
Responsible for development/implementation relevant to video compression and object tracking for Win32 and
embedded on DSP. Worked on .Net and ASP data-mining and reporting applications using MSSQL and SSRS. Led
a group of overseas developers.
Designed and led development on WaveT3, a wavelet codec, both DSP and C++ implementations – used in
DVR surveillance video retention applications
Corrected, and contributed to the Object Tracker to extend segmentation options – multi-modal and multi-
variate. Added shadow suppression, highlighted background and glint suppression, gain compensation, and
de-noising filters. Designed people detection and counting with 3D tracking. Ported to DSP.
Micro Linear, 5/2001-10/2002 Draper, UT
Senior Staff Scientist
Responsible for R&D on signal processing algorithms for 802.11a OFDM and 802.11b DSSS wireless modems
(WiFi). Also responsible for regression testing and debugging of baseband logic relevant to integration with the RF
physical radio layer. Developed algorithms for modulation, DC offset pre-comp, I/Q balance, channel modeling and
also tested these in the RF lab.
Sorenson Media, 4/2000-5/2001 Logan, UT
Senior Technology Engineer
Responsible for researching and implementing various specialized codec features for feature-rich QuickTime video
codecs. Must mentions:
Added chroma-keying capability and shape coding, and other higher profile features to H.26L, and MPEG4
codecs
Visual watermarks for faded playback display
Added multi-processor support on SV3 after it was finalized – Win32 and Apple OS-10 platforms.
University of Utah, 2/2004 – 12/2014 Salt Lake City, Utah
Assistant Instructor, Mathematics Department at University of Utah
I used to be really jazzed about teaching; though I am qualified to teach higher-level courses, I mostly got statistics
and algebra assigned to me. Nonetheless I love being part of the student’s understanding opening up and having
those “a-ha!” moments.
Other relevant experience
Management: I led an overseas team while at Verint, and a remote team while at Broadcast International. I was
.Net development manager at Datamark (8 people). At Micro Linear I lead the integration of baseband modem and
radio - coordinating three development teams. I determined the test plan, test procedures, test parameters, and lab
resources.
Relationships: Often involved with professional services’ custom software solutions, like WaveT3 and the Object
Tracker, interfacing often with the customer. Also led numerous meetings to resolve problems, redirect efforts, and
discuss results garnered from validation efforts.
3. Gregory N. Gillis, Ph.D. gillisgn@yahoo.com (801)-573-8989
Teaching: Throughout undergrad, graduate, and postdoc positions I taught Mathematics and Computer
Programming classes and recitation periods. This includes the following: computer Algebra Systems for Physics
Experiments, FORTRAN for Scientific Computing, Introduction to C, baby Algebra through Modern Algebra and
Linear Algebra, Ordinary Differential Equations and Partial Differential Equations for math majors, ODE’s and
PDE’s for Engineers, first year Calculus through Real Analysis for undergrads and graduates, and medical and
business Statistics.
Education
Ph.D., Mathematics, 3.96, May 1998. The University of Arizona, Tucson, Arizona.
Complete with dissertation.
M.S., Mathematics, 3.96, December 1996. The University of Arizona, Tucson, Arizona.
Complete with thesis.
B.S., Mathematics, 3.90, Cum Laude, June 1993. The University of Utah, Salt Lake City, Utah.
Patents
1. Parallelization of high-performance video encoding on a single chip. Patent number: 8855191. Issued:
10/7/2014.
2. HEC: Improving Endurance of High Performance Flash-based Cache Devices, Patent Still Pending, now with
Western Digital. DOI: 10.1145/2485732.2485743
Papers authored or co-authored:
1. Gregory Gillis, et. al. Admission Polices for Solid State Cache Devices. NVMW 2013.
http://nvmw.ucsd.edu/2013/program. Monday, March 4.
2. Jingpei Yang, Ned Plasson, Greg Gillis, et. al. HEC: Improving Endurance for Flash-Based Cache Devices
https://systems.soe.ucsc.edu/sites/default/files/webform/yangjp_Symp_2013.pdf
3. Jingpei Yang, Ned Plasson, Greg Gillis, et. al. Don’t Stack Your Log On My Log. 2nd
Workshop on Interaction
of NVM/Flash Operating systems and Workloads. October 5th
, 2014. Broomfield, CO.
https://www.usenix.org/conference/inflow14/workshop-program/presentation/yang
Conferences spoken at:
NVMW 2013. Admission Polices for Solid State Cache Devices, Gregory Gillis et al. San Diego, CA,
Mar 4, 2013.
Supplemental Education
“Digital Signal Processing: Theory, Algorithms, and Implementation”. UCLA Extension Short Course. Taught by
Robert W. Stewart. July 2001.
“Communication Systems Using Digital Signal Processing”. UCLA Extension Short Course. Taught by Bernard
Sklar and fred harris (sic). November 2001.
“Adaptive Filters”. UCLA Extension Short Course. Taught by Ali H. Sayed. November 2002.
Professional Societies
Membership: IEEE, receiving several journals. Since 2000.
Conferences attended:
2nd
Workshop on Interaction of NVM/Flash Operating systems and Workloads 2014.
NVMW 2013, San Diego, CA
CVPR 2005 San Diego, CA
WACV/Motion/Pets 2005 in Breckenridge, CO
Data Compression Conference (DCC), 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 Snowbird,
Utah.
2003 MultiConference in CS and CE, Las Vegas, NV.
2001 National Association of Broadcasters Show (NAB), Las Vegas, NV.
References available upon request.