<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
     <title>ijver - Blog (EN)</title>
	<link>https://ijver.me/en/</link>
	<description>Recent content in ijver on ijver - Blog</description>
	<generator>Hugo -- gohugo.io</generator>
	<language>en-us</language>
	<lastBuildDate>Mon, 18 Mar 2024 22:00:39 +0100</lastBuildDate>
    
        <atom:link href="https://ijver.me/en/index.xml" rel="self" type="application/rss+xml" />
        

   
	
	<item>
		<title>Awesome Window Manager - Things I Wish I Had Known</title>
		<link>https://ijver.me/en/blog/awesomewm-beginner/</link>
		<pubDate>Wed, 07 Feb 2024 16:05:00 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/awesomewm-beginner/</guid>
		<description>&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/awesome-screenshot.webp&#34;&gt;&lt;img src=&#34;https://ijver.me/images/awesome-screenshot.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;toc&#34;&gt;
Table of contents:
        &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#setting-a-wallpaper&#34;&gt;Setting a wallpaper&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#autostarting-applications&#34;&gt;Autostarting applications&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#application-launcher&#34;&gt;Application launcher&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#power-off-prompt&#34;&gt;Power-off prompt&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#fixing-weird-borders-around-dropdown-menus&#34;&gt;Fixing weird borders around dropdown menus&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#setting-the-size-of-notification-icons&#34;&gt;Setting the size of notification icons&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#battery-status-brightness-volume-level-and-other-widgets&#34;&gt;Battery status, brightness, volume level and other widgets&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#multiple-keyboard-layouts&#34;&gt;Multiple keyboard layouts&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#changing-the-gtk-theme&#34;&gt;Changing the GTK theme&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#function-keys-not-working&#34;&gt;Function keys not working&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#summary&#34;&gt;Summary&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;

   &lt;/div&gt;



&lt;p&gt;I&amp;rsquo;ve been using Linux for a decade and my desktop environment of choice for the majority of this time was &lt;em&gt;XFCE&lt;/em&gt;.
I had tried &lt;em&gt;KDE&lt;/em&gt;, &lt;em&gt;Cinnamon&lt;/em&gt; and &lt;em&gt;Gnome&lt;/em&gt; before but they just didn&amp;rsquo;t speak to me as I like my DE to be simple (&lt;em&gt;Cinnamon&lt;/em&gt; is worth taking a look at, though).
Around 2018, I started using GNU/Linux exclusively and noticed that my setup had been getting more and more minimal until it basically became a tiling window manager but without the tiling functionality.
By that time I had replaced &lt;em&gt;Whisker Menu&lt;/em&gt; (the default application launcher) with &lt;em&gt;rofi&lt;/em&gt;, removed all buttons from the taskbar, added many keyboard shortcuts so that I wouldn&amp;rsquo;t have to take my hands off the keyboard to use the mouse, and switched to mainly command-line interface (CLI) apps.&lt;br&gt;
Two months ago, I decided to finally make the switch to a tiling window manager and, having heard many times that it&amp;rsquo;s one of the most user-friendly ones, my choice fell on &lt;em&gt;AwesomeWM&lt;/em&gt;.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Here, I&amp;rsquo;ll go over the things that I had the most trouble with when switching from a minimal &lt;em&gt;XFCE&lt;/em&gt; setup to &lt;em&gt;Awesome&lt;/em&gt;. Hopefully, this post will prove useful and save you the time you&amp;rsquo;d have to spend looking for answers to these common questions separately.&lt;/p&gt;
&lt;h2 id=&#34;setting-a-wallpaper&#34;&gt;Setting a wallpaper&lt;/h2&gt;
&lt;p&gt;This is one of the first things that I wanted to do and, while probably not at the top of the priority list, a nice wallpaper makes the rest of the setup a bit more pleasant, so let&amp;rsquo;s get it out of the way first.&lt;/p&gt;
&lt;p&gt;The most common way to do this is using &lt;a href=&#34;https://wiki.archlinux.org/title/nitrogen&#34;&gt;&lt;em&gt;nitrogen&lt;/em&gt;&lt;/a&gt;. However, I prefer a different method that doesn&amp;rsquo;t require a separate application for that purpose.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;em&gt;rc.lua&lt;/em&gt; AwesomeWM config file and search for &lt;em&gt;gears.wallpaper.maximized&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Make sure the line is as follows:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;gears.wallpaper.maximized(wallpaper, s, false)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;. This&amp;rsquo;ll make sure that the wallpaper covers the whole screen by zooming in instead of stretching it or putting black bars on the sides.
3. Open &lt;em&gt;theme.lua&lt;/em&gt; and search for &lt;em&gt;theme.wallpaper&lt;/em&gt;. Then select a wallpaper file, for example &lt;em&gt;~/wallpaper.jpg&lt;/em&gt;.
4. If you use &lt;a href=&#34;https://codeberg.org/nsxiv/nsxiv/&#34;&gt;&lt;em&gt;nsxiv&lt;/em&gt;&lt;/a&gt; as an image viewer, put this piece of code into the &lt;em&gt;key-handler&lt;/em&gt; file inside its config folder:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;case &amp;#34;$1&amp;#34; in
&amp;#34;b&amp;#34;)
	while read file; do
	cp &amp;#34;$file&amp;#34; ~/wallpaper.jpg &amp;amp;&amp;amp;
	notify-send -i &amp;#34;/usr/share/icons/Papirus/64x64/apps/hwinfo.svg&amp;#34; &amp;#34;Wallpaper changed.&amp;#34; 
	done	
		;;
