I am currently a software engineer at Google in Mountain View, California. I work with on a team responsible for detecting
and preventing payment fraud across Google. We use machine-learning algorithms to target an array of malicious activities,
including credit card fraud, identity theft, and account takeover.
My research interests are in the mathematical theory behind large real-world networks, including
social networks and the World Wide Web. As such, my interests span mathematical and algorithmic
problems in areas such as spectral graph theory, graph clustering, random walks and PageRank, and machine learning.
I received a B.S. in Computer Science from Cornell University in
May 2008. During my time there, I worked on several independent projects with John Hopcroft, exploring
topics such as spam detection, local graph clustering algorithms, and phase transitions in Boolean
A 20-step random walk on a social network of dolphins.
The same random walk, visualized using probability distributions.
The four above graph drawings show the power of using PageRank to cluster and draw graphs.
One good way to see if a node is well-represented by a cluster center is by comparing the personalized
PageRank vectors. If this PageRank distance is small, then the node is well-represented.
The cluster centers (green squares) are automatically determined, optimizing to minimize a weighted
sum of the PageRank distance between each node v and its chosen center while maximizing a weighted
sum of the PageRank distance between the individual cluster centers and the overall stationary distribution.
This ensures that the centers are both well-representative of their clusters and distinct from one another.
Once we have a set of cluster centers determined, we can draw the graph using PageRank to guide the locations
of the nodes. Here, we us a standard force-based layout algorithm, but we set edge weights accordingly so that
nodes that are close in PageRank distance will also be close when displayed. An overlaid Voronoi diagram
lets us visualize the clusters.
The left image shows the global PageRank distribution on a social network. Suppose that we have identified
two vertices as distrustful; perhaps they are spammers. We can penalize them by setting their PageRank to zero
(center image), but this does not tell the whole story. Using Dirichlet PageRank with boundary
conditions allows this distrust to propagate throughout the network, affecting nearby nodes as well.
Here, we examine a subset of the Internet at the IP layer. Since the Internet is so vast as to make
a complete drawing impossible, we often focus on subgraphs such as this one here. And since large portions
of the Internet are behind private networks, there is a boundary in the data resulting in many degree-1
nodes. Using standard spectral clustering techniques with the normalized graph Laplacian (left) can yield
nonsensical results, but imposing Dirichlet boundary conditions on the Laplacian can yield a better
spectral partition (right).
In Spring 2012, I was the instructor of record for CSE 105: Introduction to Theory of Computation. I taught about 150 upper-division students
using newly-developed teaching techniques for computer science education, including peer instruction. The course received widespread positive feedback. Some comments from students about my teaching and about peer instruction follow:
"Very good professor who is excellent in teaching. The way this course was taught was perfect for me. It was
probably the most educational lecture I have ever been to."
"Amazing compared to other less enthusiastic teachers. It was refreshing to have him as a lecturer."
"He went above and beyond by using peer instruction effectively, preparing meaningful
and useful slides, and being very receptive to student's questions. He is a rare professor in that he seems to
actually care about students learning the material."
"Tsiatas is an excellent professor. With many younger professors come inexperience and classes in which
students have to do most of the learning on their own, but this is not true with Tsiatas. He runs his class very
effectively with clicker questions, and reading quizzes, to keep the students on top of the material. He also
explains the material very well, and shows great concern for the students learning. His youth, instead of bringing
inexperience, brings a passion for teaching and having students learn this subject."
"I know some professors are really skeptical about it, but as a student who has taken a handful of classes with clickers, I can definitely say that the format helps with my understanding of the material. I know it requires patience and more effort from both the students and the professors, but I feel that it's totally worth it."
I have been a teaching assistant for several courses at UCSD:
For four semesters
I served on the course staff for CS 312 (now 3110) at Cornell, a semester-long course on functional
programming and data structures. I held weekly 'consulting hours,' answering student questions about
course material, and I assisted with problem set creation, grading, and testing.
I have spent four summers working for Google: in 2007 and 2008, I was located in New
York City, engineering internal management tools for Google Finance news articles and a
new version of the company's billing database. In 2009, I was in Mountain View in Silicon
Valley, implementing parallel vector similarity computation and clustering for the
Google Health team.
In the summer of 2011, I worked with the Google Ads Click Quality team to further develop
algorithms for fighting click spam on advertisements. I was researching optimized online
In the summer of 2006, I was an intern at American Power Conversion in West Kingston, RI.