Increasing my confidence with Hugo Theming

I have been recently spending quite a lot of time working on the Hugo blog framework that I use to build all my web content and serve it up in static format. I think I will be moving over to using Github pages to serve my Hugo content for all blogs, because I don’t see any advantage to hosting it locally - I have already learned how to do that now, and the very real advantage to hosting on Github.io is that when my home server is down, my blogs are still up and readable. To that end, I have been working on Github actions to automate Hugo building and deployment to Github pages. I now have a good, working, pipeline that I can re-use on all 6 of my Hugo blog domains. I have also been adding some scripts locally for easier post authoring, which means it’s much easier for me to write content in a standard way and get started with a post without too much faffing about. I have finally fixed a problem that had been annoying me for ages - when I post my blog posts to social media, they used to look rubbish - just a static generic blog image showing my face, and no explanation of the content or a post-specific thumbnail. - In order to fix this, I have developed my own ‘spinoff’ of the Hugo PaperMod theme, called PaperMod-dpc . In this customised theme, I have made some improvements and adjustments for my own needs, including an ‘intelligent’ way of handling the social media opengraph data, where it will display much better and interesting preview content on social media.

September 13, 2025 · 2 min · David Craddock

Moving

Moving House We have been spending literally ALL our time packing heavy duty packing crates as part of our planned house sale and move to Bolton. We’re both under so much stress right now! I hope it’s over soon.

September 12, 2025 · 1 min · David Craddock

House Server Down

The house is in the final stages of being sold, and so I have taken down the house server down while we move. This is the server that self-hosts all my domains, including this website. In the meantime while it’s down, I have created a mirror of the hugo site automatically deploying on commit to wordswords.github.io - my static github pages site. This should work for this domain only, but not other domains, such as davidcraddock.games because this is all I’ve had time to do. ...

August 28, 2025 · 1 min · David Craddock

Thor AV APT Scanner

I have setup the excellent and free Thor Lite AV APT (Advanced Persistent Threat) malware scanner running on my server. It’s a paid product, but the free version is still much better than any other Linux anti-virus I’ve seen. I use it to find problematic files in the many files I download from torrents/unsavoury sources etc. It does a great job of identifying potentially suspicious files. The full version then goes on to move these files to a proprietry quarantine service. ...

August 21, 2025 · 1 min · David Craddock

Mid 2025 Retrospective

Moving House This year has been difficult so far, although arguably not as difficult as last year, as last year saw deaths in the family and still not knowing if I’d been cured from cancer. Almost all of the year we have been trying to sell the house and waiting until the house sale goes through. It is nearly there, but then.. it’s been nearly there for several months now. We just have to be patient. ...

August 15, 2025 · 2 min · David Craddock

Cron Jobs Finally Running Reliably

FINALLY, with the help of fcron , judicious use of Bash debugging, and a lot of freaking around, I have managed to get scheduled cron jobs running the way I want to. For a supposedly lightweight process, there are actually a ton of ‘gotchas’ which will likely trip you up. Here are some tips: Ensure the right permissions for the cron job - cron will ignore scripts that have certain non-standard permissions, for security. Ensure the right filename for the cron job script - it will ignore certain extensions or variations on the end of the script file name! Ensure ALL symbolic links in your cron job scripts are resolved to actual paths - for some reason cron doesn’t like this, probably a security measure again. Use fcron with anacron syntax to ensure ‘intelligent’ scheduling - e.g. if the computer is turned off most of the week, when it is turned back on, it will still run the weekly job, instead of waiting a further 7 days! Make sure you ‘cd’ into the working directory AS PART of the cron job before you attempt to use any relative (non absolute) paths. And you should do this instead of specifying absolute paths for large scripts, because of the potential to make mistakes, which will take longer to test! Use nohup and a Bash ’trap’ error logger to log complete runs. Log the WHOLE output of the Bash cron’d script, using STDERR and STDOUT concatenation. Use screen to run jobs so you can inspect running jobs when you need to. Use ionice and nice liberally so that you can avoid system lockups due to multiple processing scheduled jobs hogging the system resources! Turn off ‘fcron’s ‘serial’ parameter so that multiple jobs can run at the same time - this is essential if one running job happens to overlap another. Fcron with anaocron syntax will usually figure out the rest. No wonder Jenkins is so popular!

July 24, 2025 · 2 min · David Craddock

Hiring for Obedience and Inexperience

It is true that employers these days are hiring for obedience and inexperience, as this ebook excerpt explains: – “We regret to inform you that we will not be moving forward with your application due to concerns that your qualifications exceed those required for the role. We feel it would not be a good fit. Thank you for applying.” Ouch, that’s part of a rejection email a very experienced job candidate sent me. ...

July 22, 2025 · 2 min · David Craddock

Mylar3 and PlayNite Extension

I have added ‘Mylar3 ’ the electronic comic book downloader and metadata organiser, to my self-hosted docker containers. It should do a better job than Calibre of going through my PDFs and CBR/CBZ files, as a lot of them are e-comic books. LazyLibrarian did a good job of dealing with the metadata of my epub collection, I hope that Mylar3 can do an equally good job, although the task is far harder as there is less metadata existing in a lot of my e-comic book PDF files. ...

July 20, 2025 · 2 min · David Craddock

Computer Space Reallocations for House Move

We will, in a few months (fingers crossed) be moving home. We currently live in quite a large house, and it’s just the two of us. We should end up in a new build flat, with a lot smaller living space than I’m used to. To deal with that, I need to downsize my technical setup. I currently have a seperate ‘work from home’ desk and a seperate ‘gaming and media’ desk - there will be only one desk possible. ...

July 16, 2025 · 4 min · David Craddock

More Server Updates

I’ve made a bunch of new updates to the server. The first was replacing the Readarr metadata and book downloader service, as it has stopped being supported. I have switched to LazyLibrarian, which I confess I don’t exactly understand very well yet, but has done an awesome job so far in updating the metadata of my 20,000 epub library. I hope to implement something similar for my PDF books/comics library, possibly with another instance of LazyLibrarian for it, working in tandem with a comic book metadata ‘fixer’. ...

July 16, 2025 · 2 min · David Craddock