Welcome to the Dev section of my blog with development related articles.
I just added the feature to my blog that allows you to have any article read to you. For some articles I already add an MP3 file with a natural sounding pronunciation, but now it is also possible to get articles read aloud that don’t have an MP3 file (if the browser and operating system support this).
There is an experimental SpeechSynthesis API in some browsers (Firefox and Chrome support the function).
Today I wanted to check if my blog contains some broken links and it actually did. I used the Go-based tool muffet which crawls a website and checks for HTTP errors when following links. To speed up the process, I started a local Hugo server and used the following command for muffet (after installing it):
muffet -e ".*jlelse\.blog.*" -e ".*indieauth\.com.*" -e ".*aperture.*" -e ".*quill\.p3k\.io.*" -e ".*addtoany\.com.*" -t 60 -c 10 -f -x -s http://localhost:1313/ Using -e you can exclude sites using regular expressions, -t sets the timeout and -c sets the number of concurrent connections.
Ashwíṅ Víshnú asked how I created the audio version for my latest post. Here’s a way how you can use the Google Text-to-Speech API to create MP3s from text. A simple way to try this API without a Google Cloud account is to follow these steps:
Open this page in a new (private) Firefox tab. Open the Web Developer tools and go to the Network tab. On the page enter the text to synthesize into the text area and choose your config.
I promised and people already asked, so here is the first part of the documentation about how I enabled ActivityPub support on my Hugo-based blog:
The first step to enable ActivityPub support, was to get Hugo to generate ActivityStreams representations for posts and the ActivityPub actor. I did this by adding a custom output format and published the code as a Hugo module on Codeberg. See the README file there to learn about how to use it.
I just updated my blogroll and thought that it might be a great idea to share my workflow to do exactly that.
I use Miniflux a lot. Using Miniflux, I read all the blogs and get all the news, get updates from all the YouTubers and even subscribe to some Mastodon accounts (fediverse microblogs). I use multiple categories to sort the feeds. One of those categories is “Blogs” with all the blogs, which I also list on my blogroll.
Although it’s great to self-host your web fonts instead of using a service like Google Fonts (that may decrease the privacy of your site’s visitors, because Google can log IP addresses and other stuff), it’s probably not necessary to use web fonts at all. Every PC or tablet or phone has a lot of fonts already pre-installed, which are more than perfect for displaying your website (unless you take a lot of care about corporate design or your personal brand and require a specific font).
After thinking about it, I finally figured out how to PESOS from Pocket to my own site using IFTTT. I tried to do it in a similar way to how Charlotte Allen did this.
The first step was to retrieve an IndieAuth access token using the tool Gimme a token. Then I created a IFTTT applet with the a new favorite item on Pocket as the trigger and a Webhook to execute.
Today I started sorting out a couple of old computers from the flat. To save the data from those, I took the hard drives, connected them via adapters to my PC and cloned each partition to a huge external hard drive. Now I have a bunch of NTFS partition image files. One also with Windows 2000. 😅
This post is more of a note to myself, to remember how to mount them on Linux (TIL).