J. David Smith

PhD Student at the University of Florida
Advisor: My T. Thai


About Me

I am a 23-year-old graduate student studying Social Network Security & Optimization at the University of Florida under Dr. My T. Thai. My start in computing came on a rainy day in 2004, when I began learning HTML. Since then, I've studied Computer Science at the Universities of Kentucky and Florida, interned at IBM and spent countless hours building skills on personal projects.

In college, I worked as a CS & Math tutor, as an undergraduate assistant for Dr. Nathan Jacobs studying Computer Vision, and as an intern in IBM's ExtremeBlue and normal internship programs on PaaS networking and data visualization. This variety of experience allowed me to commit to pursuing a doctorate immediately out of my Bachelor's program, with the eventual goal of getting a tenure-track professorship at an R1 university.

Outside of work, I keep busy with gaming and martial arts. I have been practicing Brazilian Jiu-Jitsu for about a year, and dabbled in a variety of arts during high-school and college. In the digital realm, my usual genres of entertainment are strategy, role-playing, and especially the intersection of the two. Additionally, I am almost always juggling side projects that with topics ranging from mathematical modeling of games to the system-level implementation of a window system.

Research Interests

My research is centered on the social part of social networks. I aim to use techniques drawn from computing and related fields and use them to try to understand user behavior, and then to use this understanding to improve algorithms that operate on social networks. My main areas of focus are:

Preventative Tools for Social Network Users

A wide range of online activities exploit a combination of human psychology and limited tools available to users. For example: bots may exploit assumptions about friend-of-friend relationships to harvest private information, or attackers may take advantage of user trust and platform pseudonymity to magnify harassment. Study of these problems is crucial to protect the integrity of the social networks and the privacy of their users.

Modeling User Behavior on Social Networks

Most current literature on computational social networks makes assumptions about user behavior. In some cases, these are backed up by studies of user behavior. Other times, the assumptions are based on anecdotal understanding. Increasing the quality and quantity of features modeled will have a cascading effect, allowing future work to avoid building on misunderstanding of user behavior.

Recent Publications

Alan Kuhnle, Xiang Li, J David Smith, My T. Thai Online Set Multicover Algorithms for Dynamic D2D Communications
In the Journal of Combinatorial Optimization (2017) Canonical Version
Xiang Li, J David Smith, My T. Thai Adaptive Reconnaissance Attacks with Near-Optimal Parallel Batching
To Appear in the Proceedings of ICDCS 2017
Xiang Li, J David Smith, Thang Dinh, My T. Thai Why approximate when you can get the exact? Optimal Targeted Viral Marketing at Scale.
To Appear in the Proceedings of INFOCOM 2017 arXiv
Xiang Li, J David Smith, Thang Dinh, My T. Thai Privacy Issues in Light of Reconnaissance Attacks with Incomplete Information.
In the Proceedings of Web Intelligence 2016 Canonical Version


Ph.D. in Computer Science, University of Florida
In Progress. Expected Graduation: May 2019.
Bachelor of Science in Computer Science & Math, University of Kentucky
Graduated Summa cum laude in May 2015.

Personal Projects


  • Developing a Wayland-based tiling window manager scriptable in Guile Scheme.

  • Objective: 1) To have a testbed for window interaction ideas and, 2) to have a stable tiling window manager I enjoy using once Wayland becomes the default compositor.

  • Presently marginally usable, but unstable.

Learn2Play Hearthstone

  • Objective: To develop a program that could learn to play Hearthstone by watching the screen (not memory scraping or other such methods).

  • Trained a Linear SVM to classify a frame of video as Hearthstone or Not Hearthstone using OpenCV to extract frames from videos and compute descriptors, and scikit-learn to train and run the SVM.

  • Trained a HOG-based object detector to detect minions on the board using dlib.

  • Built a data collector for Twitch.tv which can automatically download videos for game streams.


  • Built a web service in Clojure that allows claiming a social media account by submission of a cryptographic signature.


  • Built a web service in Python and ClojureScript that scrapes existing forums and displays the results in an infinitely scrolling page for easier viewing.

League of Legends Social Graph Constructor

  • Built a Clojure program to scrape the League of Legends API and construct a graph of social connections.

  • The graph represents likelihood of two players being friends, showing how information could potentially be leaked by the API. (There is no call to get a user's friend list)

Work Experience

PhD Student, University of Florida
August 2015 - Present

  • Working on Social Network Security/Optimization under Dr. My Thai.

Software Engineering Intern (AppScan Source), IBM
May 2015 - August 2015

  • Developed a dataflow visualization from concept to complete prototype.

  • Specialized the visualization for use by developers in fixing security vulnerabilities.

  • Prototype built in JavaScript using Node.js with the React.js and D3.js libraries.

Undergraduate Research Assistant, University of Kentucky
May 2013 - May 2014, August 2014 - May 2015

  • Assisted with Computer Vision research under Dr. Nathan Jacobs

  • Developed a web-based interface for image calibration and the measuring of objects in images. Built in JavaScript using the HTML5 inline SVG with Django (a Python MVC framework) on the backend.

  • Helped with data collection, model construction, and model training for research papers. Primarily worked in Python and used Caffe for deep-learning.

ExtremeBlue Technical Intern, IBM
May 2014 - August 2014

  • Designed and built a service for IBM’s Bluemix PaaS offering that enables users to manage & analyze traffic flowing to their application.

  • Researched competing search engine offerings, prepared comparative analysis and recommendation based on intended use case.

  • Used IBM’s DataPower appliance as a control point to enforce traffic policies and ElasticSearch with Kibana to provide rapid feedback on policies.

  • Written in JavaScript. Used Node.js for the service implementation and AngularJS for the user interface.

  • Managed tooling and built continuous deployment pipeline using Jenkins.

Tutor, University of Kentucky
January 2014 - April 2014, August 2014 - November 2014

  • Provided free, public tutoring in Computer Science and Math to undergraduate students.