Here are a few different introductions of me.  Pick whichever one you find the most interesting.


I’m currently employed as Lead Data Scientist at Rubikloud Technologies where I lead a team of motivated individuals that produce actionable insights for our clients using a combination of machine learning, statistics and big data technologies.

I’m well versed in a variety of tools (such as Spark/MLlib, Hadoop/MapReduce/HDFS, HBase, Cassandra, MongoDB, PostgreSQL, scikit-learn, PyMC, XGBoost, AWS/S3/EMR/EC2/Redshift/RDS, Python, R, SQL) and techniques (such as machine learning, classical statistics, Bayesian inference, recommender systems, clustering/segmentation, time series analysis, text mining, natural language processing, graph analysis and interesting visualizations) that allow me to slice and dice data, big or small, into something comprehensible that companies (and individuals) can understand.  I also have a proven track record as a researcher with exceptional analytical skills and a strong background in algorithms and software development that allow me to build robust, real world machine learning systems.


I’ve lived in the Greater Toronto Area all my life.  I can speak English fluently and Chinese (Mandarin) to a lesser extent.  I’ve recently developed a fondness of guitar which I’m actively learning.  As for sports, I’ve recently been playing a lot of badminton but I’ve been known to play a bunch of others as well.  I like learning new things about a whole variety of subjects such as computers, technology, investing, magic, math, people, psychology, sociology, science, economics, entrepreneurship, software development, innovation and any other useful skills or interesting things that may come up.  I use reading as my main tool to accomplish these things.


I like things simple. When things are complicated, I like to make them simpler.  Simple things are flexible, so I like to be flexible. When I’m flexible, I can change. Change helps you learn, so I like to learn. When I learn, it makes things simple again.


I was a sessional lecturer at the University of Toronto from 2014-2015 teaching Algorithms and Data Structures (ECE 345) in the ECE department.  ECE345 is a third year course in computer engineering teaching the basics of algorithms and data structures[1].

I received my PhD in Electrical and Computer Engineering from the Department of Electrical and Computer Engineering, University of Toronto in 2013.  I received my Master of Applied Science (MASc) in Electrical and Computer Engineering from the University of Toronto in 2009, and my Bachelor of Applied Science (BASc) in Computer Engineering (co-op) from the University of Waterloo in 2007.

My research during my PhD revolved around developing innovative software tools to automate various aspects of the hardware design cycle using classical artificial intelligence (AI) techniques.  In particular, I designed new algorithms and methods for automatically debugging and verifying digital circuits and systems using formal methods.

Contact Info

You can contact me at brianbriankeng.com10.


  1. Some examples of what we cover in ECE345: sorting/searching, heaps/search trees/hash tables, dynamic programming/greedy algorithms, amortized analysis, basic graph algorithms/shortest paths, and introduction to theory of computation and NP Complete problems.