Skip to content
View ElioDiNino's full-sized avatar

Highlights

  • Pro

Organizations

@IBM @ibm-skills-network @CPEN-221-2022 @ubcuas @Computing-Collective
Block or Report

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.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, 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

Intro Line


About Me

I am a driven UBC Computer Engineering student passionate about software development and technology. 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

In my free time, I enjoy pursuing personal programming projects, cycling, playing soccer, flying drones, learning about new technologies, and taking landscape photos. Within the university, I contribute as a Teaching Assistant and lead a team of 70 students on UBC Uncrewed Aircraft Systems.

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.

๐ŸŽฏ Professional Goal

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

๐Ÿ’ป Personal Website

This is something I had long desired to work on. I have quite a bit of experience building websites with services such as Wix, WordPress, and Squarespace, but I didn't have much experience with actually programming a website. I used React to build my site as it has applicable skills to UAS and is something I could see myself using in the future (although I understand it is far from the best thing to use for a static website). I am happy with my current implementation but I am looking to improve it going forward.

๐ŸŒŠ D-Wave Quantum

I worked as a DevOps Co-op to improve existing systems and introduce new technologies. Although none of the code or systems I have developed are public, here is a summary of my biggest accomplishments:

  • Implemented a new Kubernetes-based development platform utilizing Terraform to automate setup and define infrastructure as code, simplifying programming environments for over 80 individuals and boosting efficiency by 20%
  • Overhauled the build and publication process of company Docker images by creating a Jenkins function that runs builds in the on-premises Kubernetes cluster, reducing work required by 95% and eliminating previous cloud costs
  • Centralized company Docker images in a single repository that automated all build, testing, and publishing steps with only 6 lines of configuration per image, eliminating redundant Jenkins pipelines and improving overall organization
  • Developed Grafana dashboards integrated with Prometheus metrics, enabling real-time monitoring of service health and key statistics, resulting in improved visibility and informed decision-making
  • Pioneered a Terraform provider template in Golang which allowed multiple internal providers to be created and automatically deployed to Artifactory for general use
  • 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 Course Projects

*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
  • Integrated a new camera system into the drone and software suite for use in machine vision
  • Reduced image streaming latency from 12s to 1s with a shell script running on an onboard Linux microcomputer
  • ACOM: Running on the drone, this is our main communication method with the ground station for the software subteam. 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 frontent, and added a login page to connect to competiton servers.

๐Ÿค– Quote Bot

This is 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 after, I also completed an overhaul of the bot with slash command support, improved error-handling, thread channel support, patched vulnerabilities, and other improvements. Since the overhaul, the bot has been up and running for free on Google Cloud without any issues. I continue to keep the bot up to date with the latest Discord.js and dependency releases.

๐Ÿ“œ SSC Scripts

This repository is home to different scripts for pulling information off of UBC's SSC and then notifying the specified emails of what new information is available. It uses UBC's Webmail so that any user with a CWL can 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 checks for when new grades are posted. It can check for multiple course grades at a time and has 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

๐Ÿ‘๏ธ ๐Ÿ โ“‚๏ธ - IBM

I work as a software developer intern on the IBM Skills Network team. We develop applications to enable 7+ million users to be able to learn new concepts and technologies in interactive environments.

I lead as captain and formerly worked on the software subteam as a co-lead for UBC UAS, a design team focused on designing autonomous drones and their support systems. The team repositories can be seen here. Last year, my focus as co-lead was keeping projects on track and supporting the 18 software subteam 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 co-lead can be seen below as well as in the past projects section.

  • Improved cross-platform compatibility with Docker containers and made related CI/CD pipelines with GitHub Actions (E.g. ACOM)
  • 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 an opensource Go framework (Hugo) to decrease load times from 10s to 0.7s
  • Increased team documentation and task tracking by over 5x after integrating Jira and Confluence into our workflows

๐ŸŒ Home Server & Security System

Leveraging the synergy between Tailscale and Home Assistant, I've established a distributed home server network alongside a home security system. My tailnet (Tailscale network) includes a variety of devices including Linux, macOS, and Windows machines as well as Android smartphones, an Apple TV, and a Google Chromecast. With a fine-tuned tailnet policy file I can securely remote into other devices, route my traffic through selected devices, and restrict the access that certain devices have (e.g. smartphones being used as cameras can't access other devices). This setup not only facilitates the execution of projects and applications on continuously connected remote devices but also enables the creation of a robust network of cameras using repurposed smartphones.

The security system I've implemented involves a Dockerized Home Assistant instance operating on my Linux machine. This setup offers a live feed of camera footage, camera management functionalities, and real-time alerts for motion detection events.

My future roadmap involves expanding the tailnet by integrating additional devices to amplify computational capabilities and augment the surveillance network by incorporating more cameras. Moreover, I plan to set up more Home Assistant automations to automatically record motion events based on specific conditions (such as time or an armed status) and implement an efficient system for managing and purging older recordings.

Pinned

  1. Computing-Collective/3FA Computing-Collective/3FA Public

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

    Python 4

  2. eliodinino.com eliodinino.com Public

    Source code for my website

    TypeScript 1

  3. ubcuas/UASITL ubcuas/UASITL Public

    SITL Instances with Custom Parameters

    Dockerfile

  4. ubcuas/ACOM ubcuas/ACOM Public

    The aircraft's on-board software that accepts commands and relays information

    Python 1

  5. SSC-Scripts SSC-Scripts Public

    Different UBC SSC polling scripts

    Python 2

  6. Quote Quote Public

    Quote is a Discord bot that allows you to quote messages in a better way

    TypeScript