diff --git a/README.md b/README.md index 1a90b44..ad4dc58 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ cd www Then in a web browser, navigate to `localhost:8080`. -## TODO +## TODO Items All goals are currently completed. diff --git a/cronjob.sh b/cronjob.sh new file mode 100755 index 0000000..0d8eb51 --- /dev/null +++ b/cronjob.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash +# 2025-10-14 Hyperling +# Copied cronjob.sh from env-docker/Config/Hugo-Example/files/ to use for this +# project so that docker container can do periodic git pulls rather than having +# to reload /rebuild the container each time a release is pushed out. + +## Setup ## + +DIR="$(dirname -- "${BASH_SOURCE[0]}")" +PROG="$(basename -- "${BASH_SOURCE[0]}")" +cd $DIR +DIR="`pwd`" +NAME="'$PROG'" + +function log { + echo -e "`date` : $NAME - $1" +} + +function kill-project { + # Kill node.js which will complete run.sh and restart any Docker containers. + # This is more intended towards Development and Stage sites since Production + # will only see git changes when a pull request is manually completed. + log "Stopping continuous processes!" + pkill node +} + +function reload-project { + # Nothing to do, run.sh and main.js automatically uses the latest files. + log "Project reloaded successfully!" +} + +## Main ## + +# Pull any updates, and if the project is already up to date, exit successfully. +output="`git pull`" +git_status="$?" + +echo "$output" | grep -v "up to date" +grep_status="$?" + +log "Pull status is '$git_status', checking for changes is '$grep_status'." + +# Check whether the continuously running jobs have been updated. +echo "$output" | grep "main.js" +main_changed="$?" +echo "$output" | grep "run.sh" +run_changed="$?" + +# Determine where we've landed and whether we need to do anything. +if [[ $git_status != 0 ]]; then + log "*** ERROR: Git reported a failure! ***" + exit 1 +elif [[ $git_status == 0 && ($main_changed == 0 || $run_changed == 0) ]]; then + log "Either main ('$main_changed'), or run ('$run_changed') were changed!" + kill-project +elif [[ $git_status == 0 && $grep_status == 0 ]]; then + reload-project +elif [[ $git_status == 0 && $grep_status != 0 ]]; then + log "Nothing to do. '$output'" +else + log "*** WARNING: Unknown Situation ***" +fi + +## Success! ## + +exit 0 diff --git a/pages/about.php b/pages/about.php index 0781d5a..ee7c102 100755 --- a/pages/about.php +++ b/pages/about.php @@ -5,15 +5,18 @@ } include "helpers/body_open.php"; ?> -
Hi there! My name is Chad, I'm the primary content creator behind Hyperling and HyperVegan. Thank you for your interest! @@ -26,7 +29,6 @@ planted at least one fruit tree or had a small square foot garden. We would be in paradise!
-Coding and videos aren't my only hobbies, I'm also big into health. I see it as humanity's most important asset and take a @@ -51,7 +53,6 @@
+ I'm a professional software engineer who's been playing with + Linux system administration from a young age. + Much of my career has focused on back-end / database systems + and optimizing workflows. + I feel that I specialize in building systems with "no sharp + edges", meaning that I test rigorously to ensure there aren't any + ways the user can hurt themselves or the system. + In my free time I enjoy learning new + languages and writing apps for Android. +
+ ++ This JSON file will add all of my apps for you in its own + convenient group: +
+ ++ Then if you only want to keep a subset of the apps you may either + mark the unwanted ones as Track Only or delete them from the app. +
++ If you decide to add the apps 1-by-1 based on the URLs in the + section below, here is how to show the correct version numbers: +
+[0-9\.]+[0-9]+
+ + Otherwise, using "Take first link" ensures you get the + proper update but will show pseudo versions. +
++ Keep track of repeating expenses and + view projections of their effect on your finances. + First app written with Flutter. +
++ + [Source Code] + [APKs / Obtainium URL] +
++ Play against a friend or a range of AIs. + Written to practice Kotlin/Compose. +
++ + [Source Code] + [APKs / Obtainium URL] +
++ Calculate cost-effective foods on a High Carb Low Fat lifestyle. +
++ + [Source Code] + [APKs / Obtainium URL] +
+ ++ Play a notification at your chosen interval. +
++ + [Source Code] + [APKs / Obtainium URL] +
+ ++ Determine a good bedtime for waking during light sleep. +
++ + [Source Code] + [APKs / Obtainium URL] +
+ ++ Started as a fun project for learning. + Playable but unfinished. +
++ + [Source Code] + [APKs / Obtainium URL] +
+ ++ For a full list of software including my Ansible automation, + Docker setup, source code for this website, and other + fun/random toys, check out + My Projects. +
+- Timely responses are not guarenteed, as I spend a majority of - my time offline and enjoy traveling in reception-free zones. + Timely responses are not guarenteed, as I spend a large amount of + time offline and enjoy traveling in reception-free zones.
@@ -42,7 +49,6 @@
Curious how I made it? Check out its Git repository:
- ++ Here is the video it was announced in: +
+