Kev Quirk, Author at Kev Quirk - Page 2 of 15

Kev Quirk|


Author: Kev Quirk

Hi, I'm Kev and I'm a cyber security professional from England. I use this site to share my thoughts and ideas from time to time.

100 Days To Offload & Over-Saturation

I’ve been having a think about 100 Days To Offload, and I’ve decided to make some changes to the challenge.

The original plan for #100DaysToOffload was that participants will publish a blog post every days (or close to it) for 100 days. I knew from the start that this would be a difficult thing to accomplish, but that’s the point of a challenge, right?

Now that I’m nearly 3 weeks into the challenge, another issue has come to light that I hadn’t considered previously…


I’ve had no issues with inspiration for content – the vast amount of bloggers taking part has provided plenty of that. But 1 day isn’t a lot of time to produce a well-written post.

When writing a post, I usually come up with an idea, then dump it into my drafts. I then spend some time arranging my thoughts and fleshing the idea out.

Once I’ve done that, I write the post, do an initial edit, then come back to it a day or so later with fresh eyes to give it a second edit. Only then do I hit the publish button.

This isn’t feasible if I’m publishing 1 post per day, and it shows. Well, I feel like it shows anyway, as the quality of my posts has taken a dramatic decline in the last few weeks.

My stats don’t reflect that though. I’m still getting good readership numbers; but I feel I’m producing lower quality posts than my normal content.

Changes To The Challenge

With the above in mind, I’ve decided to make some changes to the challenge, which are live on the 100 Days website right now.

The rationale behind the whole thing is to challenge people to publish 100 posts on their personal blog in a year. That’s approximately 1 post every 3.5 days.

100 Days To Offload

So instead of 1 post a day for 100 days, I’m going to be challenge myself to produce 100 posts in a year. I think this is a happy medium between being difficult to complete, and providing quality content.

What About Me?

Some people appear to be having no issues with the #100DaysToOffload challenge in its original form.

If you want to continue doing 100 posts in 100 days, go for it!

The challenge is now to publish 100 posts in 365 days, but if you can do it in 100 days, more power to you. If you do it 150 days, 200 days or 300 days; it doesn’t matter.

What’s important here is to motivate people to write more. That’s all.


I said from the start that I hadn’t put much thought into #100DaysToOffload, and that the guidelines for the challenge are exactly that – they’re guidelines, not hard and fast rules.

I’m still enjoying the challenge, and I hope this change will ensure the challenge remains fun throughout.

This post is day 18 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

Git Lecture [video]

Someone on Twitter shared this video with me. It’s an MIT lecture from February 2020 that details the fundamentals of Git. The nice thing about this lecture, is that it doesn’t just talk about useful commands and using Git, but also the underlying makeup of Git.

As someone who is relatively new to Git, this was incredibly useful in putting the component parts of Git together, which really helped my understanding of the tool.

If you want to learn Git, this lecture is a great place to start.

This post is day 17 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

I Now Know How To use Git

A few days ago I wrote about how I have no idea how Git works. Since then, things have changed and I’m now basking in the warm orange glow of Git repositories.

What happened next?

After publishing the post about not being able to use Git, I re-posted it to Fosstodon (I’m all about the POSSE these days). I was half expecting some outrage and honest feedback about how I’m clearly an idiot.

That wasn’t the case.

Instead I got numerous responses to help me learn, both on Fosstodon and via email. The community response was amazing and inspiring.

I decided that if the community can come to my aid and offer to help me learn, the least I should is get off my lazy fat arse and actually give learning Git a proper go.

That’s what I did.

Learning Git

Ivan Tomica sent me a link to this brilliant website that reduces learning Git to simple, bite-sized pieces.

After 30 minutes I had successfully carried out my first commit and push from the Git CLI. I have to say, once the basics had clicked into place for me, the whole thing became much simpler to follow.

I’ve since been able to configure my local repositories to authenticate to GitHub using SSH keys. I’ve even been able to create a webhook that forces my web server to instigate an automatic pull (also via SSH) whenever one of my repositories are updated.

This means I can code changes to my theme or websites, do a git push and my they are auotmagically updated. No messing around with FTP.

Why didn’t I do this sooner?


In my disclaimer I say the following:

My thoughts and opinions change from time to time; I consider this a necessary consequence of having an open mind.

