RSSAmplifier

Blog

Yarmo - Yarmo's blog

Blog of an Open Source developer

yarmo.euRSS feed ↗72 posts

Latest posts

Computers + internet + me != three

It has been a bit since my last blog post. This hiatus was partly due to my evolving stance on what computers and the internet mean to me, and to what degree I let them into my life. I have some decisions to make, and so I thought it would be a good time to slow down for a moment and take inventory of my current thoughts on the subject, learn from where I come from and attempt to extract some…

How not to use a password manager

I have just read Kev's latest blog post named Segregating Email With Subdomains and it's a trick I am most definitely adopting. I enjoy using catch-all addresses over +something addresses as the latter are rejected by some services. But only one person per domain can enjoy this privilege. If each member of the server gets their own subdomain, they all get to enjoy a catch-all address. Simple yet…

Matrix Synapse: migrating from Cloudron to ansible

Maybe, like me, you tried to selfhost a Matrix Synapse server, miserably failed because it's just not quite that easy and then settled for Cloudron's Synapse app because it just works. Pay a bit more, worry a little less. Sure, it works but you still introduced a middle man in your pristine homelab setup and the itch never goes away to get rid of it. Time for round 2. The ansible playbook The last…

InfluxDB 2 migration

What is InfluxDB? InfluxDB is the MIT licensed time series database of my monitoring stack of choice, the so-called TICK stack , consisting of Telegraf (data collection agent), InfluxDB (time series database), Chronograf (charts and dashboard interface) and Kapacitor (data processing engine). My history with InfluxDB I started my homelab somewhere in 2017-2018. When about a year in I faced some…

A playerctl module for polybar

playerctl playerctl is a simple and lightweight utility that can query and control MPRIS-enabled media players. Running a simple playerctl pause in the terminal will pause the media player currently playing anything. As effective as that is, I want something even better: a little button in my polybar that knows when media is playing and when pressed, pauses the player. So, instead of using an…

playerctl: get currently playing music

TLDR To get information about music currently playing on the computer, run: playerctl metadata --all-players --format '{{ status }}: {{ artist }} - {{ title }}' A wide variety of media players are MPRIS-enabled and can be queried using the above command, including media players running in the browser such as Airsonic . playerctl on man.archlinux.org Explanation For a long time, I've been using…

GPG import public key from smartcard

TLDR On a new computer, insert your USB OpenPGP smartcard and run: gpg --card-edit fetch quit Explanation I have a YubiKey 5 (still waiting on my Solo v2 ) on which I store my OpenPGP secret key. However, if I boot into a new system, insert my USB OpenPGP smartcard, import my public key from a keyserver: gpg --keyserver hkps://keys.openpgp.org --recv-keys ABCD1234 configure git : git config…

Wireguard and docker: providing VPN access to arbitrary containers

Your container might benefit from VPN access Some containers just aren't meant to be connected directly to the internet. After all, you wouldn't want your ISP knowing which Linux distribution you download and share. If like me you have your BitTorrent client installed as a container on a homeserver to make sure it's always connected but you don't want to route your other containers through a VPN,…

My wtwitch setup

wtwitch wtwitch ( source repo ) is a neat terminal user interface for Twitch, allowing me to watch Twitch streamers without needing to ever use their website or any of their clients. It manages subscriptions, has autocomplete and easily let's you start a stream in an mpv window or any player of your choosing. I have a basic setup with the config file in the default place.…

The Burden of Christmas, exemplified

Introducing CB Something happened yesterday which subsequently consumed a significant portion of my attention for the rest of the day and I decided to try and put into words what happened, what I thought, how I reacted and how I should have reacted. While this post is the consequence of an interaction with a friend I'll nickname Carte Bleue (she'll understand =D) or CB for short, anything I say…

My 2020s Christmas Gift Pledge

Christmas and consumerism Christmas in the 2020s = consumerism. You know it, I know it. I am not even going to give an introduction on the subject. Even the Pope has condemned the commercialization of Christmas. So, you're either here because you want to read the blog post, or you haven't received from me a Christmas gift that lives up to our society's norms, asked me "what gives?" and I sent you…

Keyoxide Project Update #5

An update for all. Accessibility The latest 3.1.0 release of keyoxide-web greatly improves accessibility and ensures that it works nicely together with screen readers. To make sure the implementation of accessibility features was as thorough as possible, it was first ran through a series of automated tests, namely Lighthouse and WAVE , both giving Keyoxide respectively a 100% accessibility score…

