Presented by:

Devin Jean

from Vanderbilt University

Devin graduated from Middle Tennessee State University in 2020, majoring in math and computer science. Aiming for a PhD in computer science, he applied for graduate school and was accepted into Vanderbilt’s PhD program. Devin has always loved academia and wants to eventually become a professor to share knowledge of both computer science and math---and especially their interactions---with new generations. At Vanderbilt, Devin works as a research assistant, and has the opportunity to explore another area of interest: developing educational software.

When making distributed projects with NetsBlox (a fork of Snap which adds networking features), such as a multi-computer orchestra or animation with each computer playing different parts, we sometimes need a way to synchronize all the projects in time. With a small number of computers in close proximity, it is tempting to invite a friend and manually do a countdown before pressing all the green flag buttons. However, even this has too high of variance for the millisecond-precision needed for many time-sensitive tasks. Because of this, we have created a new extension for NetsBlox that allows users to get the time difference between your computer and the NetsBlox server. This gives all NetsBlox projects a single ground truth for the current time, allowing for high-precision synchronized scheduling. For instance, one primary project could get the NetsBlox server’s time, add 3 seconds, and send that start time to all the other projects. The other projects then simply wait until that server time before continuing with the rest of their code. This allows users to have high-precision multi-computer time synchronization over the internet, all with only two new blocks (one to calculate the clock difference and another to predict the server time using the pre-computed difference).


5 min
Auditorium (Online)
Snap!Con 2023
Lightning Talk
Presented via: