I'm a postdoc at the Jacobs Institute at Cornell Tech (NYC), where I run Ironstack, a tech startup that builds modern, intuitive, and frustration-free computer network management solutions. I graduated from the Computer Science Ph.D. program at Cornell University in August 2016. My research advisors were Professors Ken Birman and Robbert Van Renesse.
My research is primarily applied in style and centered around practical aspects of software-defined networking. As a graduate student, I built a distributed OpenFlow controller that drove the Computer Science department's operational data network. At its peak, the controller managed a network of 400 physical and virtual hosts, providing connectivity to over 1000 students, faculty and researchers. The software has been in continuous, outage-free operation since June 2015.
Outside of research, I'm driven by a curiosity to understand how things work. My general computer science interests broadly reflect this and span areas including hardware architecture, operating systems design, computer graphics, network security, distributed systems and software engineering. Prior to graduation, I also pursued a minor in Electrical Engineering and became passionate about microcontrollers, DIY electronics, FPGAs and rapid prototyping while working on side projects. Several of these projects have been featured online (see below). Finally, I'm somewhat of a car enthusiast, and I enjoy working on my car when the weather permits.
In my spare time away from computers, I enjoy hiking and experiencing the great outdoors, sometimes driving more than 12 hours to get to places.
- Overcoming Challenges in Practical SDN Deployment.
Zhiyuan Teo. Committee members: Ken Birman, Robbert Van Renesse, Nate Foster, Ao Kevin Tang.
Doctoral dissertation. Department of Computer Science, Cornell University, August 2016. [pdf]
- Experience With 3 SDN Controllers In An Enterprise Setting.
Zhiyuan Teo, Ken Birman, Robbert Van Renesse.
DSN 2016: 2nd International Workshop on Dependability Issues on SDN and NFV, June 2016. [pdf]
- Treating Software-Defined Networks Like Disk Arrays.
Zhiyuan Teo, Ken Birman, Noah Apthorpe, Robbert Van Renesse, Vasily Kuksenkov.
IEEE NetSoft 2016: Workshop on SDN and IoT, June 2016. [pdf]
- Performance, Stability and Security For Power Grid Data Networks.
Zhiyuan Teo, Vera Kutsenko, Ken Birman, Robbert Van Renesse.
DSN 2014: 1st International Workshop on Trustworthiness of Smart Grids (ToSG), June 2014.
(Note: despite the similar name, this paper is not related to my startup work at Ironstack.) [pdf]
Notable side projects
I worked on a number of interesting side projects while in graduate school. Many of these projects did not contribute directly to my doctoral thesis, but influenced me in some positive way. Here is a partial list of some of these endeavors:
- Wireless Biometric Pen Drive.
Zhiyuan Teo, Nathan Spallone.
A wireless data storage device secured by fingerprint technology. Various coverage on Hackaday, All About Circuits, EEWeb, Embedded Lab.
Final project for ECE4760, Microcontrollers. Dec 2015. Instructor: Bruce Land.
- FPGA-based Gesture Control iPhone Music Dock.
Zhiyuan Teo, Mohit Yogesh Modi.
An iPhone/iPod music dock that can be controlled through gestures. Featured on Hacked Gadgets.
Final project for INFO5760, Advanced Microcontrollers. May 2015. Instructor: Bruce Land.
- le chocobot.
Zhiyuan Teo, Jacqueline Chien, Xinyi Wang.
A chocolate 3D printer, demonstrated at the Ithaca Sciencenter. No official coverage, but prototype evolution video on YouTube.
Final project for INFO4320, Introduction to Rapid Prototyping. May 2014. Instructor: François Guimbretière.
- Gates Hall OpenFlow Controller.
Source code for the Gates Hall OpenFlow 1.0 controller (not actively maintained). Github repository.
Project in partial fulfillment of doctoral degree requirements, August 2016.
- Computer Science Department Food Camera.
A button-triggered camera that alerts all Computer Science students and staff to the presence of surplus food in the department pantry.
Side project, December 2014. Supervisor: Kavita Bala.
- Steganography detector.
Zhiyuan Teo, Vera Kutsenko.
A software to detect steganography (hidden messages) in JPEG images through machine learning techniques.
Final project for CS6700, Advanced Artificial Intelligence, May 2013. Instructor: Bart Selman.
- Trinian: Peer-to-peer Scalable Video Streaming Software.
Zhiyuan Teo, Yuh Shin Ong, Jo Yew Tham.
A video streaming software for peer-to-peer delivery of live scalable video content.
Intern project, July 2011. Supervisor: Jo Yew Tham.
- nCurses-based Multiplayer Tetris Game.
A text-mode multiplayer tetris game modeled after Tetrinet. Playable in Linux shells.
Side project, December 2008.
Like many of the finest professors who have taught me, I hope to inspire my students to reach higher and farther. I was a TA for the following courses:
- Fall 2015: CS 5434 - Defending Computer Networks.
- Spring 2015: CS 5412 - Cloud Computing.
- Fall 2014: CS 5434 - Defending Computer Networks.
- Fall 2013: CS 5434 - Defending Computer Networks.
- Fall 2012: CS 6410 - Advanced Systems.
- Spring 2012: CS 5412 - Cloud Computing.
- Fall 2011: CS 4411 - Operating Systems Practicum (Outstanding TA award).
I have worked at several places (all in Singapore except for Facebook) before attending graduate school. Many of my employers have left me letters of recommendation.
- Aug 2016 - present: Chief Executive Officer at Ironstack.
- Jun 2014 - Aug 2014: Software Engineering (re-)Intern at Facebook.
- Jun 2013 - Aug 2013: Software Engineering Intern at Facebook.
- Jun 2009 - July 2011: Research Engineer at the Institute for Infocomm Research.
- Jun 2008 - Aug 2008: Research Intern at the Center for Strategic Infocomm Technologies.
- Jun 2007 - Aug 2007: Intern at the Ministry of Education, National Education branch.
- Jan 2006 - May 2006: English language teacher at Hillgrove Secondary School.
- Jan 2001 - May 2003: Naval Officer (1st Lieutenant) in the Republic of Singapore Navy.
- Dec 1999 - Mar 2000: Website designer at the Ministry of Education.
A copy of my resume is available here.
I provide limited consulting for software and small-scale DIY/microcontroller-based projects. If you have an idea and can dictate its exact requirements, I can probably design and build it or tell you why it is not feasible. If you would like me to serve as your consultant, please e-mail me.