Keyoxide Project Update #4

The update I have been looking forward to for months. Keyoxide 3.0.0 Every day I work on Keyoxide, I learn more and gain a deeper understanding of how powerful this Decentralized OpenPGP-based Identity verification actually can be. And as we are nearing the first anniversary of the Keyoxide project, I realized all the new ideas and major improvements—most suggested by the community—were being held…

A personal transformation

I'd like to share a few insights I gained during the last few months. What happened First, a bit of background. For a while now, I have been feeling unproductive and unsure how to improve the situation. That's it, really. Whether it's adapting to a post-academia lifestyle or learning to work from home, I knew I was doing something wrong. I could spend days waiting for my head to clear up, then…

Keyoxide Project Update #3

Two months since the last update. Two great new additions for this one. Keyoxide 2.5.0 The latest version of Keyoxide's web client has two very neat additions, all thanks to the latest 0.11.* release of doip.js : the verification of accounts on the IRC and Matrix platforms. This really is what Keyoxide was designed to do: making sure your online correspondances are exchanged with the intended…

Keyoxide Project Update #2

A prosperous 2021 to all. Let's dive into some Keyoxide news. Signature profiles The Keyoxide web client just got updated to 2.4.0 which introduced a few minor bug fixes as well as a robots.txt and noindex meta tags. The most exciting new feature in this release is the support for "signature profiles", a new way of creating decentralized profiles that is both simpler to generate and solves a few…

Keyoxide CLI released

Five months ago when I made keyoxide.org public, one specific request made by quite a few people stood out: we need the ability to perform the identity verification locally. And given that it was a quite technical crowd, this meant: we need a command-line interface (CLI). The command-line interface Today, I'm pleased to announce the release of the CLI. Written in Node.js and published on Codeberg…

Keyoxide Project Update #1

Time for the first big Keyoxide project update! A lot to cover, so let's get to it. The Big Identity Decentralized identity is coming. DIDs are coming. Awesome libraries like IDX are being published. Even Microsoft seems on board. My point is this: decentralized identity is an exciting field to be working on right now and I'm committed to keep learning about this domain, its technologies and…

The Post-MomentJS Era

The Post-MomentJS Era According to their own documentation , new projects should no longer use MomentJS , mentioning its hefty size and its outdated architecture as the principal reasons behind this statement. Although there are new libraries that they do recommend, we also have a different solution nowadays: no library. Using ECMAScript Intl , we can go a very long way formatting dates without…

Flipper Zero and their "Limited" pledges

The Flipper Zero project I'm not going to lie, Flipper Zero sounds like a cool project for hackers. Here's a link to their website which will lead you to their Kickstarter page. What is going on on Kickstarter? Something extremely scummy is going on right now! Have a look: Looking good, lot's of stuff to read, let's take our time. My word, they're almost out of Early Birds! Please, for the love of…

Keyoxide 1.0.0: switched to AGPL-v3

The big 1.0.0 Well, yes but no. It's actually a small update but with a MAJOR (get it? Because semver ) change: the project has switched to the AGPL-3.0-or-later license. When I started the Keyoxide project, it didn't have the scope and ambitions it has now. What begun as a tool to bring simple PGP operations directly to the user's browser—a side project like many others—has turned into a…

Traefik: managing both HTTP and HTTPS connections separately

Introduction If you have used the wonderful Traefik before to route all your traffic to different docker containers or other services, you'll know how easy it is to add SSL certificates and secure HTTPS connections, simple and free thanks to their integration with Let's Encrypt . You will first need the following lines in the traefik.toml file: [ entryPoints ] [ entryPoints . web ] address = ":80"…

Keyoxide and XMPP + OMEMO

XMPP XMPP is an open messaging protocol that not only drives a thriving secure communication ecosystem for the privacy-minded , but also handles the messages sent by platforms like WhatsApp and Zoom. Knowingly or not, you have most likely used XMPP at some point in your life. For the rest of this post, we will not take into account services like WhatsApp and Zoom as their platforms are closed off…

ELIUF: Explain Like I Use Facebook

ELI5 Perhaps you've seen the word ELI5 before. This stands for "Explain Like I'm 5". In other words, "please use simple terms and expressions to explain your point". It's not an insult to one's intelligence, it's just the process of transferring knowledge between (groups of) individuals that have different fundamental levels of understanding of the concept in question. I've come to the realization…

Quick comparison: Plausible vs logs

