Compare commits

...

10 Commits

Author SHA1 Message Date
1d50502131 another lil update
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-01-07 21:56:15 -08:00
63c4125655 frenzy
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-01-07 21:44:33 -08:00
e9cfdd0c53 small updoot
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-01-07 21:30:25 -08:00
839de7cf97 rotato chip. I should do a local deploy before committing next time
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:57:58 -08:00
7ef3267f26 all the dashes
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:54:28 -08:00
78197278c2 dash not underscore 2025-12-24 14:52:54 -08:00
04a0730bab crate pic, updated image script
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:50:31 -08:00
bf7200fa6d image file types
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:30:18 -08:00
257d6a3797 minor changes
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:26:54 -08:00
e494afd914 forgot perms are committed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2025-12-24 14:24:06 -08:00
11 changed files with 70 additions and 17 deletions

View File

@@ -5,7 +5,7 @@ draft: false
---
Here you are:
![bluster_pic](/img/bluster_pic.webp)
![bluster pic](/img/bluster-pic.webp)
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
- still a great idea, turns out email on kubernetes is not trivial at the moment...
- 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!

View 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.

View File

@@ -1,7 +1,7 @@
---
title: "Home Server"
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.

View File

@@ -28,3 +28,11 @@ My wife and I have been gathering abandoned toys on our morning walks for awhile
## 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.
## 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.
![burnt_crate](/img/burnt-crate.webp)

View File

@@ -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 ~~
![person speaking to a brick wall](/img/brick_wall.png)
![person speaking to a brick wall](/img/brick-wall.webp)
Follow me as I try to find my niche [https://x.com/calboDev](https://x.com/calboDev)

View File

@@ -4,7 +4,7 @@ date: 2023-06-02T21:12:46-07:00
draft: false
---
![alt text](/img/tikka.png)
![tikka](/img/tikka.webp)
- Rifle: Tikka T3x Roughtech Ember in .308 win
- Scope: Leupold VX-3HD 4.5-14x40

View File

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 417 KiB

View File

@@ -1,14 +1,26 @@
#!/bin/bash
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
# Find all files of type PNG, JPEG, or TIFF
files=$(find $SCRIPT_DIR/../hugo-content/static/img/ -type f -iname "*.png" -o -iname "*.jpg" -o -iname "*.tif")
# 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 "*.jpeg" -o -iname "*.tif" -o -iname "*.tiff" -o -iname "*.heic" \))
# Loop through all the files in the directory
for file in $files; do
# Convert the file to WEBP
cwebp -resize 1500 0 $file -o "${file%.*}.webp"
output="${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
rm $file
rm "$file"
done

10
ship.sh Normal file → Executable file
View File

@@ -1,9 +1,7 @@
#!/bin/bash
set -e
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
# X Poster Build & Deploy Script
# Blog Build & Deploy Script
REGISTRY="harbor.scottyah.com"
NAMESPACE="scottyah"
IMAGE_NAME="blog"
@@ -26,7 +24,7 @@ while [[ $# -gt 0 ]]; do
-h|--help)
echo "Usage: ./ship.sh [OPTIONS]"
echo ""
echo "Build and deploy X Poster to Kubernetes"
echo "Build and deploy Blog to Kubernetes"
echo ""
echo "Options:"
echo " --build-only Only build and push Docker image"
@@ -67,7 +65,7 @@ if [ "$DEPLOY_ONLY" = false ]; then
--network=host \
-t "${TAG_TIMESTAMP}" \
-t "${TAG_LATEST}" \
"$SCRIPT_DIR/.."
"."
echo ""
echo "✅ Build complete!"
@@ -94,7 +92,7 @@ if [ "$BUILD_ONLY" = false ]; then
# Apply Kubernetes configuration
echo "Applying Kubernetes configuration..."
kubectl apply -f "$SCRIPT_DIR/../k8s.yaml"
kubectl apply -f "k8s.yaml"
echo ""
echo "Waiting for namespace to be ready..."