I'm Chris McLaughlin, a Cybersecurity Professional and Full Stack Developer, and this is my public portfolio, with everything I feel I can share publicly for any who are interested! In it you'll find past personal projects, the professional work I'm able to share, and coursework. While most code should be runnable "out-of-the-box", this may not be the case for code which has been sanitized for privacy or copyright reasons. I plan to add to this continually over time, however there should be enough here to get a general feel for my coding and writing styles or get some inspiration for your own projects!
As a security professional, I'm interested in AI-empowered threat detection and next-generation firewalls and network infrastructure. I have course experience with both Palo Alto and Cisco network security devices and am passionate about security infrastructure. My languages of choice are Python and Javascript (including Vue), but I also have experience with C, as well as exposure to Java and OCaml. I work in both Windows and Linux development environments and have a talent for automation with scripting.
Capstone Project of the Master of Telecommunications and Information Security program at the University of Victoria. Focused on identifying phishing emails utilising machine learning methods including Naive Bayes classifers, Support Vector Machines, Random Forests, and Logistic Regression. Achieved an F1 performance of 0.9967 utilising an RBF kernel SVM with TF-IDF feature extraction. Model exceeded performance of legacy email filtering solutions and with adequate software support is suitable for deployment as an organisational email filter.
A group project I was a part of (see project readme for collaborators) to create a lightweight full-stack web application that allows a user to upload a file to a server, appending user location in the form of a city string via the OpenStreetMap API which determines the server directory the file will be uploaded to. The app features SHA-256 hash verification of uploaded files as well as active feedback of all files currently uploaded. I was responsible for implementation of all functionality related to file hash checking, including the backend endpoint as well as the functionality required to list uploaded files to the user, on both frontend and backend.
Freelance Web Development Project. Shared with permission. Built a Nuxt3 Content site utilising Vue, JS, and TailwindCSS for a client releasing a Twitch-integrated chat-interaction game (which you should check out!)
Coursework from a crash-course style class on Programming Languages, where we ran through several different languages including OCaml, Racket, Ruby, and APL, with an aim of gaining exposure to an array of different language types, with a focus on functional vs object-oriented programming, static vs dynamic typing, and interpreted vs compiled languages, both in theory and in practice, through hands on exercises and assignments.
My portion of a group final project for a Data Mining course. Involved generating a MNIST-like Cyrillic dataset and implementing and comparing the results of SVMs using different hyperparameters to classify the data.
Earlier assignments from the same course on Data Mining, assignments revolve around Machine Learning algorithms. Solutions are implemented in Python via Jupyter Notebooks.
A collection of assignments from a class on Operating Systems, where assignments revolved around creating simulations of various operating system component systems in C.