<

Marc Sugiyama

Experienced Erlang engineer, consultant, and trainer

Marc Sugiyama is a software engineer at Datometry where he works on HyperQ an Adaptive Data Virtualization(TM) technology that enables enterprises to run their existing applications on modern cloud data warehouses, without rewriting or reconfiguring them. Prior to joining Datometry, Marc was a senior architect at Erlang Solutions, Inc., where his projects included developing an OpenFlow controller and sample applications for the IvanOS project, design and code reviews, and providing training at conferences and for clients. A Bay Area native, Marc has more than 30 years of software development experience and has worked on everything from testing frameworks at Sybase and Cisco to SMP relational database engines at Sybase, an MMO engine for Pixverse (a company he co-founded), and a large-scale real-time chat system for hi5 Networks. A published author, Marc wrote his first magazine articles and books while still in high school. Marc holds a BS in engineering and a masters of engineering from Harvey Mudd College. He currently serves on the College Preparatory School Advisory Council and the board of directors of the Heart Mountain Wyoming Foundation.

Upcoming conferences:

Marc Sugiyama
Code BEAM SF 2019

Server-side network protocol

Erlang's binary pattern matching and finite state machine behaviors make it easy to write network server protocol handlers. At Datometry, we added our own ODBC-driver and corresponding server-side protocol handler to allow our customers to replace ODBC drivers from their previous database vendor. We used Postgres v3 as a starting point. To better understand the protocol, we created a simple server using gen_statem. We'll cover the motivation for building our designing our own network protocol, and the design and implementation details of our prototype server.

OBJECTIVES

Demonstrate the power of binary pattern matching and using a finite state machine to track the protocol state, tying all of the pieces together into a server.

TARGET AUDIENCE

Server-side engineers, Network server developers.