Skip to content
View ElioDiNino's full-sized avatar
๐ŸŒฆ๏ธ
Probably deploying something
๐ŸŒฆ๏ธ
Probably deploying something

Organizations

@CPEN-221-2022 @ubcuas @Computing-Collective

Block or report ElioDiNino

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 supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
ElioDiNino/README.md

Profile Picture


About Me

I am a driven UBC Computer Engineering student passionate about building impactful software and contributing back to the community. I have an abundance of experience working in teams to solve challenges with innovative software solutions, ranging from quantum computing pipelines to autonomous aircraft systems.

๐Ÿ—’๏ธ Read More

Branching Out

In my spare time, I enjoy pursuing personal programming projects, cycling, playing soccer, flying drones, learning about new technologies, and taking landscape photos - you could say Iโ€™m a full-time developer by day, and a full-time hobbyist by night. Beyond academic pursuits, I enjoy being a Teaching Assistant for aspiring computer engineers, as well as contributing to large-scale projects such as the development I led on UBC Uncrewed Aircraft Systems to place 3rd nationally in 2024.

New PRs

My commitment to learning drives me to take on projects that require gaining new skills and pursuing challenges outside my comfort zone. I believe that continuous learning and embracing new experiences are pivotal to personal growth and adaptability.

Queued Actions

I'm on a mission to build impactful technologies through scalable software, courageous innovation, and ambitious leadership while relentlessly pursuing my passion for contributing to technology to better society.

What I'm Up To

๐Ÿ—ƒ๏ธ Past Projects

As part of UBC's CPEN 431, I developed deployment automation tooling using Terraform and Bash to streamline the provisioning of cloud infrastructure on AWS. The purpose of the project was to fully automate the otherwise manual deployment and testing of the distributed computing system we were building in the course.

I worked with a team of 3 others to replicate and evaluate the results of a quantum computing research paper titled "Exploring Hybrid Quantum-Classical Methods for Practical Time-Series Forecasting". We successfully reproduced the results of the paper by implementing both quantum and classical models for time-series forecasting using PennyLane.

I led as captain and also worked on the software sub-team as a lead for UBC UAS, a design team focused on designing autonomous drones and their support systems. The team repositories can be seen here. My focus as lead was keeping projects on track and supporting the 18 software sub-team members where needed. That being said, with my past experience on the team, I got to work on a variety of microsystems. Some of my notable contributions as both a developer and as lead are as follows:

  • Improved cross-platform compatibility with Docker containers and made related CI/CD pipelines with GitHub Actions
  • UASITL: Overhauled our simulation pipeline by supporting new vehicle types (planes and VTOLs) and building software images for additional computer architectures (ARMv7 and ARM64)
  • Revamped the team website using a Golang framework (Hugo) to decrease load times from 10s to 0.7s
  • Integrated a new camera system into the drone and software suite for use in machine vision
  • ACOM: Running on the drone, this was our main communication method with the ground station for the software sub-team. I worked on adding support for controlling a winch system, monitoring RC connection, and keeping track of the battery usage.
  • GCOM-X: Our previous ground station control software. I helped work on the frontend redesign, updated the backend API, integrated a Django server with the React frontend, and added a login page to connect to competition servers.

๐Ÿ’ป Personal Website

This is something I had long desired to work on. I had quite a bit of experience building websites with services such as Wix, WordPress, and Squarespace, but I didn't have much experience actually programming a website. I used React to build my site as it had applicable skills to UAS and was something I saw myself using in the future (although I understood it is far from the best thing to use for a static website). With the solid foundation I built, I now only make occasional tweaks to the site from time to time.

  • Created a backend API in Python using Flask and SQLite with over 20 endpoints to authenticate users and serve files
  • Designed and implemented the authentication flow which included session and authentication tokens, encrypted communications, hashed passwords, and automatic timeouts to meet OWASP security standards
  • Reduced manual work by 7x with GitHub workflows to automate testing for all parts of the system, create app releases and executables, package the backend as a Docker image, and automated dependency updates
  • Used Pytest to achieve 98% line and branch coverage as well as set up Postman to improve manual testing

๐Ÿซ UBC Computer Engineering Projects (Year 2)

