Welcome to Thomas Dedinsky's Website

Hi, I'm Thomas Dedinsky

I’m Thomas Dedinsky, a student at the University of Waterloo who is a candidate for a BaSC in Computer Engineering. I've worked software development jobs in the past at Infinera, Veeva, DND, and Bayer, and have expertise in many languages including Javascript, Java, C++, Python, and more. Currently I am the VP Academic for Waterloo's Engineering Society 'A' while also carrying various positions with EngSoc in the past. In terms of volunteer work, my main commitment is with the Herbert H. Carniege Future Aces Foundation, where I help run their Future Aces Conference every year. I'm an aspiring leader and computer engineer with lots of experience in both fronts!

WORK HISTORY

Firmware Engineering - Infinera Corporation

My work so far has mainly been optimizing the firmware simulation code for our next generation chip by changing variable ownership between languages through the use of MEX functions, using preprocessor metaprogramming for code generation to standardize inconsistent variable conversion methods, and reducing read-modify-write calls. I also created an automated testing suite using Jenkins and Microsoft Azure which ran simulations on remote servers via repo commit.


Intern Software Engineer - Veeva Systems

Most of my work was dedicated to our Veeva Network app, a life sciences software solution focused on large-scale management of health care professionals and organizations, working on various features full stack. These included the complete backend of our profile layout management feature and major improvements to our machine learning annotator tool. Additionally, I headed a few side projects, including the creation of an automated API documentation tool and production of our new machine learning model.


Mobile Developer - Department of National Defence

I mainly developed and released a mental health-focus app, molding activities and utilities engineered to aid awareness and management of your mental health by implementing research in a practical application. Additionally, I improved an offline resource and utility app designed for Canadian troops in Latvia by creating a content manager system to allow code-illiterate personnel to repurpose the application. Both apps, R2MR and CAT, were endorsed by the General of Canada. Worked in a hybrid development environment, releasing both on Android and iOS using Ember.js and Cordova.


Software Developer - Bayer Pharmaceutical and Radiology

I helped work on improving our medical software, Radimetrics, mainly through implementing new features and fixing bugs for currently existing ones. I spearheaded the development of an increasingly requested, but complicated multi-modality feature, which the improvements affected the entire application. I also responded to customer's requests and made customized code for their hospital as well as tested and made sure our software ran properly on and upgraded to our supported operating systems. I did this by creating and maintaining 4 servers running virtual machines of various Linux versions and utilizing Jenkins to run and develop automated tests.


Various Other Jobs

Worked as a Canadian Tire Sales Associate (September 2014 - July 2016), Lifeguard (July 2015 - July 2016), Several Landscaping Jobs (July 2013 - August 2013), and as a Paper Boy (July 2010 - August 2013).

PROJECTS

CEC Programming Competition Lead - Node.js

I created the code that powered the Canadian Engineering Competition 2019 programming competition. Competitors this year were tasked with creating an artificial intelligence which controlled a specialized autonomous cleaner, tasked to clean a semi-formal eatery in an efficient manner. I focused on making the challenge language-agnostic by creating an API server for competitors to interact with, as well as easy to comprehend for judges and beta testers, achieved by providing an interactive visual during the presentation phase. There was also focus on creating an engineering problem rather than just a programming problem, a design philosophy that made this simultaneous location and mapping problem have flexibility of solution approach with ambiguity of a "correct" path, made the solution is dependent as opposed to an isolated product, and made the challenge easy to complete but hard to optimize.

Orientation Week Website - JS/PHP/CSS/Bootstrap

I designed, implemented, maintained OWeek website based on requests from various parties, creating a responsive front-end web design for various size screens on both desktop and mobile. I also made a dynamic user-based system with various roles using smart database management.


Various Scripts - Python

I fully utilized PRAW, Reddit’s API, to log flair and emote usage, mass implement different flair layouts, migrate existing users to new flairs, and automatically flair posts based on keywords. For work I've also created a Markdown to Swagger-YAML script for API documentation, JSON to CSV script for massive data transfer, and fixed a PDF Highlight transfer tool for version differences on manuals.


Various Low-Level Projects - C/Assembly

