Taras Gritsenko

Software Engineer

Currently at AWS building verified access.

Ex-software engineer at Twitch (June 2020) under the safety systems team. We design business-critical systems that help keep Twitch users safe.

Experienced in software engineering and reverse engineering. In my spare time I am into competitive programming, weightlifting and shipping software for various cool ideas.

Carleton University 2019, BS Comp. Sci Algorithms Stream, Honours

Articles

Projects

Dumptruck

A Go to Protobuf transpiler for generating RPC services from Go interfaces used at Twitch for converting a database interface into a functional Twirp server.

Bisky

Lightweight code judge server written in Go for AWS Lambda (powered by Twirp)

mcidle-cpp

A lite statically-compiled feature rich port of mcidle-python to C++ with Docker.

AI WoW Classic Pool Autofisher

An AI that is able to fish from pools in WoW classic without human intervention. This task requires detecting visible pools, inserting a bobber into a pool, detecting when a fish is caught and whether a bobber is in the pool. Achieves human like performance on all 3 tasks.

Chrollo

Chrollo is an undetectable injection-based script hook for Garry's Mod that lets you intercept Lua script execution dynamically. Particularly useful for bypassing anti-cheat measures.

Script-Enforcer-Bypass

A fully undetectable script enforcer bypass for Garry's Mod based on reversing work I did to trick the client to escalate lua privileges.

mcidle-python

Idling middleware for deploying a remote connection to a Minecraft server to allow reconnection at any time. Supports a full implementation of Minecraft's networking protocol, Protobuf spec, AES-CFB8 decryption/encryption of packets, shared key encryption, packet compression/decompression with zlib, symmetric key-exchange and multi-threaded packet processing.

Works by connecting to the game server using user's credentials, acts as a MITM decoding incoming packets to read the game state (loaded chunks, position, etc) to resume the original connection. Listens for an incoming client and spoofs symmetric key auth to act as a legitimate Minecraft server.

Currently supports only Python. There is a blazing fast C++ version coming out eventually!

Tasky

A Minecraft mod that adds Lua scripting to Minecraft powering the development of bots in-game. Features a text-editor for editing scripts at runtime. Implemented using Lua and Forge.

webcrypt

File encryption in the browser. Supports encryption of files up to 1gb using AES-CBC (256 bit key). Key generation with 25,000 iterations of PBKDF2 to make it virtually impossible to bruteforce. Each file is salted with a 16-byte checksum to ensure valid encryption.

Deep-Q Collision Avoidance

An application and implementation of deep-DQNs reinforcment learning as found in DeepMind's Playing Atari with Deep Reinforcement Learning to the problem of collision avoidance for my honours thesis. Developed and tested novel learning algorithm inspired by K-cross-folds validation. Made using TensorFlow.

JPEG Decompressor

A jpeg decompressor trained on the CIFAR-10 dataset designed to illustrate how well an autoencoder does at learning to remove compression artifacts generated by the jpeg compression algorithm. Made using TensorFlow.

Chess.com Bot

A Chess.com bot that pipes board-state into Stockfish to play Chess, controlling the user's mouse too. Uses a computer vision algorithm I developed to identify board-state and convert it into FEN strings. This project was eventually taken down out of respect for Chess.com

Raytracer 3009

A recursive raytracing algorithm in C++ that features support for multiple light sources, shapes and shadow illumination.

Research

Unsupervised Learning Techniques for Collision Avoidance (2019)

Compared and tested unsupervised learning techniques to the problem of autonomous collision avoidance. Proposed novel algorithm dubbed KF-learning that overcomes overfitting in deep-Q learning. Successfully trained model that avoids up to 97.2% of obstacles. Supervised by Prof. White.

Predicting the controversiality of a Wikipedia article (2016)

A presentation I gave that demonstrated a greedy methodology to determine the controversiality of Wikipedia articles. It randomly crawls Wikipedia and assigns controversy scores using h-indexes as well as second moment estimates. Achieved accurate results high in controversy.