Skills
This section is a detailed breakdown of my skills and knowledge. A resume for people who like to read!
Interpersonal
Tutoring
I have worked as a tutor for around 3 years, 2 years for my school, IIT, and 1 as a private tutor.
While working either position, I was tasked with meeting with people, talking about homework, breaking down assignments, and teaching people how to complete their assignments.
Working with kids
I work as a private tutor on Wyzant and have had experience tutoring kids online and in-person.
I also have worked with kids in a library setting, when working at a library over the summer in Massachusetts.
Specifically, we had a video game day and a virtual reality day, which I helped lead.
I was tasked with making sure the kids understood the safety rules, time limits, fairness, and also in charge of resolving disputes between kids.
Technical
Linux
I am used to configuring and modifying Linux to install software, run startup tasks, build code, and deploy applications.
An example of this is a ‘Vagrantfile’ including setup shell scripts to build and deploy an Apache Tomcat application that I wrote. ZIP files of this project can be provided upon request as this code resides in a private repository.
Over the summer, while working in Massachusetts for Oak Bluff Public Library, I have replaced their aging reference PCs with low-cost custom Raspberry Pis equipped with restricted desktop environments and an open-source proxy (Privoxy).
I also have created extensive documentation and support material on how to troubleshoot and maintain the system I had created. I was shortly contacted by Falmouth Public Library and replaced 12 of their PCs with Raspberry Pis!
Packer
Packer is a tool for creating OS images that can be built reliably. Something such as installing MySQL on Linux and running that in a virtual machine can be tedious and annoying to do manually.
I have a collection of Packer files below.
https://github.com/HenryFBP/VagrantPackerFiles/
Vagrant
Vagrant is a tool for managing and building virtual machines in an automated fashion.
I use Vagrant for setting up penetrable and pentesting boxes.
I maintain a collection of Vagrant files that can be used for pentesting, testing Windows software, etc.
https://github.com/HenryFBP/VagrantPackerFiles/
Python
Python is my most popular subject that I tutor, and it is one of my most strong language skills.
I’ve taken algorithms classes in it, group programming projects in it, and general programming classes in it.
I’ve made webservers, command-line tools, password crackers, command-line games, fractal viewers, document generators, and much more using Python.
It is also the language that I have the most examples of.
Java
Java is one of my strongest coding subjects and also my most popular when I tutor it. I also have a folder in my examples folder for it.
I have made web applications, android applications, command-line applications, and utilities.
I am familiar with annotations, streams, higher-order functions, and other powerful features of some of the newer Java versions.
I have used Maven, Gradle, Apache Tomcat, Hibernate, and Spring.
I am also familiar with Kotlin, a JVM language.
Minecraft
I previously have made a simple Minecraft mod using Forge, although it was a few years ago.
I am very acquainted with Java.
I am an avid Minecraft player and probably have over 4000 hours!
I understand the worldgen steps somewhat, and am familiar with the Block ID registration system, enums as block properties, and some other Forge concepts like pre-init, init, and post-init.
Scratch
I’ve used Scratch over the summer to demonstrate some cool audio-visual applications of programming to kids.
Some demos include algorithmic shapes (polygons), music, making a fractal tree with n-ary branches, and a pong game.
You will need the desktop version of scratch to open these examples.
Arduino
I have used an Arduino for a soil sensor project (measuring current through dirt via probes set apart) and am familiar with pin-outs, the C language, and LED operation.
Other than that, I haven’t done any more complicated projects.
Machine Learning
I have cursory knowledge of how to model and train neural networks or other machine learning constructs, but have no real understanding of how neural networks operate.
I have cursory experience with numpy and TensorFlow but no formal training.
Using “Tensorflow Lite”, I was able to load a Tensorflow Lite graph object onto an android app and do realtime image classification.
JavaScript
I have done some basic JavaScript for GitHub API queries and DOM element population from JSON callbacks.
Strengths & Weaknesses
Strengths
- Thorough
- Empathetic
- Straightforward
- Committed
- Consistent
- Organized
- Expect and reciprocate professionalism
- Analytical
Weaknesses
- Persistent
- Hyper-focused
- Easily distracted
- Not comfortable delegating tasks
- Direct
- Perfectionist
- Intense