I converted assembly files to C for a massive collaborative disassembly of a GBA game and created a music player in C capable of running on a FPGA board and processing .wav files. I also analyzed several systems programming concepts in Digital Computers course using code that compared process vs. threads, memory allocation techniques, and task management methods.

Reddit Updater to Discord Bot - Node.js

I created a trans-platform bot on my Virtual Private Server based on popular user request. It parses a reddit live updater feed to send/manage messages on Discord asynchronously and has run for over 6 months without any errors, only modified using simple configuration commands.


School Projects - C++

I optimized a Dykstra's algorithm problem based on runtime by implementing adjacency matrices to solve a shortest route problem, competing against classmates and ranking in the top 10% of times. In an earlier course, which I finished with an 100, I examined assembly code by making a simple simulator with data and instruction management that shows an assembly program's expected output.

Application Specific Integrated Circuits - VHDL

I worked under the head of the University of Waterloo's ASIC design team and created combination/sequential circuit designs for logic-based design problems. I utilized FSMs and MSDs to perform various tasks like simulating heating systems and roadway intersections.


Data Structures App - Android

I converted a Data Structures course at the University of Waterloo to a mobile application by the request of the professor, with a JSON to SQL database system implemented. It features interactive code snippets, quizzes and textbook excerpts based on the coursework to enhance students' experience.

2048: Hand Gesture Edition - Android

I created a fully-functioning version of the popular game 2048, with one catch; it's hand-gesture controlled. It uses smart object-oriented programming and conservative graphics in order to make it compatible with even the slowest Android device.


Various Games - Java

I programmed a 2-4 player visual version of Snakes And Ladders using Java, with enhanced mechanics like dueling, fast-forward/play/stop/slow buttons, an auto-looping feature, and testing tools in order to enhance the original board game experience. I also created a visual quiz game which picked 8 multiple-choice questions from a deep pool of personality based questions in order to determine what personality type you most associate with. Other games included Rock Paper Scissors and Battleship.

Tetris The Grandmaster Edition - Python

Over the course of two weekends, I created a playable version of Tetris using Python and added enhancements including enhanced graphics, complicated scoring scheme, scaling difficulty, multiplayer, and other gameplay mechanics to replicate the arcade series of the same name. It can be played 1-2 players, however pygame is required to run it.


imgrep - JS/CSS

I attended Hack the North 2017 and worked in a team with OCR to convert images into text to be searched for using user-requested phrases. Specifically, I assisted with the design ideas and the frontend, creating a visual web wrapper based on its shell script capabilities.

Quest Transcript Reordering - JS

A script to reorder UWaterloo's Quest Unofficial Transcript system to make it reverse-chronological. Tested on Firefox using Tampermonkey. Please note that, while it does successfully reorder the data, using the Print function afterwards will use the original version.

VOLUNTEER EXPERIENCE

VP Academic - Waterloo Engineering Society

I act as a representative of the Engineering student body population. I attend various committees with other faculty executives and staff members advocating on behalf of the collective opinions of students and from EngSoc council-mandated stances. I also head some academic initiatives, such as the investigation of getting feedback from CECA on non-trivial issues and improving the relationship between professors and the EngSoc exam bank.

Group Leader - Herbert H. Carnegie Future Aces Foundation

I help run a yearly, 3-day, 200-delegate conference dedicated to empowering youth by helping them find the leader within them. Work both before the event with preparing it and during the event, by helping create delegation groups, running various leadership workshops, and contacting guest speakers.


Moderator, Chief Live Updater, Community Co-ordinator, Co-Coder - reddit.com/r/twitchplayspokemon

I co-moderate a 43,000 person community by monitoring posts, comments and interactions between them, creating community events, managing the code, maintaining the subreddit's features, managing the 140-member 24/7 live reporting crew who've created over 210K updates (and participating as a live reporter, top updater with 20K updates), creating community collabs, and highlighting community members by featuring their work both in news updates (over 500 news points) and on the sidebar (over 450 images). This work has been featured in official reddit blogs and announcements numerous times.

Extracurriculars - University of Waterloo

Current: VP Academic for EngSoc, UW Euchre Club Member/Communications Lead. Former: Orientation Week Huge and Website Director, EngSoc Advertising Commissioner, UW Canada Day Director, Engineering Exam Bank Director, Secretary for EngSoc Council and EngSoc Board of Directors, Residence Council Manager, Semi-Competitive Volleyball Player.