esac
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;Choose a wallpaper in &lt;em&gt;nsxiv&lt;/em&gt;, press &lt;em&gt;ctrl+x&lt;/em&gt; and then &lt;em&gt;b&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Reload Awesome (&lt;em&gt;ctrl+super+r&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can also extend the key-handler script by making it reload Awesome automatically. The command for that is &lt;code&gt;echo &#39;awesome.restart()&#39; | awesome-client&lt;/code&gt;. If you don&amp;rsquo;t use &lt;em&gt;nsxiv&lt;/em&gt;, you can implement the same logic into, for example, &lt;em&gt;lf&lt;/em&gt; file manager.&lt;/p&gt;
&lt;h2 id=&#34;autostarting-applications&#34;&gt;Autostarting applications&lt;/h2&gt;
&lt;p&gt;There are at least a few ways of launching applications at system startup with &lt;em&gt;Awesome&lt;/em&gt; but most of them don&amp;rsquo;t prevent the apps from being launched again when the window manager is reloaded. I&amp;rsquo;ve tried several methods and the one that worked for me involves creating an &lt;em&gt;autorun.sh&lt;/em&gt; script and is described in detail &lt;a href=&#34;https://wiki.archlinux.org/title/awesome#Autostart&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of the script:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/bin/sh

run() {
  if ! pgrep -f &amp;#34;$1&amp;#34; ;
  then
    &amp;#34;$@&amp;#34;&amp;amp;
  fi
}

run picom
run blueman-applet
run nm-applet
run redshift-gtk
run xfce4-power-manager
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;By the way, why the &lt;em&gt;hell&lt;/em&gt; do so many wiki guides lack examples?
Take this line as an example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;list each of your autostart commands, followed by ; inside single quotes, followed by ..&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What does that mean?&lt;br&gt;
&lt;code&gt;&#39;app1&#39;; &#39;app2&#39;; &#39;app3&#39;; ..&lt;/code&gt;?&lt;br&gt;
&lt;code&gt;&#39;app1; app2; app3&#39;; ..&lt;/code&gt;&lt;br&gt;
&lt;code&gt;app1&#39;;&#39; app2&#39;;&#39; app3&#39;;&#39; ..&lt;/code&gt;&lt;br&gt;
&lt;code&gt;app1 app2 app3&#39;;&#39; ..&lt;/code&gt;&lt;br&gt;
The last two guesses are ridiculous but it may not be so obvious for someone who hasn&amp;rsquo;t yet had enough exposure to scripts and other pieces of code. I myself don&amp;rsquo;t know whether my first or second guess (or something else entirely) is correct. It would&amp;rsquo;ve been so much easier to just include an example.&lt;/p&gt;
&lt;p&gt;Alright, let&amp;rsquo;s get back on track.&lt;/p&gt;
&lt;p&gt;After creating the script, make it executable with the command &lt;code&gt;chmod +x filename&lt;/code&gt;. Then, add the following line with the appropriate path to &lt;em&gt;rc.lua&lt;/em&gt;:&lt;br&gt;
&lt;code&gt;awful.spawn.with_shell(&amp;quot;/path/to/your/autorun.sh&amp;quot;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Below is a non-exhaustive list of necessary and useful utilities and my app recommendations for each.&lt;/p&gt;
&lt;p&gt;Apps you &lt;strong&gt;should&lt;/strong&gt; autostart:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;window compositor - &lt;em&gt;picom&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;power manager - &lt;em&gt;xfce4-power-manager&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;network manager - &lt;em&gt;nm-applet&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Things you &lt;strong&gt;may want&lt;/strong&gt; to autostart:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bluetooth manager - &lt;em&gt;blueman-applet&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;color temperature adjustment - &lt;em&gt;redshift-gtk&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;keep screen awake - &lt;em&gt;caffeine&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;clipboard manager - &lt;em&gt;xfce4-clipman&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;application-launcher&#34;&gt;Application launcher&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/awesome-app-launcher.webp&#34;&gt;&lt;img src=&#34;https://ijver.me/images/awesome-app-launcher.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Rofi&lt;/em&gt; is an amazingly versatile tool. I use it for selecting file destinations in &lt;em&gt;nsxiv&lt;/em&gt;, confirming deletion, &lt;a href=&#34;https://github.com/Mange/rofi-emoji&#34;&gt;selecting emojis&lt;/a&gt;, as a fuzzy finder and more. I highly recommend that you play around with it and see for yourself how much it can do. But let&amp;rsquo;s get to what I wanted to show you.&lt;/p&gt;
&lt;p&gt;To create an application launcher, create a keyboard shortcut with a combination of your choice (for example, I use &lt;em&gt;Super+n&lt;/em&gt;) for the following command:&lt;br&gt;
&lt;code&gt;rofi -drun-match-fields name -show drun&lt;/code&gt;&lt;br&gt;
Keyboard shortcuts should be inserted into the &lt;em&gt;Key bindings&lt;/em&gt; section of the &lt;em&gt;rc.lua&lt;/em&gt; file. My shortcut looks like this:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;awful.key({ modkey,           }, &amp;#34;n&amp;#34;, 
    function () awful.spawn(&amp;#34;rofi -drun-match-fields name -show drun&amp;#34;) end,
    {description = &amp;#34;open rofi menu&amp;#34;, group = &amp;#34;launcher&amp;#34;}),
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;power-off-prompt&#34;&gt;Power-off prompt&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/awesome-poweroff.webp&#34;&gt;&lt;img src=&#34;https://ijver.me/images/awesome-poweroff.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For this one, we&amp;rsquo;ll also use &lt;em&gt;rofi&lt;/em&gt;. Create a script:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/bin/bash

chosen=$(echo -e &amp;#34;[Cancel]\nShutdown\nLogout\nReboot\nSuspend\nHibernate\nHybrid-sleep\nSuspend-then-hibernate&amp;#34; | rofi -dmenu -i -no-fixed-num-lines -p &amp;#34;What do you want to do?&amp;#34;)

if [[ $chosen = &amp;#34;Shutdown&amp;#34; ]]; then
	systemctl poweroff
elif [[ $chosen = &amp;#34;Logout&amp;#34; ]]; then
	jwm -exit
elif [[ $chosen = &amp;#34;Reboot&amp;#34; ]]; then
	systemctl reboot
elif [[ $chosen = &amp;#34;Suspend&amp;#34; ]]; then
	systemctl suspend
elif [[ $chosen = &amp;#34;Hibernate&amp;#34; ]]; then
	systemctl hibernate
elif [[ $chosen = &amp;#34;Hybrid-sleep&amp;#34; ]]; then
	systemctl hibernate
elif [[ $chosen = &amp;#34;Suspend-then-hibernate&amp;#34; ]]; then
	systemctl suspend-then-hibernate
fi
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Make it executable with the command &lt;code&gt;chmod +x filename&lt;/code&gt;. You may also want to add the directory containing the script (or any other scripts of yours) &lt;a href=&#34;https://phoenixnap.com/kb/linux-add-to-path&#34;&gt;to &lt;em&gt;PATH&lt;/em&gt;&lt;/a&gt; - this&amp;rsquo;ll make it possible to run it like any other command, without having to specify the path to file. Now, all that&amp;rsquo;s left to do is create a keyboard shortcut for the script - follow the example for the application launcher; my shortcut of choice is &lt;em&gt;Super+Shift+`&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;fixing-weird-borders-around-dropdown-menus&#34;&gt;Fixing weird borders around dropdown menus&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/border-picom.webp&#34;&gt;&lt;img src=&#34;https://ijver.me/images/border-picom.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The issue shown above, a strangely positioned border, usually around dropdown menus, is caused by &lt;em&gt;picom&lt;/em&gt;, the window compositor, and can be easily fixed.&lt;br&gt;
Open &lt;em&gt;picom.conf&lt;/em&gt; with a text editor, find the &lt;em&gt;shadow-exclude&lt;/em&gt; section and add applications which manifest this bug as follows:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  &amp;#34;class_g = &amp;#39;LibreWolf&amp;#39; &amp;amp;&amp;amp; argb&amp;#34;,
  &amp;#34;class_g = &amp;#39;firefox&amp;#39; &amp;amp;&amp;amp; argb&amp;#34;,
  &amp;#34;class_g = &amp;#39;org.gnome.Maps&amp;#39; &amp;amp;&amp;amp; argb&amp;#34;,
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You probably noticed that &lt;em&gt;org.gnome.Maps&lt;/em&gt; doesn&amp;rsquo;t look like an app name. That&amp;rsquo;s because it isn&amp;rsquo;t - it&amp;rsquo;s a window class name.&lt;br&gt;
To find this value, run &lt;code&gt;xprop | grep WM_CLASS&lt;/code&gt; in your terminal and click on an open application window. This will return the &lt;em&gt;WM_CLASS&lt;/em&gt; string of that app. Also, pay attention to capital letters; &lt;em&gt;Librewolf&lt;/em&gt; won&amp;rsquo;t work but &lt;em&gt;LibreWolf&lt;/em&gt; will; you don&amp;rsquo;t want to know how long it took me to figure this out.&lt;/p&gt;
&lt;h2 id=&#34;setting-the-size-of-notification-icons&#34;&gt;Setting the size of notification icons&lt;/h2&gt;
&lt;p&gt;By default, if you were to receive a notification with the icon sized, let&amp;rsquo;s say, 1000x1000, it would take up most of your screen.&lt;br&gt;
To limit the size of notification icons, open &lt;em&gt;rc.lua&lt;/em&gt; and change the value of &lt;em&gt;beautiful.notification_icon_size&lt;/em&gt;. I&amp;rsquo;ve set mine to 70 and it looks good.&lt;/p&gt;
&lt;h2 id=&#34;battery-status-brightness-volume-level-and-other-widgets&#34;&gt;Battery status, brightness, volume level and other widgets&lt;/h2&gt;
&lt;p&gt;For these, I use &lt;a href=&#34;https://github.com/streetturtle/awesome-wm-widgets&#34;&gt;AwesomeWM Widgets&lt;/a&gt;. For volume, I recommend the &lt;em&gt;pactl-widget&lt;/em&gt; instead of &lt;em&gt;volume-widget&lt;/em&gt;, as the latter only supports &lt;em&gt;ALSA&lt;/em&gt;. There are many more widgets available there, so help yourself.&lt;/p&gt;
&lt;h2 id=&#34;multiple-keyboard-layouts&#34;&gt;Multiple keyboard layouts&lt;/h2&gt;
&lt;p&gt;If you make use of more than one keyboard layout, create a script with a command like this:&lt;br&gt;
&lt;code&gt;setxkbmap -layout &amp;quot;pl,ua&amp;quot; -option &amp;quot;grp:_shifts_toggle&amp;quot;&lt;/code&gt;&lt;br&gt;
and add it to the autorun script we created earlier.
In my case, I can switch between Polish and Ukrainian by pressing both Shift keys at the same time.&lt;br&gt;
If you want to use a different keyboard shortcut, &lt;a href=&#34;https://gist.github.com/jatcwang/ae3b7019f219b8cdc6798329108c9aee#file-gistfile1-txt-L692&#34;&gt;here&lt;/a&gt; is a list of possible combinations.&lt;/p&gt;
&lt;h2 id=&#34;changing-the-gtk-theme&#34;&gt;Changing the GTK theme&lt;/h2&gt;
&lt;p&gt;The easiest way to do this is by using the &lt;em&gt;lxappearance-gtk3&lt;/em&gt; app. It works for GTK2 and GTK3 apps. It also enables you to change the icon and cursor themes. However, it doesn&amp;rsquo;t work for GTK4 apps. &lt;a href=&#34;https://wiki.archlinux.org/title/GTK#GTK_3_and_GTK4&#34;&gt;Here&amp;rsquo;s&lt;/a&gt; the Arch Wiki guide on GTK4 theming.&lt;br&gt;
Personally, I use so few GTK4 apps that I just edit their &lt;em&gt;.desktop&lt;/em&gt; files. Here&amp;rsquo;s an example of an &lt;em&gt;Exec&lt;/em&gt; line inside the &lt;em&gt;.desktop&lt;/em&gt; file for &lt;em&gt;gnome-maps&lt;/em&gt; that sets the theme to &lt;em&gt;Adwaita Dark&lt;/em&gt;:&lt;br&gt;
&lt;code&gt;Exec=env GTK_THEME=Adwaita:dark gnome-maps %U&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;function-keys-not-working&#34;&gt;Function keys not working&lt;/h2&gt;
&lt;p&gt;By default, function keys are not defined in &lt;em&gt;Awesome&lt;/em&gt;. You have to set them up like any other keyboard shortcuts in &lt;em&gt;rc.lua&lt;/em&gt;.&lt;br&gt;
Firstly, you have to find out the &lt;strong&gt;keycode&lt;/strong&gt; of a key combination you want to use, for example &lt;em&gt;Fn+F3&lt;/em&gt; for volume up. To do this, use the command-line tool &lt;em&gt;xev&lt;/em&gt;. Run it and press the key combo to get the keycode. In my case, it&amp;rsquo;s 36 but it probably isn&amp;rsquo;t the same across all keyboards.&lt;br&gt;
Now, you just have to add your keyboard shortcut to &lt;em&gt;rc.lua&lt;/em&gt; in the &lt;em&gt;Key bindings&lt;/em&gt; section. Take a look at these examples to get a better idea of what it should look like:&lt;/p&gt;
&lt;p&gt;Volume up:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;awful.key(
    { }, &amp;#34;#123&amp;#34;,
    function () awful.spawn(&amp;#34;pamixer -i 5&amp;#34;, false) end,
    {description = &amp;#34;increase volume&amp;#34;, group = &amp;#34;system&amp;#34;}),
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Mute audio (this uses the &lt;a href=&#34;https://github.com/streetturtle/awesome-wm-widgets/tree/master/volume-widget&#34;&gt;volume widget&lt;/a&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;awful.key(
    { }, &amp;#34;#121&amp;#34;,
    function () volume_widget.toggle() end,
    {description = &amp;#34;mute volume&amp;#34;, group = &amp;#34;system&amp;#34;}),
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Increase screen brightness (this uses the &lt;a href=&#34;https://github.com/streetturtle/awesome-wm-widgets/tree/master/brightness-widget&#34;&gt;brightness widget&lt;/a&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;awful.key({ }, &amp;#34;#233&amp;#34;, function () brightness_widget:inc() end, 
{description = &amp;#34;increase brightness&amp;#34;, group = &amp;#34;custom&amp;#34;}),
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;Having read this tutorial, you should now have a simple but functional &lt;em&gt;AwesomeWM&lt;/em&gt; setup.
Still, there is a myriad of possibilities with this window manager, so it&amp;rsquo;s likely that you&amp;rsquo;ll run into something you don&amp;rsquo;t know how to do.
Fortunately, many configuration options can be inferred just from looking at the configuration files, which are very legible, or reading the &lt;a href=&#34;https://awesomewm.org/doc/api/index.html&#34;&gt;documentation&lt;/a&gt;; the Arch Wiki is also your best friend.&lt;/p&gt;
&lt;p&gt;P.S. You might&amp;rsquo;ve noticed that in this article I&amp;rsquo;ve &lt;em&gt;italicized&lt;/em&gt; application and file names. I think this makes the text easier to read but I&amp;rsquo;m curious about your opinions so feel free to let me know.&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>The Site Is Now Multilingual (also, update the RSS link)</title>
		<link>https://ijver.me/en/blog/multilingual/</link>
		<pubDate>Sun, 24 Dec 2023 06:25:00 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/multilingual/</guid>
		<description>&lt;p&gt;After a bit of deliberation (and even more procrastination), I&amp;rsquo;ve decided to make ijver.me multilingual and polish the look and feel a bit.&lt;/p&gt;
&lt;p&gt;The webpage is still a bit rough around the edges but I&amp;rsquo;m doing my best to make it more functional. I&amp;rsquo;m also working on a few new articles, both in English and Polish, and will post them as soon as I can. I&amp;rsquo;m also in the process of translating already posted English articles into Polish.&lt;/p&gt;
&lt;p&gt;As a result of introducing a second language, &lt;strong&gt;there are two RSS feeds now&lt;/strong&gt;: &lt;a href=&#34;https://ijver.me/en/index.xml&#34;&gt;English&lt;/a&gt; and &lt;a href=&#34;https://ijver.me/pl/index.xml&#34;&gt;Polish&lt;/a&gt;. Please, update to one (or both) of these links because the feed without the language subdirectory (&lt;em&gt;en&lt;/em&gt; or &lt;em&gt;pl&lt;/em&gt;) in the URL &lt;strong&gt;will soon stop working&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m looking forward to sharing new articles with you. Merry Christmas and a very happy New Year! 🎅&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>Film Photography Makes Memories Meaningful</title>
		<link>https://ijver.me/en/blog/film-photography-makes-memories-meaningful/</link>
		<pubDate>Sat, 08 Apr 2023 06:54:00 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/film-photography-makes-memories-meaningful/</guid>
		<description>&lt;p&gt;Film photography is seeing a resurgence in popularity. The prices of cameras and film are going up, so is the number of people interested in the hobby.
With the barrier to entry for digital photography being at an all time low, or rather there being no barriers at all as most people have smartphones with very good cameras, why are they returning to this seemingly ancient method of capturing memories?&lt;br&gt;
Progress in technology is about making everything more effortless, easier and higher quality. When it comes to photography, however, it seems like many people want the exact opposite.&lt;/p&gt;
&lt;h2 id=&#34;you-cant-spray-and-pray&#34;&gt;You can&amp;rsquo;t spray and pray&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve had the privilige of shooting some of the best digital cameras on the market and the results, from the technical side, are incredible - the photos definitely look great. But they don&amp;rsquo;t &lt;em&gt;feel&lt;/em&gt; that way.&lt;/p&gt;
&lt;p&gt;The process of taking a photo with a film camera is totally different from the digital equivalent.
You only have 24 or 36 exposures per roll with 35mm film and it&amp;rsquo;s impossible to shoot rapid-fire.
In comparison, many digital cameras allow taking photos at 10 frames per second, and the top shelf ones can do &lt;em&gt;over 30&lt;/em&gt; and have virtually unlimited storage.&lt;br&gt;
I have many photos taken with digital cameras on my hard drive that I still haven&amp;rsquo;t gone through; I used to shoot in bursts, so instead of having one photo per scene, I have dozens and I just can&amp;rsquo;t force myself to look through them all and pick the best ones.&lt;br&gt;
The more thought and time you put into taking a photo, the more it will likely mean to you.&lt;/p&gt;
&lt;h2 id=&#34;the-waiting-game&#34;&gt;The waiting game&lt;/h2&gt;
&lt;p&gt;With film, you obviously can&amp;rsquo;t see the pictures right away. This can be a good and a bad thing. The downside is that after taking a few photos you can&amp;rsquo;t wait to see, you may be tempted to finish the roll as quickly as possbile, putting less thought into the subsequent shots and ending up wasting half of it.&lt;br&gt;
But if you resist that urge (or even if you don&amp;rsquo;t, frankly), seeing the negatives, scans and prints of your first roll will be a magical experience. The smile just wouldn&amp;rsquo;t come off my face for hours after I got my photos back from the lab.&lt;/p&gt;
&lt;h2 id=&#34;grain&#34;&gt;Grain&lt;/h2&gt;
&lt;p&gt;There are many opinions about what makes film grain look pleasant and digital grain ugly. Some say the former is &lt;em&gt;texture&lt;/em&gt; while the latter is just noise. Others think it&amp;rsquo;s about the differences in arrangement between grains and pixels. Regardless of who is right, film grain is something so desirable that the majority of photo editing software have a feature to add it artificially.&lt;/p&gt;
&lt;p&gt;With film there&amp;rsquo;s a huge variety in this aspect. Some brands are known for more pronounced grain, others are barely distinguishable from digital photos. There are obviously lots of options in between. The development process and choice of chemicals used also affect how grainy the end result will be. It&amp;rsquo;s a lot of fun to test out different film stocks and decide what grain structure you like best and what suits different kinds of photography.&lt;/p&gt;
&lt;h2 id=&#34;you-dont-need-an-old-looking-camera&#34;&gt;You don&amp;rsquo;t need an old-looking camera&lt;/h2&gt;
&lt;p&gt;They look cool, are built to last and simply fun to use. If you want one, get one, but you can get something a lot more modern and capable for much cheaper.&lt;br&gt;
The price hikes on analog gear aren&amp;rsquo;t as ridiculous when you look at cameras from the  90&amp;rsquo;s because, well, hipsters don&amp;rsquo;t want something that looks exactly like a modern DSLR. The looks aren&amp;rsquo;t the only similarity; they have most of the features you&amp;rsquo;d expect from a modern camera - auto focus, exposure adjustment, shutter and aperture priority, and the list goes on. They also have automatic film winding, frame counter and film ISO detection thanks to &lt;a href=&#34;https://infogalactic.com/info/DX_encoding&#34;&gt;DX codes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cameras like the Canon 500N, Nikon F60 and the like are great pieces of kit and can be found for around 50€.
If you want something more compact, you can look into the Olympus Trip series. I&amp;rsquo;m no expert when it comes to photo gear but there&amp;rsquo;s plenty of information online. Just don&amp;rsquo;t get caught up in the vintage look trap.&lt;br&gt;
Also, don&amp;rsquo;t take photos of only old and dilapidated things. I can&amp;rsquo;t resist the urge of photographing cemetaries with B&amp;amp;W film but that&amp;rsquo;s not the only thing I do.&lt;/p&gt;
&lt;h2 id=&#34;how-it-started-for-me&#34;&gt;How it started for me&lt;/h2&gt;
&lt;p&gt;I wanted to get my hands on an analog camera for at least a few years but only recently did I decide to stop finding new excuses to put it off further and bought a &lt;em&gt;Praktica MTL 5B&lt;/em&gt; - an East German SLR from the late 80s.&lt;br&gt;
At that point I had already ditched my smartphone (in the near future I might reconsider that decision, the sole reason being the need for secure messaging on the go; that&amp;rsquo;s a topic for a different post, perhaps) but I still wanted to have the ability to take photos, so it was the perfect time to dive in.
I had no previous experience shooting film but was lucky enough to have been able to shoot professional digital cameras in the past so I was already familiar with ISO, aperture and shutter speed.&lt;br&gt;
Still, I didn&amp;rsquo;t know whether the camera was fully working and I didn&amp;rsquo;t trust myself to get the exposure right, so for the first roll I picked up the cheapest stuff I could get my hands on - &lt;em&gt;Fomapan 400&lt;/em&gt;, a classic B&amp;amp;W film.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/30460.webp&#34;&gt;&lt;img alt=&#34;Two people walking in a tunnel&#34; src=&#34;https://ijver.me/images/analog-photos/30460.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/14179.webp&#34;&gt;&lt;img alt=&#34;Lightbulbs&#34; src=&#34;https://ijver.me/images/analog-photos/14179.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/11744.webp&#34;&gt;&lt;img alt=&#34;Church at a graveyard&#34; src=&#34;https://ijver.me/images/analog-photos/11744.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/14715.webp&#34;&gt;&lt;img alt=&#34;Gravestones&#34; src=&#34;https://ijver.me/images/analog-photos/14715.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fomapan 400&lt;/em&gt; is quite a controversial film. It&amp;rsquo;s very grainy and has a distinct character to it. But it only costs around 6€ (if you buy it from someone who gets bulk rolls and loads the film into 35mm casettes, you can get it for as low as 4€ per 36 exposures). It&amp;rsquo;s also sold under different names, such as &lt;em&gt;Arista EDU&lt;/em&gt;. If you&amp;rsquo;re just getting your feet wet, do as I did and start with the cheapest film you can find.&lt;br&gt;
I shot it at box speed but it seems like the optimal ISO for this film is 200 (or my light meter is inaccurate); that&amp;rsquo;s why most of my photos came out underexposed. Nevertheless, the photos that were correctly exposed came out really well.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
Alright, at that point I knew the camera was working fine and wanted to shoot some color film which, as opposed to monochromatic film, is only manufactured by a few companies, the two most popular being Kodak and Fujifilm.&lt;br&gt;
The cheapest color films on the market are &lt;em&gt;Fuji Superia X-Tra 400&lt;/em&gt; and &lt;em&gt;Kodak Ultramax 400&lt;/em&gt;; they both cost around 13€. I&amp;rsquo;m not a big fan of the golden Kodak look, so I went with Fuji.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/24257.webp&#34;&gt;&lt;img alt=&#34;Colorful bike and trams in the background&#34; src=&#34;https://ijver.me/images/analog-photos/24257.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/13628.webp&#34;&gt;&lt;img alt=&#34;Pigeon eating cake&#34; src=&#34;https://ijver.me/images/analog-photos/13628.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/26877.webp&#34;&gt;&lt;img alt=&#34;Yellow train driving onto a platform&#34; src=&#34;https://ijver.me/images/analog-photos/26877.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/15926.webp&#34;&gt;&lt;img alt=&#34;Buskers&#34; src=&#34;https://ijver.me/images/analog-photos/15926.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/18320.webp&#34;&gt;&lt;img alt=&#34;Semaphore&#34; src=&#34;https://ijver.me/images/analog-photos/18320.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/16396.webp&#34;&gt;&lt;img alt=&#34;Walking man and colorful background&#34; src=&#34;https://ijver.me/images/analog-photos/16396.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/21335.webp&#34;&gt;&lt;img alt=&#34;People looking at clothes at a flea market&#34; src=&#34;https://ijver.me/images/analog-photos/21335.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/24170.webp&#34;&gt;&lt;img alt=&#34;Orange three-wheeled car&#34; src=&#34;https://ijver.me/images/analog-photos/24170.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/28229.webp&#34;&gt;&lt;img alt=&#34;Macro shot of leaves&#34; src=&#34;https://ijver.me/images/analog-photos/28229.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/analog-photos/29143.webp&#34;&gt;&lt;img alt=&#34;Car with warning triangle inside&#34; src=&#34;https://ijver.me/images/analog-photos/29143.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This time all photos came out alright. I&amp;rsquo;m still amazed by the vibrancy of colors, even though most of the roll was shot on overcast days.&lt;br&gt;
I purposefully overexposed the entire roll by one &lt;a href=&#34;https://www.picturecorrect.com/stops-in-photography-explained/&#34;&gt;stop&lt;/a&gt;. Fuji films are known for having a green tint in the shadows when underexposed (or when a lazy lab scans it on a Kodak preset) and I don&amp;rsquo;t fully trust the light meter in a 40-year-old camera. Luckily, negative film can usually take one or two stops of overexposure and around one stop of underexposure but &lt;strong&gt;it&amp;rsquo;s always better to slightly overexpose than underexpose&lt;/strong&gt; - in this case it&amp;rsquo;s the opposite of digital photography. Some shots were blurry but that&amp;rsquo;s my fault; I either shot at a low shutter speed and moved my hand, opened up the aperture too much, or my focus was slightly off the mark.&lt;/p&gt;
&lt;p&gt;All in all, I think my results were pretty good considering these are the first two rolls I&amp;rsquo;ve ever shot. Anyways, technical perfection is hardly the most important thing in amateur photography.&lt;/p&gt;
&lt;h2 id=&#34;down-the-rabbit-hole&#34;&gt;Down the rabbit hole&lt;/h2&gt;
&lt;p&gt;With analog photography there&amp;rsquo;s never an end to new things to learn. You can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;develop film yourself&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;experiment with alternative development processes, like &lt;a href=&#34;https://infogalactic.com/info/Caffenol&#34;&gt;caffenol&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;scan your own negatives&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;make darkroom prints&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;shoot positive (slide) film&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;photograph at night (you&amp;rsquo;ll need to take &lt;a href=&#34;https://infogalactic.com/info/Reciprocity_(photography)#Reciprocity_failure&#34;&gt;reciprocity failure&lt;/a&gt; into account)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;move on from 35mm to medium or large format&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fun fact: digital full frame sensors are 35mm in size only because that was (and is) the most popular film format.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And these are only a few examples.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll probably stick to comfy 35mm and having color film developed by a lab but I might try developing B&amp;amp;W rolls myself in the near future.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;
Film photography can be as easy or as difficult, as cheap or as expensive as you want it to be.
If you&amp;rsquo;re really unsure, you can always buy a disposable camera (Kodak, Fujifilm and Ilford make them and there are probably more options I don&amp;rsquo;t know about) for 15 bucks to see if you like it.
Just keep in mind that photo quality is gonna be &lt;em&gt;meh&lt;/em&gt; and don&amp;rsquo;t make buying these a habit for the environment&amp;rsquo;s sake.&lt;br&gt;
Go out, shoot film, and remember that technical perfection doesn&amp;rsquo;t matter as much as simply capturing memories and enjoying the hobby (unless you want it to).&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>XMPP Explained - The Best Instant Messaging Protocol</title>
		<link>https://ijver.me/en/blog/xmpp-explained/</link>
		<pubDate>Wed, 01 Feb 2023 14:22:20 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/xmpp-explained/</guid>
		<description>&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/networktypes.webp&#34;&gt;&lt;img alt=&#34;Graphical visualization of centralized, federated, and peer-to-peer networks&#34; src=&#34;https://ijver.me/images/networktypes.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;toc&#34;&gt;
Table of contents:
        &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#what-is-xmpp&#34;&gt;What is XMPP&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#encryption-options&#34;&gt;Encryption options&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#choosing-software&#34;&gt;Choosing software&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#choosing-a-server&#34;&gt;Choosing a server&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#creating-an-account&#34;&gt;Creating an account&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#summary&#34;&gt;Summary&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;

   &lt;/div&gt;



&lt;p&gt;If you&amp;rsquo;ve ever tried to find a private and secure option for instant messaging, you likely noticed that IM comes in three main flavors: &lt;strong&gt;centralized, federated, and peer-to-peer (P2P).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;centralized&lt;/strong&gt; model (Signal), while convenient for users, ought to be avoided whenever possible as you have no control over what software runs on the servers and are making yourself dependent on one entity. When the server goes down, you can&amp;rsquo;t use the service. This was demonstrated a few years ago when Elon Musk tweeted about Signal and because of the enormous number of new users, it was basically unusable for over a week.&lt;br&gt;
&lt;strong&gt;P2P&lt;/strong&gt; solutions (Briar), ideally over Tor, are probably the most secure but, as there are no servers, both sender and recipient need to be online at the same time for a message to be sent which is less than ideal for everyday use.&lt;br&gt;
&lt;strong&gt;Federated&lt;/strong&gt; options, such as XMPP, seem to be the most reasonable choice for instant messaging as they don&amp;rsquo;t require all parties to be connected to the Internet simultaneously while remaining resilient to attacks and mass surveillance - if one server goes down, you can simply switch to a different one; there&amp;rsquo;s no single entity to subpoena. You can also host your own server.&lt;/p&gt;
&lt;h2 id=&#34;what-is-xmpp&#34;&gt;What is XMPP&lt;/h2&gt;
&lt;p&gt;XMPP (&lt;em&gt;Extensible Messaging and Presence Protocol&lt;/em&gt;), formerly known as Jabber, is a communications protocol which utilizes XML. It has many applications but is most commonly used for instant messaging.
It&amp;rsquo;s federated, meaning it uses a client-server architecture but there&amp;rsquo;s no one central server; users of different servers can interact with one another - kind of like e-mail.&lt;br&gt;
To get through to someone on the XMPP network, one needs to know their &lt;strong&gt;JID&lt;/strong&gt; (Jabber ID). JIDs are structured the same way e-mail addresses are, comprising of a username, an at sign, and the domain name of the server on which the user&amp;rsquo;s account resides, for example
&lt;code&gt;username@example.com&lt;/code&gt; .&lt;br&gt;
&lt;strong&gt;Messages sent over the XMPP network are not encrypted by default - make sure to enable some kind of encryption!&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;encryption-options&#34;&gt;Encryption options&lt;/h2&gt;
&lt;p&gt;XMPP is extensible and hence there are a number of encryption methods available. Some clients, for example Gajim, require you to install extensions for these while other ones might have them preinstalled.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OMEMO&lt;/strong&gt; - probably the best option for most purposes. It&amp;rsquo;s based on the Signal Protocol and provides multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients. Read more &lt;a href=&#34;https://xmpp.org/extensions/xep-0384.xml&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OpenPGP&lt;/strong&gt; - the good old PGP encryption. You can add a public key to your account to make it easy for people to find it. You don&amp;rsquo;t have to encrypt messages yourself - it happens automatically. When you receive an encrypted message, you&amp;rsquo;ll be prompted for your private key&amp;rsquo;s password to decrypt it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;OTR&lt;/strong&gt; - this extension has been made obsolete in favor of OMEMO. Don&amp;rsquo;t use it.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;choosing-software&#34;&gt;Choosing software&lt;/h2&gt;
&lt;p&gt;The choice of client and server software, especially the former, can be quite overwhelming - there are &lt;em&gt;lots&lt;/em&gt; of options. Here are some recommendations to make it easier.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Client:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt; - &lt;a href=&#34;https://gajim.org/&#34;&gt;Gajim&lt;/a&gt;, &lt;a href=&#34;https://dino.im/&#34;&gt;Dino&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;macOS&lt;/strong&gt; - &lt;a href=&#34;https://monal.im/&#34;&gt;Monal&lt;/a&gt;, &lt;a href=&#34;https://gajim.org/&#34;&gt;Gajim&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt; - &lt;a href=&#34;https://gajim.org/&#34;&gt;Gajim&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Android&lt;/strong&gt; - &lt;a href=&#34;https://conversations.im/&#34;&gt;Conversations&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;iOS&lt;/strong&gt; - &lt;a href=&#34;https://chatsecure.org/&#34;&gt;ChatSecure&lt;/a&gt;, &lt;a href=&#34;https://monal.im/&#34;&gt;Monal&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Server:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://prosody.im/&#34;&gt;Prosody&lt;/a&gt; - lightweight; allows you to run an XMPP server on Tor or I2P&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://www.ejabberd.im/&#34;&gt;ejabberd&lt;/a&gt; - very feature-rich but heavy on resources&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;choosing-a-server&#34;&gt;Choosing a server&lt;/h2&gt;
&lt;p&gt;If you don&amp;rsquo;t host your own server, you&amp;rsquo;ll have to choose one of the public ones.
The most popular server is &lt;em&gt;jabber.org&lt;/em&gt; but I discourage you from using it. Why? Take a look at the Matrix protocol. In theory it&amp;rsquo;s federated but because almost everyone uses the &lt;em&gt;matrix.org&lt;/em&gt; server, the network is basically centralized. &lt;strong&gt;For a federated network to be healthy, users should be spread out among many servers.&lt;/strong&gt;&lt;br&gt;
Another reason why I&amp;rsquo;m not recommending Matrix is because the server software is a resource hog so it&amp;rsquo;s more expensive to self-host.&lt;br&gt;
So, what server should you use? If you have a friend who has an XMPP server, use it. If not, check out this non-exhaustive &lt;a href=&#34;https://list.jabber.at/&#34;&gt;list of public servers&lt;/a&gt;. It&amp;rsquo;s probably best to choose one which is geographically close to you. You can also use servers on the Tor Network or I2P.&lt;br&gt;
&lt;strong&gt;Make sure the server of your choice passes this &lt;a href=&#34;https://compliance.conversations.im/&#34;&gt;compliance test&lt;/a&gt;!&lt;/strong&gt; The site also shows a few randomly chosen compliant servers every time you reload the page - this might actually be a better way of choosing a server than the list I linked to.&lt;/p&gt;
&lt;h2 id=&#34;creating-an-account&#34;&gt;Creating an account&lt;/h2&gt;
&lt;p&gt;Most public servers allow registration through a client app. You simply provide the domain name of a server, username, and password; you may also be asked to fill in a captcha. This is called &lt;a href=&#34;https://xmpp.org/extensions/xep-0077.html&#34;&gt;in-band registration&lt;/a&gt;. Some servers also allow registration through their website.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;Having read this post, you should now be familiar with the basics of XMPP - what it is, how it roughly works, what encryption methods are available, what software to use, and how to create an account.&lt;br&gt;
Of course, making your family switch to it is a challenge (if you have any success with it, let me know) but there&amp;rsquo;s no reason not to try getting your tech-savvy friends interested in it. Send them this article - it&amp;rsquo;s literally a 5 minute read - and hope for the best. Insisting &lt;a href=&#34;https://wrongthink.link/posts/converting-people-not-helping-adoption/&#34;&gt;won&amp;rsquo;t work&lt;/a&gt;.&lt;br&gt;
Fun fact: WhatsApp is based on XMPP but their implementation of it is absolutely proprietary and owned by FBIBook so don&amp;rsquo;t use it. Still, it speaks volumes in terms of how good XMPP is. And it technically makes it the most popular IM protocol in the world.&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>bm - A Simple Bookmarking Script</title>
		<link>https://ijver.me/en/blog/simple-bookmarking-script/</link>
		<pubDate>Tue, 24 Jan 2023 06:40:00 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/simple-bookmarking-script/</guid>
		<description>&lt;p&gt;I&amp;rsquo;m sick and tired of bookmarks in browsers.&lt;br&gt;
Synchronizing them is a pain, especially if you use several different browsers, or even if you use the same browser on a few devices but are privacy-conscious and don&amp;rsquo;t want to use something like Firefox Sync or, God forbid, a Goolag account.&lt;br&gt;
To add insult to injury, Tor Browser can sometimes delete bookmarks after an update - that was the final straw which motivated me to write this script.
It&amp;rsquo;s not the most elegant but gets the job done and can be easily improved thanks to its simplicity. You can find it &lt;a href=&#34;https://github.com/ijverr/bm&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;installing-the-script&#34;&gt;Installing the script&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Make sure you have these programs installed: &lt;em&gt;fzf, xclip, xdg-utils, papirus-icon-theme.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open the &lt;em&gt;bm&lt;/em&gt; file in a text editor and replace &lt;code&gt;/home/user/Documents/bookmarks/&lt;/code&gt; with the full path to your bookmarks folder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you don&amp;rsquo;t have the Papirus icon theme installed, you can replace &lt;code&gt;/usr/share/icons/Papirus/64x64/apps/xclipboard.svg&lt;/code&gt; with your desired icon for notifications.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Move the edited &lt;em&gt;bm&lt;/em&gt; file into a PATH folder.&lt;br&gt;
To find such folders, run &lt;code&gt;echo $PATH&lt;/code&gt; in a terminal. You can also create a folder for scripts and add it to PATH.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;adding-bookmarks&#34;&gt;Adding bookmarks&lt;/h2&gt;
&lt;p&gt;This is an example directory tree of a bookmarks folder:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;~/Documents/bookmarks/
├── art
├── cooking
├── electronics
├── fitness
├── linux
├── misc
├── self-hosted
└── text_editing
    ├── groff
    ├── latex
    └── vim
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To add a bookmark, simply create a text file in the category of your choice and paste the website&amp;rsquo;s URL address into the first line of the file. The name of the file will be the bookmark&amp;rsquo;s title.&lt;/p&gt;
&lt;h2 id=&#34;opening-bookmarks&#34;&gt;Opening bookmarks&lt;/h2&gt;
&lt;p&gt;Open the terminal and execute &lt;code&gt;bm&lt;/code&gt;. Now you can search for a category or specific bookmark. Press enter to open the link.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;em&gt;fzf&lt;/em&gt;, you don&amp;rsquo;t have to type in the exact words.&lt;br&gt;
For example, if you want to find bookmarks in the &amp;ldquo;linux&amp;rdquo; category containing the word &amp;ldquo;server&amp;rdquo;, you can type in &amp;ldquo;linserv&amp;rdquo; and you&amp;rsquo;ll likely get decent results.&lt;/p&gt;
&lt;p&gt;The script also detects .onion links. When you want to open such a link, it gets copied to clipboard and a notfication is shown.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;This post illustrates that you don&amp;rsquo;t have to be a programmer to write a basic shell script - you just need to be pissed off enough.&lt;br&gt;
I use &lt;a href=&#34;https://syncthing.net/&#34;&gt;Syncthing&lt;/a&gt; to keep my bookmarks folder synced on all devices.&lt;br&gt;
&lt;em&gt;bm&lt;/em&gt; is still a work-in-progress.
I might add detection of i2p links in the future, and maybe a second script for creating bookmarks so you don&amp;rsquo;t have to create text files with links manually. If you have ideas on how to improve it, email me or open an issue/pull request on GitHub.&lt;br&gt;
If you&amp;rsquo;re looking for something more advanced, check out &lt;a href=&#34;https://github.com/sissbruecker/linkding&#34;&gt;Linkding&lt;/a&gt;. I was considering it myself but couldn&amp;rsquo;t justify hosting a web service to sync bookmarks between just two compters.&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>RSS - The Best Way To Improve Your Internet Experience</title>
		<link>https://ijver.me/en/blog/use-rss/</link>
		<pubDate>Mon, 16 Jan 2023 13:02:35 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/use-rss/</guid>
		<description>&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/rss.webp&#34;&gt;&lt;img alt=&#34;RSS Logo&#34; src=&#34;https://ijver.me/images/rss.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;toc&#34;&gt;
Table of contents:
        &lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#what-is-rss&#34;&gt;What is RSS?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#choosing-an-rss-reader&#34;&gt;Choosing an RSS reader&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#finding-rss-feeds&#34;&gt;Finding RSS feeds&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#what-if-the-feed-only-provides-short-previews&#34;&gt;What if the feed only provides short previews?&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#summary&#34;&gt;Summary&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;

   &lt;/div&gt;



&lt;p&gt;&lt;em&gt;How am I going to keep track of so many sites&lt;/em&gt;?
Anyone trying to move away from centralized platforms or big tech news agregators has likely asked themselves this very question.
And it&amp;rsquo;s a very valid complaint. Fortunately, the solution has already been in existence for &lt;em&gt;over 20 years&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;what-is-rss&#34;&gt;What is RSS?&lt;/h2&gt;
&lt;p&gt;RSS stands for &lt;em&gt;Really Simple Syndication&lt;/em&gt;. It makes the website&amp;rsquo;s content available to other sites or applications in the form of a &lt;em&gt;feed&lt;/em&gt; that uses a standardized format.&lt;br&gt;
The user can aggregate multiple feeds in one place by using an &lt;em&gt;RSS reader&lt;/em&gt; which checks for updates from feeds and allows you to categorize and tag them.&lt;br&gt;
If that didn&amp;rsquo;t click for you, think of it this way: &lt;strong&gt;apps for podcasts are primitive RSS readers and podcasts you subscribe to are RSS feeds.&lt;/strong&gt; This is not merely an example - that&amp;rsquo;s &lt;em&gt;literally&lt;/em&gt; how podcasts work.&lt;/p&gt;
&lt;p&gt;Fully fledged RSS readers, however, aren&amp;rsquo;t limited to podcasts.
You can subscribe to just about anything: blogs, forums, comment sections, YouTube videos, you name it.
Many readers also provide options for filtering content based on different properties, for example you can choose not to fetch articles containing a certain word in the title.
Automatically modifying content is also a common feature: want to make Twitter links point to &lt;a href=&#34;https://nitter.net&#34;&gt;nitter&lt;/a&gt;, a lightweight and libre front-end, instead? No problem!&lt;/p&gt;
&lt;h2 id=&#34;choosing-an-rss-reader&#34;&gt;Choosing an RSS reader&lt;/h2&gt;
&lt;p&gt;When it comes to RSS readers, you have two main choices: only have an app on your device, or have the reader on a server and access it via a website (or an application configured to communicate with the server).&lt;br&gt;
The first option is fine if you only want to use the reader on one device. But if you want to access the content on multiple devices, the second one is the way to go as you don&amp;rsquo;t have to worry about synchronizing feeds between devices. You can also pay someone else to host the reader for you. For example, you can self-host Miniflux, but you can also have the developer &lt;a href=&#34;https://miniflux.app/hosting.html&#34;&gt;host it for you&lt;/a&gt; as a paid option.&lt;/p&gt;
&lt;p&gt;When it comes to &lt;strong&gt;server-side&lt;/strong&gt; software, I recommend &lt;a href=&#34;https://miniflux.app/&#34;&gt;Miniflux&lt;/a&gt;. You can also consider &lt;a href=&#34;https://tt-rss.org/&#34;&gt;Tiny Tiny RSS&lt;/a&gt; and &lt;a href=&#34;https://apps.nextcloud.com/apps/news&#34;&gt;Nextcloud News&lt;/a&gt;.&lt;br&gt;
Some of the nicer &lt;strong&gt;Android&lt;/strong&gt; reader apps include &lt;a href=&#34;https://f-droid.org/en/packages/com.nononsenseapps.feeder/&#34;&gt;Feeder&lt;/a&gt; and &lt;a href=&#34;https://f-droid.org/en/packages/net.frju.flym/&#34;&gt;Flym&lt;/a&gt;.&lt;br&gt;
On my &lt;strong&gt;Linux desktop&lt;/strong&gt; I use &lt;a href=&#34;https://newsboat.org/&#34;&gt;Newsboat&lt;/a&gt;, which is a CLI app. &lt;a href=&#34;https://gitlab.com/news-flash/news_flash_gtk&#34;&gt;NewsFlash&lt;/a&gt; seems like a good GUI option. You can find some more options &lt;a href=&#34;https://itsfoss.com/feed-reader-apps-linux/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t use Windows, Mac or iOS so I can&amp;rsquo;t give you any recommendations for these; you&amp;rsquo;ll have to find a good one yourself. But, as always, avoid proprietary software if at all possible.&lt;/p&gt;
&lt;h2 id=&#34;finding-rss-feeds&#34;&gt;Finding RSS feeds&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;YouTube channels&lt;/strong&gt;&lt;br&gt;
Go to the channel&amp;rsquo;s page, view the page source and search for &lt;em&gt;rssUrl&lt;/em&gt; to find the RSS link.&lt;br&gt;
Some alernative YouTube front-ends like &lt;a href=&#34;https://yewtu.be&#34;&gt;yewtu.be&lt;/a&gt; have an RSS icon on the channel&amp;rsquo;s page.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Odysee channels&lt;/strong&gt;&lt;br&gt;
Go to the channel&amp;rsquo;s page, click on the three dots in the upper right corner, select &lt;em&gt;Copy RSS URL&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Podcasts&lt;/strong&gt;&lt;br&gt;
Most podcasts explicitly provide a link to the RSS feed. If it&amp;rsquo;s not available, however, you can try the methods described below. If they don&amp;rsquo;t work, you&amp;rsquo;ll have to do some searching online for the specific website the podcast is hosted on.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Blogs, news, and other sites&lt;/strong&gt;&lt;br&gt;
If you see that orange icon from the beginning of this post on a website, it will provide you with the link to the RSS feed.  You can also try adding &lt;em&gt;feed.rss&lt;/em&gt;, &lt;em&gt;index.xml&lt;/em&gt; or &lt;em&gt;rss.xml&lt;/em&gt; at the end of the site&amp;rsquo;s URL address, like so:&lt;br&gt;
&lt;code&gt;https://example.com/feed.rss&lt;/code&gt;.&lt;br&gt;
Another method you can try is viewing the page source and searching for &lt;em&gt;rss&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Don&amp;rsquo;t worry if the feed&amp;rsquo;s page isn&amp;rsquo;t understandable to you. You just have to paste its URL address into your RSS reader - it will display the feed in a readable way.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;what-if-the-feed-only-provides-short-previews&#34;&gt;What if the feed only provides short previews?&lt;/h2&gt;
&lt;p&gt;Some websites don&amp;rsquo;t provide full articles through RSS feeds. They would rather you visited their site and exposed yourself to all the ads, trackers and other garbage on there.&lt;br&gt;
To circumvent this, use &lt;a href=&#34;https://morss.it&#34;&gt;morss&lt;/a&gt;; you can also self-host it. If you&amp;rsquo;re able to, donate to this project. This guy is doing Lord&amp;rsquo;s work.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;23 years after its introduction, RSS still remains the single best option for staying up to date with news, podcasts, videos, and many other types of content.
It allows you to access it all from one place, the RSS reader, without having to visit a dozen separate sites every day; you&amp;rsquo;re also protected from ads and most trackers.
This way of accessing websites will save you time and make for a much more enjoyable Internet experience.&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>MP3 Players Are Great (and Rockbox makes them even better)</title>
		<link>https://ijver.me/en/blog/mp3-players-are-great/</link>
		<pubDate>Fri, 06 Jan 2023 12:38:25 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/mp3-players-are-great/</guid>
		<description>&lt;p&gt;Recently I got myself a &lt;em&gt;SanDisk Sansa Clip+&lt;/em&gt;. Just look at this beauty&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/clipplus.webp&#34;&gt;&lt;img alt=&#34;Picture of Sansa Clip +&#34; src=&#34;https://ijver.me/images/clipplus.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Even though it wasn&amp;rsquo;t until recently that I stopped using a smartphone, which was my primary motivation to finally buy a music player, my casual interest in these devices goes a while back.
I guess there&amp;rsquo;s just something cool about having a separate device for music.
Especially something like the Clip+ which has most of the benefits of listening on a smartphone (great audio quality, good battery life) with none of the drawbacks (has a headphone jack, microSD card slot, small and lightweight, no Spookify).&lt;/p&gt;
&lt;h2 id=&#34;a-short-review-of-the-sandisk-sansa-clip&#34;&gt;A short review of the Sandisk Sansa Clip+&lt;/h2&gt;
&lt;p&gt;I bought it used on a Polish auction site similar to eBay for around 100zł (20€).
The &lt;strong&gt;sound quality&lt;/strong&gt; is great, easily as good as in smartphones, perhaps a bit better. Rockbox, the custom firmware, provides a lot of options for adjusting the audio to your liking.&lt;/p&gt;
&lt;p&gt;The player is the &lt;strong&gt;size&lt;/strong&gt; of a box of matches and weighs virtually nothing (25 grams).
It has a rather sturdy clip on the back which makes it great for sports.
The buttons have a nice click to them but the symbols on them are printed so they&amp;rsquo;ll probably disappear with use.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;screen&lt;/strong&gt; is nice and bright, however the top portion displays the interface in orange while the rest of the display is blue.
This means that if you increase the font size, you&amp;rsquo;ll likely end up with the top row of text being half orange and half blue - it&amp;rsquo;s a pain to read.&lt;/p&gt;
&lt;p&gt;On the side of the device there&amp;rsquo;s a &lt;strong&gt;microSD&lt;/strong&gt; card slot.
I don&amp;rsquo;t know what the maximum storage space of the SD card is for the Clip+ but it takes my 64GB card.
The slot holds the microSD card firmly but it&amp;rsquo;s not covered by anything so if you&amp;rsquo;re really unlucky, it might fly out never to be found again.
Putting a piece of electrical tape over it might be a good idea.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Battery life&lt;/strong&gt; is very decent. From my experience it lasts about 10 hours. I recommend setting backlight time to 10 seconds or less and disabling screen wake for volume up/down. If the device was just playing music with the screen always off, I think 12-14 hours is achievable.&lt;/p&gt;
&lt;p&gt;For me, the biggest drawback is that the Sansa uses an &lt;strong&gt;obsolete USB Micro-B&lt;/strong&gt; port for charging and file transfer. From what I&amp;rsquo;ve read they&amp;rsquo;re notorious for failing. If file transfer doesn&amp;rsquo;t work, however, it&amp;rsquo;s likely due to the cable being for charging only so it&amp;rsquo;s worth trying a few cords before concluding the port is at fault.&lt;/p&gt;
&lt;h2 id=&#34;rockbox---a-free-as-in-freedom-firmware-for-mp3-players&#34;&gt;Rockbox - a free as in freedom firmware for MP3 players&lt;/h2&gt;
&lt;p&gt;A  rule of thumb for judging whether an MP3 player is good - if it can run &lt;a href=&#34;https://rockbox.org&#34;&gt;Rockbox&lt;/a&gt;, it probably is.
The term &lt;em&gt;MP3&lt;/em&gt; player is a bit of a misnomer in this case because Rockbox supports many more formats, most notably Opus, which &lt;a href=&#34;https://hydrogenaud.io/index.php/topic,120734.0.html&#34;&gt;apparently&lt;/a&gt; is the best lossy audio format at the moment (I mostly use 128k Opus or 320k Mp3, the latter only if I can&amp;rsquo;t obtain a lossless file to convert to Opus).&lt;/p&gt;
&lt;p&gt;Rockbox is absolutely &lt;del&gt;bloated&lt;/del&gt; packed with features. The amount of settings, menus and preinstalled plugins is so vast that I&amp;rsquo;m surprised it doesn&amp;rsquo;t hinder performance.
Some of the most off-the-wall features include the periodic table, resistor calculator and Doom. Yes, &lt;em&gt;that&lt;/em&gt; Doom.&lt;/p&gt;
&lt;p&gt;The documentation provided on the website is in-depth and the devs are active on IRC and eager to help.
My second Sansa Clip+ disconnected from the computer during the installation of Rockbox due to a faulty cable which corrupted the internal memory but one of the devs, &lt;em&gt;bilgus&lt;/em&gt;, found a workaround.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re doing sports, want to ditch a smartphone, would like to have a standalone music device or have any other reason for wanting an MP3 player, check out &lt;a href=&#34;https://www.rockbox.org/&#34;&gt;Rockbox&amp;rsquo;s&lt;/a&gt; website for supported devices; maybe you have one in the back of your drawer. Anyway, you can get a good player very cheaply, so why not try it out?&lt;/p&gt;
</description>
	</item>
	
	<item>
		<title>Internet Tenancy Is A Major Problem</title>
		<link>https://ijver.me/en/blog/internet-tenancy/</link>
		<pubDate>Thu, 05 Jan 2023 09:34:09 +0100</pubDate>
		
		<guid>https://ijver.me/en/blog/internet-tenancy/</guid>
		<description>&lt;p&gt;Recently I came across a website that inadvertently shows the absurdity of the modern web - &lt;em&gt;Linktree&lt;/em&gt;. It&amp;rsquo;s a service that lets you create a link to more links. It&amp;rsquo;s like a personal web page but all you can put there are links. And it&amp;rsquo;s a service like any other, with its Terms of Use, so you don&amp;rsquo;t have any real control over that site either.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ijver.me/images/itsfine.webp&#34;&gt;&lt;img alt=&#34;dog sitting in a burning house saying this is fine&#34; src=&#34;https://ijver.me/images/itsfine.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It might just be a sign of the times where large following is gained by attractive people making short videos mostly devoid of intellectual value and hence, as many antisocial media users try to mimic what the popular ones do, people may not think that their online presence is endangered because they seemingly don&amp;rsquo;t do anything controversial.
&lt;strong&gt;But were you to take a knife and remove the edge from it, instead of having an edgeless knife, you&amp;rsquo;ve simply created a new edge.&lt;/strong&gt;
The same holds true for the users of Big Tech platforms. Once a group of controversial people is removed from a site, the &amp;ldquo;controversial&amp;rdquo; badge doesn&amp;rsquo;t cease to exist, it&amp;rsquo;s simply placed on the people who were next in line. And with most content on popular platforms being rather milquetoast, it&amp;rsquo;s not difficult to end up in line to the chopping block.&lt;/p&gt;
&lt;p&gt;To add insult to injury, now the AI and algorithms are the ones making decisions on whether or not something violates the site&amp;rsquo;s rules and unless you have a strong enough presence to object to the decision and actually be heard, you&amp;rsquo;re screwed. Your account can basically get removed for no reason and you can&amp;rsquo;t do anything about it.&lt;/p&gt;
&lt;h2 id=&#34;the-goal&#34;&gt;The goal&lt;/h2&gt;
&lt;p&gt;What I want to achieve with this post is to make you, dear reader, want to have a website if you don&amp;rsquo;t already have one and understand that it&amp;rsquo;s not difficult. So, what should every single website ideally have?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tidy address&lt;/strong&gt; - short and memorizable (Tor chads be like 👀)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;contact information&lt;/strong&gt; - best to have a few ways for people to contact you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;public PGP encryption key&lt;/strong&gt; - let&amp;rsquo;s normalize encryption.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;small size&lt;/strong&gt; - you probably shouldn&amp;rsquo;t put 4K images on your main page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;decent theme&lt;/strong&gt; - don&amp;rsquo;t make people&amp;rsquo;s eyes bleed. When in doubt, go for black text on white background. It&amp;rsquo;s easy for readers to apply a dark theme with add-ons.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;the-role-of-the-hobbyists&#34;&gt;The role of the hobbyists&lt;/h2&gt;
&lt;p&gt;Alright, let&amp;rsquo;s assume that you, as a tech person, have decided to &lt;a href=&#34;https://landchad.net&#34;&gt;create a website&lt;/a&gt;.
Great, the entire process of buying a domain, writing a basic website (or using &lt;a href=&#34;https://gohugo.io&#34;&gt;Hugo&lt;/a&gt;, like yours truly) and setting up a server will likely take you no more than a few hours (not including the wait for DNS propagation).
It ain&amp;rsquo;t gonna be easy for non-technical folks, though. And that&amp;rsquo;s where we come in.&lt;/p&gt;
&lt;p&gt;Not everyone has the patience to figure out how to create a website from scratch, especially the ones who are on the fence about needing one.
An avegare person would probably try using Wix or Squarespace but I&amp;rsquo;m pretty sure these were created by Satan himself so I&amp;rsquo;ll omit them.
But almost everone knows someone who &amp;ldquo;knows about computers&amp;rdquo; - that&amp;rsquo;s probably you. &lt;strong&gt;So if somebody mentions to you they would like to have a website, help them. And be approachable.&lt;/strong&gt; Let them know about &lt;a href=&#34;https://neocities.org&#34;&gt;Neocities&lt;/a&gt; and &lt;a href=&#34;https://txti.es/&#34;&gt;txti&lt;/a&gt; - most people don&amp;rsquo;t want to pay for anything online. If you have a home server, you might even host it on your own hardware.&lt;/p&gt;
&lt;p&gt;And, last but not least, read &lt;a href=&#34;https://ijver.me/en/interesting-sites/&#34;&gt;other minimalist sites&lt;/a&gt; and recommend them to people. Chances are you&amp;rsquo;ll get to know cool, like-minded people who are also passionate about redecentralizing the web. Cheers!&lt;/p&gt;
</description>
	</item>
	
	</channel>
</rss>
