Skip to content
View cfung89's full-sized avatar

Block or report cfung89

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cfung89/README.md

👋 Hello! My name is Cyrus

Image 1 Image 2


I am a Software Engineering Student at McGill University with a passion to learn and challenge myself.

Portfolio

Applications

  • Fashion Store: E-commerce platform written using a Java Springboot backend and React on the frontend. Built in the scope of ECSE 321 - Introduction to Software Engineering at McGill University, taught by Prof. Katrina S. Poulin.
  • Game of Life ARMv7: Implementation of Conway's Game of Life for a ARMv7 DE1-SoC board written in C and ARMv7 assembly. Built in the scope of ECSE 324 - Computer Organization at McGill University, taught by Prof. Brett H. Meyer.
  • Pixel Sorter: Pixel sorting using the PPM image format, written in C.
  • Interprelator: Interpreter-like implementation of a calculator in C.
  • Courier Robot: Autonomous courier robot written in Python. Designed in the scope of ECSE211 - Design Principles and Methods at McGill University (Fall 2025).
  • Cheese Manager System: Cheese manager system following the Model-View-Controller (MVC) model in Java, using JavaFX, Umple (a UML-based language), and Gherkin/Cucumber. Built in the scope of ECSE 223 - Model-Based Programming at McGill University, taught by Prof. Gunter Mussbacher.
  • Monkeese: An interpreter for the Monkey programming language, following Thorsten Ball's book Writing an Interpreter in Go.
  • Network Simulator: Simple network simulator using Go channels to simulate communications and Dijkstra's algorithm for routing between nodes.
  • Messaging: Unfinishied real-time messaging platform written in Go. Wrote the HTTP, WebSocket and JWT protocols from scratch.
  • KV: Distributed key-value store following the official Elixir tutorial for Mix, OTP.
  • Chess: Chess, using a Python Flask backend and a React frontend. Built in the scope of Programming Techniques and Applications at Marianopolis College, taught by Prof. Robert Vincent.

Tools && Utilities

Research

  • International Joint Testing Exercise: Advancing methodologies for agentic evaluations across domains jointly conducted by participants across the International Network for Advanced AI Measurement, Evaluation and Science, including representatives from Singapore, Japan, Australia, Canada, European Commission, France, Kenya, South Korea and the United Kingdom. The report can be found on arXiv.
  • tcVAE-Fusion: Variational Autoencoder with Temporal Condition for Effective Shape-based Calcium Imaging Neuron Registration. The paper is published in proceedings of the 2023 IEEE International Conference on Bioinformatics and Biomedicine (BIBM).
  • Reddit Depression Analysis: Using Machine Learning and Deep Learning Models for Sentiment Analysis and Depression Detection on Social Media. This project was done in the scope of the STEM Fellowship 2024 National Inter-University Big Data & AI Challenge.

In Progress

  • Baseutils: Set of basic utilities in C, such as arena allocators, argument parsers, logging, ...
  • Euterpe: A music playlist handler.
  • Compiler: Compiler written from scratch in C.

Pinned Loading

  1. L1NNA/tcVAE_Fusion L1NNA/tcVAE_Fusion Public

    Variational Autoencoder with Temporal Condition for Effective Shape-based Calcium Imaging Neuron Registration

    Python 1

  2. sivabalansm/reddit_depression_analysis sivabalansm/reddit_depression_analysis Public

    STEM fellowship project: Analyse reddit depression through ML

    Jupyter Notebook 1

  3. go_tmux_sessionizer go_tmux_sessionizer Public

    tmux sessionizer written in Go

    Go 1

  4. Interprelator Interprelator Public

    Interpreter-like implementation of a calculator in C

    C

  5. cmd-macro.nvim cmd-macro.nvim Public

    A terminal manager for Neovim with command macro keybinding

    Lua 2

  6. embrace.nvim embrace.nvim Public

    Neovim text surround plugin

    Lua 5