Compare commits
10 Commits
10337f4d3d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d50502131 | |||
| 63c4125655 | |||
| e9cfdd0c53 | |||
| 839de7cf97 | |||
| 7ef3267f26 | |||
| 78197278c2 | |||
| 04a0730bab | |||
| bf7200fa6d | |||
| 257d6a3797 | |||
| e494afd914 |
@@ -5,7 +5,7 @@ draft: false
|
|||||||
---
|
---
|
||||||
|
|
||||||
Here you are:
|
Here you are:
|
||||||

|

|
||||||
|
|
||||||
I have six Raspberry Pi's networked together with a shared NAS. That Coral chip is mostly for manual fun for now, but expect an interactive site later.
|
I have six Raspberry Pi's networked together with a shared NAS. That Coral chip is mostly for manual fun for now, but expect an interactive site later.
|
||||||
|
|
||||||
@@ -37,3 +37,6 @@ Notes on improvements:
|
|||||||
- family site would still be fun. some kind of app too
|
- family site would still be fun. some kind of app too
|
||||||
- still a great idea, turns out email on kubernetes is not trivial at the moment...
|
- still a great idea, turns out email on kubernetes is not trivial at the moment...
|
||||||
- Set up PVCs and using the NVMe volume mount
|
- Set up PVCs and using the NVMe volume mount
|
||||||
|
|
||||||
|
--- Updates:
|
||||||
|
You are now on a beelink EQ series running Omarchy (for fun) headless. Still K3s with a bunch of additions, and now with the power of Claude I can create an entire subdomain in less than five minutes- including checked in code, images on the registry, TLS, etc. It's amazing!
|
||||||
32
hugo-content/content/posts/frenzy.md
Normal file
32
hugo-content/content/posts/frenzy.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
title: "Frenzy"
|
||||||
|
date: 2026-01-07T21:36:32-08:00
|
||||||
|
draft: false
|
||||||
|
---
|
||||||
|
|
||||||
|
# YOU'RE NOT WORKING HARD ENOUGH
|
||||||
|
|
||||||
|
Hardstyle2 By Fred Again (et al) has been my motto lately, and I've been pumping out a lot of work on my "spare" time as my wife studies for the last two tests of her SE exam. I've been pumping out a lot of websites, both for external clients and for fun. Here are some:
|
||||||
|
|
||||||
|
- [airt.scottyah.com](https://airt.scottyah.com) (AI Art! I have AI develop their own web based art)
|
||||||
|
- [arvit.scottyah.com](https://arvit.scottyah.com) (Potential client, just showing a friend how easy it'd be to have a website for their side business)
|
||||||
|
- [awards.scottyah.com](https://awards.scottyah.com) I got an idea to give neighborhood awards out. This was early AI and needs some love
|
||||||
|
- [scottyah.com](https://scottyah.com),[blog.scottyah.com](https://blog.scottyah.com),[scotthatlen.com](https://scotthatlen.com) this blog
|
||||||
|
- [calbo.us](https://calbo.us) Please buy a towel
|
||||||
|
- [git.scottyah.com](https://git.scottyah.com) my git server
|
||||||
|
- [harbor.scottyah.com](https://harbor.scottyah.com) my image registry
|
||||||
|
- [obsidian.scottyah.com](https://obsidian.scottyah.com) I self host an autistic note-taking app, this is the backend api
|
||||||
|
- [paragliding.scottyah.com](https://paragliding.scottyah.com) Trying to create what I want in a forecasting site for my local paragliding site
|
||||||
|
- [secretsanta.scottyah.com](https://secretsanta.scottyah.com) I made a website for my family to do secret santas on
|
||||||
|
- [admin.pearfectname.app](https://admin.pearfectname.app) The next three are the latest project for a friend/client
|
||||||
|
- [dashboard.pearfectname.app](https://dashboard.pearfectname.app)
|
||||||
|
- [pearfectname.app](https://pearfectname.app)
|
||||||
|
- [vincedemo.scottyah.com](https://vincedemo.scottyah.com) Made this to show my coworker how my infrastructure works
|
||||||
|
- [woodpecker.scottyah.com](https://woodpecker.scottyah.com) Supposed to be CI/CD but honestly it's so buggy I might use Tekton
|
||||||
|
- [wweb.scottyah.com](https://wweb.scottyah.com) My wedding website, the start of self-hosting
|
||||||
|
|
||||||
|
There are a few more that I didn't really want to include yet.
|
||||||
|
|
||||||
|
Most of my work has been focused on my actual paying client- setting up a super sick smart home system from a cool dude I met at a Cursor networking event.
|
||||||
|
|
||||||
|
I also have been doing a lot to get a baby naming app into the app store. Apple took awhile to approve my developer account and I started going out of scope, and now have to work to get it deployable haha.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Home Server"
|
title: "Home Server"
|
||||||
date: 2025-12-17T15:42:08-08:00
|
date: 2025-12-17T15:42:08-08:00
|
||||||
draft: true
|
draft: false
|
||||||
---
|
---
|
||||||
|
|
||||||
So things have changed since the raspberry pi days. I got a beelink for @250 and it blows the 6 pi cluster out of the water in terms on compute and latency. I have installed k3s on it as well, but it's a bit upgraded as I have learned a lot more about kubernetes since the last go-round.
|
So things have changed since the raspberry pi days. I got a beelink for @250 and it blows the 6 pi cluster out of the water in terms on compute and latency. I have installed k3s on it as well, but it's a bit upgraded as I have learned a lot more about kubernetes since the last go-round.
|
||||||
|
|||||||
@@ -28,3 +28,11 @@ My wife and I have been gathering abandoned toys on our morning walks for awhile
|
|||||||
## Finished!
|
## Finished!
|
||||||
The box came out more lopsided than imagined, but it works great! It's been about a month and there have been multiple full cycles of toys. I'm thrilled that the community has been accepting of it, and that it hasn't been removed.
|
The box came out more lopsided than imagined, but it works great! It's been about a month and there have been multiple full cycles of toys. I'm thrilled that the community has been accepting of it, and that it hasn't been removed.
|
||||||
|
|
||||||
|
## And Death
|
||||||
|
We ended up moving further away and went to the beach less, and the check-ins got to be more depressing, typically mostly trash and it was used more as a lost and found for kids socks. I kept putting toys in, but they would dissapear too quickly. I noticed there were usually toys I didn't add, but none would last more than a week.
|
||||||
|
|
||||||
|
One day I cam back, it was in its place but it looks like people tried to use it for their fire, but it must have burnt abysmally with all the waterproofing I did.
|
||||||
|
|
||||||
|
It was in an unsafe state, so I came by later and took it away. It was a fun experiment, but ultimately the sucky people beat out the good ones. I have no plans to make a new one here.
|
||||||
|
|
||||||
|

|
||||||
@@ -9,7 +9,7 @@ I found myself unable to post consistent posts on X, so I did what any lazy prog
|
|||||||
I had to spend more time getting an X developer account and API keys (selfies, gov ID scans, etc) than I spent having Claude draft up another k8s.yaml and dockerfile. I now have a configmap I try to keep full, and it posts daily at the schedule that it thought would have highest visibility. So far, nobody has liked or commented on a post so I'm still just talking to a brick wall, but now I'm doing it with \~~ t e c h n o l o g y ~~
|
I had to spend more time getting an X developer account and API keys (selfies, gov ID scans, etc) than I spent having Claude draft up another k8s.yaml and dockerfile. I now have a configmap I try to keep full, and it posts daily at the schedule that it thought would have highest visibility. So far, nobody has liked or commented on a post so I'm still just talking to a brick wall, but now I'm doing it with \~~ t e c h n o l o g y ~~
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
Follow me as I try to find my niche [https://x.com/calboDev](https://x.com/calboDev)
|
Follow me as I try to find my niche [https://x.com/calboDev](https://x.com/calboDev)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ date: 2023-06-02T21:12:46-07:00
|
|||||||
draft: false
|
draft: false
|
||||||
---
|
---
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- Rifle: Tikka T3x Roughtech Ember in .308 win
|
- Rifle: Tikka T3x Roughtech Ember in .308 win
|
||||||
- Scope: Leupold VX-3HD 4.5-14x40
|
- Scope: Leupold VX-3HD 4.5-14x40
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
BIN
hugo-content/static/img/burnt-crate.webp
Normal file
BIN
hugo-content/static/img/burnt-crate.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 417 KiB |
@@ -1,14 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||||
|
|
||||||
# Find all files of type PNG, JPEG, or TIFF
|
# Find all files of type PNG, JPEG, TIFF, or HEIC
|
||||||
files=$(find $SCRIPT_DIR/../hugo-content/static/img/ -type f -iname "*.png" -o -iname "*.jpg" -o -iname "*.tif")
|
files=$(find "$SCRIPT_DIR/../hugo-content/static/img/" -type f \( -iname "*.png" -o -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.tif" -o -iname "*.tiff" -o -iname "*.heic" \))
|
||||||
|
|
||||||
# Loop through all the files in the directory
|
# Loop through all the files in the directory
|
||||||
for file in $files; do
|
for file in $files; do
|
||||||
# Convert the file to WEBP
|
output="${file%.*}.webp"
|
||||||
cwebp -resize 1500 0 $file -o "${file%.*}.webp"
|
|
||||||
|
# Check if file is HEIC format
|
||||||
|
if [[ "$file" == *.heic ]] || [[ "$file" == *.HEIC ]]; then
|
||||||
|
# Convert HEIC to WebP using sips (built into macOS) and cwebp
|
||||||
|
temp_png="${file%.*}_temp.png"
|
||||||
|
sips -s format png "$file" --out "$temp_png" >/dev/null 2>&1
|
||||||
|
cwebp -resize 1500 0 "$temp_png" -o "$output"
|
||||||
|
rm "$temp_png"
|
||||||
|
else
|
||||||
|
# Convert other formats directly with cwebp
|
||||||
|
cwebp -resize 1500 0 "$file" -o "$output"
|
||||||
|
fi
|
||||||
|
|
||||||
# Delete old file
|
# Delete old file
|
||||||
rm $file
|
rm "$file"
|
||||||
done
|
done
|
||||||
10
ship.sh
Normal file → Executable file
10
ship.sh
Normal file → Executable file
@@ -1,9 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
|
||||||
|
|
||||||
# X Poster Build & Deploy Script
|
|
||||||
|
|
||||||
|
# Blog Build & Deploy Script
|
||||||
REGISTRY="harbor.scottyah.com"
|
REGISTRY="harbor.scottyah.com"
|
||||||
NAMESPACE="scottyah"
|
NAMESPACE="scottyah"
|
||||||
IMAGE_NAME="blog"
|
IMAGE_NAME="blog"
|
||||||
@@ -26,7 +24,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
-h|--help)
|
-h|--help)
|
||||||
echo "Usage: ./ship.sh [OPTIONS]"
|
echo "Usage: ./ship.sh [OPTIONS]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Build and deploy X Poster to Kubernetes"
|
echo "Build and deploy Blog to Kubernetes"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo " --build-only Only build and push Docker image"
|
echo " --build-only Only build and push Docker image"
|
||||||
@@ -67,7 +65,7 @@ if [ "$DEPLOY_ONLY" = false ]; then
|
|||||||
--network=host \
|
--network=host \
|
||||||
-t "${TAG_TIMESTAMP}" \
|
-t "${TAG_TIMESTAMP}" \
|
||||||
-t "${TAG_LATEST}" \
|
-t "${TAG_LATEST}" \
|
||||||
"$SCRIPT_DIR/.."
|
"."
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "✅ Build complete!"
|
echo "✅ Build complete!"
|
||||||
@@ -94,7 +92,7 @@ if [ "$BUILD_ONLY" = false ]; then
|
|||||||
|
|
||||||
# Apply Kubernetes configuration
|
# Apply Kubernetes configuration
|
||||||
echo "Applying Kubernetes configuration..."
|
echo "Applying Kubernetes configuration..."
|
||||||
kubectl apply -f "$SCRIPT_DIR/../k8s.yaml"
|
kubectl apply -f "k8s.yaml"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Waiting for namespace to be ready..."
|
echo "Waiting for namespace to be ready..."
|
||||||
|
|||||||
Reference in New Issue
Block a user