About Me

My name is Lucas Payne. I am a PhD student and graduate research assistant working on cybersecurity and AI. You can view my publications on ORCID External Link. On this site, you will find information and dev logs on my various projects, as well as blog posts on miscellaneous programming or other topics. If you're interested in any of the topics I write about, feel free to reach out or follow along with my work.

I'm a software developer with a wide range of interests. I primarily focus on games, game engines, and AI. I am always curious about how things work, and I find the best way to learn is to make things from scratch. Because of this, I often like to make projects in C or C++ with as few libraries as possible. My projects page has a few examples. I prize simplicity and ease of use, which is reflected especially in my build systems and tools.

Research and Dissertation

My doctoral dissertation is on using knowledge graphs to detect anomalies in log files. This involves converting a corpus of log messages representing normal system behavior into a knowledge graph. A machine learning model (specifically, a knowledge graph embedding model External Link) is then trained to learn a representation of that knowledge graph. Then, when presented with a new log message, the model returns a score that represents the confidence that the log message is consistent with normal behavior. Low confidence indicates a suspicious message. Much more detailed information on this topic can be found in my publications.

Some of my recent work in this area explores using LLMs to help in the process of converting log messages into a knowledge graph format. Other work includes adapting my code to take advantage of high performance computing facilities so that it can run across multiple nodes and GPUs to process more data in parallel or to run larger models.

I also developed a series of computer labs introducing the OpenStack cloud computing platform based on the Red Hat OpenStack Administration I External Link labs. This lab series contains over 200 pages of content, and its source is available on GitHub External Link. Although instructions to recreate the lab environment are included, the environment itself is not. The labs assume that an environment is built on top of NETLAB+ External Link.

Media Preservation

Another area I care deeply about is the preservation of all sorts of data: video games, movies, music, books, home videos, family photos and recipes, and more. These media carry valuable knowledge, memories, and experiences that should be carried into the future, and it would be a shame to lose them. However, media come in a wide variety of physical formats, and many of those formats have several variations, which means preservation is often not a simple task. For example, VHS tapes can be standard VHS, Super VHS, VHS-C, Super VHS-C, Betamax, or one of many more formats. Each of these formats may require different hardware, software, or knowledge to properly digitize. I have digitized much of my family's VHS collection, and I hope to get more and better equipment soon to make better copies and to tackle other media such as printed photos and handwritten family recipes.

In the case of books, there are projects such as Project Gutenberg External Link. Project Gutenberg in particular offers tens of thousands of public domain e-books. Many of these e-books start as a scan of a physical book which has optical character recognition (OCR) applied to it. Because OCR is imperfect and more work needs to be done to properly format a book to be released as an e-book, an entire team of volunteers is needed. This work is done for Project Gutenberg through Project Gutenberg Distributed Proofreaders External Link. Here, each book passes through multiple rounds of proofreading and formatting before being post-processed and submitted to Project Gutenberg. I enjoy this proofreading process and believe in the mission, so I try to contribute when I have the time.

I also maintain a self-hosted Debian server at home that provides several services for my family and friends. I use Nextcloud External Link to provide free and private cloud storage that can also sync to your phone through an app to keep your photos backed up. I host a Jellyfin External Link server to allow us to watch our movies and shows, listen to our music, and read our books from anywhere. I also occasionally host Minecraft servers for my friends. This has given me some experience in Linux system administration and taught me the importance of keeping good and thorough documentation and building the right automations.