April 24, 2026
test post
Normal Post
Update - April 24, 2026, 12:20 PM
Test Edit. Normal Edit.
Update - April 24, 2026, 12:35 PM

YES, LOOKING UPDATE!!!
Hahah, yessss, this looks great!
Server Migration (Phase 0 — Complete) Migrated from a completely end-of-life 2019 stack (Ubuntu 18.04, Caddy 1.0, PHP 7.2, MySQL 5.7) to a modern, secure server. All sites live, all SSL certs obtained, pubquiz running via PM2.
Rich Text Editor Replaced the plain textarea with a full Quill.js rich text editor. Full toolbar including fonts, sizes, colors, highlights, alignment, lists, code blocks, blockquotes, and more. Both the new post form and the edit form now have the full editor experience.
Image Uploads Drag and drop images directly into the editor. Toolbar button as backup. PHP upload handler with MIME type security validation. Click-to-select images with resize handles on all four corners, live pixel readout while resizing, and Delete/Backspace to remove selected images. CSS safety net so images never blow out the layout on the live blog.
YouTube Embeds Paste any YouTube URL into the editor and it automatically becomes a playable embedded video. Supports standard watch URLs, shortened youtu.be links, Shorts (which render at the correct vertical 9:16 aspect ratio), and YouTube Music links — which work because YouTube Music shares the same video ID structure as regular YouTube, so the existing embed path handles them automatically.
Audio Player Three ways to get audio into a post:
- Drag or upload an MP3/WAV/OGG/M4A file directly into the editor — uploads to the server and renders as a native HTML5 audio player
- Paste a Spotify track, album, or playlist URL — renders as a full Spotify embed with album art and tracklist
- Paste a Google Drive audio share link — shows a clear placeholder card in the editor ("Google Drive Audio — Player will appear on the live blog") and renders as a real embedded player on the live blog, with a mobile fallback button for phones
Add Update Feature Any existing post can have an update appended to it without creating a new post. Clicking the + button in Blog Admin opens the post in the editor with a timestamped divider already inserted at the bottom — "UPDATE — APRIL 24, 2026" with a horizontal line extending to the right. Write the update below it and submit. One post can become a running dev log.
Quality of Life
- New post date field auto-fills to today's date but remains editable
- Blog editor submit handlers upgraded to capture phase for reliability
- Server-side: database upgraded to utf8mb4 character set (via MySQL ALTER and
set_charset('utf8mb4')in admin.php) — emojis and special characters now work everywhere - Server-side: PHP upload size limits increased to support audio files larger than the default 2MB
Under the Hood Every major embed type (YouTube, audio files, Google Drive, Spotify, update dividers) is implemented as a registered Quill blot — a custom content type that Quill understands and preserves through editing, saving, and reloading. This is the same pattern used by Quill's own built-in content types, which is why the embeds survive instead of getting stripped on save.
Anyhow, the lesson to be learned is: My dumb password had _$ in the characters and on top of that the entire
login code was wrapped in double quotations. According to Anthony:
Also, changed all the files to PHP. Need to look into editing my RSYNC to clean up my server files so it
doesn't leave clutter.
Moral of the story. NEVER EVER EVER EVER use Stacked Overflow for any type of help whatsoever.
Also ESC then SHIFT + Z Z to save in VIM
OTHER notes for today:

In other news, I failed miserably at following Anthony's instructions on how to start a webserver: So first here
is the link to the