I wrote about my rssr program in the last post and wanted to show my setup to give an idea on how I actually use it.
I have a directory on my computer called feeds/, and inside is a script called update-feeds.sh along with a config file called tiktok_officialvarg.conf.
#!/usr/bin/env bash
# Copyright (c) 2025 Jim
# /
out="tiktok_officialvarg"
/home/jamie/code/rssr/rssr -e -c ${out}.conf ${out}.xml &&
rsync ${out}.xml jimscorner:/var/www/jimscorner.co.uk/public/feeds/${out}.xml
[rss]
title = TikTok feed of @officialvarg
link = https://jimscorner.co.uk/feeds/tiktok_officialvarg.xml
description = An rssr generated rss feed for the TikTok user @officialvarg
[TikTok]
secUid = MS4wLjABAAAAzXa4i_wZ8O3DdHEsw-sKLizL7VlFfiNvZ9IHI5_U94CB6JNedAdyJWKEd2bmODPM
For a basic overview, rssr runs with the -c option pointing to my tiktok_officialvarg.conf file and runs with the -e option, meaning rssr will not overwrite our feed if no new changes are detected and exits with an error code of 1.
Really Simple Syndication Replicator (rssr) pronounced [’aire es es aire’] is an rss feed generator for content not officially supporting rss.
The program source can be found on GitHub.
usage: rssr [-h] [-c config] [-e] [-t title] [-l link] [-d description] outputfile
positional arguments:
outputfile
options:
-h, --help show this help message and exit
-e checks outputfile exists and only overwrites with new entries
-c config path to config file (default is ./rssr.conf)
-t title set title for rss feed, overrides config
-l link sets link for rss feed, overrides config
-d description sets description for rss feed, overrides config
rssr -e -c tiktok_<username>.conf tiktok_<username>.xml
[rss]
title = TikTok feed of @<username>
link = https://jimscorner.co.uk/feeds/tiktok_<username>.xml
description = An rssr generated rss feed for the TikTok user @<username>
[TikTok]
secUid = MS4wLjABAAAAzXa4i_wZ8O3DdHEsw-sKLizL7VlFfiNvZ9IHI5_U94CB6JNedAdyJWKEd2bmODPM
secUid is REQUIRED for a TikTok user, and it is unique to every user, the way to obtain it is to look at a TikTok user’s GET ‘api/post/item_list’ request, and grabbing it from the GET parameters. (Currently looking at for a less involved method of obtaining this.)
New .onion domain can now be found at which can be used through your Tor Browser:
mqjyzrh5s7ootf2xhjng6u2ptnygcwcm7xhsxbpvaeaziqfzsv3wfeid.onion
I wanted to talk about some of the optimisations I’ve made to this site to give some ideas on how you can optimise your Hugo or static HTML sites to another level. Whilst I’m not claiming this is the most optimised the site can be, there has certainly been a lot of effort put in to make it more performant. I’ll start with the simplest methods and move onto the more complicated ones later on.
I saw a random YouTube short with text being generated and printed out to the terminal in a kind of brute fashion where the text was being generated one character at a time, cycling between the letters seemingly at random until it printed the correct one.
I thought it looked cool and wanted to replicate it in C.
The program source can be found on GitHub.
As of the time of writing, usage is simple:
About a month ago, I posted about a little program I made that simply finds key values in a “table” file and prints out the values to standard output. (learn more here) Before Tabler existed, I had a little bash script called aliastable basically doing the same thing as Tabler, and it’s reason for existing was to service my NetSearch script. The basic idea for NetSearch is that you type a little shortcut, (i.e. yt) to then have YouTube open in your browser. An easy and quick way to get to the websites you want without leaving the terminal. (Maybe I’ll make a post about this script someday.)
I’ve created a simple little program that should prove helpful for my scripts.
Just found out Hugo supports RSS as default, thought I’d add an RSS link on the links section.
That’s all.
I am a web developer. If you asked a few years ago what kind of developer I would want to be, web developer wouldn’t be my first choice. Don’t get me wrong, I love my job, but my love for minimalism and simplicity makes me die inside a little every time I have to write a Vue component or create a Laravel controller.
As much as I love Vue and Laravel for the tools they provide (and they are great tools for their purpose,) something inside me yearns for a simpler solution, and well, just less.
Yes, that’s right, the madman actually did it. I setup a mail server for this site.
And let me tell you, what a fucking pain in the ass that was, and it still isn’t without issue. But for now it’ll do as I’m tired and need sleep. Special thanks to Luke Smith for the script that automagically setups a mail-server stack on your system. (script found here)
But anyways, I’ve setup a new contact email address that can be found on the contact page (located in the footer or the links page) using the new email domain, so any tiny amount of emails I’ll get don’t get hidden in the literal tsunami of emails I get on my personal email.
Hello World!
My name is Jim and this is officially the first post on my site.
Creating this site I wanted to aim for a minimalist style with as little bloat as possible without potentially limiting myself in future in case I want to do anything more fancy.
This site was built with Hugo, a static site generator.
I originally was going to use Laravel to create this website as that is the main tool I am used to at work and am most experienced with. But I decided it was way too much for a site like this, plus I’d thought why not try something else for a change?