I've always loved playing around with computers and telling them what to do, ever since I was a little kid.
When I was 10, I started making small Python games and Minecraft mods and plugins. Playing around with my new games and sharing them with my family, friends, and online forums was the only thing I liked more than making them. Soon I discovered GitHub, where I could share my projects with other programmers like myself.
A few years later, I started to move from small Python games and Minecraft plugins/mods to web development in PHP. I also learned a lot about server administration from my time using PHP.
After getting fed up with PHP and all its weird/annoying "features", I moved on and started using Node.js, Django Python, and Ruby on Rails. Node.js has been my go-to language for backend web development for quite some time, while Java and Python get called in when the time is right.
I'm a programmer on the South Eugene Robotics Team (SERT) where we compete in FRC competitions using our robots programmed in Java. In 2015, our team made it all the way to the world championships in St. Louis. Hopefully we can make it back again soon!
CSGOItemDB is an open-source way for CS:GO website developers to easily be able to get the prices of items. It was one of my first open-source projects and taught me a lot about using technologies such as Git and GitHub. CSGOItemDB also helped familiarize me with Node.js, despite its fairly ugly code (as of right now, I'm working on improving the code and functionality).
hltv-live-games is another one of my HLTV-related modules. This module will emit an event every time a game goes live on HLTV and has a valid matchid. You can safely expect more things to come from this module as I'm always implementing new features!
Not only was this my first time using Jekyll to create a website, it also taught me a lot about using Cloudflare (which I had already used for numerous other websites, including this one) and website management in general. The website is currently hosted using GitHub pages, allowing all South Eugene Robotics Team members to make new posts and update the site with new information, which is much better than our previous Squarespace approach.
To see more, checkout my GitHub profile!
I've used Node.js for most of my major projects, as mentioned above. Ever since starting to use it in early 2015, I've loved the language and have grown very familiar with many major modules, such as Express, Async, Lodash, Request, and more. Along with my Node.js knowledge, I also actively use Django Python and Ruby on Rails to create backend web applications.
Angular.js and React go hand-in-hand with Node.js, and therefore I've used them right alongside many of my Node.js websites. They provide simple two-way data binding between the frontend and the backend, which makes them ideal for any application where data binding is usefull.
I've used Jekyll many times in the past to create blog-aware websites such as the new South Eugene Robotics Team website, which may be viewed by visiting SouthEugeneRoboticsTeam.github.io. I am also in the process of converting this site to use Jekyll, as well.
Linux is an extraordinarily useful operating system when it comes to development. I've managed many Linux servers using the command-line interface and run many websites and applications on Linux VPS's.
I've used Nginx extensively for load-balancing applications and websites. Nginx makes load- balancing a breeze, and keeps servers running incredibly fast.
Security and DNS Management are both incredibly important for every website. Fortunately, tools such as Cloudflare allow easy management of both, and I've used them to protect many servers from DDoS attacks and nasty web-scraping bots.
Working on creating robot software with the South Eugene Robotics Team has helped me not only refine my Java skills, but also refine my productivity in a team environment. Working on robot software has been incredibly challenging at times, but simultaneously incredibly rewarding.
I've used Python and OpenCV to track goals and target objectives. This vision code returns delta values to the robot software, where we then tell the robot where to move next in order to perform the objective.
I've been using Git and GitHub for many years and, over that time, have learned the best practices and have developed many Git related skills to maximize the utility of version control. I started out by using GUI interfaces to interact with Git and GitHub, but have found overtime that the command-line interface provides much more utility and simplicity.