Scott Lystig Fritchie 5401 - 10th Ave S Minneapolis, MN 55417 USA slfritchie@gmail.com Education ========= B.A. in mathematics with concentration (with departmental distinction) in computer science, St. Olaf College, Northfield, MN, 5/90. Work Experience =============== * Software Engineer/Architect 4/20 - present * BlockFi, Inc. * Jersey City, NJ Support BlockFi's retail backend applications and their decomposition to smaller services, specializing in relational database resource management, observability instrumentation, and production system behavior analysis. Wrote BlockFi's first transaction analysis tool to target both Bitcoin and Ethereum blockchains plus ERC-20 tokens. Review and shepherd internal RFC (request for comment) design proposals. * Senior Software Engineer 9/17 - 3/20 * Wallaroo Labs * New York, NY Core developer of the Wallaroo distributed data streaming framework. Extended and supported Wallaroo's distributed communication overlay and interfaces with Python language extensions. Supported the Pony language and runtime library as a Pony core committer. Wrote high-volume Wallaroo applications for advertising auction firms. Wrote technical blog articles to introduce and explain new Wallaroo application features and internal implementation. * Senior Staff Engineer * VMware * Cambridge, MA 5/16 - 8/17 Member of the VMware Research Group (VRG), bridging the gap between research prototypes and stable production software; core committer of CorfuDB, a distributed object store built on a shared log (open source at https://github.com/CorfuDB/CorfuDB). Supported integration of CorfuDB with VMware's flagship NSX network security virtualization platform. Served on review committee for the VMware annual internal tech conference, RADIO 2017. * Senior Software Developer * Basho Technologies, Inc. and Basho Japan KK * Bellevue, WA 6/10 - 4/16 Designer and lead developer of Machi, a distributed file store supporting flexible consistency semantics and of Humming Consensus, a protocol for self-managing Chain Replication systems. Formerly on teams responsible for maintenance of Basho's flagship product, Riak, as well as designing and developing new features and applications, including Riak CS and the Bitcask local data store. Developed extensive experience with property-based software testing using QuickCheck. Provided 24/7 product support when required, including diagnosing system configuration and performance problems. Co-developed DTrace probe annotations for the Erlang virtual machine. Liaison to the Erlang open source software community and the academic & industry communities via the ACM Erlang Workshop steering committee. * Senior Software Engineer * Gemini Mobile Technologies, Inc. * San Mateo, CA 10/03 - 6/10 Storage specialist for all of Gemini's messaging and online virtual community products. Designed, implemented, and tested Hibari, a distributed key-value database with strong consistency semantics, micro transactions, and on-the-fly resizing under extreme update-intensive workloads. Designed and implemented the storage layer for a multi-million user Webmail system. Lead engineer for Gemini's IMAP server product, twice redesigning & implementing disk data structure changes for higher throughput and tighter integration with Gemini's Multi-Media Messaging Center (MMSC) system. Tested, diagnosed, and fixed performance bottlenecks for end-to-end message flows in large MMSC clusters. Wrote multi-protocol PDU generator tools for functional and high-stress load testing. Introduced stochastic software testing techniques to Gemini's portfolio. Implemented an SNMP statistics and trap aggregator (with custom MIB) with full support for SNMP v1, v2c, and v3. Provided pre-sales engineering support for mobile carriers in Asia and the Americas. Reviewed and edited Gemini's customer-facing documentation. * Member of Technical Staff * Caspian Networks, Inc. * Bloomington, MN 7/01 - 3/03 Software engineer on Caspian's technical staff, specializing in routing protocol policy. Re-implemented Caspian's protocol policy engine. Devel- oped a low-latency IPC mechanism to replace key CORBA interfaces. Analyzed and fixed routing protocol performance problems at the application, inter- component communication, and kernel driver levels. Created a compiler farm using "scons", "distcc", and a custom TCP load balancer to cut compilation time of a 3+ million line code base by two-thirds. * Senior Software Engineer * Sendmail, Inc. * Emeryville, CA 1/99 - 5/01 Member of 5-person design and implementation team for an extremely-high volume, highly available messaging server, supporting SMTP, POP, IMAP, and HTTP-based message transfer. Extensively researched redundant data storage techniques, concurrent programming techniques in C and Erlang, database transaction systems, and the Erlang virtual machine. Co-wrote a C library to emulate the UNIX file I/O and process management APIs and a user-space NFS implementation. Wrote an ODBC implementation of a large subset of the Sleepycat DB C API and a UNIX domain socket device driver for the Erlang virtual machine. * Principal Engineer * High Speed Access Corporation (HSA Corp) * Louisville, KY 6/98 - 10/98 Designed and built back-end systems for nationwide cable television-based ISPs (email, Web, DNS, authentication, et al.) with emphasis on system security, scalability, availability, and easy remote administration. Worked with principal engineer team on network monitoring, network design and capacity planning, and POP design. * Senior Systems Administrator / Senior Design Engineer * MRNet, a MEANS Telcom subsidiary * Minneapolis, MN 7/97 - 6/98 Worked with Technology & Planning group for providing IP network capacity planning, budgeting, utilization analysis, new product evaluation, space utilization, and cabling management support. Oversaw UNIX and NT systems administration projects and integration of MRNet and MEANS Internet computer systems. Assisted with daily systems administration tasks as necessary. * UNIX System Administrator / Network Engineer * Minnesota Regional Network/MRNet Internet Services * Minneapolis, MN 12/95 - 7/97 Installed, configured, and maintained UNIX machines for World-Wide Web, e-mail, Usenet News, DNS, and other services as well as MRNet desktop workstations. Increased scalability of existing Internet-based services; designed and implemented new services. Provided on-site and telephone technical support and consulting to MRNet members and subscribers. Proposed and implemented security mechanisms for MRNet workstations and servers. Proposed and implemented data integrity, backup, and disaster recovery plans. Gave presentations at MRNet Technical Roundtables and training seminars. * Network Engineer * SSDS, Inc. * Englewood, CO 9/95 - 12/95 Provided UNIX systems administration and network security consulting services for the Minneapolis office. Projects: wide-area e-mail for a sporting good manufacturer and retailer, host-based security improvement for a banking operations center, and non-classified network security evaluation for a U.S. Air Force base. * UNIX Systems Manager * Academic Computing Center, St. Olaf College * Northfield, MN 9/91 - 9/95 Managed UNIX systems in a network of UNIX, Macintosh, and IBM-PC workstations and servers. Monitored server resources and network load balancing. Selected, trained, and supervised staff of 4-6 students. Ported software and wrote custom system and application programs as needed. Coordinated data backup, security audits, and break-in investigations. Maintained World-Wide Web and Gopher servers. Co-ordinated Mac/UNIX and PC/UNIX integration efforts. Presented workshops and training seminars. * Programmer II and Team Librarian * First Data Resources/Integrated Marketing Services, American Express * Omaha, NE 7/90 - 8/91 Wrote new and maintained existing IBM-PC applications in C for U.S. Postal Service CD-ROM address standardization/ZIP+4 matching project. Librarian responsibilities included control of monthly CD-ROM release cycle, comprehensive product testing and test script support, and management of production source code. Papers and Posters ================== S. Aronis, S. Fritchie, K. Sagonas. "Testing and Verifying Chain Repair Methods for CORFU Using Stateless Model Checking". In proceedings of the International Conference on Integrated Formal Methods (IFM), Turin, Italy, September, 2017. S. Fritchie. "Coordinating Distributed System Configuration Changes with Humming Consensus." In Proceedings of the 2nd Workshop on the Principles and Practice of Consistency for Distributed Data (PaPoC '16), London, UK, April 2016. S. Fritchie. Poster: "Faulterl: Precise Fault Injection for the Erlang VM, NIFs and Linked-in Drivers." In Proceedings of the ACM SIGPLAN Erlang Workshop, Gothenburg, Sweden, September 2014. S. Fritchie. "Chain Replication in Theory and in Practice." In Proceedings of the ACM SIGPLAN Erlang Workshop, Baltimore, MD, USA, September, 2010. S. Fritchie. "A Study of Erlang ETS Table Implementations and Performance." In Proceedings of the ACM SIGPLAN Erlang Workshop, Uppsala, Sweden, August, 2003. S. Fritchie. "The Evolution of Erlang Drivers and the Erlang Driver Tool- kit." In Proceedings of the ACM SIGPLAN Erlang Workshop, Pittsburgh, PA, October, 2002. S. Fritchie, J. Larson, N. Christenson, D. Jones, L. Ohman. "Sendmail Meets Erlang: Experiences Using Erlang for Email Applications." In Proceedings of the Sixth International Erlang/OTP User Conference, Stockholm, Sweden, October 2000. S. Fritchie. "The Cyclic News Filesystem: Getting INN To Do More With Less." In Proceedings of the USENIX Eleventh Systems Administration Conference (LISA '97), San Diego, CA, October 1997. User Group & Conference Presentations ===================================== In addition to the paper-oriented conference presentations for the publications above: "The Wide World of Almost-Actors: Comparing the Pony Language to BEAM Languages", Code Sync Stockholm, 2019. "Wide World of Actors: Comparing the Pony Language to Erlang", Code BEAM San Francisco, 2018. "Managing Chain Replication Metadata with Humming Consensus", Ricon, November, 2015. "Actively Measuring And Profiling Erlang Code", Erlang Factory San Francisco, March, 2015. "DTrace and Erlang: a new beginning", dtrace.conf 2012, San Francisco, April, 2012. "DTrace and Erlang: a new beginning", Erlang User Conference, Stockholm, Sweden, October, 2011. "Usually Received, Maybe Late, or Sometimes Dropped: testing network protocols in harsh environments", Erlang Factory London, June, 2011. "A Tour of Basho's Source at GitHub", sponsored talk, Erlang Factory San Francisco, March, 2011. "Introduction to Riak & Ripple", Ruby Users of Minnesota, October, 2010. "Introduction to the Hibari Key-Value Store", Chicago Erlang Users's Group, August, 2010. "Webmail for Millions: powered by Erlang", with Joseph Wayne Norton. Erlang Factory San Francisco, March 2010. "Ruby and Erlang, Talking to Each Other", Ruby Users of Minnesota, March, 2008. "What's the Deal with Erlang? Introduction to Erlang for RUM", Ruby Users of Minnesota, November, 2007. Experience Summary ================== * Fluent: Elixir, Erlang, C, sh & csh scripting * Once fluent: Pony, Java, Python, Perl, Ruby, Tcl/Tk, Expect, C++, SQL, GNU ELisp, TeX, PostScript, Pascal, 680x0 assembly, BASIC, Scheme. * Over 30 years experience in systems programming on Linux, macOS, FreeBSD, and Solaris and systems administration (SAGE Level IV, Senior System Administrator). * Technical writing includes design overview and specifications, RFCs, and API specifications as well as end-user documentation, blog/newsletter articles, and peer-reviewed research papers (as both author & reviewer). Professional Associations ========================= * Workshop co-chair of the Erlang Workshop in Oxford, UK 2017, Nara, Japan 2016, and Baltimore, USA 2010 in affiliation with the ACM SIGPLAN International Conference on Functional Programming (ICFP). * Advisory committee member, ACM Erlang Workshop, 2010-2014 and 2018-2019. * Program committee member, ACM Erlang Workshop, 2011-2012 and 2018-2019. References ========== Available upon request.