Daniel Snider

Daniel Snider

Computer Science PhD Student
Topic: Scalable Machine Learning Systems
University of Toronto (U of T)

About Me

I am a Computer Science PhD student at U of T, advised by Professor Gennady Pekhimenko. I am part of the Efficient Computing Systems Group within the Computer Systems & Networks Research Cluster. My research aim is to accelerate machine learning systems using compilers, specialized hardware, and profile guided optimization.

My lifelong mission is to develop intelligent systems that can help solve underappreciated global issues such as labour shortages and the high prevalence of dull, dirty, and dangerous jobs.

Before starting graduate school, I oversaw data centre infrastructure for clients such as PR Newswire, wrote award-winning computer vision software at the SickKids Research Institute, and published a book chapter about self-driving robotics in Springer’s Studies in Computational Intelligence.

Software Portfolio

Massive Scale

At the SickKids Research Institute I led a 5-person development team which built high-performance computing (HPC) infrastructure that processed 100 million medical images and indexed 10 billion metadata values. I also wrote computer vision and fuzzy matching algorithms to find and anonymize personal health information (PHI) in image pixels. I supplied data to 9 research groups. This led to publications in deep learning and medical journals.
ElasticSearch|Python|Ubuntu|High Performance Computing

* The medical images above are samples sourced from Wikipedia and Google Images.

SCROLL

Full Stack

At the SickKids Research Institute I simplified RareConnect's microservice API architecture, doubled test coverage, and rewrote a complex WYSIWYG text editor in React. These features support RareConnect, a social network for people with rare diseases, as it continues to grow beyond 50,000 users.
Javascript|React|PostgreSQL|Docker|Internationalization
UX Redesign — Social Post Editor
The social post editor that I designed and implemented supports WYSIWYG formatting and Markdown formatting. Additional features include mentions, notifications, and mobile & desktop layouts. Posts are automatically translated between 12 languages including right-to-left written languages.
SCROLL

Deep Learning

At the SickKids Research Institute I mentored a brilliant high-school co-op student. I led her in the developement of a web application that could compare ML models and dimensionality reduction algorithms on user uploaded images. I introduced my mentee to new programming languages and she is now a bio-engineering student at UC Berkeley. Our project was a finalist in the AI Grant global competition.
Numpy|Pandas|Scikit-Learn|Matplotlib|Flask
SCROLL

Computer Vision

At the SickKids Research Institute I led development of a computer vision desktop application for microbiology scientists. The application, called Matkit-Image, performs 60+ types of analysis on 5D images. It automates common manual quantification tasks 50x faster with higher detection accuracy and less human introduced bias. This project supported research at 3 labs and won the Mary Jo Haddad SickKids Innovation Award.
Matlab|Morphology|Adaptive Threshold|Segmentation
SCROLL

Reinforcement Learning

For Kindred AI, I alpha-tested SenseAct's reinforcement learning algorithms (TRPO, PPO, and Soft-Q) on robotic hardware (Universal Robotics arm, Dynamixel servo, iRobot mobile base). I contributed code, documentation, and a pretrained model. This work led me to present two workshops at the Toronto Machine Learning Summit.
OpenAI Gym|Numpy|Real-Time Computing
SCROLL

Robotics

At Ryerson University I led the software development of a self-driving, 6-wheeled rover with a robot arm and depth camera. As a part of the R3 engineering design team, we competed in the University Rover Challenge at the Mars Desert Research Station, Utah. In our first year we placed 21st out of 82 teams from 13 countries.
ROS|OpenCV|Self-Driving|Point Clouds|Embedded Computing

Drawing Drawing Drawing

This page lists my open source contributions made while working on the University Rover Challenge (URC) 2017 with Team R3 of Ryerson University in Toronto, Canada.

Demonstration of Autonomous Rover Navigation

Autonomous navigation video: https://www.youtube.com/watch?v=p_1nkSQS8HE

demo

More video of our rover in action: https://youtu.be/YEfgYmFqJqM

Published Book Chapter:

Robot Operating System (ROS): The Complete Reference (Volume 3), Studies in Computational Intelligence Released July 2, 2018.

