[{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/projects/","section":"","summary":"","title":"","type":"projects"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/design-patterns/","section":"Tags","summary":"","title":"Design Patterns","type":"tags"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/developer-performance/","section":"Tags","summary":"","title":"Developer Performance","type":"tags"},{"content":"A project for CPTS 540 - Artifical Intelligence at WSU, we are creating multiple autonomous agents to play Dark/Fog-of-War Chess (where a player can only see the spaces their pieces can move to).\nSpecifically, we hope to explore Counterfactual Regret Minimization, Monte Carlo Tree Searching, and more traditional Min-Max search on a reduced mini-chess board.\n","date":"6 December 2025","externalUrl":null,"permalink":"/projects/dark-chess-ml/","section":"","summary":"Comparing multiple machine learning methods for learning to play Dark Chess (where a player can only see the spaces their pieces can move).","title":"Fog-of-War Chess Playing AI Agent","type":"projects"},{"content":"","date":"6 December 2025","externalUrl":"https://github.com/Johnsoac671/Astro-Photography-Denoiser","permalink":"/projects/galactic-image-upscaler/","section":"","summary":"A data processing pipeline for upscaling and denoising images of galaxies.","title":"Galaxy Image Denoiser","type":"projects"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/java/","section":"Tags","summary":"","title":"Java","type":"tags"},{"content":"A work-in-progress research paper relating to OOP design patterns and their effects on developer cognition.\n","date":"6 December 2025","externalUrl":null,"permalink":"/projects/dpsum25/","section":"","summary":"An on-going paper relating to OOP design patterns in Java projects","title":"Java Design Pattern Paper","type":"projects"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/machine-learning/","section":"Tags","summary":"","title":"Machine Learning","type":"tags"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/pytorch/","section":"Tags","summary":"","title":"PyTorch","type":"tags"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/reinforcement-learning/","section":"Tags","summary":"","title":"Reinforcement Learning","type":"tags"},{"content":"","date":"6 December 2025","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"Hi! I am a Masters student at Washington State University (WSU), working in the Software Engineering Lab (SEL). My interest is in software design patterns and behaviors, particularly how the aspects of good design that are often taken for granted actually impact developer cognition and performace. I\u0026rsquo;m also interested in how different programming paradigms/styles (e.g. Functional Programming, Data-Driven, etc.) influence developer cognition as well.\nMy undergraduate study was in Computer Science, with a focus on software engineering and data science.\nOutside of academia, I am a fan of the Seattle Mariners, astronomy/astrophotography, and 3D modeling (including the background of this page!)\nLanguages I\u0026rsquo;m working with right now # \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e Python C# \u003c?xml version=\"1.0\" encoding=\"iso-8859-1\"?\u003e \u003c!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"\u003e Java file_type_racket Racket (Scheme) Languages I\u0026rsquo;ve worked with before # \u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?\u003e JavaScript \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e Haskell \u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e kotlin Kotlin Resume Current Projects # Fog-of-War Chess Playing AI Agent Python Machine Learning Reinforcement Learning Comparing multiple machine learning methods for learning to play Dark Chess (where a player can only see the spaces their pieces can move). Java Design Pattern Paper Java Design Patterns Developer Performance An on-going paper relating to OOP design patterns in Java projects Past Projects # Galaxy Image Denoiser \u0026#8599; \u0026#8598; 6 December 2025 Python PyTorch Machine Learning A data processing pipeline for upscaling and denoising images of galaxies. FuelBEACON \u0026#8599; \u0026#8598; 6 May 2025 Python OCR QWEN-2 My undergraduate capstone, an automated system for extracting handwritten text from logistical forms. Twitter Sentiment Analysis Classifier Python Machine Learning Deep Learning Comparing multiple traditional machine learning and deep learning methods for identifying the sentiment of a dataset of tweets. ","date":"6 December 2025","externalUrl":null,"permalink":"/","section":"Welcome!","summary":"","title":"Welcome!","type":"page"},{"content":"","date":"6 May 2025","externalUrl":"/files/fuelbeacon.pdf/","permalink":"/projects/fuelbeacon/","section":"","summary":"My undergraduate capstone, an automated system for extracting handwritten text from logistical forms.","title":"FuelBEACON","type":"projects"},{"content":"","date":"6 May 2025","externalUrl":null,"permalink":"/tags/ocr/","section":"Tags","summary":"","title":"OCR","type":"tags"},{"content":"","date":"6 May 2025","externalUrl":null,"permalink":"/tags/qwen-2/","section":"Tags","summary":"","title":"QWEN-2","type":"tags"},{"content":"","date":"6 March 2025","externalUrl":null,"permalink":"/tags/deep-learning/","section":"Tags","summary":"","title":"Deep Learning","type":"tags"},{"content":"A project for CPTS 437 - Introduction to Machine Learning at WSU, where we implemented multiple traditional machine learning algorithms (along with a simple Neural Network) from scratch to classify tweets based on their sentiment.\nAlgorithms Tested:\nK Nearest Neighbor (using embedding model to convert tweet to vector space) Support Vector Machine Naive Bayes Predictor Neural Network In the end, our Neural Network achieved the highest accuracy (~70%), which we are happy with due to implementing that algorithm ourselves. Next was SVM at 62% (but much slower 😢), KNN at 55%, and Naive Bayes at ~45% to ~50% (due to data processing issues)\n","date":"6 March 2025","externalUrl":null,"permalink":"/projects/twitter-sentiment-analysis/","section":"","summary":"Comparing multiple traditional machine learning and deep learning methods for identifying the sentiment of a dataset of tweets.","title":"Twitter Sentiment Analysis Classifier","type":"projects"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]