TrickJarrett.com

Posts Tagged: glowbug

As is tradition for this time of year, I've started picking up on side coding projects once again, including Glowbug - my custom CMS for this blog. I did some backend tweaking - fixing a few lingering bugs and adding some admin functionality which I needed.

I also did the (somewhat) yearly update of the About Me page. Adding a TLDR at the top, and then adding my short summation for 2025 to the end.

Share to: | Tags: programming, glowbug

It must be winter because I just opened VSCode and made an update to my blog's backend code.

Share to: | Tags: glowbug, programming, blog

"Write 'Freehold' Software"

A blog entry where the author dives into the need to support software which is not a service, a term he proposes be 'freehold' to make use of the term's definition as it relates to real estate: "Permanent and absolute tenure of land or property with freedom to dispose of it at will."

Share to: | Tags: glowbug, programming, software, right to repair

Boneheaded mistake on the new search - the server code required a user to be logged into the backend. Oops.

That works for me, but not so much for you. (Whoever you may be.)

Share to: | Tags: programming, glowbug, search

Site search is live

Well, here it is. It's not perfect. But it's mine. I am particularly proud of the integration of my social posts from X, Bluesky, and Mastodon. The system auto updates my social posts from Mastodon and Bluesky nightly. X requires me to do a manual update process, which is fine as I don't post there almost at all anymore.

It doesn't yet handle pagination which I still need to do, but I've run out of steam for it tonight and it's completely usable without it.

Share to: | Tags: glowbug, programming, search

I did manage some more work on the search for the blog last night, mostly fixing bugs and working on the front end. I also realized that while I needed to make pagination based searches, I also needed a way to determine the total number of pages in a search for the pagination, so figuring out how I would handle that took a bit.

Secondly, and perhaps embarrassingly, I finally spent time relearning branches and how to use them with git. As a solo developer, I don't make a lot of use of them, and I am trying to get better, especially when it comes to new features which touch a lot of things.

I plan to put more time into it tonight and hopefully get it to the launch point? We'll see.

Share to: | Tags: programming, git, glowbug

Search update

I am still working on Glowbug's site search, I did some more programming for it last night. I've got the back end largely built, and the basics of the front end for the search interface, but still have more to do. And tonight is D&D, so possibly tomorrow I'll hammer it out and finish it. We'll see.

To Do:

  1. Finish display of matching social posts
  2. Pagination of search
  3. Anti spam/abuse protections
  4. Other things I've forgotten I need to do
Share to: | Tags: glowbug, programming

I really need to sleep more, but at least I woke up early enough to get to do some programming this morning.

Share to: | Tags: programming, glowbug

Adding Search

Tonight I started work on writing code to add a search function to this blog. However, not just posts on the blog, also posts I make on social media. So I wrote code for importing posts from Bluesky and Mastodon, the latter mainly for completeness as I don't post there much anymore. It imported my backlog and then I modified the same code to be usable for a nightly cron job.

The search itself is still something I'm wrestling with. Aside from the added sources of content, I am trying to figure out how to best do this.

It's no secret that search is complicated. Which makes this a fun mental challenge.

So I have the most basic parts done, and now it is the gritty details of adding logic for ordering these posts, as well as adding things like spam protection, caching, XSS protection, etc. And then it will be writing the client side code and display functionality.

I'd guess I'm like 30% done.... famous last words. We'll see.

Share to: | Tags: glowbug, programming, search, bluesky, mastodon

Next bluesky posting test: Handling longer text than it can post. Right now I'm going with semi-smart truncation (not cutting mid-word) and just linking to the blog. Granted, it's just to the main page and not the specific post, for now. Rather than make it specific functionality, just trying to make it handle the general process. Lorem ipsum dolor sit amet. The quick brown fox, yadda yadda yadda.

Share to: | Tags: programming, glowbug

Testing to see if my blog posting to bluesky now properly handles links, like trickjarrett.com - as well as handle hashtags in copy: #programming

Update: It does!

Testing to see if my blog posting to bluesky now properly handles links, like trickjarrett.com - as well as handle hashtags in copy: #programming

Trick Jarrett (@trickjarrett.com) 2025-04-29T22:50:32-07:00
Share to: | Tags: programming, glowbug

Radar Charts

Okay, the radar in the previous post was generated out of my test code. Now comes the real test, integrating it into the blog itself... Let's see.

Here's my rating for the movie G20, that we watched last month.

