Welcome! Here I have some examples of my work, personal projects, and downloads for code that I've made available for public use. Just scroll down! Any code available for download here is free for personal use. Any other included materials are property of their respective authors.
In hopes of bridging both my Computer Science and Spanish studies, I opted to take a Computational Linguistics course while I was in school. NLP is just one small portion of Machine Learning as a whole, but I found it to be incredibly rich with possibly some of the most revolutionary potential. Here is some of my introduction to and exploration of the topic. I hope to grow this section soon, as these tools have piqued my interest for a couple of personal projects.
I accomplished this project along with my partner John Angle over the course of a semester. We wanted to be able to generate lyrics that were recognizably attributable to a specific artist. To accomplish this, we looked at many aspects of style, such as vocabulary, tone, and rhyme scheme. I was responsible for creating the word vectors from our general corpus and training the LSTM network using these word vectors and our artist corpi.
A recent computer upgrade for yours truly saw me go from a 970M all the way up to a 1660S for my GPU, so I can now train these networks at home in a reasonable time. That being said, I am now starting to implement the POS tagging and sentiment analysis upgrades to the system! I will continue to update with that progress.
This Python N-gram generator will be making its way to the website as a live tool in a near update.
Working as the Chief Information Officer for the Green Bank of Colorado, getting our website set up has been at the core of a lot of my work. It is by far the largest web dev project I have undertaken, and I am really pleased with the website now. Of course, it's a living thing that I continue to improve upon, but the features I have implemented so far work incredibly well for us.
I choose to build the site using the Ruby on Rails development environment, since I had a little familiarity with it. From the start, we wanted to fulfill the informational needs of visitors, as well as have the site be a place for our partners to share projects and information with us. To accomplish this, I settled on creating a full user account system, supporting a variety of user types, user associated projects, and file uploads. Building the account system was something that I had not done before, and it took a few different picks, but I settled on the Devise gem for handling account creation as well as session creation on login. As a side note, I found this gem to be very easy to set up, work with, and I think it strikes a nice balance between giving you simple access to defaults and allowing you to overwrite code and supply custom solutions. If you do RoR web development and need acount management, I would strongly recommend Devise. Currently the system is set up to handle System Admin accounts, Green Bank Admin accounts, special issue GBC Partner accounts, and general user accounts. I manage the backend data primarily on a remote MySQL server, and partially in an AWS bucket. The site also supports incoming messages as well as the ability to send out emails to registered users through the Sendgrid Mailer Heroku add-on. It is all hosted through Heroku.
Additionally, it has been really enlightening going through the process of configuring the site periphery; search engine optimization, setting up email hosting on our domain, social media integration, Google Business and Search Console statistics, etc. I learned a great deal about the whole picture of a website and its impact on web presence.
These programs are written in Lua, and have been tested using Minecraft version 1.16.4 and ComputerCraft installed through the most recent FTB Direwolf Modpack (Jan 2021). These programs are available for you to use in any Minecraft world with ComputerCraft. Inside the Turtle interface, run 'pastebin get <pastebin-code> <local-program-name>. The local program name can be anything, bar the names of the few programs that come preloaded on the Turtle.
3x3 Tunnel
Pastebin Code: n8xctgue
Usage at Turtle cmd: 3x3 <distance>
Description: Turtle mines a straight 3x3 tunnel to the distance specified, refueling from its own inventory when necessary, as well as dumping its inventory at its start point when it's full. First inventory slot is exempt from the unloading function so fuel can be stored there. Remember to place a chest one block behind the Turtle's starting block to capture its output.
See the codeNxN Tunnel
Pastebin Code:
Usage at Turtle cmd: nxn <length> <width/height> | nxn <length> <width> <height>
Description: Turtle mines a straight NxN or NxM tunnel, depending on which command line format is used, to the distance specified, refueling from its own inventory when necessary, as well as dumping its inventory at its start point when it's full. First inventory slot is exempt from the unloading function so fuel can be stored there. Remember to place a chest one block behind the Turtle's starting block to capture its output.
See the codeFarmer Joe
Pastebin Code:
Usage at Turtle cmd: nxn <length> <width/height> | nxn <length> <width> <height>
Description: Turtle farms crops over a NxN or NxM area, depending on the command line usage. Checks all blocks, so will work with any arrangement you have your farm setup in. Place a chest behind the origin point to collect output. First inventory slot is exempt from dump to store fuel.
See the codeThe Pit
Pastebin Code:
Usage at Turtle cmd: nxn <length> <width/height> | nxn <length> <width> <height>
Description: Turtle mines a NxN or NxM pit, depending on which command line format is used, to the depth specified, refueling from its own inventory when necessary, as well as dumping its inventory at its start point when it's full. First inventory slot is exempt from the unloading function so fuel can be stored there. Remember to place a chest one block behind the Turtle's starting block to capture its output.
See the codeCooking/Production Calculator
It is a real hassle figuring out exactly how much of each ingredient you need for a recipe to utilize all of your carry weight and maximize the number of times you can cook/produce. Tell this simple Python program your max carry capacity and which recipe you are using, and it will tell you exactly how much of each ingredient you should buy to fill up your inventory. I have currently loaded it up with about 10 of the recipes I use most frequently, and will add more in the future.
Download