About a month ago, I started collecting website usage data using both Plausible.io and logs generated by Caddyserver , my reverse proxy. The goal was to compare the data sources, just like Marko Saric did in a post on the Plausible blog . Here's a quick overview of the results. For more details, read the post mentioned above, the results are nearly identical and Marko does a great job explaining…

The Future of Online Identity is Decentralized

Online identity Online identity refers to the concept of "being" in the digital world. As an internet user, you exist. You create accounts on websites. You write on social media and blogs. You post photos. All this online activity has in common that one and the same person performed these actions; it defines your "online identity". However, your "online identity" is not per se representative of…

State of the Keybase.io website

Disclaimer Two days ago, I launched Keyoxide.org which provides a few similar functions as Keybase.io but in an Open Source package. I've been wanting to write this post for a while but felt it could be perceived as disingenuous if posted before making my own project public. Therefore, I post this now. TLDR The Keybase.io website uses non-optimized resources resulting in a slow pageload and 5+…

Transcript of a strange call

Lady "Hi, I'm calling you because you have shown interest in the financial market." Me "What? No, I haven't." Lady "You have in the past…" Me "I think you might have the wrong person on the line." Lady "Oh, what is your email address?" Me "I'm not giving you my email address." Lady "It's all right, I have it here, I just wanted to check. What is your full name?" Me "No, I'm not… Wait… Why? I'm not…

Launching Keyoxide.org

Today, I'm excited to launch Keyoxide.org , the lightweight and FOSS solution to make basic cryptography operations accessible to regular humans. What is Keyoxide.org? Keyoxide.org offers easy encryption, signature verification and decentralized identity proof verification based on PGP keys while demanding little in-depth knowledge about the underlying encryption program from its users. This…

Webmentiond FTW

I just read this post by Guillermo which is a great general overview of webmentions and in particular, the implemention by Horst Gutmann named webmentiond . An absolute delight to use! Glad you got it working, Guillermo, and happy to have been of help!

Github is sinking

If you're looking for a more reasoned argumentation, see Update 3 at the bottom. I rarely interact with Github anymore. All my projects are either on my selfhosted Gitea instance or on Codeberg.org . That's why I missed the following on Github Status : Yikes Yikes, indeed. How everyone handles this is up to them. Large projects will find it hard to move, no doubt. My interpretation? The Microsoft…

Set default git branch to main

For a while, we've all been seeing the "switch git default branch from master to main" posts, the earliest I recall having been written by Scott Hanselman . I've been postponing the change for a bit, but it was the post by Kristófer Reykjalín that gave the required motivation to go out and just do it. For new repositories, Gitea already has the option to set the default branch name . For exiting…

Added /now, /feeds, /uses

My website now has dedicated /now , /feeds and /uses pages , inspired by several trends in blogging. A new /friends (or something similar) will follow soon!

No to .io, yes to .xyz!

TL;DR: I openly urge all FOSS projects and startups to reconsider registering .io ccTLD domains, opting instead for truly generic TLDs like .xyz .io is dead, long live .xyz ! UPDATE: Long live .xyz, .org, and many other gTLDs! Please see Update 2 below. Is that an exaggerated statement? Yes, yes it is. But all new projects (and startups?) should reconsider their choice of TLD. The case in favor of…

OPSV: Open PGP Signature Verification

Introduction to OPSV I'd like to introduce a new project of mine named Open PGP Signature Verification or OPSV, a FOSS solution for easy PGP signature verification. I have copy-pasted the README from the Codeberg repo below and added a "Why make this project?" section containing opinions. About This project uses openpgp.js loaded in the browser, meaning all processing is done on the device itself…

Website is now open source!

It's finally here: the source code of this website on my selfhosted gitea instance. It was delayed because, even though the current codebase does not contain secret keys or passwords, this has been the case in the past and the git history is easily searchable. I have deleted the old git project and started afresh. From now on, the source code and the drone CI/CD pipelines that go with the website…

Start of the Plausible experiment

During the roughly 6 months since I started this website, I have not been using any website statistics whatsoever. I did not see the point of it, this website was not designed to gather an audience in any fashion, it was primarily meant to be a permanently-updated online CV. Given that I am leaving academia which I have been preparing for during the last nine years, I figured I could use any means…

About my avatar

Every so often, I get asked about the origin and make of my avatar, as seen on my website and my Fosstodon profile . So, here it is. Inspired by the avatars of Kev@fosstodon.org and Mike@fosstodon.org , both drawn by Kev, I decided to draw my own in a similar style. The keen-eyed among you will indeed spot a few differences in design. I used Inkscape to draw over a photo of mine, simple vectors…

