A guide to this portfolio

Glossary

Plain-language definitions for technologies, tools, and ideas used across my projects and experience.

Browse terms

A

aiohttp

A Python library for making and serving web requests without blocking other tasks.

Found in Discord Music Bot · Projects

AngularJS

A JavaScript framework for building web applications; it is the original Angular framework released by Google.

Found in About · Resume

API

An application programming interface: a defined way for one piece of software to request data or actions from another.

Found in About · Resume

Application Stack

The operating system, applications, libraries, and settings installed together to provide a working environment.

Found in About · Resume

Application Stacks

Sets of operating systems, applications, libraries, and settings installed together to provide a working environment.

Found in About · Resume

Async Python

A way to let Python handle other tasks while waiting for network requests or other slow operations.

Found in Discord Music Bot · Projects

Automated Testing

Running software checks with code or tools so they can be repeated consistently with less manual work.

Found in About · Resume

AWS

Amazon’s cloud platform, which provides hosted computing, storage, databases, networking, and related services.

Found in About · Resume

B

Bash

A command-line shell and scripting language commonly used to automate tasks on Unix-like systems.

Found in About · Resume

BitBake

The build tool used by Yocto to follow recipes that compile and package software into a Linux system.

Found in NetBotz 75x · Projects

Build-Time Validation

Checks performed while software or a site is being built, so invalid content or settings are caught early.

Found in About · Resume

C

C

A programming language that offers close control over memory and hardware and is often used for operating systems and embedded software.

Found in About · Resume

CI/CD

Continuous integration and continuous delivery: automated checks and workflows that prepare software changes for release.

Found in NetBotz 75x · Projects · About · Resume

Claude Code

An AI coding assistant from Anthropic that helps people work with software projects.

Found in About · Resume

Code Coverage

A measure of how much of the code is exercised by automated tests.

Found in NetBotz 75x · Projects

Computer Science

The study of computation, algorithms, software, and the systems that make computers work.

Found in Home · About · Resume

Computer Vision

Techniques that help software identify and interpret information in images or video.

Found in Dorm Security · Projects

Configuration Drift

Gradual differences between a system’s current settings and the intended configuration.

Found in About · Resume

Confluence

A team workspace for writing, organizing, and sharing project documentation.

Found in About · Resume

Cybersecurity

The practices used to protect computers, networks, and data from unauthorized access or misuse.

Found in About · Resume

D

Database Security

Controls and practices that protect a database and the information it stores from unauthorized access or changes.

Found in About · Resume

Deployment Automation

Scripts or workflows that prepare and install software or system configurations with fewer manual steps.

Found in About · Resume

Device Deployment

Preparing and delivering devices with the software and settings needed for use.

Found in About · Resume

Device Deployments

Preparing and delivering devices with the software and settings needed for use.

Found in About · Resume

discord.py

A Python library for building bots that interact with Discord.

Found in Discord Music Bot · Projects

DNS

Domain Name System: the service that translates names, such as website addresses, into network addresses.

Found in Personal Homelab · Projects

Docker

A tool that packages applications with their dependencies into isolated environments called containers.

Found in Personal Homelab · Projects · About · Resume

Docker Compose

A tool for defining and running multiple Docker containers together from one configuration file.

Found in Personal Homelab · Projects

E

Embedded Linux

The Linux operating system adapted to run inside dedicated devices, such as monitoring hardware.

Found in NetBotz 75x · Projects · About · Resume

Embedded Product Security

Security work for software and devices designed to run as part of a larger product.

Found in About · Resume

F

Face Recognition

Matching a face in an image to a known person using visual features.

Found in Dorm Security · Projects

FFmpeg

A toolkit for processing and converting audio and video.

Found in Discord Music Bot · Projects

Firmware

Software stored on a device that controls or supports its hardware.

Found in About · Resume

Flask

A lightweight Python framework for building web applications and APIs.

Found in Restaurant App · Dorm Security · Projects · About · Resume

Full Stack

Work across the layers of an application, such as its user interface, server logic, and data storage.

Found in About · Resume

G

Git

A version control system that records changes to files and helps people collaborate on software.

Found in About · Resume

GitHub

A service for hosting Git repositories and collaborating on software projects.

Found in About · Resume

GitHub Copilot

An AI coding assistant from GitHub that suggests and explains code inside development tools.

Found in About · Resume

H

Hardware Integration API

A software interface that lets an application or tool work with a hardware component or test setup.

Found in About · Resume

Hardware Integration APIs

Software interfaces that let applications or tools work with hardware components or test setups.

Found in About · Resume

Homelab

A personal setup of servers and networking equipment used to run services and learn infrastructure skills.

Found in Personal Homelab · Projects

HTML/CSS

HTML describes the structure of web content, while CSS controls how that content is presented.

Found in About · Resume

I

Image Size Regression

An unexpected increase in the size of a built operating system or software image compared with an earlier build.

Found in About · Resume

IntelliJ

A family of development environments from JetBrains, including IntelliJ IDEA for Java and other languages.

Found in About · Resume

J

Java

A general-purpose programming language commonly used for backend services and desktop or mobile applications.

Found in About · Resume

JavaFX

A Java toolkit for building desktop interfaces, including windows, controls, and charts.

Found in Stock Portfolio Tracker · Projects · About · Resume

JavaScript

A programming language used to add behavior to web pages and to build server and desktop applications.

Found in About · Resume

Jenkins

An automation server often used to run software builds, checks, and delivery workflows.

Found in About · Resume

Jira

A work tracking tool used to plan and follow software and other team projects.

