April 24, 2026
Fake News
They're eating the cats, they're eating the dogs.
They're eating the cats, they're eating the dogs.
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:
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
set_charset('utf8mb4') in admin.php) — emojis and special characters now work everywhereUnder 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.
File Attachments Click the paperclip in the toolbar to attach a PDF, Word doc, Excel file, or TXT directly to a post. It renders as a clean download card showing the filename, file size, and a download button. Drag any file straight into the editor and it routes correctly based on type — images get the image uploader with resize handles, audio gets the audio player, everything else gets the attachment card. Added an X button on each card so you can remove a misplaced file without hitting Reset and nuking your whole post.
Bug fixes and polish discovered during testing:
renderPostContent() in index.php. The editor shows a placeholder card, the live blog shows the player.utf8mb4 after discovering that the 🎵 emoji in the Google Drive placeholder card was crashing the database insert.Completed a Mockup created by my brother and finished and entire Property Management Site.
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:
"if you put it in double quotes it will treat the $ as a variable use single quotes"That being said, I kept my dumb password, changed the quotes, and lo and behold. It worked like a twerk. ONWARD to the next thing.
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:
I'm almost 100% positive Anthony will look down on this choice, but WHAT AM I SUPPOSED TO DO WHEN YOU AREN'T
AVAILABLE?? FEND FOR MYSELF? I WOULD DIE.
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 guide