Detailed instructions and tips are published in a book chapter.
Link to chapter: PDF, LATEX, or an older DOCX version.
Link to book on Amazon.

Drawing Drawing

Full documentation in a book chapter: Book Chapter - University Rover Challenge Tutorials and Team Survey.pdf

Full source code for our rover: https://github.com/danielsnider/URC

Rover Diagram:

Drawing

Rover Diagram in Visio Format: Rover_Diagram.vsdx

simple_drive

A simple robot drive system for skid steering joystick teleoperation, control of a panning servo to look around the robot, and Arduino firmware.

Drawing Drawing Drawing

Project homepage: https://wiki.ros.org/simple_drive

simple_arm

Simple 6-axis robot arm teleoperation software and Arduino firmware.

Drawing

Project homepage: https://wiki.ros.org/simple_arm

follow_waypoints

A package that will buffer move_base goals until instructed to navigate to all waypoints in sequence.

Drawing

Project homepage: https://wiki.ros.org/follow_waypoints

image_overlay_scale_and_compass

Add an indication of scale and compass to live images.

Drawing

Project homepage: https://wiki.ros.org/image_overlay_scale_and_compass

Advanced Terminal Organization

ROS robots are often controlled by many bash terminals and the startup sequence involves many roslaunch commands in different terminals. I demonstrate how you can use Tmux on your robot to codify your terminal layout into a powerful ROS administration system. The organized, repeatable tmux view can be shared in real-time by all of your team members for a consistent view of the robot's inner workings.

Drawing Drawing

MapProxy docker container for ROS MapViz

Proxy zoomable map tiles from Google Maps to ROS MapViz for use with outdoor robots. For easy setup of MapProxy in a docker container to proxy Google Maps satellite view into a WMTS tile service so that it can be viewed by ROS's MapViz Tile Map plugin. Support for offline maps after loading once, maps stay cached. For outdoor robotics and vehicles.

Drawing Drawing

Project homepage: https://github.com/danielsnider/MapViz-Tile-Map-Google-Maps-Satellite

SCROLL

DevOps

At Breqwatr Inc. I contributed full-stack features and devops automation to a highly-available OpenStack-based cloud platform. I built horizontally-scalable solutions using distributed software. I participated in on-premise deployments at four customer datacenters and I led monitoring of their systems thereafter.
OpenStack|HAProxy|RabbitMQ|Chef|Zookeeper|MySQL Cluster
SCROLL

Data Science

At the SickKids Research Institute I contributed statistical analysis to 7 journal publications and 1 award winning research poster. I was consulted as a domain expert in computer vision and high-performance computing and I represented our bioinformatics team at a research expo.
|p–value|Computer Vision|Variance|Normalization

Published Journal Article:

Anzi, Shira et al. (2018). Postnatal Exocrine Pancreas Growth by Cellular Hypertrophy Correlates with a Shorter Lifespan in Mammals. Developmental Cell, Volume 45, Issue 6, 726-737

I contributed figures, statistics, and image analysis to the surprising discovery that acinar cell size from many different animal species is strongly correlated with life span.

Drawing

Journal Article: https://www.cell.com/developmental-cell/abstract/S1534-5807(18)30417-9

Full source code: https://github.com/danielsnider/E-cadherin-Cell-Size

Outlier Analysis

Investigating the trends seen in the localization of protein signal inside single cells. Hundreds of thousands of cells were segmented and we can choose to observe any sub-population.

Project homepage: https://github.com/danielsnider/Outlier-Analysis

Cell Size Variety in Histology of Many Animal Species

Project homepage: https://github.com/danielsnider/E-cadherin-Cell-Size

3D Measurements of Cells in Pancreatic Islets of Mice

Project homepage: https://github.com/danielsnider/Cell-3D-Image-Analysis

Kidney Substructure Segmentation in Electron Microscopy

The green area is the glomerular basement membrane and each colored contour line is a podocyte foot process.

Project homepage: https://github.com/danielsnider/TEM-glomerular-basement-segmentation

Interaction of organelles inside single cells

Project homepage: https://github.com/danielsnider/peroxi_mito_analysis

SCROLL