This is definitely one of those occasions. Over the last few days my opinion of Git has done a full 180, and I’m now looking at other cool things that can be done with it.

I’m even exploring static site generators!

This post is day 16 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

Creating A Notes Page

I added a notes category quite some time ago, but I’ve done some additional work to make my notes work a little better.

What are notes?

Notes are shorter posts that I write. They could include passing thoughts, or links to sites that I have found interesting. Basically anything that I consider noteworthy that doesn’t justify an entire post.

I originally got the idea from a couple of other blogs that I regularly read. Matthias Ott has his Notes section and Sara Soueidan has The Desk. Both of which are chock full of interesting posts that are generally short thoughts, but not always.

Previously I had the Misc category that was a kind of dumping ground for posts that didn’t fit anywhere else. After seeing Mattias’ and Sara’s solutions, I knew a notes section of my own was the answer.

The Options

I figured there was a few ways I could add a notes section to this site. I could add a WordPress plugin, or maybe a custom post type. Maybe I just create a new category called Notes and be done with it.

I’m a believer in the KISS principle. So I wanted something that was easy to implement and maintain. Adding another WordPress plugin was a non-starter; I don’t like adding plugins at the best of times, and for something as simple as this solution, it seemed unnecessary.

I toyed with the idea of adding a custom post type where there was an option for creating a new Note in the WordPress admin UI. This was very simple to do, but it went against the KISS principle – it was adding complexity for the sake of it.

The way I see, all my posts – whether they’re long-form technical articles, an IndieWeb reply, or a short note – are still posts. So adding a whole new UI for writing Notes seemed pointless.

Notes category it is then.

Custom Category Page

The category pages on this site have always needed a bit of love. Their feeds are different than the main homepage feed, and they just looked wonky. I took this as an opportunity to fix that.

If you look at one of my category pages, you will see that the page title is Category:[Name]. I didn’t want that for my notes page, instead I wanted to tweak the title and add and introductory paragraph.

Luckily, WordPress has this hierarchy within its themes where it will look for custom pages to render before it renders the main index.php file. That process looks something like this:

category-slug.php → category-id.php → category.php → archive.php → index.php

This theme is SUPER simple, so I don’t have a dedicated category page. I do, however, have an archive.php page. This is the file my theme uses to render category pages.

So I copied archive.php and renamed it to category-notes.php. I customised it to suite my needs, uploaded it to my server and hey presto! I have a custom Notes page.

URL Redirect

WordPress’ URL structure for categories looks something like /category/[name]. I wanted to be able to use for my Notes page.

Again, keeping the KISS principle in mind, the easiest way of doing this was a simple redirect. To do this I simply added the following to the bottom of my .htaccess file:

# Redirect notes page
Redirect /notes /category/notes

That’s it. /notes will now redirect to the correct category page, so it’s pretty seamless.


The Notes page has proven to be very useful over the last few months, so creating a custom page and URL path for my Notes seemed like the right thing to do.

Categories also have their own RSS feed in WordPress, so I haven’t had to do anything clever for someone who wants to subscribe to just my Notes feed. Better still, the redirect also works for this too, so if you visit, you will be taken to the Notes RSS feed.

I think notes are a great way for bloggers to share quick thoughts and ideas. Thanks to Matthias and Sara for the original inspiration.

This post is day 15 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

Keybase, Zoom and Me

So if you hadn’t heard, Zoom have acquired Keybase. This has sparked a lot of consternation within the open source community and a lot of people have decided to delete their Keybase accounts.

I think most can agree that after the acquisition, there’s no more reason to trust the platform and thus to use it. What happens to our keys now is anyone’s guess.

Yarmo Mackenbach

My Use Of Keybase

I use Keybase for a number of things. I use it as a way to verify my online identities, I also use it as a place to host my my PGP keys so that people can easily email me encrypted messages.

We also use Keybase Teams as a means for collaboration across the Fosstodon team.

So I would class myself as a fairly heavy Keybase user.

Will I Delete Keybase?

Well, I could delete Keybase relatively easily. The keys I have stored on Keybase are different to the keys I use elsewhere. Therefore it’s no problem to delete them. It wouldn’t be a problem to generate a new key pair and publish my public key on this website.

