Portfolio Home Page
Welcome to my home page.
This site exists to showcase some of my areas of knowledge of programming, data analysis, professional communication, and other related subjects.
- Every page on this site, except some of the projects under Web Apps, was written in HTML and PHP, using Bootstrap 5 (with minor customizations) for the styling.
- Everything on this site (including the ASP.NET and Angular projects under Web Apps) is self-hosted on my own Linux/Apache/MySQL/PHP server1. The only links that take you off my server are to source code on GitHub.
- The same computer is also a mail, Subversion, and GitLab server, and this site found its way to proper configuration and the correct location for you to see it via a GitLab continuous integration and deployment pipeline.
A brief description of what you'll see at each of the major links in the navigation bar above follows.
Applications
The Applications section demonstrates a few desktop applications and scripts I've written over the years. More projects will be added as I go back and clean up old code and/or write new software.
Transport
Transport is a program I wrote to collect data from scientific instruments when I was working in an experimental physics lab at Penn State. It is user-friendly, highly extensible, and thoroughly documented.
Visit the page to see screenshots, descriptions of the features, the source code, the manual, and the API documentation.
Mail Admin
MailAdmin is a system administration tool with both graphical and command-line interfaces for configuring the SQL user database for an email server (Postfix + Dovecot).
Visit the page to see screenshots, descriptions of the features, the source code, and the API documentation.
Web Apps
The Web Apps section shows programs I've written that run between a server and a web browser.
Currently, they are all different implementations of a Library application which began as attempts to put into practice things I learned from books (and, originally, to get a better estimate on how much I should purchase in renter's insurance).
They are listed in reverse chronological order (new to old), so they decrease in sophistication (as I think of new features which would require major changes to the database schema, I usually wait until the next project).
Accessing pages that edit the data requires a username and password. If you want to try them out, please contact me, and I'll send you temporary credentials. The source code is maintained in self-hosted GitLab repositories. They are all private for now, but you can contact me if you would like a link and temporary read-access credentials.
None of the projects here are under regular, active development beyond minor tweaking. Stay tuned for an upcoming implementation of the library with a React frontend, with an ASP.NET/Entity Framework Core backend.
Angular
The front-end is implemented in Angular 11 JavaScript framework. It relies on a back-end RESTful API I wrote in PHP (see the next card) for CRUD operations and JWT authentication.
REST API (PHP/Swagger)
An API written in PHP (the back-end interface to the database for the Angular project). The home page is an interface generated by Swagger from OpenAPI annotations in the PHP source code.
ASP.NET
This project is built using Microsoft's ASP.NET Core platform. The majority of the site follows the Model-View-Controller (MVC) pattern, with a few features provided by Razor Pages.
PHP
This project uses mostly plain PHP, with a little client-side JavaScript, JQuery, and AJAX to enhance the user experience with a few of the forms.
More
The sections under the More menu provide some examples of my written communication ability, both in content and in professional-quality formatting, including figure design and code documentation.
Footnotes
- This is true if you are accessing this site under the “portfolio” subdomain. If you are accessing it under the “pythagoras” subdomain, that's hosted on Linode (so it's the same work for me, only I don't own the hardware).