Full Stack and Mobile Developer
- iAppWriters, LLC, Orem, UT (CEO, November 2009-present)
- Activities: Write iOS and Android apps in German and English.
Skills: Swift, Obj-C, Java, Kotlin, C, I18n/L10n, OOD/OOP, Unity-3d
- Whipple Website (Webmaster/Programmer/Researcher, January 1997-present)
- Activities: Collect and input genealogical information. Design and implement front-end and mobile interfaces and backend scripts for whipple.org and genweb.whipple.org.
Skills: C, Perl, Python, Regex, Apache, Swish-e, ged2html, GEDCOM, HTML5, CSS, Bootstrap
- Bluehost, Orem/Provo, UT (Senior Software Engineer, October 2008-October 2012, April 2015-May 2018)
- Activities: Modify/patch MySQL for statistics and throttling. Write Apache modules and Spam Hammer greylisting daemon for Exim. Perl programming of Skynet/Freeside and HAL.
Skills: Linux, C, C++, Perl, Regex, Exim, Apache, PostgreSQL
- BetterLinux, Provo/Orem, UT (Senior Developer, October 2010-April 2015) [Bluehost spinoff]
- Activities: Full stack programming: Modify MySQL/MariaDB source code; write Apache modules; create cPanel backend hooks and web-based WHM plugins.
Skills: Linux, MySQL/MariaDB, cPanel, C, C++, Perl, HTML/CSS/YUI, Riak
- Perfect Search Corporation, Orem, UT (Senior Programming Engineer, July 2007-October 2008)
- Activities: Implement "nearness" operators including Soundex and Double Metaphone. Create web-based test, timing and verification tools.
- Lingotek, Provo, UT (Senior Software Engineer, January 2006-July 2007)
- Activities: Implement natural language converters to extract translation units to XLIFF, then reassemble original documents in translated languages.
Skills: Java, Regex, XML, SAX, PHP, LAMP, OOo, XLIFF
- NTT/Verio, Orem, UT (Software Dev Engineer III, September 2000-January 2006)
- Activities: Maintain PWeb server platform. Maintain/upgrade/configure Sendmail on FreeBSD/Solaris VPSes. Internationalize Apache and Qmail. Optimize web analytics.
Skills: C, C++, Java, Perl, Regex, Sendmail, Qmail, IMAP, Apache, FreeBSD, I18n/L10n
- WordPerfect/Novell, Orem/Provo, UT (Senior Developer/Software Engineer, August 1992-September 2000)
- Activities: Maintain and enhance WordPerfect for VM/370, AS/400, Windows. Create format filters for QuickFinder indexing. Write JNI interfaces between Java search APIs and C/C++ QuickFinder Engine.
- IBM, Rochester, MN (Staff Programmer, December 1983-July 1992)
- Activities: Program for AS/400, System/38, AIX, PC, Unix. Port The Integrated Reasoning Shell (TIRS) expert system to AS/400 from Unix.