<

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.

Past Activities

Marc Sugiyama / Niko Tsikoudis
Code BEAM America 2021
03 Nov 2021
11.15 - 11.55

When you have to make it faster

Our product, Hyper-Q, enables modern cloud data warehouses to emulate Teradata, aiding with the migration of on-premises solutions to the cloud. Hyper-Q translates existing applications' queries in real-time to run natively in the cloud and converts data received from the cloud into the format needed by the application.

We recently missed service level agreements with a customer because our product, Hyper-Q, added significant overhead to a data warehouse application. Through careful investigation, using profilers, continuous improvement, and focused engineering considering Erlang characteristics, we doubled our performance and improved system scalability. This talk describes the steps and techniques we used to understand where to focus our engineering efforts and beat our service level agreements.

Marc Sugiyama
Code BEAM SF 2020
05 Mar 2020
11.30 - 12.15

Coding for global languages: Unicode, charsets, strings and binaries

Writing global software means our programs need to speak global human languages, but writing programs that work correctly with non-Western European languages is at best a confusing affair. UTF8, latin1, Unicode?

What do these terms mean and how are they related to one another?

And what does Erlang do?

This talk demystifies the terminology around character encoding, explains how to retrofit your Erlang program for Unicode using Datometry HyperQ as a case study, and gives some best practices to help you break the one-byte/one-character assumption.

THIS TALK IN THREE WORDS

Unicode

Character encoding 

World languages

OBJECTIVES

Demystify character set encoding, unicode, and the related Erlang APIs.

TARGET AUDIENCE

Engineers developing software for global markets.

Marc Sugiyama
Code BEAM STO V
10 Sep 2020
18.25 - 19.05

Unicode, Charsets, Strings, and Binaries

TALK LEVEL: BEGINNER / INTERMEDIATE / ADVANCED

Writing global software means our programs need to speak global human languages, but writing programs that work correctly with non-Western European languages is at best a confusing affair. UTF8, latin1, Unicode?

What do these terms mean and how are they related to one another?

And what does Erlang do?

This talk demystifies the terminology around character encoding, explains how to retrofit your Erlang program for Unicode using Datometry HyperQ as a case study, and gives some best practices to help you break the one-byte/one-character assumption.

THIS TALK IN THREE WORDS

Character sets

Character encoding

Clarity

OBJECTIVES

  • Demystify terminology around character sets and character set encoding.
  • Provide best practices to avoid common pitfalls.

TARGET AUDIENCE

Erlang developers working on internationalised software.

Marc Sugiyama
Code BEAM SF 2019
28 Feb 2019
16.25 - 17.10

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.