Found in About · Resume

JSON Schema

Rules that check whether structured JSON data has the expected fields and value types.

Found in Portfolio Website · Projects

JUnit 5

A testing framework used to write and run automated tests for Java code.

Found in Stock Portfolio Tracker · Projects

K

Kernel-Level

Describes software or a problem involving the operating system kernel, the core that manages hardware and system resources.

Found in About · Resume

L

Lab Infrastructure

Shared equipment, network connections, and services used to develop and test products.

Found in About · Resume

Linux

An open-source operating system kernel used in servers, computers, and embedded devices.

Found in About · Resume

M

Maven

A tool that manages Java project dependencies and automates building and testing.

Found in Stock Portfolio Tracker · Projects

MFA

Multi-factor authentication: signing in with more than one type of proof, such as a password and a security key.

Found in Personal Homelab · Projects

N

Network Test Environment

A network setup used to check whether devices and software communicate and behave as expected.

Found in About · Resume

nginx

Web server software that serves the site and can route requests to other services.

Found in Portfolio Website · Projects · About · Resume

NLP

Natural language processing: techniques that help software interpret human language, such as chatbot questions.

Found in Stock Portfolio Tracker · Projects

Node.js

A JavaScript runtime that lets JavaScript programs run outside a web browser, including on servers.

Found in About · Resume

NumPy

A Python library for efficient calculations on arrays of numerical data.

Found in Stock Portfolio Tracker · Projects · About · Resume

O

OpenCV

A library for processing images and video, often used in computer vision.

Found in Dorm Security · Projects · About · Resume

Operating System

The core software that manages a device’s hardware and provides services for applications.

Found in About · Resume

Operating System Imaging

Creating or copying a configured operating system image onto a device.

Found in About · Resume

P

Pandas

A Python library for organizing, cleaning, and analyzing tabular data.

Found in Restaurant App · Projects · About · Resume

PostgreSQL

An open-source relational database that stores structured data and supports SQL queries.

Found in About · Resume

Pre-Merge Validation

Automated checks run before a software change is merged into the main codebase.

Found in About · Resume

Prerendering

Generating page HTML before a visitor requests it, so content is available immediately.

Found in Portfolio Website · Projects

Provisioning

Preparing a device or system by installing software and applying its required settings.

Found in About · Resume

Python

A general-purpose programming language used for web services, automation, data work, and many other tasks.

Found in About · Resume

Q

QA

Quality assurance: the process of checking that software or a product meets requirements and behaves as expected.

Found in About · Resume

Quality Assurance

The work of checking that a product or software meets its requirements and behaves as expected.

Found in About · Resume

R

R

A programming language and environment designed for statistics, data analysis, and visualization.

Found in About · Resume

Regression Testing

Testing that checks whether a software change has broken behavior that used to work.

Found in About · Resume

REST APIs

Web interfaces that let software exchange data through standard requests, such as reading or updating a resource.

Found in Discord Music Bot · Restaurant App · Projects

Runbook

A written set of steps for performing a routine technical or operational task.

Found in About · Resume

S

scikit-learn

A Python library for training and evaluating machine-learning models.

Found in Restaurant App · Projects · About · Resume

SEO

Search engine optimization: making pages easier for search engines to find and understand.

Found in Portfolio Website · Projects

SNMPv3

Version 3 of the Simple Network Management Protocol, used to monitor and manage devices with support for authentication and encryption.

Found in NetBotz 75x · Projects

Software Engineering

The practice of designing, building, testing, and maintaining software systems.

Found in About · Resume

SQLite

A database stored in a local file that does not need a separate database server.

Found in Stock Portfolio Tracker · Projects · About · Resume

Swift

A programming language used to build software for Apple platforms and other systems.

Found in About · Resume

SwiftUI

Apple’s framework for describing and building app interfaces in Swift.

Found in Restaurant App · Dorm Security · Projects · About · Resume

syslog-ng

A tool that collects, filters, and forwards event logs from devices and applications.

Found in NetBotz 75x · Projects

System Diagnostics

Tools and information used to investigate a system’s health and identify problems.

Found in About · Resume

Systems Programming

Building software close to the operating system or hardware, such as system services, drivers, and development tools.

Found in About · Resume

T

Tailscale

A service that connects devices over a private network using WireGuard-based encrypted links.

Found in About · Resume

Test Framework

Reusable tools and conventions for writing and running automated software checks.

Found in About · Resume

Time-Series Forecasting

Predicting future values from observations recorded over time, such as daily sales.

Found in Restaurant App · Projects

Turbo

A web navigation library that updates page content without a full browser reload.

Found in Portfolio Website · Projects

TypeScript

A programming language that adds type checking to JavaScript and compiles to JavaScript.

Found in About · Resume

V

Visual Studio Code

A source code editor with extensions for languages, debugging, and development workflows.

Found in About · Resume

VPN

Virtual private network: an encrypted connection that lets devices communicate over a private network.

Found in Personal Homelab · Projects

W

WireGuard

A modern protocol and software for creating encrypted virtual private network connections.

Found in About · Resume

X

Xcode

Apple’s development environment for building, testing, and debugging software for Apple platforms.

Found in About · Resume

Y

Yocto

An open-source project that provides tools for building custom Linux systems for specific hardware.

Found in NetBotz 75x · Projects · About · Resume

YOLO

You Only Look Once: a family of models that locate and identify objects in images.

Found in Dorm Security · Projects

yt-dlp

A tool for retrieving audio and video from supported websites.

Found in Discord Music Bot · Projects