I can also use this site as a means to verify my online identities, simply posting links to my various online profiles and domains.

Keybase Teams would be more difficult, but still straightforward. It would be trivial for the Fosstodon team to move to another platform like Mattermost.

But I’m not deleting Keybase.

At the moment, I don’t know what Keybase and Zoom are going to be doing. Zoom have had their problems, but I think that’s more indicative of their incredibly quick rise, rather than the potential that they’re inherently bad.

It’s only been a day since Keybase made the announcement, so it’s impossible to say what the future will hold.

Yes, Zoom could ruin Keybase. Yes, they could make the Keybase team focus only on the Zoom codebase. But they could also be mutually beneficial to one another.

There’s nothing on my Keybase profile that is sensitive or private (except my private key, but like I said, that’s not a big deal). So if it does all go south with Zoom, I’ll delete my account then.

Doing it right now, so soon after the announcement, feels like I would be cutting my nose off to spite my face.

So in short, I’m going to wait and see.

This post is day 14 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

Confession: I Have No Idea How To Use Git

I have a confession to make – I have no idea how to use Git. Pull requests, commits, branches (what the hell do trees have to do with it?) It’s all jargon to me!

So I have a Github account, I even have a handful of repositories on there. However, I have absolutely no idea what I’m doing. If I want to add some source code to a repo, I upload it via the web GUI and that’s it.

The Git Nightmare

I think that Git is another one of those tools that’s been made by extremely clever people, but introduces a barrier for entry.

Why can’t I just have a method by which I edit some code, click a button, and any new files are uploaded to the repository? What’s with all the staging and committing? It’s so bloody confusing.

With Git being so convoluted to get going with, I’ve found it almost impossible to learn every time I’ve tried. Now I know I’m not the sharpest tool in the box, but Git is just a black hole of confusion to me.

What Am I Missing?

Is there something obvious I’m missing? I see lots people doing all sorts of clever stuff with Github, and I’d love to get involved, but I just can’t get over that initial stumbling block of connecting all the dots and terminologies together.

Are there any resources available for people who are NOT seasoned software developers to learn Git?

I’m pretty lost here, folks.

This post is day 13 of my #100DaysToOffload challenge. Visit to get more info, or to get involved.

Adding A Scroll To Top Button Without JavaScript

I was using a plugin for my Scroll To Top button, but I’ve now replaced that with a simple HTML/CSS solution that doesn’t use any JavaScript.

I recently wrote about the plugins that I use on this site. In that post I mentioned the WPFront Scroll Top plugin that I was using for the Scroll To Top button on this site. I decided that was pretty lazy and relatively simple to fix, so the plugin had to go.

I wanted a simple solution that didn’t use any JavaScript, as I’m trying to reduce the amount of JavaScript used on this site. I’ve managed to come up with a simple solution that doesn’t need any JavaScript.

Adding HTML/CSS Scroll To Top

Implementing this solution is extremely easy. The first thing you need to do is add a blank hyperlink right below the <body> tag in your site’s HTML:

<a name="top"></a>

If you’re using WordPress, like I am, then you will need to edit your theme to do this. If you’re going to edit your theme, I’d recommend creating a child theme so that your changes aren’t overwritten when your theme is updated.

In WordPress, the opening <body> tag is usually found in the header.php file. Adding the blank link here will ensure that it’s automatically added to all of your pages and posts.

The Footer

Once you have done that, all that is needed now is to open up the footer.php file of your WordPress theme and add the following link to it:

<a href="#top">Back To Top</a>

This will add a link in your footer that references the blank link right at the top of your page. So when someone clicks on that link, they will be taken back to the top of the page.

Smooth Scrolling

That’s it, you don’t need to do anything else. You now have a working scroll to top button that doesn’t require any JavaScript. However, you may notice that when you click on the Back To Top link, the page just jumps straight to the top.

While this is working, it’s pretty jarring when the page just jumps from one end to the other. A better way of doing this, is to implement smooth-scrolling. This will simulate the user scrolling back to the top of the page, instead of just jumping straight there.

Smooth scrolling is also super simple to implement, and doesn’t require any JavaScript. Open up your CSS stylesheet and add the following:

