Exercism.org

        Exercism is an open source learning platform that provides opportunity for people of all backgrounds by helping them develop their programming skills through code practice and mentorship. I enjoy working as a team to help build and maintain the Java track. Some of the things I’ve helped build are the test runner, user interface features, documentation, test creation as well as responding to issues. Working on Exercism allows me to be apart of a team, enhance my communication skills with the varying time zones, and build a tool that provides educational value.

Hash-match

        Hash-match is a hashing tool. It is used to hash a string or compare the hashes of two files. It provides the option to specify the hashing algorithm to compare with other previous generated hashes. I wanted an all in one tool for creating hashes of Strings, files and comparison of them with a specified algorithm. Go is great for command line tools.

Password Generator

        A random password generator that allows you to explicitly specify the types of characters present in the password. The goal was to deploy the app on a different platform, Digital Ocean, create the infrastructure to manage the ssl certificates, web server and deployment while making requests to it from this server, Github Pages.

Cryptography

        I enjoy learning about cryptography and it’s applications. This is an exploration of the Java Security API with basic implementations. I like end to end encryption and privacy tools. The government doesn’t have to destroy the entire Bill of Rights because they have private industry do it for them. I’m currently exploring libsignal and working on a messaging application for fun.

Advent of Code

        Advent of Code is enjoyable because each exercise is presented as a story that requires comprehension of what needs to be found before attempting to solve. It also involves importing data from a file with varying amounts of preprocessing. The community is great on Reddit, Twitter and most Slack channels as well. I enjoy learning new ways to solve problems while exploring advanced language features. I write my though process throughout.