*Code access is available upon request for all projects

  • Constructed a server supporting multiple simultaneous clients capable of interacting and fetching tweets from Twitter
  • Enabled dual-server routing so that either server can be connected to, and no interruptions occur if one goes offline
  • Followed security protocols by hashing and salting all passwords and encrypting incoming and outgoing data via AES

Simple RISC Machine - CPEN 211

  • Implemented a Turing Complete 16-bit RISC machine using System Verilog on an FPGA board in 3 weeks
  • Subdivided the machine into smaller modules to be designed, tested, and debugged more easily
  • Utilized pipelining to increase operations per cycle by 300% and go beyond course expectations
  • Collaboratively built the โ€œKamino Gameโ€ in Java and produced the most optimal solution to win the course competition
  • Implemented graph and tree data structures with associated algorithms while optimizing time and space complexity
  • Exercised best practices including unit testing, documentation, and encapsulation to ensure quality and correctness

๐Ÿค– Quote Bot

This was a rehost of nakayoshi's Discord Quote bot which was taken offline in early 2022. In the process of rehosting it, I updated some of the bot's commands and patched several security vulnerabilities. A few weeks later, I also completed an overhaul of the bot with slash command support, improved error-handling, thread channel support, patched vulnerabilities, and other improvements. After the overhaul, the bot ran for free on Google Cloud without any issues. I kept the bot up to date with the latest Discord.js and dependency releases, before shutting it down 1.5 years later due to the release of Discord's native quote feature (message forwarding).

๐Ÿ“œ SSC Scripts

This repository was home to different scripts for pulling information off of UBC's (now defunct) SSC and then notifying the specified emails of what new information was available. It used UBC's Webmail so that any user with a CWL could use the scripts without having to worry about what email service they use for their primary email. An example of one of these scripts is grades.py, which checked for when new grades were posted. It could check for multiple course grades at a time and had many other customizable options.

๐Ÿค– Autonomous Claw

This is a collection of the programming work that went into the autonomous claw project for UBC's APSC 101. The goal of the project was to semi-autonomously pick up objects of different sizes and weights and transport them to a drop-off location accurately and efficiently.

๐Ÿงฎ Harvard's CS50

This is a collection of the code I wrote for Harvard's CS50 that I am proud of and that was of interest to me. I took part in the course during the Spring 2021 session.

๐Ÿ›ก๏ธ UBC Bot

This was my friend and I's final project for CS50. It is a basic Discord moderation bot that has a mix of different commands. It is quite basic, but we used it as a way to learn about Discord.js and learn the basics for future Discord bot projects.

โœ๏ธ Scratch

This is the Scratch project I made as part of CS50's Week 0 tasks. It is a simple but fun game with randomized music and an infinite scrolling background.

๐Ÿ Python Learning

This is a collection of the Python code I wrote for a high school programming class where we followed the lessons and tasks from Program Arcade Games. At the end, I also did a final project exploring machine learning using the Titanic dataset.

๐Ÿ•น๏ธ OpenProcessing

This is a site I used as part of one of my high school programming classes. It uses p5js and I used it to make a couple of different games and get experience with object-oriented programming and other common programming principles.


๐Ÿ—‚๏ธ Current Projects

๐ŸŒ Homelab

I run a homelab to self-host a variety of services and manage smart home automation. My setup is centered around a custom-built NAS running Proxmox, which virtualizes key components: Docker for containerized services, Home Assistant OS for home automation, and HexOS (TrueNAS Scale) for storage management. Secure access is managed through Tailscale (a mesh VPN), with Cloudflare Tunnels used to selectively expose public services. The system also includes an ODROID N2+ that functions as a staging environment for testing new services prior to production deployment. Check out the repository for more details.

Pinned Loading

  1. Homelab Homelab Public

    Documentation and configurations for my homelab

    Dockerfile 10

  2. eliodinino.com eliodinino.com Public

    Home of my personal website

    TypeScript

  3. internal.eliodinino.com internal.eliodinino.com Public

    Landing page for my homelab

    HTML 1

  4. ubcuas/UASITL ubcuas/UASITL Public

    SITL Instances with Custom Parameters

    Dockerfile

  5. status.eliodinino.com status.eliodinino.com Public

    Status page for various personal sites and services

    Markdown

  6. Computing-Collective/3FA Computing-Collective/3FA Public archive

    A secure and scalable multi-factor authentication system including a client application, admin dashboard, and backend server

    Python 3 1