Royal Canal Deep Sinking SUP

The weather was great this Monday - it was the hottest day of this year in Ireland (so far). Also, thanks to Memorial Day in USA, it was going to be a quiet day at work. So, I decided to take a day off and go paddle-boarding in Royal Canal in west Dublin. I did not find a lot of information online, so I'll write a report here.

Read more…

This website has remark42 comments now

Now you can tell me how wrong I am!

Comments are self-hosted using remark42, there are no ads or tracking. The privacy policy was updated nonetheless.

Remark42 does not support captcha and its anti-spam is rudimentary, so I wasn't brave enough to enable anonymous posting. You'd have to log in. Currently it is possible to log in via Google or GitHub, and I plan to add more methods later.

Read more…

Things I learned about Kubernetes version upgrades

Back what I was setting up my home Kubernetes cluster the latest Kubernetes version was 1.18.6.

A lot of minor and major versions were released since then and now the latest version is 1.21.0. I didn't go all the way to 1.21.0 but I've recently performed upgrade to latest stable version in 1.20 branch.

Kubernetes has somewhat decent upgrade instructions. But they are far from comprehensive and I've learned a few thing things even upgrading my small home cluster with a very small number of apps. I can understand now why Kubernetes admins fear upgrades.

Read more…

Setting up single-node Ceph cluster for Kubernetes

After setting up my shiny single-node Kubernetes "cluster" I wanted to do something useful with it. Many of the useful things require your useful data not to disappear, so I needed to figure out how to do that.

In Kubernetes storage is organized via Volumes. These Volumes can be attached to Pods via Volume Claims. There are two types of Volumes: regular ones and Persistent Volumes. Regular Volumes are ephemeral and destroyed together with Pods (e.g. when it crashes or rescheduled). These are of course less interesting than Persistent Volumes which as the name suggest survive Pod restarts.

There are many ways to implement Persistent Volumes, the simplest is probably to use Local Persistent Volumes. They simply bind local directory into pod. However they force pods to be always running on the same node.

This was not interesting enough for me so I went with something more complicated.

Read more…

Building new PC

As Ireland went into second lockdown of 2020, I've decided to upgrade my home personal computer.

I use my PC for gaming, hacking around with Linux and general wasting time in the Internet.

Previously I used PC with Intel i5-3550. After an SSD, GPU and memory upgrades it was still a very capable machine. It is actually still in use today to play some less demanding games co-op with my spouse. However I was not 100% happy with how some CPU-heavy games behaved (city/transport simulators), and compile times were getting annoyingly long while hacking. Another thing I was not happy about is fan management - the old PC had proprietary Lenovo motherboard which would spin case and CPU fans too much.

Desires

Given above I wanted:

  • Quietness. Ideally I wanted it to be semi-passive so that all fans will stop completely under light load.
  • Good single-core performance for games which don't do multi-threading too well.
  • 8 or more cores for compiling stuff (also, it's fun to have many bars in htop).

Read more…

Backups part 2: using restic to back up files to Backblaze

This post is a follow-up to a post where I talk about backups strategy.

Here I describe my solution for file backups from my Linux computers, and don't yet go into the subject of other devices and online services.

After some experimentation I decided to use restic for this. Restic is a modern, open-source backup program with an active community. It is written in Go. It runs on Linux (but also BSD, Mac and Windows) and can back up to local disks as well as remote/cloud services.

And as I wanted my backups to be cheap, "pay as you go" and off-site I've opted to use Backblaze for storage.

Why restic?

Read more…

Backups part 1: Strategy

There are two kinds of people in this world: people who back up their files and people who will back up their files.

If you don't do backups, check the world backup day website. It lists a number of reasons of why backups are important and provides some advice on how to start backing your files up.

However, their advice is rather simplistic. After following it and setting up /some/ backup, one may end up with no usable backups still and false sense of security. Or, people who are more paranoid (or experienced?), may still have some anxiety. There are still many open questions. Do I backup the right files? Did I forget anything? Will these backups protect me from all data loss situations? Do they cost me too much?

Read more…

Donating with Liberapay

Donating with Liberapay

Recently I've stumbled upon Liberapay.

Liberapay is a non-profit crowdfunding platform. The most interesting thing is that Liberapay does not charge fee for donations. Instead, it relies on donations itself. So Liberapay has account on Liberapay. Another big upside is that it appears to be entirely open-source.

The biggest downside is that it does not appear to be very popular, so there is not all that many things to donate to there.

Still, I found a few things and set up a few tiny recurring donations.

Then I thought it would be interesting to get some. Mostly as a social experiment - I would be surprised to get a single cent.

Receiving donations from Liberapay

The setup was fairly straightforward. Any registered user can add Stripe or PayPal account. I was not registered in either, so I opted to sign up for Stripe which took around 10 minutes.

Then in order to attract people I've installed a couple of buttons on this website. It required a small modification of templates. The buttons use JavaScript but appear to have a fallback, and don't appear to set or collect any cookies.

It is also quite easy to add "Donate" button to GitHub. Once simply needs to place .github/FUNDING.yml file to their default branch. For me it looked like this:

liberapay: rvs

There are more docs and examples on GitHub.

Click my button, give me some money. I don't intend to profit on it, and would try to match anything given to me, though quite likely not through Liberapay unless it suddenly becomes more popular.

I found following interesting (to me) projects there:

  • Liberapay itself
  • Syncthing - Open-Source p2p file synchronization tool. I did not set up donation in Liberapay since I already donate through other channels.
  • LVFS - collaborative initiative to install firmware in Linux