Testing Bluesky embeds
It's a lovely simple structure, if it works. I had a post for this before but pulled it down while triaging some of the site oddities this morning.
<iframe src="https://bsky.link/?url=[Post URL]"></iframe>
Sometimes the correct answer is to not touch it anymore
Yesterday I did a surprising amount of coding on Glowbug. Most of it entirely invisible to you all. The quick overview:
- Bluesky embeds (we'll come back to this)
- Updating my css editor page in the admin to be able to edit any of the template files
- Updated my image management page in the admin to have pagination
- Simple CSS updates
Okay, so let's come back to Bluesky.
I managed to get invited to it yesterday, as noted when I shared my (current) account name. It's fine. It feels like basic Twitter. What I loved though was seeing how simple generating an embed URL can be. It's just an iframe to a path which includes the desired post.
Great.
Except that took me down a rabbit hole of trying to understand why the Markdown generation of my blog continually failed to handle embedded html example iframe to show how clean the embed code is. Embedding html in posts in my blog is currently one of the things which is broken and I haven't really fixed because I never do it. Except for yesterday when I wanted to do it.
It's broken in a few ways:
- When I go back to edit that post, the embedded html is processed as html into the in-browser editor, which often leads to it breaking itself.
- The code tag delineations are no help here. Even wrapping the iframe in HTML's 'pre' or 'code' tags didn't stop it from rendering as html. And I have no idea why.
So, this means once I submit a post with embedded html, I can't touch it again except directly through the database.
I'll figure this out eventually, but I didn't last night.
And as I did these various codings, I apparently broke something. The automated end-of-day post didn't happen. The code that generates it wasn't even something I worked on yesterday, but because of how the blog is coded it's quite possible I accidentally messed it up.
So I tried to figure it out this morning. In doing so, I also noticed the newsletter generation wasn't working. So I worked on that some.
None of these, by the way, have satisfactory "I fixed it!" resolutions. The newsletter eventually sent, though I don't know why. We'll see if the end of day post runs tonight or not.
Sometimes, when you run and use your own code, if it suddenly works - the correct answer is to not touch it anymore.
You can now buy me a coffee
Without any real goal, I have started a 'Buy Me a Coffee' should any readers feel inclined to support my writing. I don't drink coffee, so I need to modify the "Buy me a [blank]" to something else. I currently have it as 'Buy me a book' but I'm not sure if that is what I want it to be.
Sometimes your blog breaks for no reason
I don't know why.
A few weeks ago, I rewrote how the blog generates what I call the "link tails" which is when a link is followed by the (domain.com) information. It was originally part of the publication of the blog and thus embedded in the html files directly. But then I decided I wanted to move it to be javascript.
Honestly... I'm not sure why. I had a reason. I'm sure of it.
In any case, it wasn't working today. I'm not sure what happened, but it appears to be an issue with how I was filtering the links. Not every link on the blog gets a tail. Only ones which go off the blog (so no trickjarrett.com tails) as well as no links in the sidebar.
And something stopped working with that such that no links were getting tails. I did the filtering a different way and it's all fixed.
Also it looks like there was a reversion of the CSS file. I'm not sure why, but something got lost and I had to recreate a bit of CSS. My best guess is that I accidentally overwrote the site's CSS file with a local copy which was not the most recent, as I sometimes tweak the CSS file on the server. Oops.
In any case, it's fixed now.
Edit: Regarding Wikindle project
It finished running overnight. I spent a little while coding a cleanup function which scans downloaded files and removes ones I don't want. This is one of the features I mentioned wanting. So I've got that figured out. And it blacklists articles so I don't re-download them in the future.
I started working on having it generate cross linking between articles, but there were enough bugs that I stopped and decided to come back to it.
For now, I consider the project done and stable. There are improvements, but it's time for me to move back to working on the blog and on Behemoth.
New Book Review Function
The coding bug continues. I've been checking out bookmarks.reviews, a book review website from LitHub.
I'm not sure yet how it will translate for RSS and E-mail. As of now, the answer is poorly. But I'm going to work on it.
Here's what it currently looks like. I'm working on increasing the thumbnail size.

For those of you visiting in the browser, at least currently, you'll see the actual embedded code implementation:
How to Use My Blog
A blog should be user friendly. I want people to enjoy reading my blog. But I also want my blog to have a lot of fun gadgets and be a means for me to express my creativity and love of programming. These things can be in opposition at times.
This page is my effort to catalog and provide some useful signposts to help folks get comfortable and better parse through this archive of mine.
Search
In May 2025 I implemented site search. It searches both posts on this blog, as well as my social archives from X, Bluesky, and Mastodon. The X archive includes a number of now-deleted posts from over the years.
Headers
- If a link in a header is in quotation marks, it signifies my titling matches the article's own title at the time of publishing. All other link titles are editorialized by me.
- I also add a few icons to header links: The page icon signifies an internal post which has its own page rather than just being something embedded in the daily archive. There is also an icon flagging when I'm directly linking to a PDF.
Reviews
Review posts for media get a score out of a 5 added to the header, what that scored "item" is is purely done for entertainment purposes. I just find it more enjoyable than just saying "4/5 stars."
In 2025 I began using Radar charts to share movie ratings.
Archives
The Date archive page uses collapsible headers, clicking (or tapping) expands or collapses them. When you get down to the month view and it lists out days. Any posts which have their own actual page, rather than just existing within the date page, are also shown on that view.
There are heatmaps, inspired by Github, showing post frequency for each year in the archives. This heatmap is also visible on the frontpage in the sidebar. Clicking any colored square will take you to that day's archive.
Link suffixes
My blog automatically adds flags to links, most notably is it showing the domain. It also adds a flag when I am linking to a domain which is known for paywalling. Trying to save people clicks when they don't want to be surprised to face the paywall.
Those were the items I wanted to explain off the top of my head, I'll see what other tips come up and I'll come back to update this.
Behind the Scenes
The blog is written using my own homebrewed content management system named Glowbug. It is written in PHP and Mysql. I have no plans to ever make it public for two reasons:
- It is far inferior to other options out there.
- It has far too much me-centric stuff in its design.
Posts on the blog are largely written using a tweaked Markdown syntax.
I've introduced a few tweaks of my own:
- Links enabling mouse-over text.
- Image URLs allowing me to assign classes to the generated image.
- Other custom embedding functions such as for videos, movie information, etc.
Change Log
- June 9, 2023 - Initial posting
- June 24, 2024 - Updated layout and added features
- Nov. 5, 2024 - Added backend information
- May 31, 2025 - Updated contents, including adding information about searching
Not sure what is going on with the newsletter function for this blog. Not sure if it is a problem on my end or on Tinyletter. I'll have to look into it later.
Update (31 May)
I am not sure what happened yesterday with the newsletter. I hit the button to generate the email and the way it works is I get an email that the newsletter is ready and to reply to send it. I did, and as I did, I got another email that the newsletter was ready. And another. All in total I got six emails. And, the one I had replied to so that it could send ended up being the newsletter from the 24th. As it turns out I did also get the newsletter for yesterday so i could send it out, but yeah - something funky was going on with tinyletter. We'll see how it performs today.
If it continues to behave erratically, I'll need to finally transfer over to a new email newsletter platform. We'll see!
Adding 'On This Day'
I've added a small feature to my automated end of day posts which is to link to other entries on that day in the past. Now that this blog has been active for two and a half years, as well as posts from my online writing archives, it seemed like a good addition. Right now it's just a bare bones link to past day archives, but I may expand it further in the future.
Friday morning code tweak
Sometimes I accidentally save articles from my RSS reader without meaning to. Which means they get captured in the end of day automated post. So, I will go in and remove these errant posts.
And this morning I realized that when I do so, the post gets its HTML stripped out. Which is a bigger issue, but it also made me realize the automated posts inserted HTML rather than markdown text as it should. Old habits die hard I suppose.
So a quick bit of adjusting code and they should now be inserting Markdown properly. I still need to fix the editor stripping HTML, for correctness sake, though it shouldn't be an issue really.
Modifications for my end of day posts
As regular readers will notice, what started as just collecting a handful of Mastodon posts each day has evolved and now includes my daily chess results on lichess.org. This is, admittedly, primarily for me and I expect the audience for it to continue to be very small. I am currently thinking about how to continue expanding this post.
The top ideas right now, in a very rough order of likelihood of implementation:
- Add the day's weather - Mainly for posterity, so I can look back and see what the weather was on the day of various posts.
- Add a daily motivational or inspirational quote - I already have a list to pull from, it is trivial, and would be a nice little add in. It feels odd to do at the end of the day, but if I did this I'd add it to be something I email myself or somehow otherwise put in front of myself earlier each day.
- Add posts I snag for reading later - I have this integrated in a rolling manner on the sidebar of the site, this might be an interesting way to archive them. This would be ones I've added to be read later, but might or might not. I snag dozens of articles and only come back to read a handful. It also moves them more central, and inserts those links into the RSS feed, which isn't done in the current manner.
- Writing stats - As I mentioned earlier, now that I have a new larger writing project, I'm tracking my progress on it. Currently it's done in a Google sheet, though I could code it into a custom web app. If I did so, it would be trivial to start including the day's progress into the end of day wrap-up post.
- Blog traffic - There's an interesting seed of an idea to publicize traffic to the site, newsletter subscribers, etc. Would require a bit more coding and finding the best way to access this data automatically from where it's gatherered.
Who knows. Just musing as I get my day started and think about things ahead.
Extending Markdown
I've been running into limitations of Markdown as it comes to this blog, and am finally taking steps to extend it.
First up is a new implementation for links:
[This is a new link{With helpful link titles}](http://www.linkingtosomewherecool.com)
And what that does is create this (hover your mouse over the link):
Date Archive Updates
Spent a while this morning with small updates on the blog. What better way to ring in the new year than watching soccer and coding?
Started with a properly implemented footer across the site, but that led to me finally delving in and updating the archive page.
The archive page was growing unwieldy with just a giant unordered list of every day that had an entry in the blog. With hundreds of days with entries, it was unsightly and useless except as a resource for bots to crawl the site, which is not a good reason to have it.
So I did a complete rebuild on it and changed it to be a Year -> Month -> Date list. Still only sort of useful, but still interesting and better to look at. First off, it puts the archive posts into better perspective. I've got posts from over 20 years ago here on the site thanks to the posts I migrated over for archiving.
It was also a prime example of iterative programming as I kept having to rebuild the site with every tweak to check functionality and presentation, etc.

2022 Glowbug Recap
Sitting here at home, rewatching The West Wing, and I decided to pull some data about the blog this year since I really re-birthed it this year after, well, years without regularly blogging.
- Jan. 2022 - 16 posts
- Feb. 2022 - 17 posts
- Mar. 2022 - 53 posts
- Apr. 2022 - 6 posts
- May 2022 - 110 posts
- Jun. 2022 - 146 posts
- Jul. 2022 - 306 posts
- Aug. 2022 - 234 posts
- Sep. 2022 - 90 posts
- Oct. 2022 - 13 posts
- Nov. 2022 - 134 posts
- Dec. 2022 - 187 posts
Total posts in 2022: 1,312
Coding on Glowbug, my custom backend for this blog, looking at my GitHub commits:
- Jan. 2022 - 0 commits
- Feb. 2022 - 0 commits
- Mar. 2022 - 4 commits
- Apr. 2022 - 0 commits
- May 2022 - 25 commits
- Jun. 2022 - 4 commits
- Jul. 2022 - 22 commits
- Aug. 2022 - 13 commits
- Sep. 2022 - 0 commits
- Oct. 2022 - 0 commits
- Nov. 2022 - 12 commits
- Dec. 2022 - 17 commits
The current breakdown of Glowbug's code by language:
- JavaScript - 43.3%
- HTML - 25.7%
- PHP - 16.9%
- CSS - 10.0%
- SCSS - 4.1%
Newsletter bug fixed
Discovered a bug in my code this morning. Yesterday's and today's newsletters pulled the entries from November rather than December - oops. It's fixed now.
The issue originated because I changed how I called my newsletter generation code, moving the date selection from built-in PHP to Javascript. However, I missed that Javascript numbers months starting with zero. So January = 0 and December = 11.
So it was calling for 2022-11-27 thinking we all agreed that this meant December 27th, rather than November 27th. Whoops.
Adding emoji to the blog
So, up to now, I've had some hardcoded ways of adding emoji-like graphics in specific ways. Tonight I'm spending time adding an extendable solution for adding more emoji
graphics. Hardly newsworthy, but this is a nice and light little project to distract myself.
Related Links
One feature idea I keep coming back to is something which lets me append related links to a blog post. My RSS reader (purposefully) gives me a number of posts related to big news. For example, the January 6th post I made a bit ago could already have a half-dozen related links if I had a system set up for them.
Sure, I can just dump them in the body of the post, but I'm thinking about something automated such that there could be future development done with the data.
This is definitely a parking lot idea, but it's one which I've come back to time and again. Ultimately I don't think it's needed. This is just my small blog, not a major one. If I ever cross into "major" traffic, then I'll go about adding it.*
-
- Probably.
Share to Mastodon
I started coding this yesterday and continued to today. I wrote a small bit of custom code that adds a Mastodon button in the entry footers when visiting the blog. Clicking one of them lets you click a button to share the entry to your Mastodon account.
The first time you use it, it prompts you for your Mastodon instance. It then saves your response as a cookie. Then when you click it, it confirms you want to share to the saved instance (in case you migrate instances, etc.) And then redirects you to the Mastodon "Share" page with a simple message of "Just finished reading [title] - [url]"
Required some adapting of my templating code as I hadn't prepped tags for URL encoded titles and post URLs. But, overall, nothing crazy.
#hachybots
I crawled into bed last night and checked my phone. Surprisingly I got notice of a post of mine on Mastodon being taken down. It turned out the instance has implemented rules for automated posts and I simply hadn't been aware of them. So they had taken down my automated afternoon blog post.
The change was simple enough, they simply wanted to ensure automated posts include the "#hachybots" hashtag so that individuals on their instance can easily choose to block that tag if they want to avoid seeing automated posts.
No sweat. My body ended up waking me up at 5:30 this morning, so after my morning shower I decided to quickly make the change. While in there though, I decided it was time.
I also made the decision to go ahead and disable the automated posting to Twitter. I only barely engage over there anymore, and the meager traffic I do get, Twitter is not a big driver. I'm creeping closer and closer to fully exiting there. We'll see.
Domain Takeover Underway
I finally decided tonight was the night to scrub my Wordpress install and move Glowbug to trickjarrett.com proper. We've reached the point where I'm playing whack-a-mole trying to find things which are broken for publishing or broken image links, etc.
All previous links should forward seamlessly!
Starting the day with newsletter coding. Not sure what is going on, but the newsletter isn't sending. As far as I can see, it is working on my side and an issue with tinyletter. We'll see if this resolves tomorrow or what.
I have already been thinking of moving the newsletter to another sender, and just haven't made the move yet.
Integrating with Mastodon and the Fediverse
If this works correctly, the blog will identify this entry's link as being a post on the Fediverse which then properly generates code to make an embed on the blog. (Update: It worked perfectly.) The post is the first in a short thread, where I delved into this. I'm not going to embed it into the newsletter email, though I am beginning to think I should re-evaluate that.
First, I found a free and open API which tracks and provides info on instances of Fediverse. I don't have a need for the list to be perfect or completely up to date, so I just query for the 1000 biggest instances, once a week. The risk of problems is low enough I don't think it is worth me devoting more time to it until it becomes a problem.
So now, when I create a post on the blog, it checks the URL against the list of Instances and if it finds a match then it knows to generate it as a Fediverse embed. Nice and simple.
Apologies to the newsletter readers, there has been a bug where some post links were not included in the emails. I fixed that this morning.
The newsletter goes out most evenings and shares the entire day's posts for easy consumption in your inbox.
