J. David Smith

PhD in Computer Science
Software Engineer

emallson [at] emallson [dot] net

About Me

My name is (Johnathan) David Smith. Over the past decade, my career has taken a number of unexpected turns. A Software Engineer by trade, I received my Bachelor's while working alternately as an assistant for Dr. Nathan Jacobs on geometry in Computer Vision and as a summer intern at IBM. Following this, I pursued a doctorate at the University of Florida, studying Approximation Algorithms & Social Network Analysis under Dr. My T. Thai. After a long and interesting journey, I defended my dissertation in March 2020 and graduated May the same year.

Over the course of my career, I've explored many of my interests. I have spent many a day designing and implementing approximation algorithms that are efficient not only in theory but also in practice, and have developed a sizeable repertoir of skills and tools to evaluate program performance. At the same time, I have honed my skills in data analysis and visualization, having used both in my evaluation of program performance—and additionally in my independent work on community formation in social networks.

I am currently the Lead Software Engineer for Doseform, where we're building a platform to streamline patient prescription handling in a world where health insurance companies routinely require extensive prior authorization forms before covering patient medication costs.

Outside of work, I am an avid gamer, electronic music afficionado, and casual student of Brazilian Jiu-Jitsu. I am currently the team lead and main tank for Occasional Excellence's weekend team in World of Warcraft, and have a seemingly ever-increasing list of RPG and turn-based strategy games to play through.


Ph.D. in Computer Science, University of Florida
Graduated May 2020.
B.Sc. in Computer Science & Mathematics, University of Kentucky
Graduated Summa cum laude in May 2015.

Personal Projects

WoW Progression Stats
Source Site

  • Collects, aggregates, and visualizes data about World of Warcraft players' progression through the highest difficulty content.

  • This data has previously been publicly available but never aggregated across the high-end community.

  • Frontend implemented in TypeScript / React, backend and analysis in Rust. Charts are implemented with Vega-Lite

WarcraftLogs Dashboard

  • Visualization dashboard to quickly evaluate logs both during and after raid nights.

  • Built on the Grammar of Graphics as implemented in Vega-Lite

WoWAnalyzer — Brewmaster Monk Analysis Module
Example Output Source

  • Current maintainer of the WoWAnalyzer module covering Brewmaster Monks.

  • This module analyzes user-submitted logs from World of Warcraft and provides suggestions and analytics to help players improve.


  • 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.

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

Lead Software Engineer, Doseform
June 2020 Present

  • Building new features to streamline patient prescription handling, especially when insurance companies require prior authorization.

Graduate Research & Teaching Assistant, University of Florida
August 2015 May 2020

  • Conducted research under Dr. My T. Thai at the intersection of social network analysis, discrete optimization, and approximation theory.

  • Designed algorithms for a number of optimization tasks on network data, with a focus on information flow and structural analysis built on randomized sampling procedures.

  • Implemented these algorithms in a variety of languages, including C, C++, Java, and Rust.

  • Designed & ran experimental evaluations of these algorithms, predominantly using Python with Luigi to implement the evaluation infrastructure along with a mixture of Python & R for data visualization. I made heavy use of Pandas, ggplot2, and matplotlib in this work.

  • Communicated results effectively, resulting in 14 peer-reviewed conference & journal publications in top-tier venues such as ICML.

  • Taught Programming in C. Assisted with Introductory Programming in C++, Operating Systems, Algorithms, Networks, and Machine Learning.

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.


J David Smith, My T. Thai Measuring Edge Sparsity on Large Social Networks
In the Proceedings of ICWSM 2020. Canonical Version Author Version
J David Smith, My T. Thai Supporting a Storm: The Impact of Community on GamerGate's Lifespan
In the IEEE Transactions on Network Science and Engineering (2019). Canonical Version Author Version
Lan N. Nguyen, J David Smith, My T. Thai Vulnerability Assessment of Social Smart Grid: An Algorithmic Approach
In the Proceedings of IEEE GLOBECOM 2019. Canonical Version
Lan N. Nguyen, J. David Smith, Jinsung Bae, Jungmin Kang, Jungtaek Seo, My T. Thai Auditing on Smart-Grid with Dynamic Traffic Flows: An Algorithmic Approach
In the IEEE Transactions on Smart Grid (2019). Canonical Version
Xiang Li, J David Smith, Thang N. Dinh, My T. Thai TipTop: Almost Exact Solutions for Influence Maximization in Billion-Scale Networks
In the IEEE/ACM Transactions on Networking (2019). Canonical Version arXiv
Alan Kuhnle, J David Smith, Victoria Crawford, My T. Thai Fast Maximization of Non-Submodular, Monotonic Functions on the Integer Lattice
In the Proceedings of ICML 2018. arXiv
Xiang Li & J David Smith, Tianyi Pan, Thang N. Dinh, My Thai Quantifying Privacy Vulnerability to Socialbot Attacks: An Adaptive Non-submodular Model
In the IEEE Transactions on Emerging Topics in Computing (2018). Canonical Version
J David Smith, Alan Kuhnle, My T. Thai An Approximately Optimal Bot for Non-Submodular Social Reconnaissance
In the Proceedings of HyperText 2018. Canonical Version
Lan Nguyen, J David Smith, Jungmin Kang, My T. Thai Optimal Auditing on Smart-Grid Networks
In the Proceedings of ICC 2018. Canonical Version
Xiang Li, J David Smith, My T. Thai Adaptive Crawling with Multiple Bots: A Matroid Intersection Approach
In the Proceedings of INFOCOM 2018. Canonical Version
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
In the Proceedings of ICDCS 2017. Canonical Version
Xiang Li, J David Smith, Thang Dinh, My T. Thai Why approximate when you can get the exact? Optimal Targeted Viral Marketing at Scale.
In the Proceedings of INFOCOM 2017. Canonical Version 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


March 2017
Honorable Mention, NSF Graduate Research Fellowship