html {
  scroll-behavior: smooth;

Note: not all browsers support scroll-behavior, but for those that do, it’s a better experience.

That’s literally it! This one piece of styling is enough to enable a nice smooth scrolling effect back to the top of the page, instead of that jarring jump.


I don’t know why I didn’t do this sooner, as it only took me 10 minutes to do. I just hadn’t thought of removing that plugin until I actually took the time to go through which plugins I has installed.

From now on I’m going to review the plugins regularly. I can then decide if any need to be removed, or replaced by adding similar functionality within my theme.

This post is day 12 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from

Recommended Read – A Biker’s Life By Henry Cole

A Biker’s Life by Henry Cole

Everyone is chasing their materialistic tail in this world, whether it’s to get a new Vauxhall Nova on tick or whether it’s to buy a tower block.

Motorcycling is here to tell you none of it makes you happy. What makes you happy is enjoying the now and enjoying the journey of life as best you can.

Book cover of "A Biker's Life" by Henry Cole

I finished reading Henry Cole’s A Biker’s Life: Misadventures on (and off) Two Wheels last night. I’m not usually one for talking about the books I read, as I get through quite a few of them. But I couldn’t put this one down; I read it in two days. I think that’s because Henry’s book resonated with me on a number of levels. Let me explain…

Fair warning, some of the subjects I’m going to cover in this post will be very personal in nature. I don’t usually talk about my personal life on this blog, but it is a personal blog, so why not?


Now this one is obvious – like Henry, I’m also a keen biker. Unfortunately I don’t have a collection quite as vast as Henry’s, but the love of biking is in my blood nonetheless. I really liked Henry’s writing style throughout the book – he comes across as so genuine with a this is me, like it or lump it kind of tone throughout.

The book isn’t about bikes, per se. It’s more about the feeling of riding a bike and how cathartic that is for Henry. I agree completely – biking is my escape too. This can be rehashed to any hobby one finds cathartic – gardening, running, walking the dog, puzzles. Anything. So even if you have never thrown your leg over a motorbike, this book can still offer a lot.

Drug Addiction

Henry is a self-proclaimed “junkie”. Although he’s been clean of drink and drugs for over 30 years, he still classes himself as an addict. I knew Henry was an addict before I read the book, and I was expecting it to be covered maybe in a chapter or two, then we move on to the bikes.

Boy was I wrong.

Addiction is a constant vein throughout the entire book. And I love this. To an addict, it’s not a passing phase in your life. It is your life. I’m sure Henry has to deal with those addictive tendencies day in, day out. But he has put them to positive use in both his career, and his love of motorbikes. Inspirational, I think.

The undertone of addiction throughout A Biker’s Life is what really resonated with me. My older brother, Mike, was a heroine addict for many years. He’s clean now, but not by choice. Unfortunately, he wasn’t as lucky as Henry. Mike overdosed on the 26th October 2016 in the toilet of a needle clinic.

A security guard noticed that Mike hadn’t come out of the toilet for quite some time. They broke the door down, and there was Mike. Dead. They managed to resuscitate him, but the hospital estimated his brain had been starved of oxygen for approximately 9 minutes.

This has resulted in Mike having a significant hypoxic brain injury. The doctor told us that any more than a couple of minutes hypoxia to the brain can be catastrophic, so to not hold out much hope considering he had been out for approximately 9 minutes. When he first woke up, after 2 months in coma, he couldn’t even blink.

After spending 6 month in intensive care and another 3 years in various specialist care facilities, Mike can now walk (albeit with a frame), he can take himself to the toilet, he can talk and most importantly, he has his sense of humour back. Mike does still require 24×7 1:1 care though, as he can’t do many of things you and I take for granted. Like getting a shower, or feeding himself.

Mike and I
Mike (white t-shirt) and me in his care facility

In a way, I feel like I’ve lost Mike. Our relationship has morphed from a big brother, little brother dynamic; to me, the little brother, becoming his part-time carer. It’s shit. But he’s still here, and I can still have a laugh with him. So it’s not all bad.

This is why Henry’s book resonated with me so much. We still class Mike as being one of the lucky ones, as we could have lost him so easily. But he’s happy in his little bubble, and we’re so grateful for that. Plus, we know he’s safe, he’s fed and he has a warm bed every night. Which is the most important thing in the world.

I want to end this post with another quote from Henry’s book that actually brought a tear to my eye:

Now, obviously I don’t condone how they [addicts] get that cash together. But, at the same time, please don’t tell me that they are a bunch of thick, inconsequential idiots with no drive or ability.

Mike isn’t thick. He isn’t an inconsequential idiot. He’s my brother and I love him, addict or not. Thank you for an incredible book, Henry; you have lived an extraordinary life. It really is A Biker’s Life, hey?

Whether you’re a biker or not, I think a lot of people will get something from A Biker’s Life. It’s a highly recommended read from me.

This post is day 11 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from

Which WordPress Plugins I Use

WordPress is a fantastic ecosystem with hundreds of thousands of plugins available. I wanted to talk about the plugins I use and why.

WordPress plugins form an important part of many WordPress sites as they easily add features and functionality. However, on many occasions I’ve said that I’d much rather code features into my theme myself, than use plugins.

Adding plugins to your WordPress site always introduces more code, which in turn introduces more risk. WP Rocket have a great post about the risks of adding plugins to WordPress.

How Many WordPress Plugins?

In the WP Rocket post, they mention that the recommended amount of plugins for shared hosting is 0-5, and 5-20 for VPS hosting.

Those numbers are actually a lot lower than I was expecting – I really don’t think there are many WordPress sites that have 0-5 plugins installed. Some have hundreds. I use a VPS to host this site, so technically speaking, I should have no more than 20 plugins installed.

I currently have 13 plugins installed on this site, most of which are to do with the IndieWeb. As I’m still pretty new to it all, I’ve opted to work with the plugins for the time being, rather than code the features into my theme.

The Plugins that I use

Anyway, enough ramble. Let’s get on with talking about the plugins I use on this site. Here’s a list of the plugins that I use, along with what I use them for:

01. Classic Editor

Classic Editor replaces the new Gutenberg editor with the old editor. I use Guttenberg most of the time, but some of the post types required for the IndieWeb need the classic editor.

I didn’t really like Gutenberg when it first came out, but I now really like it and actually find the classic editor quite alien to use.

02. IndieAuth

IndieAuth is part of the IndieWeb. It allows me to use my own website as a single sign on endpoint. So I can use this site to sign into other services. Any site that uses OAuth 2.0 should work with IndieAuth.

03. IndieWeb

This is the main IndieWeb WordPress plugin. It provides the backbone of all things IndieWeb to this site, including microformats 2 support.

04. Post Kinds

Again, this is part of the IndieWeb (are you seeing a pattern yet?) This is the utility that plugs into the classic editor and allows me to create things like IndieWeb replies, likes and mentions.

IndieWeb reply using Post Kinds
IndieWeb reply using Post Kinds

Now I could quite easily create a standard post that looks just like the screenshot above. However, the Post Kinds plugin does a lot of clever stuff in the background that adds IndieWeb compatibility.

05. Semantic-Linkbacks

Yep, this is another IndieWeb plugin. Basically, what this plugin does is format Webmentions in a nicer fashion on the front-end of the website.

I’m not actually sure this plugin is required, as I format my Webmentions with CSS anyway. I need to do some playing around on my staging site, I just haven’t had time, but I think this plugin will likely be deleted soon.

06. ShortPixel Image Optimizer

Finally a plugin that isn’t related to the IndieWeb. This plugin came by recommendation of Nathan DeGrunchy on Fosstodon.

ShortPixel basically optimises images as they are uploaded to your WordPress site, and it works extremely well too. In my Oscar fish tank post from yesterday, I deliberately uploaded photos that were around 2.6MB n size. ShortPixel crushed them to around 100KB with no obvious reduction in quality.

ShortPixel is an excellent plugin.

07. Two Factor Authentication

This is a pretty straightforward one really. Two Factor Authentication adds support for 2FA TOTP passcodes, adding security to the login process.

Personally, I think 2FA should be a core part of WordPress, rather than relying on WordPress plugins, but alas it isn’t. Hopefully 2FA support will come one day, but until then I’ll use this plugin.

08. Updraftplus

Updraftplus is one of the best WordPress plugins for backing up a site. I take regular server level backups anyway, but having additional website level backups doesn’t hurt.

I’ve been using Updraftplus for years and it has pulled me out of the shit a number of times. I personally pay for the SFTP plugin, so I can offload my backups to my Synology via SFTP.

09. Webmention

Webmention is part of the IndieWeb too. It’s kind of like a next generation WordPress pingback. Basically it’s the mechanism by which sites within the IndieWeb send messages to one another.

10. WebSub/PubSubHubbub

Yet another IndieWeb plugin. PubSubHubbub/WebSub (stupid name, I know) is a simple way to let people know in real-time when my site is updated.

Subscription requests are relayed through hubs, which validate and verify the request. Hubs then distribute new and updated content to subscribers when it becomes available.

11. WP Rocket

WP Rocket is the best caching plugin I’ve ever used. It’s not free, costing $49/site/year, but it’s so worth it. This plugin is integral to many of the optimisations I’ve made on this site.

I also use WP Rocket to integrate BunnyCDN into this site.

12. WPFront Scroll Top

This is a simple one really, as it adds the “back to top” icon on my pages and posts. I really need to take some time to integrate a back to top link into my theme, so I can get rid of this plugin.

I have now replaced this plugin with a simple HTML/CSS solution in the footer.

13. Yoast SEO

Yoast SEO is an excellent SEO (Search Engine Optimisation) plugin. It’s a great way of tracking not only your SEO goals, if you have any, but also the readability of your posts too.

Yoast SEO has really helped to improve my writing over the years.


As you can see, the vast majority of the WordPress plugins on this site are related to the IndieWeb.

I think there are definitely some plugins I can remove from this site, which I will get around to eventually. In the meantime though, I don’t think 13 WordPress plugins is an excessive amount. How many do you have?

This post is day 10 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from

The Battle Of The Oscar Fish Tank

I have multiple fish tanks, but I’ve been having real problems with my largest tank lately. I think I’ve finally solved the problems, but let’s talk about The Battle of the Oscar Fish Tank.

So if you don’t know, an Oscar is a South American cichlid (pronounced “sick-lid”). They are very large fish, growing to around 18″ in the wild and up to 14″ in captivity. Like many cichlids, they can also be very aggressive and territorial.

Oscar fish are also very messy, so they need to be in large tanks. Otherwise your nitrogen cycle will be a mess and you could kill the fish.

I had 2 of them in my 400 litre (approx 100 US gal) system. The big guy, Dice (on the left of the picture), was about 13″ long, and the smaller female, Betty, is around 10″.

Oscar fish in tank

These two are a mating pair. They have been together since they were fry and generally get on well. There are some arguments between them, but Betty generally holds her own.

One day I came into my study to find Betty looking like this:

Oscar fish with injured face


Look at her f**king face! It’s a mess. When I got in, Dice was puffing his gills out and shaking his body (a sure sign of aggression in Oscars). They’d had a massive fight and Dice wasn’t done yet – he just kept coming at poor Betty.

Splitting The Oscar Fish

The only option I really had was to split Betty & Dice up. Problem is, I don’t have another tank big enough for a big Oscar. One of them had to go.

I called my local fish store (LFS) and they said they would take one of them. But which one? I was in a real conundrum here. On the one hand, Betty has the best personality – she’s quite timid, but she’s friendly. Dice, to be honest, is just a bully and a dick. But he’s a gorgeous Oscar specimen.

Decision decisions.

I ended up removing Dice from the tank. My rationale being that I had more chance of introducing other fish with Betty. Plus, she had been badly beaten up, so the additional stress of moving her may have killed her.

It was a tough, heart wrenching decision; and I don’t mind telling you, I cried over a fish! Oscars are often called the dogs of the fish world. They’re intelligent and really bond with their owner. So giving up Dice was awful.

Anyway, he went to my LFS and he’s very happy there. I know they will look after him and after lock-down ends, I can’t wait to go see the big fella.

We’re Not Done Yet!

Oh no, the saga of the Oscar fish continues. So Betty is in a bad way and I’m really worried I’m going to lose her. Her face is mangled, she has developed hole in the head; she’s in shit state.

On top of all the injuries, I’ve split her and her life-long mate up. This is bad.

A week goes by and her face is starting to heal, but she hasn’t eaten a thing. Two weeks, still no eating. Three weeks, still nothing. Fish can go weeks without eating, but three weeks is pushing it.

At this point, her face was pretty much healed, and her hole in the head was also healing nicely. It was the lack of eating that had me concerned at this point – was she going to starve to death?

Double shit.

I’ve been keeping all different kinds for a few years now, so I like to think I know what I’m doing. But after three weeks of no eating, and with no sense of Betty’s hunger strike ending anytime soon, I was out of ideas.

I got in touch with Andy from my LFS, Somefin Fishy, to see if he had any ideas. The best he could come up with was to add more fish. This is something I had considered, but I wasn’t sure Betty was ready.

Adding fish may seem strange to some of you, but being on her own in the tank, Betty may have thought other fish were hiding because a larger predator than her was around.

The behaviour for being concerned about predators is usually a lack of eating, and a reluctance to come out into the open parts of the tank. That’s the behaviour I was seeing, so I thought it was worth a shot.

Adding New Fish

Like I said, Oscar fish can be aggressive and territorial, so I had to choose the fish to go in with her carefully. As much as I wanted to, I couldn’t add another cichlid, as she would probably get bullied. I could have added a young one potentially, but if it fit in her mouth, there was a high chance of her eating it.

Cichlids were out.

I needed something that grew to a descent size and was very passive. Then Andy recommend Silver Dollars. They grow to around the size of a saucer and are super placid – exactly what I need.

I’d considered Silver Dollars myself, but they’ve never really been a fish that has interested me, so I was a little reluctant. At this point I had to put Betty’s needs before my desire to have the best looking fish in there, so Silver Dollars it was.

Silver Dollars are also a schooling fish, so I had to buy a few. With a lot of trepidation, I added five Silver Dollars to Betty’s tank. Not knowing how she would react, I was very nervous. She inspected them, but she didn’t puff up and there was absolutely no aggression.


I turned the lights off and left the dollars to settle in for a few days. Still no aggression seen and Betty seemed to be coming out of her shell. Nice, time to feed them, I thought.

Silver Dollars are a herbivorous member of the Piranha family, but they will eat pretty much anything you put in the tank. And they sure did – vegetables, blood worms, brine shrimp, algae wafers – everything. They wolfed the lot down.

Betty still didn’t eat. 🙁

Triple shit.

So earlier this week, I took a last ditched attempt to get Betty eating – I decided to starve the entire tank all week.

My idea being that she was just being a spoilt brat, and by starving the whole tank, I’d create more competition for food and hopefully she would eat.

So on Monday the whole tank went on a forced hunger strike. I’ve been keeping a close eye on the tank all week – everyone seems happy enough – albeit hungry – with no deaths or fights. That’s a good sign.

It’s Saturday 02nd May 2020 as I write this and this morning I came in to check on everyone. I walked up to the tank and Betty started wagging her tail fin; told you they were like dogs! She hadn’t done that since Dice had left.

Let’s try a feed…

Oscar fish feed from the surface. What she had been doing over the last few weeks, is retreating to the bottom of the tank whenever I took the lid off.

Not this time! This time she swam up to top, ready to feed. Could it be? Is the old Betty back?

I reached for her food and there she remained, at the top, ready to scoff whatever I gave her. I threw in half a dozen pellets and WOOF! They went in a second. She scoffed the lot in one go.

Sweet relief!

Better yet, as she chomped down on the pellets, waste came out of her gills, which the dollars loved grazing on!

The dollars needed a proper feed as well though, so I threw in a few algae/spirulina wafers – Betty at them too!

She’s definitely back.” I thought.

Eventually she left some wafers for the dollars to scoff down on, and everyone seems very happy in the tank. Here’s Betty now, with her hole in the head healing up, along with one of my dollars with a wafer in her gob.

Betty with a silver dollar


Woah. It’s certainly been a rough few weeks in the Oscar fish tank! Keeping cichlids can be very difficult, but it’s so worth it in my opinion.

You know what? I actually really like the Silver Dollars now. I didn’t give them a fair chance. They’re a gorgeous fish and they’re full of character, I’m so happy with how the tank has turned out. Great recommendation from Andy, there.

Yes, I had to get rid of poor Dice, which I’m still gutted about. But it was the best thing to do for Betty’s sake. Plus, I know Andy will either look after him, or find him a good home.

Let’s hope the Zen in my Oscar tank continues. If it doesn’t, I’ll be sure to write an update.

This post is day 09 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from