Skip to content
A portfolio of my best projects.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Alan's Portfolio

File Hider: a file steganography tool for hiding files within other files. Written in Java with JavaFX for the GUI. Link

EZcrypt: a file encryption/decryption tool. Written in Java with JavaFX for the GUI. Link

Intro to security: a short book about information security. Uses Markdown for the chapters. Link

ChiWeather: a bot that gets weather data for Chicago using a weather API. It also uses FTP to download a photo of the sky taken on another device, and then uses a script to add a timestamp to the image. It then uses the Twitter API to send a tweet that contains weather data. Written in Python and Bash. It has two separate components: one for taking the photo on a Raspberry Pi Zero (written in Bash), and another for building and sending the tweet (Python). It uses crontab for task scheduling. Link to repo Link to Twitter account

To-do list app: a LAMP stack web-based to-do list app which stores to-do items in a database and requires authentication to view. I made this because I wanted a simple to-do list app, because I find myself using text files for writing to-do lists. Not only is it useful for me, it also demonstrates proficiency with Apache, MySQL, and PHP. Link

Prime Finder: a program that finds prime numbers, gaps between primes, and frequency of prime number occurrence. Then it graphs the data. It can save its place and then quit and resume later. Written in C++ and gnuplot. Link

AWS S3 Bucket Scraper: a simple proof-of-concept security tool that demonstrates how misconfiguring an S3 bucket can be bad, as the S3 API's XML responses can let someone enumerate all objects within a bucket. This tool can download all files in an S3 bucket. If you're going to use the cloud, it's important that you understand security for it. If you're an employer and you'd like to see the security projects I've written, let me know. Otherwise, they are private so that people can't misuse them.

ASIO: Alan's Simple IO module for Python 3. It makes it easier to make HTTP requests, get HTTP responses, download files, write data to files, and more. It supports Unicode, ASCII, and binary data. Link

Clone All: a Python tool for cloning every repo from a given GitHub user. Uses ASIO for IO operations. Link

AMP: Alan's Maintenance Program. A shell script for automating Linux tasks, such as installing software updates, testing the network connection, and scanning for malware. Link / a Jekyll-based blog. Jekyll is a static site generator written in Ruby (which I didn't make). Link

Static Site Generator: I was frustrated with some of the quirks of Jekyll (needing specific versions of dependencies and getting errors), so I made my own simple static site generator instead. Written in Python. Link

Java weather API tool: a tool for downloading and saving weather data. Written in Java. Link

Software development book: a book about software development in a variety of languages. Not yet published, but unfinished versions are available upon request

Unnamed 2D game engine: a 2-dimensional game engine for RPG games. It features tile-based movement and collision detection, as well as 2D graphics. It also has a level editor. Written in Java and uses JavaFX for the GUI. Link

Tech quotes: a project that randomly displays tech quotes from famous people in tech. Written in JavaScript. Link

ClearClipboard: a browser add-on for Firefox and Chrome that clears your clipboard. Useful when you're copying and pasting something you only need to use for a little while and don't want to accidentally paste later. Link

Dice Roller: a browser add-on that lets you roll dice or specify a custom range for random numbers to generate. Link

Saint Louis Software website: a static website with basic information about who I am, what my education is, and what I can do. Made with HTML, CSS, JavaScript, Bootstrap, etc. Primarily a front-end development project. Link

Various Wordpress websites: I've made sites with Wordpress, a popular LAMP-based content management system. Examples: Hello Life Skills and Smart Financial Research. Link1 Link2

PHP web shell: a website security tool written in PHP. If you're an employer and you'd like to see the security projects I've written, let me know. Otherwise, they are private so that people can't misuse them.

Simple rootkits: a collection of simple scripts relating to rootkits, backdoors, reverse shells, bind shells, and listeners. Only for educational purposes, intended to demonstrate simple security concepts about remote interactive shells via /dev/tcp/, TCP listeners, and how crontab can be misused. If you're an employer and you'd like to see the security projects I've written, let me know. Otherwise, they are private so that people can't misuse them.

Rootkit Finder: a simple security tool for finding rootkits and other suspicious stuff in Linux. Link

Abyss: a cool security project. Ask me about it! The repo is private because it's a security-related project that I don't want people to misuse, but I will share it with select people.

File servers: I've set up file servers with FreeNAS and ZFS for SMB file sharing. I've set up user accounts and permissions so that people can access their own files, but not other people's. Primarily used for Windows desktop file backups. Photos/screenshots coming soon

Customer routers: I've set up routers with pfSense and DD-WRT. Photos/screenshots coming soon

Server rack project: built some servers and a network. Set up all the physical stuff as well as software. Currently, there are two hypervisors on it, and many other computers that I have yet to set up, but plan on eventually setting up as a Kubernetes cluster for containers. Photos/screenshots coming soon

Computer science flash cards: digital flash cards (for an app called Anki) for my computer science classes. Link

Future projects: I want to concentrate on full stack LAMP development (web dev), using cloud providers for hosting my web projects, interacting with databases, publishing my book, and information security. I will also be doing a Java-based database project this semester in the database class, writing a Java front-end program to interact with a database.

Unfinished projects: some people say they can't think of a project idea. Some people I've spoken with struggle to come up with ideas for things to code. I'm the opposite. I have a zillion ideas for things I want to make. I have a backlog of projects that I want to make. Every day, there's always something more I can do. The best way to keep your skills sharp is to constantly code. Work on new projects. It's fun, educational, and makes you feel accomplished when you finish an app. In addition to my good finished projects, and some non-noteworthy projects, I also have a lot of unfinished projects. Some are half done, others I've barely started on, and some are ones I want to start on in the future in my free time. For a list of my unfinished GitHub projects, check out this repo here: Link

You can’t perform that action at this time.