Update: Tada! It works. I did have to go into the database and change some stuff, but cool to get it implemented in the blog. Now I can generate radar graphs in the back end of my blog.

Share to: | Tags: glowbug, programming

It seems my code yesterday broke the automated post function. Oops. I'll fix that tonight.

Edit: Was able to debug it remotely!

Share to: | Tags: glowbug, programming, social post

Small blog updates

Made some small blog updates today:

Update: One more idea I am messing with, but I like the idea of displaying my blog posts by day similar to the Github activity grid. I started messing around with it but it's a bit more complicated.

Update 2: Okay, the Github heatmap grid is now done. It's on the sidebar and will fill through the year, but also I have added it to the date archive page under each year header.

Share to: | Tags: glowbug, programming

Glowbugging While Sick

I've been fighting a bug and slept the majority of the past two days. I'm back mostly functional today, but I can tell I'm still less than 100%.

One thing that came out of the past day was I managed to make progress on two things on the blog:

First, the tag specific archives now (partly) work. I haven't linked to them anywhere yet, that is still coming. I also added the ability for me to choose which tags get archives. The archives need a bit more tweaking, and I want to add pagination to the tags which are larger (for example, there are 200+ posts with the programming tag currently.) But we've made solid progress.

I also want to add the ability to do combined tags. For example, the system currently recognizes 'review' and then a medium such as 'tv', 'movie', 'book.' But that is hardcoded, and I will need to find a way to streamline making those into special archives, etc.

Second, I upgraded the admin-side search functionality of posts. It was previously very simple and now it includes logic for handling and/or/not, as well as more. I've found a few bugs still to work out but excited to have gotten this far.

So, it's progress.

Share to: | Tags: programming, glowbug

Glowbug Tag Archives

Last night I began the work of adding tag based archives to the blog. For example, my "social post" tag is meant for me to use whenever I write a quick post here which is also sent out to my Bluesky and Mastodon accounts. For that tag specifically the idea is you could have this page bookmarked and basically get a (somewhat) complete feed of my social posts.

The functionality also lays the groundwork for an eventual "photolog" view, where you'd just see a page which are photo posts I made where the photo is the focus.

The functionality has a lot of benefits, and it's been on the backlog for years. I've never gotten around to it. And, the reality is. It isn't complex to add, there isn't a lot of new logic needed. The work breaks down to:

  1. Create the template file
  2. Add a section to the publish code which does the actual publishing and making of files
  3. Add tag archive links to the archive page
  4. Add administration tools for selecting which tags get their own archives

There's obviously more to each step, but that is generally the process.

So, step one. The template is very similar to what I use for the date archives. I just made a few small tweaks and introduced a new template tag for placing the tag name on the page. So the top can say "Posts tagged: [Insert tag]".

Check. Easy.

Step two, adding the section to publishing. This should also be fairly easy, it's basically the same code as I use for date archives. Except... something isn't right. I copied the Dates archive section and went through to modify it. And then when I began testing it wasn't working. I tried to bugfix it for about an hour and couldn't find where my error was. I rolled it back and stopped there for the night.

So, we're on the cusp of adding that functionality to the blog. I'll get back to it tonight, likely. But, not there yet.

Share to: | Tags: programming, glowbug

Testing something

One of the features I love with Glowbug is how it can generate smart embeddings for content. Basically, I enter a custom tag of a URL and it generates special code which goes into the entry. Things like video embeds, social posts, etc. The majority of these are ones I have coded myself in the backend. However, there is a subset where I have found it is easier to make use of Iframely.

Iframely is a company which acts as a middle-agent for generating embeds. Currently they allow up to 1000 embed requests a month before charging you. Which is hugely more than I need, so it's a free service for me.

I make use of them for Wikipedia & YouTube embeds right now. Up to this morning, these domain checks were hardcoded. So, to add a domain (Iframely has several hundred websites they connect with) I'd have to modify the PHP file. This morning, I finally through together the code which lets me manage the list of domains which, if matched, are generated as embeds with Iframely.

So, now, I can add BoardGameGeek.com to their domain list and embed this:

No code changes, just adding BoardGameGeek to the database variable in the server.

Share to: | Tags: programming, glowbug

Small Glowbug Tweak

I love the automated post functionality I have on this blog. But I hated seeing the times when my homepage is entirely those posts because I take some time off posting. So now what I do is it puts the most recent automated post on the homepage, and then it skips further automated posts.

Those automated posts are available on that day's archive page.

Share to: | Tags: programming, glowbug

