Programming is always a fun thing. And that’s what we, developers, do. Sometimes we also write functionalities that we never use, even if we think that we’re going to selfdogfood them. Some time ago, I added authentication to this website such that anyone with IndieAuth could log in in it. In addition, I added private posts. However, have I ever used them? Basically no. Yes, I have used some private posts in the past but that is not something I have done for a long while. In addition, if I want to share something with someone specific, chances are that we already have some communication channel that is easier to use for both of us other than my website. I’m now considering removing private posts and login from others than me. Less code to maintain, less vectors of attack and issues. What do you think?
Tag: meta
Today, Sebastiaan shared with me this nice post by Wouter, entitled “The Great Mastodon Influx”. I wanted to add to that that I implemented ActivityPub a few days ago, and I’ve been improving it since on my spare time. But… I am afraid. I don’t have any real followers (just myself from different instances to test). But what if I get a few followers and then get spammed with many requests? Will my tiny server in Finland handle it?
The idea of POSSEing to Mastodon doesn’t sound that bad and reduces much of the complexity associated with running a federated server. In addition, what will happen if I want to follow people? I had a very simple idea of creating a private RSS feed with incoming posts from people I would follow. The idea seems reasonably simple. But why reinvent the wheel? There’s already client apps for ActivityPub that work well. And I didn’t want to have multiple identities. Thoughts?
Since everyone is moving to Mastodon and such, I decided to re-add experimental support for ActivityPub in this website. The implementation is based on my old ActivityPub implementation, but it is massively improved… I think. There are still some things to do, but I feel like I will stick with it this time. However, if you want to help me test, follow me at @hacdias@hacdias.com π You may still see my old profile from 2020 still lingering in some instances, but if you try following me, it should work.
Yesterday I made a few updates to my websiteβs header. Now, I brought back some elements that I had before, with a title and the search bar and then the navigation below. I also added this avatar of myself that I was gifted some time ago which βsitsβ on top of the navigation bar. What do you think? I personally feel like it looks much better both on computer and on mobile, being much closer to what I want.
In more internal updates, I added CodeMirror with Markdown and YAML frontmatter support for editing entries. It looks so much better and itβs so much natural to edit posts now.
Today I’ve made a lot of progress on my thesis defense slides. It’s probably getting too big, but my strategy is to finish the slides, and then present it to myself to see how long it takes. Based on that I can cut or change some parts.
Additionally, I’ve worked a bit on this website. The search can now be filtered per section and tag. I added a search bar to the bookmarks page, which is probably where this feature is the most useful. Next step is to implement fuzzy search. In addition, I grouped the tags by the first character, and started normalizing the tags in case I don’t always type the same exact thing.
In other news, I’ve been making an active effort to unsubscribe from as most mailing lists and I can. It’s paying off: I’ve been receiving much less e-mails and, when I do, they actually matter. 5/5 would recommend.
Should Every Update Be a Post?
Today I had a bit too much time that I decided to work on my website. In the morning, I made a few tweaks to the home page in order to make it more useful: added some contact and social media links, as well as links for some pages on my website that are not included in the navigation bar. I think I achieved a neat result.
My Website After IndieWeb
A few months ago, I released an article where I showed most versions of my website before I started integrating IndieWeb into it. I think it is nice to have an overview of how your website evolved with time. So today I present to you all the major changes to my website after IndieWeb.
Over the past few days, I procrastinated quite a bit instead of working on my thesis. I have this huge peaks of performance mixed with high procrastination. I guess this happens somewhat to most people. Either way, while procrastinating I added quite some new features to this website, and improved some already existing things, both visually and internally.
- Fixed the values in
<title>
which were wrong in some pages. I also changed the website name to be more descriptive. - Fixed the truncation of text and the way I add the ellipsis when generating excerpts from longer posts to fit in the descriptions.
- Added image resizing on my media endpoint using ImgProxy, which I run locally in my VPS and then upload the resized images to bunny.net.
- Added Reddit integration in this website, both using Reddit’s API for upvotes (likes), comments (replies) and new posts. For the webmentions, I am using brid.gy.
- Added support for channels so I can hand pick which sections to put my posts when using Micropub clients.
- Added support for video posts, like this example.
- Added support for audio posts. I don’t have an example yet as this is a feature that I think I would more likely use for personal use. However, I am still on the fence on how to protect the media files. Right now I support private posts, but that’s it: the post itself cannot be accessed, but what’s the best way to protect the media?
I also fixed some other things and make some slight visual updates to be more consistent.
I was speaking to @seblog about categorisation of contents in our websites and some ideas came into mind:
- Now I have sections for each post type and a special section for posts that should so up in home.
- Sections are automatically added to the posts when they are created based on their post type.
- Realistically, who will follow a feed based on the post type? And why?
- @seblog suggests a more audience-based categorisation, such as “personal”, “tech”, etc. I’ve had that way back in the past and I really don’t remember if it was good or not. However, I understand the appeal.
- @seblog said that types distiction are not that useful, it’s just easy to make.
- We both already have tags. But tags feel too overly-specific.
- Both tags and sections are… at the end of the day… taxonomies.
- On my website I could technically achieve this with either tags or sections. Sections seem best as they are more general. Also, audience-based names would not collide with post types so they could still be at the root of the website, such as
/personal
or/articles
. - Manually categorising a post every time we post can become arduous.
- Is it worth it?
Let’s conclude with taxonomies are hard. What do you think?
Yesterday I was talking to @Seb and he showed me his emoji page where he lists all the emojis used on his website. If you click on them, you can also see the posts where they are used. I thought it was such a great idea that I did the same. You ~can see~ all the emojis I’ve used on this website sorted by frequency (most used first) and which posts they were used in!
A few days ago I mentioned that I wanted to ditch my daily Last.fm backup script and instead publish the scrobbles on my website. Well, I did it! Instead of publishing a post per scrobble, I automatically create a post that contains all the scrobbles from that day (yesterday example). In addition, every month and every year receives its own summary post with top artists, albums and songs, as well as listening clock and listening week plots! Here’s last month and last year for example!
My Website Before IndieWeb
Since I created this website’s colophon (also known as meta page), I’ve wanted to also created a page that show cased how this website evolved over the years. I created this website when I was 14, in 2014. At first, it was just a bunch of HTML pages written by hand. Within the first year, the website moved from pure HTML to WordPress and then to Hugo.
Right now, I have my Last.fm scrobbles backed up. Every day, a small script fetches everything from Last.fm and dumps it into a file. The script is not very well optimized and downloads every scrobble since ever every day. Anyways, the point is not that. I would love to have the things I listen to in this website, just like I have for the watches. But there’s a problem: the sheer amount of data!
Since mid-2020 until right now, I have 32 526 scrobbles on Last.fm. Doing the math, I have, on average, a little bit more than 50 scrobbles a day. That would be 32K posts. That would generate too many posts, at least in my opinion. I’m sure Eagle, and of course Postgres, would be able to handle it. However, it would easily pollute my omni feed. One of my ideas was to put all the daily scrobbles in a single file that would be rendered as multiple entries. Basically, every time my Micropub endpoint would receive a scrobble, it would append it to the the publishing day’s scrobble file. I will sleep on this idea.
I know that some people, like Jamie, do a yearly music review post. Do you have any other examples?
I just made a few upgrades to my IndieAuth client and server to match the new version of the specification which is more in line with OAuth 2.0 specification. I added introspection, user information and the metadata endpoint. All the changes I made are backward compatible with older clients. For the library, I released a major version simply because I made a few breaking changes regarding functions naming to match the specification better. I’m thinking about supporting refresh tokens too. I wonder, however, if there’s any IndieAuth app that uses refresh tokens. It’d be great to test.
Today I made some visual updates to my website. I replaced the spatial background by a plain colour background and merged the header and navigation bar into one. However, I still kept some pages with a custom background because it looks great for some specific occasions.
In addition, I also cleaned up the display of some micro posts, such that they take less space while conveying the same information and looking equally as good. There are still some things I want to change, such as Webmentions and forms and buttons. I will, however, defer that for a later time.