Diana Dai

I have a Computer Science degree 🎓 from the University of Ottawa. I'm fluent in English and Mandarin. I make web sites with valilla JS, HTML, and CSS 💻; write scripts with Python 🐍; use TravisCI for QA testing; and I love cooking 👩🏻‍🍳

Checkout my projects 👇 and reach out on LinkedIn ⭐️

My Projects

MiniGolf HTML5 MiniGolf game made with the Phaser3 game engine, MatterJS physics, and CSS Grids! User progress is saved locally with cookies. Levels were designed with the Figma vector graphics editor, exported as SVGs, parsed with JS, and rendered with html canvas.

QA Study. I am studying QA and working on different QA related projects. TravisCIAutoDeployment is a project to show that how to use python and Travis CI to verify a correct answer to a programing challenge and auto-deploy a generated index file to Github pages when tests pass successfully. KittenCreator is another project using client side JavaScript and testing with Jasmine.

AI Based Project. I worked in a group of three to compare and contrast three different AI frameworks: PyTorch, TensorFlow, and Keras. For the project, we implemented a CNN in all three frameworks, and trained it on the MNIST dataset. This project allowed me to demonstrate a practical knowledge of AI.

With a team of three friends, I developed an Andriod app as a side project. The app is on the Play store as Time Tracker and features a clean UI and several interactive views that display data in a useful way.

This past January, I attended CUSEC 2019: a student-run software engineering conference featuring talks and workshops. At CUSEC I met many like-minded peers, learnt from world-renowned experts, learnt about Python-C bindings and the power of Ruby!

XACML to P3P. This is my uOttawa Honours Project. I searched for features that are characteristic for Platform for Privacy Preferences Project (P3P), eXtensible Access Control Markup Language (XACML), and eXtensible Stylesheet Language Transformations (XSLT). I generated P3P policy from XACML document using XSLT, analyzed an alternative language named JACPOL, and provided example of cross-enterprise security & privacy authorization (XSPA) profile for Ottawa health care.

TeleportingPuzzle is a sliding puzzle that consists of a frame of 16 square tiles in random order with one tile missing. I developed it by using my spare time in February, 2019, and the game is made by CSS and Javascript.