"success is only found at the end of a cycle of failures."


- unknown

about me.

My name is Scott Mitchell and I graduated from Sonoma State University in December of 2018 with a B.S in Computer Science and a B.A in Mathematics. I was born and raised in the silicon valley area and have lived here my entire life. I became interested in programming back in late middle school around the 8th grade. I originally picked up python 2.7 around that time, but really only got the basics down. I took AP Computer Science in high school and immediately realized this is what I wanted to do for a career. It was challenging but equally rewarding at the same time and I really enjoyed it. My main hobbies include photography, hiking, gaming and learning anything new. I recently have been studying Japanese in my free time and have found it extremely satisfying to be able to understand bits of another language. I currently work as an Automation Engineer at Google via contract. I've gained experience in QA Testing and Automation Testing (Python3, Android UI, some Embedded Testing). I've helped work on our test bed framework and write test plans for our software team.

As a Software Engineer, and with work in general, I become very dedicated to my tasks and see them to finish. When I get focused on something I really stick with it until I feel like I've figured something out or made progress. I usually try to keep the mindset of to learn something new for the right task rather than trying to figure out how to do a task with something I already know. For example I would try learning React.js, Vue.js, etc. for building a website rather than trying to figure out how to make a website with something I already know like C++ or Java. I usually tend to pick up things quickly and stick with them. I've learned a lot of things by simply trying various libraries and reading docs. I'm interested in practically every new emerging technology but I find myself more interested in things like Machine Learning, Blockchain, Cryptography and Game Development.

skills.

My strongest language by far has to be Python. It was the first language I learned and I've tried to stay up to date with it ever since. I'm also quite comfortable with C++ and Java as I've used both in fairly large projects. I have used C++ more recently than Java so I would need to refresh myself on it. I'm familiar with other various languages, however I have not used them much. You can find them in the list directly below. I've worked with projects on Windows, Linux and Mac but I am more comfortable with Windows and Linux.

Other Languages/Techs/Software/etc. I am familiar with

  • C
  • SQL
  • C#
  • HTML & CSS
  • Python Libs
    • numpy
    • scikit-learn
    • Tenserflow (backend)
    • Selenium
    • BeautifulSoup
    • Django (Learning)
  • Java
    • Core
    • Alexa
    • Android
  • gdb
  • g++/gcc
  • Visual Studio
  • git, both CLI and GUI (github, gitlab, bitbucket)
  • make (and a little of CMake)
  • Windows32 API
  • Dear ImGui
  • DX9
  • IDA Decompiler (Learning)
  • Jenkins
  • Google BigQuery

projects.

Rocket Launcher

Language(s): C# and C++

This application was developed over the course of two years alongside two other people. The project started in August of 2016. Being a big gamer, naturally I ended up playing the game Rocket League. The game was developed by Psyonix, whom were not in complete agreement with their game being modded. They eventually reached out with a statement saying it was ok as long as we didn't give an unfair advantage to people. We stuck to following those guidelines. The application had an external interface written in C# and a DLL written in C++ which we would inject into the game. I would say about 90% of the application was written in the DLL and we simply had the GUI to make things simpler for people. The project involved using the windows32 API and the detours library. We used an open source unreal engine SDK generator, which would generate an SDK for the game. We included it in our project and created detours to functions we found useful. Doing this we could alter the games code in real time. One major aspect that was popular was the ability to create your own dedicated server via port forwarding or through a VPN like hamachi. We alter various things in the game to create custom game modes for people to play which could also be hosted on a server to play with friends. My work included creating the GUI, creating custom game modes, setting up hooks/detours to capture keyboard input and the DX9 DLL in order to draw a custom GUI overlay using "Dear ImGui" (see above). You can find the project page, the C# code and a very old version of the DLL below. We didn't release the DLL code due to ToS and wanted to keep in good terms with the company. We no longer work on the project due to us being busy with life and we lost passion to keep working on it.

Screenshots

Spotty (Discord Bot)

Language(s): Python 3

This was a simple personal project I wrote for me and my friends for an easy way to share and track music on discord. I have a link to discord above incase you do not know what it is. The bot will be able to "track" Spotify playlists you specify and when it detects a new song is added, it will post it to a specified discord text channel. You can see some screenshots on how its used on the GitHub page. There is still some things that I could add to this but for what I wanted it worked. I still use it in my personal server (when my raspberry pi is working...) but anyone can technically use it. The project took advantage of the discord.py package which is a python wrapper for the discord API.

Screenshot

Predator VS Prey Model

Language(s): Java

This application was my final project for my Object Oriented Programming class. I used a base "Character" class for all the entities on the board. From there I extended into the separate classes "Predator" and "Prey" which are represented as red/orange and blue/green respectively. The project was influenced by conway's game of life but is substantially different. Prey would reproduce every couple days (cycles) under the conditions that 1. They had a vacant adjacent square and 2. They were between a certain age range. Similarly predators had a hunger level and when they would become hungry they would eat any prey adjacent to them. In the case of no prey they would randomly move. Predators would die if they starved and Prey would die after a certain age or get eaten. If any entity lived to a certain age they would become "mutated" and have enhanced characteristics such as reproducing or hunting more often. You can see a quick example below. The application has some slight lag due to using a 500x500 grid. The code for this project is not as organized as I would've liked it to be but I really enjoyed how it turned out overall.

Example

RNA Parser

Language(s): Python 3

This was a very simple application I wrote for my roommate who was a biology major. It would take an RNA sequence such as "UCACUCUCAAAUG..." and parse it for amino acid chains (aka Peptides). There are various improvements to this application I could have done but it was a quick throw together app that my roommate could use. I was not a biology major so all the information I got was from my roommate and some googling. You are welcome to view to the code and try it yourself.

Example

I have many various small projects but more larger code based projects are TBD

Smaller Projects

  • Reverse Shell (Python 3)
  • Various Web Automation / Parsing for information (Mainly for learning Kanji and creating flash cards) (Python / Selenium / BeautifulSoup)
  • Keylogger (Python 3)
  • Some basic REST API's (Django)
  • Simple twitch/discord bots (Node.js, Python)
  • Autoclicker (C++ Windows API)
  • contact.