w33k in g33k: May 22,2026
·
Sean P. McAdam

👎🏻 Adulting
- How-To Geek: 6 simple Excel automations you can do in under 5 minutes
- Turn your static ranges into data tables
- Apply formulas to every row instantly
- Make your data learn from your examples
- Spot errors and progress updates automatically
- Create foolproof inputs with in-cell drop-down menus
- Clean up messy imported data in one repeatable step
- How-To Geek: If you only do 3 things for your lawn each year, make sure they’re these (and at the right time)
- Knock out spring cleanup before the grass wakes up
- Overseed aggressively in the first two weeks of September
- Mulch your leaves with the mower from mid-October through November
🤖 Android
- How-To Geek: Aurora Store, Obtanium, and 2 more: The Android app stores Google doesn’t want you to know about
- Aurora Store
- Obtanium: “Obtainium allows you to install and update apps directly from their release pages, and receive notifications when new releases are made available.”
- GitHub Store: “🩵 A free, open-source app store for GitHub releases — browse, discover, and install apps with one click. Powered by Kotlin and Compose Multiplatform for Android & Desktop (Linux, MacOS, Windows).”
- Neo Store: “An F-Droid client with modern UI and an arsenal of extra features.”
- Android Authority: This long-running PS1 emulator for Android just got Google Drive support
- ePSXe
- I don’t believe i have a PlayStation emulator on my Android tablet, so something to see about installing.
- How-To Geek: Every Android user should check out this free, open-source app collection
- How-To Geek: This open-source app turned GitHub into my favorite Android app store
- GitHub: OpenHub-Store / GitHub-Store: “🩵 A free, open-source app store for GitHub releases — browse, discover, and install apps with one click. Powered by Kotlin and Compose Multiplatform for Android & Desktop (Linux, MacOS, Windows).”
- How-To Geek: This alternative Jellyfin app gave me a Plex-like experience without any fuss
- GitHub: damontecres / Wholphin: “An OSS Android TV client for Jellyfin”
🍎 Apple
- Engadget: This new Mac app locks the keyboard to prevent chaos when your cat tramples all over it
- App Store: Cats Lock: $3
- Cult of Mac: 7 best AI apps for Mac (and how I actually use them)
- Cotypist: “Cotypist predicts your next words in every Mac app — on your Mac, not in the cloud. Press Tab to accept. Eerily good at picking up on what you’re about to write.”
- Superwhisper: “Superwhisper: ultra-fast AI powered dictation that understands what you want to say and how you want to say it.”
- Substage: “A natural language command bar for your Finder windows”
- Granola: “The AI notepad for people in back-to-back meetings”
- Codex: “The Codex app is a focused desktop experience for working on Codex threads in parallel, with built-in worktree support, automations, and Git functionality.”
- Claude: From Anthropic. “Chat, Claude Cowork, and Claude Code, all in one place.”
- Gemini: “Access Gemini from any screen on your desktop to clarify a topic, recall a formula, or brainstorm on the fly without opening a tab. It’s help on demand.”
- Mac Stories: Indigo: A Clever Mashup of Bluesky and Mastodon in One Timeline
- App Store: Indigo for Bluesky & Mastodon
- Haiku Forums: My Haiku arm64 Progress
- Haiku: “Haiku is an open-source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.”
- Apple Insider: How to use a spare keyboard or numpad as a macropad in macOS
- MacStories: BetterTouchTool: Now with a Powerful Launcher for Your Mac [Sponsor]
- I wasn’t saving this for the “sponsor” part, but because i use BetterTouchTool & wanted to see what was new.
- BetterTouchTool Plugin Gallery
- GitHub: kageroumado / phosphene: “A video wallpaper engine for macOS Tahoe”
- “Phosphene is a menu bar app + wallpaper extension that plays your own video files as the macOS desktop and lock-screen wallpaper. It plugs into the system’s native wallpaper picker, so videos appear alongside Apple’s built-in Aerials in System Settings → Wallpaper.”
- Not that i have anything in mind for this, but thought it was interesting enough to save for the future in case i do decide i want to use it.
🤖 Artificial Intelligence \ Large Language Models
🌎 Current Events
- Rutger Bregman: 10 Signs of Fascism. America has all of them.
- First: a mythic past and national rebirth.
- Second: victimhood and humiliation
- Third: hierarchy and dehumanization
- Fourth: contempt for weakness
- This leads to the fifth family resemblance, which is the cult of action.
- Sixth: the leader as savior
- Seventh: the purification of institutions
- Eight: propaganda and the assault on truth
- Ninth: the merger of state and corporate power
- Tenth, final and most crucially: violence and terror
🎥📺 Entertainment
- Gizmodo: ‘Star Trek: The Last Starship’ Is Boldly Going Into Horror
- This sounded interesting & i wanted to check it out.
- Hail Mary - Star Map
🎮 Games
- Android Authority: One of the best handheld Zelda games is now (unofficially) available on Android
- Android Authority: One of the best handheld Zelda games now has an unofficial PC port
- GitHub: 999sian / tmc: “Decompilation of The Legend of Zelda: The Minish Cap (USA/JP/EU)”
- Lemmy.ca: The PlayStation 5 Linux project has been upgraded to support more firmware
- Windows Central: Winhanced update adds PlayStation integration and emulator support, turning Windows gaming handhelds into true all‑in‑one hubs: “Winhanced keeps expanding with PS5 support, emulator integration, improved navigation, and app launching features for Windows handheld gamers.”
🏡 Home
- How-To Geek: This 10-minute Home Assistant automation saves me hours every week
- “Adding snapshots to notifications was a quick fix”
- “Displaying the live doorbell feed saves me a lot of wasted time”
- Make Use Of: My old phone became the smart home dashboard I should have built sooner
- IT’s FOSS: I Gave Desktop Email Clients Another Shot and This New App Delivered
- Aerion: “An Open Source Lightweight E-Mail Client”
- How-To Geek: 5 Home Assistant features you’re not using (but should be)
- Labels
- Helpers (Tools)
- Calendars
- Actionable notifications
- Webhooks
- How-To Geek: 5 Home Assistant integrations you’re probably not using—but should be
- Waste Collection Schedule: “Home Assistant integration framework for (garbage collection) schedules”
- Chime TTS: “A custom Home Assistant integration to play combined audio files before and/or after text-to-speech (TTS) messages”
- Multiscrape: “Home Assistant custom component for scraping (html, xml or json) multiple values (from a single HTTP request) with a separate sensor/attribute for each value. Support for (login) form-submit functionality.”
- Workday
- Presence Simulation: “This Home Assistant component aim to provide a presence simulation in your home while you are away. It will turn on & off lights, switches, covers… based on your history.”
- How-To Geek: Stop using Home Assistant automations for everything — here’s when scripts and scenes are better
- How-To Geek: 3 smart home upgrades you can make with a $24 Arduino boar
- Home irrigation system
- Smart coaster
- Smart safety monitoring system
- IT’s FOSS: How I Finally Added Tapo L530 Bulb to Home Assistant
- Art of Manliness: 10 Jobs to Get Your House Ready for Summer
- Get yardwork tools and gear ready.
- Test outdoor water lines.
- Repair damaged window screens.
- Get your A/C inspected and tuned up.
- Prep your mower for the season.
- Change ceiling fan direction: “In winter, the fan should spin clockwise (when viewed from below) at a low speed, which gently pulls cool air upward and pushes warm air trapped near the ceiling back down into the room. In summer, the fan should spin counterclockwise, creating a downward breeze that makes you feel cooler.”
- Clean your grill and get propane.
- Get ready for bugs (ant traps, wasp traps, fly catchers, etc.).
- Clean out gutters.
- Clean and/or pressure wash decks, sidewalks, and patios.
- How-To Geek: 4 smart home devices you can replace with a Pi Zero 2 W
- A presence detection system
- Your smart security camera
- An expensive air quality monitor
- A smart watering system
- How-To Geek: Home Assistant now works with this clever snap-on switch for smart home controls
🖥️🔐 IT Security
🐧 Linux
- NERDS.xyz: RakuOS takes a huge step toward becoming a serious Linux distro
- RakuOS: “Atomic Linux that doesn’t take away your package manager. Immutable base. Install anything. Native gaming. Zero compromises.”
- Nice banner across the top of the page too: “Our stance on age mandates in general, and more specifically H.R. 8250: RakuOS opposes invasive age-verification and age-attestation mandates. If these laws move forward, we will implement the absolute bare minimum in the most privacy-respecting way possible. Read our full stance, including our response to H.R. 8250.”
- RakuOS: “Atomic Linux that doesn’t take away your package manager. Immutable base. Install anything. Native gaming. Zero compromises.”
- GitHub: tech4bot / rk3562deb: “rkdebian is a build system that produces a complete, bootable Debian 12 Bookworm image for the Doogee U10 Android tablet, powered by the Rockchip RK3562 SoC.”
- I forget where i saved this from, but Linux on a tablet caught my eye.
- Make Use Of: I ditched laggy Linux remote desktop for this browser-based setup
- Apache Guacamole: “Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. We call it clientless because no plugins or client software are required. Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.”
🎥📺 Media
- How-To Geek: Stop paying Netflix: Here’s how I built my own media library without self-hosting
- OSMC: Vero
- How-To Geek: Why I quit Jellyfin for a different open-source Plex rival
- Kodi: “Kodi spawned from the love of media. It is media center and entertainment hub that brings all your digital media together into a beautiful and user friendly package. It is 100% free and open source, very customisable and runs on a wide variety of devices. It is supported by a dedicated team of volunteers and a huge community.”
- I’ve used Kodi here & there, but i always thought of it as more of a client than server. Maybe just for fun I’ll dig a bit deeper into it.
Self Hosting
- Make Use Of: 5 things you shouldn’t self-host, even though you technically can
- Running your own email is a pain you don’t need
- Payments are not a DIY project
- Production DNS isn’t forgiving: I agree with this one for business purposes, but if your knowledgable enough & know you’ll have to troubleshoot, running it for yourself locally isn’t that much of a headache. And even that is usually just at the beginning; once it’s running for a while you generally don’t have too many issues & if they do come up, you are now experienced enough to know where to fix the issue.
- Streaming at scale is a different beast: Disagree with this one, based on what you want to accomplish. If you 100% want to replace Netflix or another streaming service, i do think that would be extremely difficult. If you want to complement what you have, including things that might not be easily accessible online, it’s definitely worth it. And also for things that you would NOT find online, like a shared Library for your family to view digitized home videos.
- Kubernetes is overkill for most homelabs
- How-To Geek: Proxmox solves Plex’s biggest backup problem, but most people don’t know it
- Just skimmed the article, but looks like it’s just about a snapshot that would include media files, but I’m not too worried about losing movies, shows, or music that might be in Plex. Home Videos would be different, but those i already have backed up in multiple places anyway.
- How-To Geek: These 5 open-source apps do everything your paid subscriptions do, but better
- Immich: “Self-hosted photo and video management solution. Easily back up, organize, and manage your photos on your own server. Immich helps you browse, search and organize your photos and videos with ease, without sacrificing your privacy.”
- audiobookshelf: “Audiobookshelf is an open-source self-hosted media server for your audiobooks and podcasts.”
- Wallabag: “wallabag is a read-it-later application: it saves a web page by keeping content only. Elements like navigation or ads are deleted.”
Plexor Jellyfin: After everything with the ridiculous price increase from Plex… definitey going to say Jellyfin over Plex here.- Postiz: “Plan, generate, and schedule posts automatically to 30+ social media networks — then review and edit everything in a visual calendar. Bring your OpenClaw / Hermes / Claude”
- How-To Geek: 5 Pi Zero 2 W projects that are more useful than they have any right to be
- Network-wide malware protection and ad-blocking: Pi-hole
- A tiny backup VPN: Wireguard
- A self-hosted password manager: Vaultwarden
- Your homelab dashboard: Uptime Kuma
- A mini music server: Navidrome
- Make Use Of: 3 self-hosted apps I’m trying out this weekend (and you should too)
- Immich: “Self-hosted photo and video management solution. Easily back up, organize, and manage your photos on your own server. Immich helps you browse, search and organize your photos and videos with ease, without sacrificing your privacy.”
- Mealie: “Mealie is an intuitive and easy to use recipe management app. It’s designed to make your life easier by being the best recipes management experience on the web and providing you with an easy to use interface to manage your growing collection of recipes.”
- Uptime Kuma: “A self-hosted monitoring tool”
- GitHub: louislam / uptime-kuma: “A fancy self-hosted monitoring tool”
🗣️ Social Networking
❔ Miscellaneous
- How-To Geek: That old 128GB NVMe SSD in your junk drawer has 5 better uses than storage
- Turn it into a high-speed external SSD using an NVMe enclosure: So, literally the first suggestion in the list is to use it as storage… not that i think it’s bad, just not very appropriate based on the title.
- Run a lightweight homelab or self-hosted services from it
- Install and carry a portable Linux operating system
- Use it as a dedicated scratch disk for fast transfers and temporary work files
- Store all your favorite lightweight games
- Again, not that I’m disagreeing with any of these uses, it’s just that 3/5 are using the SSD for storage…
- How-To Geek: I let a local LLM take control of my video doorbell—it’s probably the future of smart cameras: “TTS out, Whisper in, Ollama in the middle”
- Make Use Of: This free app replaced half the browser tools I used every day: IT - TOOLS
- How-To Geek: Your Raspberry Pi is a better Plex server than you think (but change these 3 settings)
- Disable transcoding
- Keep video in original quality
- Use SRT subtitles
- files.md
- GitHub: zakirullin / files.md: “🌱 Your life in plain .md files”
- How-To Geek: How I turned an old Kindle into an E-Ink portable monitor
- How-To Geek: How to Jailbreak a Kindle eReader: Kindle Modding Wiki
- How-To Geek: I put this open-source reader on my Kindle, and I wish I had done it sooner: KOReader: “KOReader is a document viewer for E Ink devices. Supported fileformats include EPUB, PDF, DjVu, XPS, CBT, CBZ, FB2, PDB, TXT, HTML, RTF, CHM, DOC, MOBI and ZIP files. It’s available for Kindle, Kobo, PocketBook, Android and desktop Linux.”
- How-To Geek: I replaced ElevenLabs with this free, open-source voice cloner, and the quality is scarily good
- Voicebox: “Clone, dictate and create. Clone voices, generate speech across seven TTS engines, dictate into any app, and talk to agents in voices you own. A free and local alternative to ElevenLabs and WisprFlow, running entirely on your machine.”
- Hack A Day: Building Festival Badges That Sync Themselves Up
- I still have my DEF CON badges & a few “addons” that i haven’t done too much with, so this was a reminder to dig those out & play around with them.
- Make Use Of: I found a free file converter that never uploads your files anywhere — and it handles everything
- VERT.sh: “The file converter you’ll love. All image, audio, and document processing is done on your device. Videos are converted on our lightning-fast servers. No file size limit, no ads, and completely open source.”
- Make Use Of: I switched from Outlook to Thunderbird, but this free email client is better than both
- Thunderbird
- Mailspring: “💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.”
- How-To Geek: 7 ways I use Python to edit and animate images—it’s very easy and very powerful
- Using Python to resize, crop, and rotate an image
from PIL import Image # Import the Image module from the Pillow library
img = Image.open("photo.jpg") # Load photo.jpg from disk into an Image object (original is untouched in memory)
# --- RESIZE ---
resized = img.resize((800, 600)) # Create a new Image object scaled to 800x600px (non-destructive, img is unchanged)
resized.save("resized.jpg") # Write the resized image to disk as resized.jpg
# --- CROP ---
cropped = img.crop((100, 100, 500, 400)) # Cut a rectangle from img: starts at (100,100), ends at (500,400) → gives a 400x300px image
cropped.save("cropped.jpg") # Write the cropped image to disk as cropped.jpg
# --- ROTATE ---
rotated = img.rotate(45) # Create a new Image rotated 45° counter-clockwise; corners are clipped and filled black (canvas size unchanged)
rotated.save("rotated.jpg") # Write the rotated image to disk as rotated.jpg
02. Using Python to draw text and shapes on an image
from PIL import Image, ImageDraw, ImageFont # Also import ImageFont to load a proper font
img = Image.open("photo.jpg")
draw = ImageDraw.Draw(img) # Draw object bound directly to img — modifications are in-place
# Draw a red rectangle
draw.rectangle([50, 50, 300, 150], outline="red", width=3) # Rectangle from (50,50) to (300,150), red border, 3px thick
# Load a proper font (change path/size to suit your needs)
font = ImageFont.truetype("arial.ttf", size=32) # Load a TTF font at 32px — use any .ttf file available on your system
# Add white text at position (60, 60)
draw.text((60, 60), "Hello, World!", fill="white", font=font) # Write text using the loaded font
img.save("annotated.jpg")
03. Using Python to manipulate pixels directly
from PIL import Image # Import Pillow's Image module for loading and saving images
import numpy as np # Import NumPy — allows treating the image as a grid of numbers for direct pixel math
img = Image.open("photo.jpg") # Load photo.jpg from disk into an Image object
pixels = np.array(img) # Convert the Image object into a NumPy array — each pixel becomes a number (0–255) representing its brightness/color value
# --- INVERT ---
inverted = 255 - pixels # Subtract every pixel value from 255 — this flips the colors (0 becomes 255, 255 becomes 0, etc.)
result = Image.fromarray(inverted.astype(np.uint8)) # Convert the NumPy array back into a Pillow Image object — astype(np.uint8) ensures values stay in the valid 0–255 range
result.save("inverted.jpg") # Write the inverted image to disk
04. Using Python to apply filters and color adjustments
from PIL import Image, ImageFilter, ImageEnhance # Import Image for loading, ImageFilter for blur/sharpen effects, ImageEnhance for brightness/contrast adjustments
img = Image.open("photo.jpg") # Load photo.jpg from disk into an Image object (original stays unchanged throughout)
# --- GRAYSCALE ---
gray = img.convert("L") # Convert img to grayscale — "L" is Pillow's mode for 8-bit black & white; returns a new Image object
gray.save("grayscale.jpg") # Write the grayscale image to disk
# --- BLUR ---
blurred = img.filter(ImageFilter.BLUR) # Apply a simple box blur to img — returns a new Image object, img is unchanged
blurred.save("blurred.jpg") # Write the blurred image to disk
# --- SHARPEN ---
sharpened = img.filter(ImageFilter.SHARPEN) # Apply a sharpening filter to img — enhances edges; returns a new Image object
sharpened.save("sharpened.jpg") # Write the sharpened image to disk
# --- BRIGHTNESS ---
enhancer = ImageEnhance.Brightness(img) # Create a Brightness enhancer object bound to img — similar to ImageDraw, but read-only (non-destructive)
bright = enhancer.enhance(1.5) # Apply 1.5x brightness (1.0 = original, <1.0 = darker, >1.0 = brighter) — returns a new Image object
bright.save("brighter.jpg") # Write the brightened image to disk
05. Using Python to remove the background from an image
from rembg import remove # Import the remove function from rembg — a third-party library that uses an AI model (U2Net) to detect and remove image backgrounds
from PIL import Image # Import Pillow's Image module for loading and saving images
input_image = Image.open("photo.jpg") # Load photo.jpg from disk into an Image object
output_image = remove(input_image) # Pass the image through the AI model — detects the foreground subject, removes the background, returns a new Image object with a transparent background
output_image.save("no_background.png") # Save as PNG — must use PNG (not JPG) because JPG doesn't support transparency; the transparent areas would be lost
06. Using Python to composite two images together
from PIL import Image
background = Image.open("photo.jpg").convert("RGBA") # Convert to RGBA to support transparency
overlay = Image.open("logo.png").convert("RGBA") # Convert to RGBA — logos often have transparent areas
# Resize overlay to desired size before pasting
overlay = overlay.resize((200, 100)) # Scale the logo to 200x100px — adjust to suit your needs
# Paste the overlay at position (50, 50)
background.paste(overlay, (50, 50), mask=overlay) # mask=overlay uses the overlay's alpha channel to blend edges cleanly — without this, transparent areas paste as black
background.save("composited.png") # Save as PNG to preserve transparency
07. Using Python to animate a single image into a GIF
from PIL import Image
img = Image.open("photo.jpg").convert("RGBA") # Load image and convert to RGBA — needed for consistent pixel handling across frames
frames = [] # Empty list to store each frame of the animation
for i in range(20): # Loop 20 times — each iteration generates one frame of the zoom effect
scale = 1 + i * 0.02 # Calculate scale factor for this frame — starts at 1.0 (100%), increases by 2% each frame up to 1.38 (138%)
new_width = int(img.width * scale) # Calculate new width based on scale factor
new_height = int(img.height * scale) # Calculate new height based on scale factor
resized = img.resize((new_width, new_height)) # Resize the image to the new dimensions — makes it slightly larger each frame
# --- CROP BACK TO ORIGINAL SIZE FROM CENTER ---
left = (resized.width - img.width) // 2 # Calculate how many pixels to trim from the left to center the crop
top = (resized.height - img.height) // 2 # Calculate how many pixels to trim from the top to center the crop
frame = resized.crop((left, top, left + img.width, top + img.height)) # Crop the resized image back to the original dimensions from the center — this creates the zoom-in illusion
frames.append(frame) # Add the cropped frame to the frames list
# --- SAVE AS GIF ---
frames[0].save(
"zoom.gif", # Output filename
save_all=True, # Tell Pillow to save all frames, not just the first one
append_images=frames[1:], # Attach frames 2–20 after the first frame
duration=50, # Each frame displays for 50 milliseconds — lower = faster animation
loop=0 # 0 = loop forever; set to 1 for play-once, 2 for twice, etc.
)
selh.st: Self-Host Weekly (22 May 2026) , by Ethan Sholly.
- GitHub: bookorbit / bookorbit: “BookOrbit: Your Reading Space”
- Web Site: BookOrbit: “A self-hosted library and reading platform for ebooks, audiobooks, and comics. Automate metadata at scale, sync with Kobo, track reading analytics, and support multiple users.”
- Invidious (nadeko.net): Pi: Open-Source AI Agent Terminal Set-Up
- GitHub: ether / etherpad: “Etherpad: A modern really-real-time collaborative document editor.”
- v3.0.0
- Web Site: Etherpad Documentation: “EtherpadNext generation collaborative document editing. Make your documents come alive”
- I don’t remember if I’ve tried Etherpad before, but maybe I skipped looking into it since it is more “collaborative” & it’s not something i need to use.
- GitHub: Timmoth / RackPeek: “CLI tool to discover, manage, and document your IT infrastructure and home lab.”
- Web Site: rackpeek
- I know i’ve seen \ saved this before, but haven’t had a chance to look more into it.
- Codeberg: danb / rss: “A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js”
- Within the last week or two, i had just setup FreshRSS so i probably won’t be moving to anything else any time soon, but wanted to look at this RSS reader.
- GitHub: snapotter-hq / SnapOtter: “🦦The open-source image toolkit that makes paid tools nervous. Every image tool you need. Your images stay yours.”
- Web Site: SnapOtter: “A free, open-source image toolkit with 50+ tools that runs entirely on your network.”
- I might have saved this last week too, but didn’t get to look at it yet.
- GitHub: ellite / Wallos: “Wallos: Open-source, self-hostable personal subscription tracker. Visualize your recurring expenses, manage your budget, and save money.”
- Web Site: Wallos: “Wallos: Open-Source Personal Subscription Tracker. Self-hostable web application designed to empower you in managing your finances with ease. Wallos simplifies the process of tracking expenses and helps you gain better control over your finances.”
- I was running this previously, but i don’t remember if it broke & i never brought it back up (would have been an issue on my side, not the app) or forgot about it. At the moment i’ve been trying out Oikos) which isn’t the same thing, but maybe I will spin Wallos back up & use them together.