Campaign Volunteer - Chris Bittle, MP

Performed a variety of tasks to help constituents and Chris, such as creating monthly event agendas in order to increase community engagement. I also contacted Liberal Party, Local Ministers, Municipal MPs/MPPs, and Tax Revenue Canada for relevant matters to address our constituents’ concerns.

Fundraiser - Global Youth Leaders Conference

Global Youth Leaders Conference was a 10-day conference in Washington, D.C. and New York City that was mainly focused on international politics and leadership building. I did a fundraiser at my school by creating 84 "365 Note Jars" and, after advertising the fundraiser to my peers, selling them. I received a $1000 USD scholarship towards this raised over $1600 through my fundly (https://fundly.com/sending-thomas-to-gylc). A recap of it can be seen here: http://thomasgylc.tumblr.com/


Supervisor - The Arthritis Society

Worked 110 hours as a gift wrapper, wrapped gifts for people diagnosed with Arthritis who are unable to wrap them themselves and others who wanted to donate to this generous cause. I was also a supervisor of this operation, managing our wrapping supplies and money.

Extracurriculars - Saint Francis Catholic Secondary School

Student Council, Me to We, Catholic School Council, Pilgrimage, Phoenix for Change, School Reach, Mathletes, School Play, Tutoring, Eco-Schools, Ski Club, SEAC, Student Senate, Chaplain's Crew, Relay for Life. For more detail: http://thomasdedinsky.com/docs/SaintFrancisActivities.pdf


Other Leadership Conferences I Attended - Various

CFES Congress (http://cfes.ca/congress/), Forum for Young Canadians (http://forum.ca), COLS (http://www.cols.ca/), OSLC (http://ylcc.com/student-conferences), OCSLC (Happens bi-yearly, no registered site), Carpe Diem (http://futurestudents.kings.uwo.ca/events/carpe-diem/), TORCH (http://www.jerichohouse.org/programs.html), ACTIVATE Niagara (http://www.motivatecanada.ca/en/home-activate)

ARTICLES

Computer engineering student helps organize Canadian Engineering Competition 2019

Published by: University of Waterloo Department of Electrical and Computer Engineering

EngSoc honours friend of society award winner

Published by: University of Waterloo Faculty of Engineering



Fall Break Referendum Information

Published by: University of Waterloo Engineering Society

Reddit in 2015

Published by: Reddit Inc.

HONOURS & AWARDS

Grade 12 Scholarships

Future ACES Scholarship, Horatio Alger Canadian Scholarship, Niagara Catholic Student Senate Award, Kiwanis Club of St. Catharines, University of Waterloo Scholarships, Branscombe Family Foundation Scholarship, Ontario English Catholic Teachers of Niagara Award, Canadian Italian Business and Professional Association of Niagara Education Award. For more detail: http://thomasdedinsky.com/docs/Grade12Scholarships.pdf


Secondary Schools Graduation Awards

Valedictorian (Top 5 average from grade 9-12 + student vote), Governor General's Academic Award (Top grades for 11/12), Principal's Award (Principal's choice of an ideal Catholic graduate), Saint Francis Leadership Award (Teachers' choice of a leader in the school community), Subject Proficiency - Math University, Specialist High Skills Major - Environment.

Other Secondary School Awards

School Letter, Honour's Roll (95%+ Average), Kristen French Scholarship (Exemplary school spirit, leadership, academic standing), Certificate of Appreciation x2, Waterloo Math Contest - Best in School x5/Certificate of Distinction x3 (including getting 69th out of 26657 in Grade 9), NCDSB French Speaking Contest - Outstanding Achievement x2, Brock University Regional French Contest - Certificate of Merit, NCDSB Team Math Challenge (2016) - Champion (Got perfect on individual round in 2015), Niagara Catholic's Technology Skills Competition (2016) - Website Development 3rd Place. Recognition Day Awards/Plaques: Student Council - Most Enthusiastic, Dedicated, Mathletes - Outstanding Leadership, Performance x2, Eco-Schools - Outstanding Participation, Math Contest - Euclid - Outstanding Performance x2, Me to We - Outstanding Leadership.