Glowbug Embeds

So one of the powers of my own blog engine is that I've done a lot of automation that I call 'embeds.' This is code that allows inputting a URL or a code string and having it turned into more robust HTML. This is things like YouTube videos ending up on page, as well as when you see my movie poster or book blocks.

But, today I added a few things for functionality.

There are a lot more potential embed codes via using iframely, but I don't know if I'll ever use them. We'll see.

Share to: | Tags: programming, glowbug

Friday Glowbug Programming

I've had a lovely week off of work, but I'll head back to it on Monday. As part of this week I've blogged and read a fair bit, and as part of blogging, I've coded a fair bit. Again, primarily behind the scenes code, which is some of my favorite stuff as it's the most "hone the tool" hobbit software work for something like Glowbug.

I don't publish this CMS, it's just for me. So I get to appreciate and use it. No performance, just utility. Am I going to win any coding awards for it? Never. Does my github commit streak matter? Not in the least. It's all just for me.

Today's work:

  1. Fix an admin search bug.
  2. Implement pagination on a few pages and write a generic pagination function to reuse.
  3. Fix my 'images' admin page, which now needs to support the sporadic audio files I upload.
  4. Add cleanup functions for getting rid of unused data and files which might be leftover.
  5. Improve efficiency of an admin page which took 12+ seconds to load to be sub 1 second.
  6. Fixed an issue with the link suffixes on the website.
Share to: | Tags: glowbug, programming

LIMTI

Last night I was able to finally fix my admin UI search functionality. It had been broken for a while. And the answer for why it was broken was disappointingly stupid. I had typoed the MySQL query, writing 'LIMTI' rather than 'LIMIT."

But its fixed now and my life is measurably better. While writing yesterday's post about adulting, I used it to search my original Anthony Bourdain post and replace some now-missing embedded tweets which shared a nice story about a person's meeting of Bourdain. I ended up going to the Internet Archive and snagging screenshots of the tweets to embed in the post.

Share to: | Tags: glowbug, programming, mysql, anthony bourdain

Fixed a bug in the Glowbug admin UI, 115 days after I put it into my tracker. Clap please.

Share to: | Tags: programming, glowbug

Scheduled Publishing

I've also begun rethinking the publishing model for this blog. Currently, when I add a post, it immediately rebuilds the site. I've added some improvements to make it avoid publishing everything when not necessary, but largely I just say "rebuild it all" on every publish. Keep in mind, on my busiest blogging days, this is just done 6-8 times. But as I try to make this more central to my online presence again, it's a pain I feel.

As the blog gets older, the time to generate the site's pages gets longer and longer. It's most felt when I'm publishing from my phone, but even when on the desktop I feel the wait. So I'm thinking that I will shift to be a regularly scheduled process which publishes new posts on a regular cadence in the background, disconnected from my interacting with the UI.

Last night, while I was working on the other issues on the blog, I poked around in the code to figure out how to best make this change. It's absolutely doable, it's just not clean and simple. It breaks some functionality that I'll need to either modify, or disable.

Share to: | Tags: glowbug, programming

The Trap is setup again

A few weeks ago I posted about setting up a forum for this blog as an experiment. A perk of no one reading this is that when I screw up, no one notices.

The Trap existed but never really worked. I was testing things out and just let it fall off. Today I moved to phpBB rather than the forum tool I had been experimenting with, and in doing so have the first iteration of the forum's automated posting made. When I publish a new post that has its own page (rather than just existing in the date archive) it will automatically create a post on the forum.

It's not perfect. It runs by having the forum pull my RSS feed, which it does every 30 minutes. Additionally, this means there is no way for me to let the blog know a forum link, so I can't link to the forum discussion automatically. Yet.

But, since no one is here, I get the joy of just futzing around at my own pace.

The other screw up no one noticed was that single pages for entries weren't publishing at all. I implemented some code behind the scenes and I totally screwed it up. So it was making every single entry page just blank. And I only noticed it, today, after a few weeks of this issue being live, because I was messing around with The Trap forum.

Share to: | Tags: glowbug, the trap, blog, forums

Maybe it's just me.

Let's be honest, on this blog it is just me. But I found it unpleasant to read my blog. The line lengths were too wide. Spanning nearly the full page except for the right menu.

Blech.

After some research and I set the contents max-width to be 65 characters. I find this pleasingly comfortable but not overly compact. This is based on readability studies which place the ideal line length in the 50-75 character range.

Share to: | Tags: css, glowbug, readability