Friendly reminder to clean your NUC's fan

Intel NUCs make for some great low-entry-barrier low-power-consumption servers and homelabs. I have three NUCs at home, two of which have played a server role. They span several generations: a 5i3, a 7i7 and a 8i5. And they all have one thing in common: sooner or later, their fans clog up with dust, they heat up, they make more noise and perform worse. If you haven't cleaned the fan in a while,…

Optimizing the website's load performance

My old webhosting When I started making websites back in 2010-ish (maybe even earlier than that, I don't remember), I used shared hosting as I did not have the slightest clue about how a server worked, let alone set one up for web hosting. About two-three years ago, I switched to Cloudways , allowing one to host websites on a virtual private server (VPS) and still not require any actual knowledge…

The Case of the Missing Entropy

In computing, entropy is the randomness collected by an operating system or application for use in cryptography or other uses that require random data. ( Source: wikipedia ) Docker, are you still there? It all started when I got myself a new VPS server for serving web content. I have a more-than-capable server at home but I'd rather not use it for "uptime-sensitive" use-cases, the odd crash still…

Invidious

Small acts of resistance are all we need. Together, we make change. Compliance: YouTube Everyone knows YouTube. It contains more than enough content to keep you entertained for a couple of lifetimes. The thing is, it's owned by Google and has enough privacy-invading trackers and ads to follow and pester you during all of these lifetimes. Resistance: Invidious Please consider using Invidious (…

How does a textbook 'Embrace, Extend, Extinguish' operation work?

I recently found out about what happened to the AppGet tool for Windows made by Keivan Beigi . Sadly, a recent blog post is outlining the details around the decision to cease development and shut down the service which provided an open source package manager to Windows. Stories about open source services shutting down are always sad and a blow to the community, but this one in particular is…

Ending #100DaysToOffload

#100DaysToOffload >> 2020-05-25 >> 025/100 Today, I'm ending my participation in the #100DaysToOffload challenge at precisely a quarter of the way. I'm happy to have been part of it as it has given me much. I only had a handful of blog posts when I started my personal website, scattered over a period of multiple months. I didn't write much, I didn't take the time for it and more importantly, I…

A new Projects section

#100DaysToOffload >> 2020-05-23 >> 024/100 I've added a new Projects section to my personal website, the new home for projects I'm either still thinking of doing or actually developing, As these projects will be open-source, so will my preparation for them. The benefit of doing this is that when you look around and see a project you like or have experience with, I would love for you to contact me…

LunaSea: FOSS FTW

#100DaysToOffload >> 2020-05-22 >> 023/100 Out with the old A couple of weeks ago, I finally discovered a FOSS alternative for nzb360, a great app for managing Plex, Radarr, Sonarr, etc. I wish to have kept using nzb360, but unfortunately, the app relies too heavily on Google Services and though I have paid for it, I can no longer use it as my LineageOS phone can't process purchases made on…

SMH

#100DaysToOffload >> 2020-05-21 >> 022/100 SMH mean "shaking my head". You probably already know this, but one of my idiosyncracies is that I just cannot remember the meaning of that acronym, no matter how hard I try.

Battlefield 1 Revival

#100DaysToOffload >> 2020-05-19 >> 021/100 Since it was announced that Battlefield V will stop receiving earlier than expected, the general feeling in the Battlefield community has been to play the older titles in the series. After all, the game is still not fun to play and knowing that will be no brighter future, why bother? I've played Battlefield 1 a few times lately, but I have noticed only…

Mailvelope: PGP for all

#100DaysToOffload >> 2020-05-18 >> 020/100 PGP is a "pretty good" way of encrypting messages and files but gets often criticised for being too cumbersome to work with, which is sadly true. To counter this, certain products and services use PGP internally and provide an easy-to-use interface. Take Protonmail who uses PGP to automatically encrypt emails between protonmail addresses . Handy, but we…

Why we won't have artificial intelligence rivaling human intelligence

#100DaysToOffload >> 2020-05-17 >> 019/100 Someone asked why people are working on artificial intelligence "which would infinitely surpass human capabilities?" Here's my answer. That is not going to happen. We will never be able to produce machine learning surpassing human intelligence (though I would have personally looked forward to it). Consider this: neurons have refractory periods of 1-4 ms.…