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.

Publications

  • 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.
    Zhiyuan Teo.
    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.
    Zhiyuan Teo.
    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.
    Zhiyuan Teo.
    A text-mode multiplayer tetris game modeled after Tetrinet. Playable in Linux shells.
    Side project, December 2008.

Teaching

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:

Work experience

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.

Resume

A copy of my resume is available here.

Consulting

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.