<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://joelchrono.xyz/feeds/linux.xml" rel="self" type="application/atom+xml" /><link href="https://joelchrono.xyz/" rel="alternate" type="text/html" /><updated>2026-07-11T12:34:20-06:00</updated><id>https://joelchrono.xyz/feeds/linux.xml</id><title type="html">joelchrono’s blog</title><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><entry><title type="html">I use Arch, btw</title><link href="https://joelchrono.xyz/blog/i-use-arch-btw/" rel="alternate" type="text/html" title="I use Arch, btw" /><published>2025-04-20T17:30:00-06:00</published><updated>2025-04-20T17:30:00-06:00</updated><id>https://joelchrono.xyz/blog/i-use-arch-btw</id><content type="html" xml:base="https://joelchrono.xyz/blog/i-use-arch-btw/"><![CDATA[<p>For some reason—definitely not sheer peer-pressure— I have decided to switch to Arch Linux.</p>

<p>Void Linux was already perfect for me, seriously, no complaints, would install again. However, I wanted to get rid of Windows 11, which, I must confess, I had been dual-booting on my current laptop <a href="/blog/new-laptop-new-distro/">ever since I got it</a>. So, I would have to wipe the drive, create new partitions, and reinstall my OS.</p>

<p>Since I was wiping my current system anyway, and I had never tried pure Arch Linux—one of the stepping stones towards becoming <em>one with the penguin</em>—I thought it was a good time as any to give it a go once and for all.</p>

<p>What took me the longest time was <em>actually starting</em>. I made posts on Mastodon, about <a href="https://fosstodon.org/@joel/114350116118881603">“I got the iso downloaded”</a> and <a href="https://fosstodon.org/@joel/114354086809575387">“I have the usb ready”</a> and <a href="https://fosstodon.org/@joel/114353777477261900">“I’m only backing up my data now.”</a></p>

<p>I spent more time leaving it for later, compared to the time required to actually do the installation. I don’t know why I was so afraid of messing it up, when I had already created backups of every file I had on a usb drive and an hdd. Even if it didn’t work, I could just try again. It was just the fear of the unknown creeping up within me.</p>

<p>In the end, I my friends gave me the final push needed, I booted into the USB environment, and got started.</p>

<h2 id="installation">Installation</h2>

<p>I followed the <a href="https://wiki.archlinux.org/title/Installation_guide">official guide on the Arch Wiki</a>. I wanted to try full disk encryption, so I followed another article to setup <a href="https://wiki.archlinux.org/title/Dm-crypt/Encrypting_an_entire_system#LUKS_on_a_partition">LUKS on a partition</a> and <a href="https://wiki.archlinux.org/title/Dm-crypt/Swap_encryption#Using_a_swap_partition">swap partition encryption</a>. Finally, I watched a video <a href="https://youtu.be/kXqk91R4RwU">to setup GRUB in the end</a>.</p>

<p>I shamelessly used my work laptop to access the website—thankfully not blocked by their firewall—which was really helpful and much faster than moving around the different pages using a phone.</p>

<p>My partitions ended up looking something like this:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda           8:0    1 114.6G  0 disk
└─sda1        8:1    1 114.6G  0 part  /run/media/chrono/live-usb
nvme1n1     259:0    0 476.9G  0 disk
├─nvme1n1p1 259:1    0     1G  0 part  /boot
├─nvme1n1p2 259:2    0     4G  0 part
│ └─swap    253:1    0     4G  0 crypt [SWAP]
└─nvme1n1p3 259:3    0 471.9G  0 part
  └─root    253:0    0 471.9G  0 crypt /
nvme0n1     259:4    0  27.3G  0 disk
</code></pre></div></div>

<p>For some reason, if I added the swap partition to my <code class="language-plaintext highlighter-rouge">fstab</code>, the system would take like 2 minutes to boot after I typed the passphrase for <code class="language-plaintext highlighter-rouge">root</code>, so I commented it out, leaving only the UUID of the <code class="language-plaintext highlighter-rouge">boot</code> and the encrypted <code class="language-plaintext highlighter-rouge">root</code> partitions. Once removed, now I have to type a passphrase two times, for both partitions. Not ideal, but I don’t reboot my computer that often to annoy me. Even if the drive were on fstab, it was supposed to ask for a passphrase twice anyway. Not sure what happened there.</p>

<p>Once I booted up, I could do some things, but I realized I had no internet connection. I had enabled the NetworkManager service, but I had no networks saved in the installed system, thankfully I remembered that <code class="language-plaintext highlighter-rouge">nmtui</code> exists, and I managed to setup my network, wi-fi worked first try. Gotta thank my <a href="/blog/getting-a-raspberry-pi-to-play-with">Raspberry Pi usage</a> for showing me how stuff like this works.</p>

<p>I also setup <a href="https://wiki.archlinux.org/title/Getty">getty</a> to autologin to my user after boot. I figured that if I already have two passwords in a row at boot, I can let this one slide.</p>

<h2 id="setting-things-up">Setting things up</h2>

<p>I am yet to <a href="https://wiki.archlinux.org/title/Display_manager">install a display manager</a>, I might do it because sometimes other people use my computer, but for now, <code class="language-plaintext highlighter-rouge">startx</code> works just fine. My <code class="language-plaintext highlighter-rouge">.xinit</code> file has these lines:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">QT_QPA_PLATFORMTHEME</span><span class="o">=</span>gtk3
<span class="nb">export </span><span class="nv">GTK_THEME</span><span class="o">=</span>Skeuos-Blue-Dark
setxkmap <span class="nt">-layout</span> latam
lxsession &amp;
<span class="nb">exec </span>dwm
<span class="c">#exec cinnamon</span>
</code></pre></div></div>
<p>I fully restored my window manager, <code class="language-plaintext highlighter-rouge">dwm</code> <a href="/blog/back-to-dwm/">to my setup</a>, which has worked for me for a while now.</p>

<p>I installed <code class="language-plaintext highlighter-rouge">hyprland</code> to mess around with, I still don’t make any proper configurations to it though, we’ll see.</p>

<p>I got the <code class="language-plaintext highlighter-rouge">nerd-fonts</code> package, which I used in my config files for <code class="language-plaintext highlighter-rouge">dwm</code>and <code class="language-plaintext highlighter-rouge">alacritty</code>, but they don’t seem to work properly, there is a bunch of glyphs missing, or rendering as weird squares.</p>

<p>Thunderbird refused to connect to the email provider I use when installed via <code class="language-plaintext highlighter-rouge">pacman</code>, so I just went with the tarball they provide in their website and now it’s working just fine.</p>

<p>I installed the Cinnamon Desktop to see how it would work, but on <code class="language-plaintext highlighter-rouge">dwm</code> my gtk apps refused to use the theme I appled to them using <code class="language-plaintext highlighter-rouge">lxappearance-gtk3</code>. After setting the <code class="language-plaintext highlighter-rouge">GTK_THEME</code> environment variable, installing the gtk3 versions of some apps that I had using gtk2 (like <code class="language-plaintext highlighter-rouge">pcmanfm</code>), and setting <code class="language-plaintext highlighter-rouge">QT_QPA_PLATFORMTHEME=gtk3</code>. Now it’s all fine!</p>

<p>Getting audio to work was a bit annoying, I used to have <code class="language-plaintext highlighter-rouge">pipewire</code>in the <code class="language-plaintext highlighter-rouge">.xinit</code> file before, and also in my <code class="language-plaintext highlighter-rouge">dwm</code> autostart config. I noticed they had systemd services that were constantly having issues. After removing all the ways I had to initialize <code class="language-plaintext highlighter-rouge">pipewire</code>, <code class="language-plaintext highlighter-rouge">pipewire-pulse</code> and <code class="language-plaintext highlighter-rouge">wireplumber</code>, I re-enabled the systemd services, and now it just works, regardless of the desktop environment or window manager I use.</p>

<p>Another thing I always end up doing, is enabling Natural Scrolling and tapping to click on my touchpad, I am using a laptop after all. I just <a href="https://wiki.archlinux.org/title/Libinput">followed the wiki</a> and created the file <code class="language-plaintext highlighter-rouge">30-touchpad.conf</code> with this inside:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Section "InputClass"
    Identifier "touchpad"
    Driver "libinput"
    MatchIsTouchpad "on"
    Option "Tapping" "on"
    Option "TappingButtonMap" "lmr"
    Option "NaturalScrolling" "true"
EndSection
</code></pre></div></div>

<p>Honestly, most of this troubleshooting is identical to what <a href="/blog/troubleshooting-void-linux">I did on Void Linux a while back</a>, so it wasn’t that big of a deal.</p>

<h2 id="to-do-list">To-do list</h2>

<ul>
  <li>Install a display manager and get it looking nice.</li>
  <li>Install a desktop environment and configure it for other people to use</li>
  <li>Fix nerd-font glyphs issues</li>
  <li>Setting up printers, I got a new (to us) Epson printer, no idea if that’ll work</li>
  <li>Configure Bluetooth, so I can connect my gaming controller</li>
  <li>Fix ActivityWatch not collecting browser usage (there’s some issues already, probably an update)</li>
  <li>Get MTP working to connect my phone to my computer</li>
  <li>Whatever I missed, there’s probably something that I don’t know I need until I do!</li>
</ul>

<h2 id="first-impressions">First impressions</h2>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2025-04-20-archlinux.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2025-04-20-archlinux.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2025-04-20-archlinux.png" alt="My current desktop" />
  </picture>
  <figcaption class="caption">My current desktop</figcaption></figure>

<p>If I am honest, this looks and feels quite similar to Void Linux, except that I started out from scratch, and of course, I have to input two passwords to decrypt the system.</p>

<p>The install experience was quite interesting, seeing and understanding how all the different scripts and files interact was fun. I think I already knew most of these things, used in separate situations, but having to connect that knowledge together during the process was really satisfying, to say the least.</p>

<p>Now that it’s set and done, it really isn’t that different to Void or other distros, other than the fact that I’ll have to figure out how to do things whenever I find a roadblock, and I’ll have to be somewhat mindful of the updates, and watch out for any problems that might arise.</p>

<p>Yesterday there was an update for both <code class="language-plaintext highlighter-rouge">GRUB</code> and <code class="language-plaintext highlighter-rouge">systemd</code>, and I immediately had PTSD about those worst case scenarios people share on reddit, forums and Discord servers. Nothing happened, except for my autologin getting screwed up because of my own fault, and then I screwing myself up because I typed <code class="language-plaintext highlighter-rouge">-o chrono</code> instead of <code class="language-plaintext highlighter-rouge">-a chrono</code> in the <code class="language-plaintext highlighter-rouge">getty@.service</code> file.</p>

<p>Nothing a quick live usb environment couldn’t fix, to be honest.</p>

<p>Overall, I am happy with the change, everything is back to normal, and I expect to be able to tackle most of the hiccups along the wayhiccups along the way. So, I can finally say…</p>

<p><em>I use Arch btw.</em></p>

<p>This is day 51 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="foss" /><category term="linux" /><summary type="html"><![CDATA[I finally decided to give Arch Linux a try, and to get rid of my Windows partition once and for all. So far so good!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://joelchrono.xyz/assets/img/blogs/2025-04-20-archlinux.webp" /><media:content medium="image" url="https://joelchrono.xyz/assets/img/blogs/2025-04-20-archlinux.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Confessions from a FOSS enthusiast</title><link href="https://joelchrono.xyz/blog/confessions-from-a-linux-user/" rel="alternate" type="text/html" title="Confessions from a FOSS enthusiast" /><published>2025-03-06T22:14:50-06:00</published><updated>2025-03-06T22:14:50-06:00</updated><id>https://joelchrono.xyz/blog/confessions-from-a-linux-user</id><content type="html" xml:base="https://joelchrono.xyz/blog/confessions-from-a-linux-user/"><![CDATA[<p>This feels a bit cringe for me to write, because I think nobody actually cares about what programs, tools, applications, projects or practices you choose, use or support, at least until you make it public, and people can comment on it.</p>

<p>So, this is mostly a critique from me for myself as things that I personally see as issues, but will probably not do much about them anyway. I am perfectly aware of whatever reasons there are to avoid X or Y, or to switch to A or B, I just don’t bother, at least at the moment! So, let’s begin.</p>

<h2 id="-desktop-email-clients-nope">📧 Desktop email clients? nope</h2>

<p>This is not that big of a deal, but it is something I feel like I could do more but I’m lazy about it. There are some tools on my <a href="/uses/">uses’</a> page that I rarely touch, for a variety of reasons.</p>

<p>Neomutt, for example, I don’t use often because there are barely any plain text emails to check, and it does not update emails automatically. There are of course ways to turn html to plain text but a lot of the time it just looks ugly.</p>

<p>Thunderbird is much better but for the laziest of reasons I haven’t logged in to all my accounts, just one, and haven’t bothered with the rest yet. Once I do, it might be it for me, honestly, but right now I’m using web clients whenever I need and calling it a day. I have failed you all.</p>

<p>At least Disroot’s web client is FOSS.</p>

<h2 id="-a-non-degoogled-phone">📱 A non-degoogled phone</h2>

<p>I used to have a phone without any kind of Google services, I honestly barely had any problems for a very long time, but once I switch phones, I just kind of didn’t mind installing it for the sake of convenience. I still have a custom ROM with a very light set of Gapps, and of course I install a bunch of my apps from F-Droid and Obtainium, but I still feel dirty.</p>

<h2 id="-being-a-normie-social-media-user">🤡 Being a normie social media user</h2>

<p>Using Discord and WhatsApp implies this already, but I want to make it clearer, I still use Facebook, Instagram and Reddit. I simply do, I keep up with friends, react to non-foss, non-tech, non-gaming related memes and even watch <em>vertical videos</em>. I don’t post anything there anymore, but yeah, I still use them sometimes.</p>

<p>I remember even being kind of smug about it in early days when I joined Mastodon and the smaller web, and deleted Instagram and Reddit (I never got rid of Facebook), but eventually I created new accounts for what was gone, so, yep, at least I no longer have them installed on my phone.</p>

<h2 id="-still-having-a-windows-partition">🪟 Still having a Windows partition</h2>

<p>I use Windows at work, but that’s to be expected, however, I also have it on my laptop! I actually rarely use it anymore, except for a couple of programs. I think I’m finally at a point where I can get rid of it very soon though, but I haven’t had the time to actually do it.</p>

<h2 id="-not-enough-tui-or-cli-programs">👨‍💻 Not enough TUI or CLI programs</h2>

<p>I don’t feel too bad about this one, I still use the terminal a lot, especially for neovim and navigating through my system directories and the like. However, there are many things I have set up that I just don’t really use. Starting with what I already mentioned, neomutt, I simply don’t use it enough. Sometimes many days go by where I use it often, especially to reply to email people send me (doesn’t happen often) and the like, but still.</p>

<p>Another tool I haven’t used in a while is Newsboat, an RSS client that works great! But I find myself choosing the web client for FreshRSS over it, especially now that they finally added proper sorting by date and other neat features.</p>

<p>For unarchiving zip and tar files I just do it with a GUI, and not even a platform-agnostic one that looks fine on dwm, I use <em>file-roller</em>, and it’s the ugliest looking program, since it disrespects my GTK theme and, and <em>I haven’t bothered to do anything about it.</em></p>

<h2 id="-subscriptions-and-purchases-on-non-free-platforms">🛍 Subscriptions and purchases on non-free platforms</h2>

<p>I am currently subscribed to YouTube Premium, Spotify and Max, I make regular purchases on AliExpress and Steam as well. To various degrees, these platforms probably track and store all kinds of data about its users for surveillance and advertising purposes, Steam is probably the best generally but still not the ideal, but well, here we are, I’m a part of the machine, and it’s hard to leave it.</p>

<h2 id="--choosing-proprietary-platforms">⛓  Choosing proprietary platforms</h2>

<p>Yes, if you check my monthly summaries, you will see some common apps that are obviously not great to use, but alas.</p>

<ul>
  <li>I use WhatsApp because it’s the most popular chat app in my country, I love Signal and if you use it and want to chat, I’m totally up for it! But almost nobody I know in real life uses it.</li>
  <li>Discord is genuinely good, if convoluted, but I truly enjoy some of the communities I have found there, and I don’t think Matrix or any other alternative comes close to it.</li>
  <li>I have a few games on GOG, but the few times I play computer games, I usually prefer to get them from Steam, I know of Lutris, and I already use Heroic launcher for my Epic and GOG games, they’re great, but still lacks some of the social features that Steam has.</li>
  <li>Google Maps, Paypal, Banking apps, Nintendo Switch, AliExpress, my gym’s app, among others.</li>
</ul>

<h2 id="final-thoughts">Final thoughts</h2>

<p>What is expected from a FOSS enthusiast? A Linux user? A privacy minded individual? Surely not the things I’ve confessed here. But well, I’m not perfect, I have been better in some respects, but life and laziness just got in the way, somewhat.</p>

<p>Maybe when I started this blog I used and discovered more terminal tools all the time, or I tried to stick to FOSS communities in FOSS platforms and get rid of the rest, and I didn’t even have credit card information to give away to online services, but well, a lot of that went down the drain now.</p>

<p>Honestly though, I’m somewhat happy where I’m at, I’ve made a lot of concessions, there’re some things I want to get rid of, but sometimes the choice is only between two bad options, just look at Mozilla ruining things for everybody once again.</p>

<p>Still, I think I can still strive to be more conscious about my decisions and not give in to the dire world of today.</p>

<p>This is day 30 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="foss" /><category term="thoughts" /><category term="ramble" /><category term="linux" /><summary type="html"><![CDATA[As a Linux user and a FOSS advocate, there are some things that I have done that could be better, but all in all, it's not that bad, is it?]]></summary></entry><entry><title type="html">Managing my storage with gdu and czkawka</title><link href="https://joelchrono.xyz/blog/storage-management-tools/" rel="alternate" type="text/html" title="Managing my storage with gdu and czkawka" /><published>2025-02-23T16:23:17-06:00</published><updated>2025-02-23T16:23:17-06:00</updated><id>https://joelchrono.xyz/blog/storage-management-tools</id><content type="html" xml:base="https://joelchrono.xyz/blog/storage-management-tools/"><![CDATA[<p>Of course that stuff like <a href="https://neovim.io/">neovim</a> or <a href="https://github.com/sharkdp/bat">bat</a> are my most used tools in general, but one category of tool that I have used consistently over the years has been that of disk usage management.</p>

<p>My go to on the terminal is <a href="https://github.com/dundee/gdu">gdu</a>, a disk usage analyzer similar to ncdu, which usually comes by default in some distros.</p>

<p>It’s a super simple tool that will sort folders by size and show the percentage used by each folder, no big deal, it does what it does and it does it very well, I’ve been using it a lot when handling my roms and game files for my <a href="/blog/the-gba-experience-i-wanted/">RG35XXSP</a> and the iso files of my PSP games. Sometimes my laptop starts to fill up and emptying the trash can doesn’t cut it.</p>

<p>Another great tool is <a href="https://github.com/qarmin/czkawka">Czkawka</a>, it is a great program to find duplicate and similar files and pictures across multiple folders. This one has a pretty simple GUI that lets you visualize the files and choose multiple parameters to make sure only the files you need are kept and the rest deleted.</p>

<p>Back when I used my Raspberry Pi as a server, I had Nextcloud setup to sync with my computer, so once the Pi died I used Czkawka to clean up my storage from useless screenshots and other pics from my phone.</p>

<p>It has been a while since I’ve written about any kind of neat Linux tools so it’s nice to change it up for once.</p>

<p>Maybe this is all a sign that I should really look into upgrading my internal storage on my computer, it’s been a little tight lately.</p>

<p>I almost scrapped this post since it’s about such a simple thing! But well, it may be useful for some people out there. Besides, it’s always interesting to see what other people use and why!</p>

<p>There’s probably someone who will say what’s the alternative to gdu but written in Rust, or what is like czkawka but terminal only, or maybe someone made a rofi script to handle this on a whim, share what you use!</p>

<p>This is day 21 of <a href="https://100daystooffload.com">#100DaysToOffload</a>.</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="software" /><category term="foss" /><summary type="html"><![CDATA[I think the actual terminal tool I use the most is my disk usage tool, so I just wrote about it]]></summary></entry><entry><title type="html">Gaming on my laptop</title><link href="https://joelchrono.xyz/blog/laptop-gaming/" rel="alternate" type="text/html" title="Gaming on my laptop" /><published>2025-02-14T21:44:10-06:00</published><updated>2025-02-14T21:44:10-06:00</updated><id>https://joelchrono.xyz/blog/laptop-gaming</id><content type="html" xml:base="https://joelchrono.xyz/blog/laptop-gaming/"><![CDATA[<p>This past week I’ve been thinkering again with my laptop, due to a regained interest in gaming on it, after I beat <em>TOEM</em> on it and had a great time playing.</p>

<h2 id="a-proper-gaming-controller">A proper gaming controller</h2>

<p>My first gaming controller was my PSP, I <a href="/blog/trying-psp-as-pc-controller/">wrote about it before</a>, since it’s honestly pretty useful on a whim. After that I got a knockoff XBox 360 style wired controller, on which I remember completing <em>Ocarina of Time</em> and playing hundreds of hours of <em>Monster Hunter Freedom Unite</em>, it was nothing special and it stopped working properly after a while, but it was good while it lasted.</p>

<p>I had tried stuff like the Xbox Series controller and a PS5’s, but just for brief moments. When I got my Switch and got a 3rd party controller for it, it worked well with my laptop too, and played some Monster Hunter on it again, but connecting and reconnecting between Switch and Laptop wasn’t great, so I only use it on my Switch now.</p>

<p>A few months ago I bought an <a href="https://www.8bitdo.com/ultimate-2c-wireless-controller/">8bitdo Ulimate 2C</a>, a controller for Windows and Android, with Bluetooth and a 2.4Ghz USB receiver, and that has worked absolutely wonderfully on my Laptop, and after getting an 8bitdo Bluetooth receiver to use on my Switch, I can now switch painlessly between both.<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p>

<p>Honestly tho, it wasn’t until now that I finally gave it a proper shot with <em>TOEM</em> that I saw how comfortable sitting in front of a computer, grabbing a ready to go controller and playing like that really is! This was maybe the push I needed to play more games on my laptop at last!</p>

<h2 id="more-storage-for-games">More storage for games</h2>

<p>Speaking of wich, my computer is nothing special. It’s good enough for indie games and older AAA titles though, which is all I have anyway, but my biggest hurdle is storage.</p>

<p>I’m still dual booting Windows for some reason, and I haven’t taken the time to swap my main drive or at least start fresh with my current one.</p>

<p>A long time ago I bought a new SSD that I never ended up using. It was originally meant to replace the one on someone’s laptop, but I realized too late that the laptop used NVME drives, not SATA, so I just kept it to gather dust in my shelf.</p>

<p>After the gaming session I did, I decided to buy a SATA to USB adaptor and use it as an external drive for my games on Steam, and also other platforms.</p>

<p>I set up a partition for it, and since I have Steam installed via Flatpak, I added an override to allow it to access the drive’s location.</p>

<p>After that, I just configured the drive on Steam and moved my existing games to it painlessly.</p>

<h2 id="game-launchers-and-configurations">Game launchers and configurations</h2>

<p>Nowadays, for the most part, Steam just works. And I’ve managed to somehow build a pretty decent collection of games there. Many of them I got from Steam codes given to me by friends, and some of them I’ve paid for.</p>

<p>Proton and Wine have made it so playing pretty much anything is as easy as a couple of clicks, which has been my experience so far. In fact, the only games that have failed for me some times are the Linux ones, <em>Portal</em> refuses to go past the menu screen, <em>CrossCode</em> does not recognize my controller in the Linux version, and similar small caveats are present.</p>

<p>Of course Proton is not perfect and stuff like <em>The Legend of Heroes: Trails in The Sky</em> did require me to change some of the defaults, but nothing too bad.</p>

<p>On my controller, using Steam’s Big Picture mode has also been pretty enjoyable, and the Steam Input options to use with games that don’t have good controller support, or don’t recognize my buttons properly, is also a very amazing feature.</p>

<p>However, ever since the days I only used Windows, my biggest collection has been on Epic Games, because the games are free!</p>

<p>A while back I remember using <a href="https://github.com/derrod/legendary">legendary</a>, a super neat terminal tool to launch games from Epic on Linux, but <a href="https://heroicgameslauncher.com/">Heroic</a> has proven to be a great alternative with a GUI that really manages to just add that extra bit of flare to the mix. I also installed it via Flatpak and it also works really well out of the box. Not only does it connect to my Epic account, it also works with <a href="https://gog.com">GOG</a> super well, even having support for its achievements! Something I didn’t even know until <a href="https://benjaminhollon.com">@amin</a> pointed it out ot me. He uses Lutris and only plays DRM-Free games from GOG, and his setup is so much more crazier and custom than mine, so, <del>consider this my public request for a blog post about it</del> <a href="https://benjaminhollon.com/musings/managing-my-game-saves-with-enevironment-variables/">go check it out!</a></p>

<h2 id="final-thoughts">Final thoughts</h2>

<p>Of course, I have been playing on computers since forever, Minecraft is there, my first time playing Into The Breach too, and FTL is something I will return to someday as well, but I don’t know, the act of playing non-pixelart games and doing so with a controller instead of a keyboard, does change my perception somewhat.</p>

<p>So, yeah, I guess I can only blame <em>TOEM</em> being such a different game from what I usually play on my computer.</p>

<p>Some other games I’ve been trying are <em>Dredge</em>, an interesting fishing game with some strange elements on it, and <em>Batman Arkham Asylum</em>, a game I tried ages ago on Windows but didn’t really work that well, and having it now running on Linux feels kind of awesome!</p>

<p>It is a bit weird to have a Switch and many other portable consoles at this point only to then turn around and say “Hey, PC Gaming? not bad at all” yet again. But well, I’m only human, maybe I should get a Steam Deck. STOP.</p>

<p>This is day 19 of <a href="https://100daystooffload.com">#100DaysToOffload</a>.</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">
      <p>They also have a more recent <a href="https://www.8bitdo.com/ultimate-2c-bluetooth-controller">Ultimate 2C Bluetooth model</a> that works with the Switch, without the need of their separate <a href="https://www.8bitdo.com/usb-wireless-adapter-2">Wireless USB Adaptor</a> that I use with mine. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="gaming" /><category term="linux" /><category term="software" /><summary type="html"><![CDATA[For some reason I got into gaming on my laptop now. I have done it before, but I still wanted to write about it, since it has been kinda nice!]]></summary></entry><entry><title type="html">You should use SSHFS</title><link href="https://joelchrono.xyz/blog/you-should-use-sshfs/" rel="alternate" type="text/html" title="You should use SSHFS" /><published>2024-05-13T22:40:05-06:00</published><updated>2024-05-13T22:40:05-06:00</updated><id>https://joelchrono.xyz/blog/you-should-use-sshfs</id><content type="html" xml:base="https://joelchrono.xyz/blog/you-should-use-sshfs/"><![CDATA[<p>So during my adventures setting up my Miyoo Mini Plus, one of its most neat features has been its ability to connect to it via SSH and FTP, at least with Onion OS installed.</p>

<p>FTP seems to work decently well, but the protocol itself comes with its limitations, at least for my usecase.</p>

<p>I have been working on <a href="https://fosstodon.org/@joel/112437467439485151">creating my own artwork for the games</a> I have in my device, using a 360x250 template for the box size to take almost half the screen on the Miyoo, <a href="https://fosstodon.org/@joel/112434703125234901">So far so good!</a>.</p>

<p>Because of the SSH functionality built-in, I don’t need to power off the device, remove the SD card, plug it in, drag and drop and the eject the sd card and power the thing back on.</p>

<p>All I need is to run:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sshfs onion@miyoo.ip.address:/home/SDCARD/ /whatever/mounting/directory/
</code></pre></div></div>

<p>And there I go, access the files from there.</p>

<p>Another neat thing is that the files behave almost exactly as if it was all just a regular folder.</p>

<p>On FTP for example, image thumbnails don’t show up, and I can’t really run commands inside those folders as quickly.</p>

<p>With SSHFS, thumbnails load correctly, to the system is just a folder with pictures like every other.</p>

<p>With SSHFS I can stream whatever video file I want from my server, and do a bunch of other normal file system things do. It doesn’t feel like anything weird is happening, it doesn’t feel like its special or super cool. But it just works</p>

<p>This is day 45 of <a href="https://100daystooffload.com">#100DaysToOffload</a> and post 13 of <a href="https://weblog.anniegreens.lol/weblog-posting-month-2024">#WeblogPoMo2024</a>.</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="emulation" /><category term="linux" /><category term="software" /><summary type="html"><![CDATA[Just a short post appreciating the usefulness of SSHFS]]></summary></entry><entry><title type="html">Transferring PSP PS1 save files to Miyoo Mini Plus</title><link href="https://joelchrono.xyz/blog/transferring-psp-ps1-savefiles-to-miyoo-mini-plus/" rel="alternate" type="text/html" title="Transferring PSP PS1 save files to Miyoo Mini Plus" /><published>2024-05-12T23:13:11-06:00</published><updated>2024-05-12T23:13:11-06:00</updated><id>https://joelchrono.xyz/blog/converting-savefile-format-on-ps1-games-from--vmp-to--mri</id><content type="html" xml:base="https://joelchrono.xyz/blog/transferring-psp-ps1-savefiles-to-miyoo-mini-plus/"><![CDATA[<p>Once again I’m here writing some quick notes on the adventures I had today setting up my Miyoo Mini Plus.</p>

<p>I had a few PS1 games on EBOOT.PBP format on my PSP, which have worked quite well so far, but the savefile format only works on the PSP itself and nothing more.</p>

<p>Since my move to the Miyoo Mini Plus, and me deciding to switch my PS1 gaming to it from the time being, I had to figure out how to transfer those savefiles over.</p>

<p>First off: figuring out which savefile is which.</p>

<p>The easiest way to know what save corresponds to what game is to open the game in you PSP, save, exit and then connect the device to a computer and sort by date.</p>

<p>The next best way is to look for your game in the <a href="https://psxdatacenter.com/ntsc-u_list.html">PSX Data Center</a> using Ctrl+F (there are lists for games in PAL and Japanese regions which can be seen there as well) and then finding the corresponding code.</p>

<p>The PSP has its savefiles located in the path <code class="language-plaintext highlighter-rouge">PSP/SAVEDATA/</code> and it probably contains a bunch of folders with titles like this <code class="language-plaintext highlighter-rouge">SLES01734</code> or <code class="language-plaintext highlighter-rouge">SLUS00585</code>, the file that has a matching code will be the one.</p>

<p>Opening the folder you will find a PNG file, usually of the game cover art, which will confirm it is the game we want.</p>

<p>Finally, you can use the online website <a href="https://savefileconverter.com/#/ps1/psp">Save File Converter</a> to convert your saves from the PSP’s <code class="language-plaintext highlighter-rouge">.VMP</code> to proper PS1 save files in the <code class="language-plaintext highlighter-rouge">.mcr</code> format.</p>

<p>Note that The Miyoo Mini Plus will <strong>not recognize this filename extension</strong>, however it is as simple as <strong>renaming</strong> the filename extension to <code class="language-plaintext highlighter-rouge">.srm</code> instead.</p>

<p>Now, the format of the ROM file itself is a different story.</p>

<p>PSP runs <code class="language-plaintext highlighter-rouge">EBOOT.PBP</code> files, you can use these files in the Miyoo Mini Plus, just copy paste it to the proper location and change the name to <code class="language-plaintext highlighter-rouge">Game_Name.pbp</code>. Note that if the file comes with some <code class="language-plaintext highlighter-rouge">KEYS.BIN</code> and other extra files, it will probably not work in the MM+, but I haven’t looked into how to fix that.</p>

<p>The Miyoo Mini Plus supports <code class="language-plaintext highlighter-rouge">.chd</code> and the regular <code class="language-plaintext highlighter-rouge">.cue</code> and <code class="language-plaintext highlighter-rouge">.bin</code> roms. The <code class="language-plaintext highlighter-rouge">.chd</code> format is the smallest in size and the compression is lossless, so I see no reason not to use it. The easiest way would be to source it directly in that file format, but you can also convert <code class="language-plaintext highlighter-rouge">.cue/.bin</code> files by using the <code class="language-plaintext highlighter-rouge">chdman</code> command line tool. This is located in the <code class="language-plaintext highlighter-rouge">mame</code> package in Void Linux, it is a standalone program in Arch as well.</p>

<p>Run this command and you are good to go:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>chdman createcd <span class="nt">-i</span> <span class="s2">"Resident Evil 3 - Nemesis (USA).cue"</span>  <span class="nt">-o</span> <span class="s2">"Resident Evil 3 - Nemesis (USA).chd"</span>
</code></pre></div></div>

<p>If you install <code class="language-plaintext highlighter-rouge">parallel</code> you can do batch conversion of files, with this line:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>parallel chdman createcd <span class="nt">-i</span> <span class="o">{}</span> <span class="nt">-o</span> <span class="o">{</span>.<span class="o">}</span>.chd ::: <span class="k">*</span>.cue
</code></pre></div></div>

<p>Which will convert all the <code class="language-plaintext highlighter-rouge">.cue</code>files in the working directory to <code class="language-plaintext highlighter-rouge">.chd</code>.</p>

<p>Feel free to check the official documentation for more information about <a href="https://onionui.github.io/docs/emulators/psx">running PS1 games on Onion OS</a>.</p>

<p>This is day 44 of <a href="daystooffload.com/">#100DaysToOffload</a> and post 12 of <a href="https://weblog.anniegreens.lol/weblog-posting-month-2024">#WeblogPoMo2024</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="emulation" /><category term="psp" /><category term="gaming" /><category term="tutorial" /><category term="linux" /><summary type="html"><![CDATA[How to turn the PS1 savefiles of games played on PSP, to a regular savefile usable in PS1 emulators and retro emulation devices like the Miyoo Mini Plus]]></summary></entry><entry><title type="html">Fix Activity Tracker duplicates in Miyoo Mini Plus (Onion OS)</title><link href="https://joelchrono.xyz/blog/fix-activity-tracker-duplicates-miyoo-mini-plus/" rel="alternate" type="text/html" title="Fix Activity Tracker duplicates in Miyoo Mini Plus (Onion OS)" /><published>2024-05-11T09:29:35-06:00</published><updated>2024-05-11T09:29:35-06:00</updated><id>https://joelchrono.xyz/blog/fix-activity-tracker-duplicates-miyoo-mini-plus</id><content type="html" xml:base="https://joelchrono.xyz/blog/fix-activity-tracker-duplicates-miyoo-mini-plus/"><![CDATA[<p>I have been having fun with my Miyoo Mini Plus, and after installing Onion OS on it, I found its Activity Tracker app to be one of my favorites. However, I ran into an annoying problem since I got some duplicated entries, after I changed the ROM filename, or after I replaced the ROM with a patched one.</p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2024-05-11-onion-os-activity-tracker-app.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2024-05-11-onion-os-activity-tracker-app.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2024-05-11-onion-os-activity-tracker-app.png" alt="The Activity Tracker app in Onion OS is great! But the duplicate entries..." />
  </picture>
  <figcaption class="caption">The Activity Tracker app in Onion OS is great! But the duplicate entries...</figcaption></figure>

<p>The easiest way to fix this is to rename the ROM to the what it was before.<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup></p>

<p>This fixes the problem from there on? But what about the duplicated entries that are already saved?</p>

<p>Well, this will be easier if you have some basic knowledge of how a database or a spreasheet works, it is not very hard, but still a bit scary.</p>

<p>The Activity Tracker data is stored in the path <code class="language-plaintext highlighter-rouge">/Saves/CurrentProfile/play_activity/play_activity_db.sqlite</code>, it should be the only file in the folder. <strong>Make a copy of the file and put it somewhere safe.</strong></p>

<p>I will use <a href="https://sqlitebrowser.org/">DB Browser for SQLite</a>, a cross-platform program that will let you access the database and edit it, just drag and drop it there, pretty much.</p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2024-05-11-this-is-what-the-program-looks-like-after-opening-the-database.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2024-05-11-this-is-what-the-program-looks-like-after-opening-the-database.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2024-05-11-this-is-what-the-program-looks-like-after-opening-the-database.png" alt="This is what the program looks like after opening the database" />
  </picture>
  <figcaption class="caption">This is what the program looks like after opening the database</figcaption></figure>

<p>Go to the <em>Browse Data</em> tab, and in the Table picker you will find two tables to choose from. In the <code class="language-plaintext highlighter-rouge">rom</code> table, you will find a list of ROMS, make sure to check for any duplicated names, and note the <code class="language-plaintext highlighter-rouge">id</code> of them, you should choose on of them to keep.</p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2024-05-11-the-table-contents.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2024-05-11-the-table-contents.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2024-05-11-the-table-contents.png" alt="The table contents" />
  </picture>
  <figcaption class="caption">The table contents</figcaption></figure>

<p>For this example, let’s note the Chrono Trigger duplicated entries, with the values <code class="language-plaintext highlighter-rouge">16</code> and <code class="language-plaintext highlighter-rouge">17</code>, you could delete one of them, it is not really necessary, but if you want to tidy up the database, I guess you can do it.</p>

<p>Go to the other table, named <code class="language-plaintext highlighter-rouge">play_activity</code>, the information found here can be a little bit harder to parse, but it’s not that big of a deal.</p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2024-05-11-play_activity-table-with-a-filter-enabled.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2024-05-11-play_activity-table-with-a-filter-enabled.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2024-05-11-play_activity-table-with-a-filter-enabled.png" alt="play_activity table with a filter enabled" />
  </picture>
  <figcaption class="caption">play_activity table with a filter enabled</figcaption></figure>

<p>All you need to do, is use the filter in the <code class="language-plaintext highlighter-rouge">rom_id</code> column to find the id’s you want to change, and then edit each individual entry, just click on the cell, type the value you want and hit Enter. You could also execute some simple SQL to accelerate the process:</p>

<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">UPDATE</span> <span class="n">play_activity</span> <span class="c1">---the table name</span>
<span class="k">SET</span> <span class="n">rom_id</span> <span class="o">=</span> <span class="n">chosen_value</span> <span class="c1">---whatever id value you chose</span>
<span class="k">WHERE</span> <span class="n">rom_id</span> <span class="o">=</span> <span class="n">old_value</span><span class="p">;</span> <span class="c1">---the id value that will be replaced</span>
</code></pre></div></div>

<p>After that, all the entries will be unified to a single <code class="language-plaintext highlighter-rouge">rom_id</code>. Once you are done, remember to click the <em>Write Changes</em> button.</p>

<p>You can load up your SD card and you should see all your play time unified on a single entry! If game art is missing, or game names are incorrect, you can use this same method to edit the <code class="language-plaintext highlighter-rouge">rom</code> table as well, but editing file names might be easier for that.</p>

<p>So, I think this is pretty much it, I don’t write as many tutorials since most of the time there are better ones out there and I would rather link to those, but I could not find any guidance on this problem, and I decided to write my own. I hope it is useful for you!</p>

<p>This is day 43 of <a href="https://100daystooffload.com">#100DaysToOffload</a> and post 11 of <a href="https://weblog.anniegreens.lol/weblog-posting-month-2024">#WeblogPoMo2024</a>.</p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1">
      <p>You should also change the filename of the savestates, and the save file itself, and the game cover if there is any. Quite a chore, maybe I’ll make some script for that one day. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="tutorial" /><category term="emulation" /><category term="software" /><category term="linux" /><summary type="html"><![CDATA[So if you ever edit the name of your ROM files you might run into some problems in your Miyoo Mini's Activity Tracker App, here's how I fixed it!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://joelchrono.xyz/assets/img/blogs/2024-05-11-onion-os-activity-tracker-app.png" /><media:content medium="image" url="https://joelchrono.xyz/assets/img/blogs/2024-05-11-onion-os-activity-tracker-app.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Losing data, making backups</title><link href="https://joelchrono.xyz/blog/losing-data-making-backups/" rel="alternate" type="text/html" title="Losing data, making backups" /><published>2023-09-06T20:56:34-06:00</published><updated>2023-09-06T20:56:34-06:00</updated><id>https://joelchrono.xyz/blog/losing-data-making-backups</id><content type="html" xml:base="https://joelchrono.xyz/blog/losing-data-making-backups/"><![CDATA[<p>I’ve been playing around with my psp a lot more often these days. I actually finally made my CFW permanent, after the blog I did about the software and tools I have on my device. However, a single command almost ended it all for me.</p>

<p>As always, <a href="/blog/the-hobby-cycle/">my hobbies come in waves</a>, and this is no exception. I recently had added a bunch of new roms and isos to my psp, and I had also started to back them up in my Raspberry Pi server. I was doing this in many ways, via the user interface, using a file manager and also via the good old terminal, which proved to be the best, as expected.</p>

<p>Maybe three weeks ago, I decided to do a full backup of my <code class="language-plaintext highlighter-rouge">PSP</code> folder, since I didn’t trust my microSD card enough. The folder contains pretty much everything important to me: savedata, homebrew files, emulators, and of course, games. I backed everything up to my server using <code class="language-plaintext highlighter-rouge">rsync</code> without any problem.</p>

<p>Recently I wanted to do some cleaning up of unused games and launchers I had made, and I decided to delete some folders. You see, using the <a href="https://www.pspunk.com/game-categories-lite/">game categories plugin</a> for my PSP lets me create, well, categories, that show up in my PSP game list. Since all of my categories have the <code class="language-plaintext highlighter-rouge">CAT_</code> prefix, I pretty much just did <code class="language-plaintext highlighter-rouge">rm -rf CAT_</code> and used Tab… The terminal is <em>too powerful</em> for me sometimes…</p>

<p>I ended up deleting my Emulators folder, which contained the emulators I listed on my <a href="/blog/what-is-on-my-psp/">what’s on my psp</a> post, as well as all my games, my save files and config.</p>

<p>So, if it wasn’t because my past self decided to create a backup out of this, I would be emotionally in shackles.</p>

<p>I did lose some hours of <em>Metroid Zero Mission</em>, <em>Mario and Luigi Super Star Saga</em> and also some recently added romhacks like <em>A Link To The Past Redux</em> and <em>EarthBound Redux</em>. Thankfully, it really wasn’t that bad, in the end it was only a couple bossfights and some upgrades that got lost.</p>

<p>I am so glad I didn’t delete my PSP’s <code class="language-plaintext highlighter-rouge">SAVEDATA</code> folder though, now <em>that</em> would make me cry.</p>

<p>Do your backups people.</p>

<p>This is day 58 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="psp" /><category term="tech" /><summary type="html"><![CDATA[I deleted a bunch of data using the rm command, thankfully, a happy coincidence made my pain a lot more bearable]]></summary></entry><entry><title type="html">Newsboat queries and FreshRSS web scraping</title><link href="https://joelchrono.xyz/blog/newsboat-queries-and-freshrss-scraping/" rel="alternate" type="text/html" title="Newsboat queries and FreshRSS web scraping" /><published>2023-01-30T15:50:00-06:00</published><updated>2023-01-30T15:50:00-06:00</updated><id>https://joelchrono.xyz/blog/newsboat-is-even-better-with-queries</id><content type="html" xml:base="https://joelchrono.xyz/blog/newsboat-queries-and-freshrss-scraping/"><![CDATA[<p>So after a rabbit hole checking out some channel recommendations by The Linux Cast’s <a href="https://youtu.be/BoFvhB9krEo">latest video</a>. I stumbled upon some videos and content related to RSS that ended up making me do this blogpost sharing what I learned. I will mention the sources as I go.</p>

<h1 id="newsboat-queries-are-what-i-need">Newsboat queries are what I need</h1>

<p>All this time, I’ve actually been using FreshRSS’ web UI more often than Newsboat. The reason?</p>

<p>FreshRSS shows me all the posts from all the sources that belong to a category, letting me filter out what I wanted. Newsboat, by default, will start up showing all the sources, and then you would be able to open them one by one, and individually check their feeds. It has a way to see all the tags (which would be categories on FreshRSS), but opening one would, again only open the sources, where I would only be able to navigate one feed at a time.</p>

<p>The thing is, I mostly follow personal blogs, and even if the people I follow were like me and did one post per day, being able to just read their feed would mean that I would only have a couple posts until I stumbled upon an article I already read. I wanted to have all the posts from everyone I followed! I just didn’t know if it was possible…</p>

<p>However, today I learned about <a href="https://newsboat.org/releases/2.30.1/docs/newsboat.html#_query_feeds">Newsboat queries</a>, and its an absolute game changer for me. Using a relatively simple syntax, I can create my own feeds, which are populated by whatever fits a query I can define. This is achieved by adding something like the following to my urls file:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"query:Personal Sites:tags =~ \"Personal sites\"" "Personal sites"
"query:Company Blogs:tags =~ \"Company Blogs\"" "Company Blogs"
</code></pre></div></div>

<p>You can even use some other parameters to make more specific queries, like filtering based on the article title contents:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"query:1080p Torrents:tags =~ \"Torrents\" and (title =~ \"1080\" ) ""Torrents"
</code></pre></div></div>

<p>The official documentation I linked has some more examples. And a <a href="https://youtu.be/PUxPUdyCy_U">here’s a video</a> by <a href="https://www.youtube.com/@gotbletu">@gotbletu</a> that explains it a bit more. I had actually already watched one of his other videos <a href="https://www.youtube.com/watch?v=RWk8OIi82U4">about using FreshRSS with Newsboat and mobile apps</a>, but I somehow missed that he was using queries. They are truly awesome.</p>

<h1 id="using-freshrss-for-web-scraping">Using FreshRSS for web scraping</h1>

<p>There are a ton of websites out there, however, not all of them are the same, and not all of them are kind enough to provide an RSS feed. With the release of FreshRSS 1.20, scraping websites using XPath became possible. However I had been lazy and ignorant on what it did, so I didn’t bother trying it out. After all, there are a lot of websites that already have RSS, and if one refused, I am sure there would be others I could use instead.</p>

<p>But I decided to give the feature a try after finding <a href="https://danq.me/2022/09/27/freshrss-xpath/">a blogpost on how to do it</a>, which was cited by gotbletu. Just like in that article, I will use a website as an example. Lets go for <a href="https://www.casio.com/intl/news/">Casio’s news section</a>, because I quite like Casio watches.</p>

<h2 id="steps-to-follow">Steps to follow</h2>

<ol>
  <li><strong>Add a url:</strong> the plain url, since there’s no feed.</li>
  <li><strong>Add a Feed title:</strong> this can be obtained with a query (usually something like <code class="language-plaintext highlighter-rouge">//title</code> or in this case, <code class="language-plaintext highlighter-rouge">//h1</code>) or set as a string.</li>
  <li><strong>Set what defines an item:</strong> using your browser’s developer tools, you can use the inspector to check the html and find if there’s a class or something that defines an article. In this case, something like:
    <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>//a[@class="cmp-newslist__link"]
</code></pre></div>    </div>
  </li>
  <li><strong>Item title:</strong> this should be relative to the item. In Casio’s case its something like:
    <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>descendant::div[@class="cmp-newslist-item__title"]
</code></pre></div>    </div>
  </li>
  <li><strong>Item link:</strong> This maybe a tricky one, but not really, since the link is already in the main item, in this case we do:
    <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@href
</code></pre></div>    </div>
  </li>
  <li><strong>Item content:</strong> Sometimes there is a summary or description, this is not the case here. But its similar to the item title.</li>
  <li><strong>Item date:</strong> From here on, its all up to what you can parse, and how well structured the website is. For the date here I had:
    <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>descendant::div[@class="cmp-newslist-item__date"]
</code></pre></div>    </div>
  </li>
</ol>

<p>Other things such as author, thumbnails and so on can be extrapolated quite easily, or see the blogpost if you need more help. To finish, just hit the <strong>Add</strong> button and test things out!</p>

<p>Sometimes, like me, you will not fetch the things you intended to. You may have problems and its a matter of experience, trial and error and getting used to how HTML and the XPath syntax work. Some of the problems that may happen are getting the wrong date, having the item link go to the main website instead, or no items showing up at all. Keep trying!</p>

<h2 id="full-article-content">Full article content?</h2>

<p>Of course, XPath works to fetch the items and basic metadata from whatever list, feed or archive is used by the website you are scraping. In case you want to learn how to get the full article content too, using FreshRSS’s CSS selector feature, <a href="https://joelchrono.xyz/blog/fetch-full-article-content-freshrss/">I wrote a tutorial for that too</a>. Since then, a couple extra features, such as ignoring some sections of the contents has been added. So please explore the features of FreshRSS, its fun. Feel free to check <a href="https://joelchrono.xyz/tags/rss">other posts I did related to RSS</a></p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2023-01-30-newsboat-freshrss.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2023-01-30-newsboat-freshrss.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2023-01-30-newsboat-freshrss.png" alt="Newsboat query feed and the inspector view of the Casio website" />
  </picture>
  <figcaption class="caption">Newsboat query feed and the inspector view of the Casio website in a sick thumnail I edited with GIMP</figcaption></figure>

<p>This one actually feels like a rather nice blog instead of my typical bursts of kinda whatever content I write in a whim. I did put some effort into this one (its actually more than a thousand words 🤯), so I hope you enjoyed it, just like I enjoyed improving my RSS experience and writing this down.</p>

<p>I love RSS, I love FreshRSS, I love Newsboat, and I love you, dear reader!</p>

<p>This is day 30 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="foss" /><category term="rss" /><summary type="html"><![CDATA[I have talked about RSS a lot, my favorite client on my desktop is Newsboat, and queries are a feature I did not know existed until now, and I can not believe how I lived without them. Likewise, FreshRSS got a great feature a while ago, that allows me to scrape websites using XPath, and its awesome!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://joelchrono.xyz/assets/img/blogs/2023-01-30-newsboat-freshrss.png" /><media:content medium="image" url="https://joelchrono.xyz/assets/img/blogs/2023-01-30-newsboat-freshrss.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Power user of the simple features</title><link href="https://joelchrono.xyz/blog/power-user-of-the-simple-features/" rel="alternate" type="text/html" title="Power user of the simple features" /><published>2023-01-25T23:39:44-06:00</published><updated>2023-01-25T23:39:44-06:00</updated><id>https://joelchrono.xyz/blog/power-user-of-the-simple-features</id><content type="html" xml:base="https://joelchrono.xyz/blog/power-user-of-the-simple-features/"><![CDATA[<p>I just can’t let things stay default, I don’t know why. I want to know every single setting, keybinding and customization I can do with any program I use. I tend to spend quite a bit of time watching videos about tips and tricks about everything.</p>

<p>Some examples are these:</p>

<ul>
  <li>On my screen keyboard. turning off keypress pop-ups, swiping the backspace button to delete words or the space bar to drag the cursor around.</li>
  <li>On Tusky, the Mastodon client, disabling the top bar and moving the navigation buttons to the bottom. Also enabling its amoled dark mode, adding custom tabs, etc.</li>
  <li>Saving comics as .cbz in Tachiyomi, setting up local manga sources for offline reading and enabling automatic backups.</li>
  <li>Enabling custom colors in DAVx5 for my synced calendars, changing the audio stream for reminders in Simple Calendar so I can turnoff normal notifications and not miss events.</li>
  <li>Grouping direct sub-folders in Simple Gallery and enabling rounded corners for the thumbnail style.</li>
  <li>Disabling all automatic downloads for media in apps like Signal or WhatsApp to save space.</li>
  <li>Creating subscription groups on Newpipe and custom tabs for specific channels.</li>
  <li>Using tags on AntennaPod, setting up auto-download for new episodes of specific podcasts, auto-deletion, skipping intros, etc.</li>
  <li>Installing a Magisk module to allow storage access to restricted folders so I can sync them with Syncthing.</li>
  <li>Using Newsboat as a client for my FreshRSS instance</li>
  <li>Setting up Neomutt for email and integrating with CardDAV using khal and vdirsyncer</li>
  <li>Enabling themes and custom css on Firefox to setup a onliner interface.</li>
</ul>

<p>And these are some features on many different apps that I just enjoy having around and I can’t help but keep tweaking all the time</p>

<p>This is day 25 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="short" /><category term="android" /><category term="linux" /><summary type="html"><![CDATA[I always like to know the tiniest details of apps I am using, and since time's almost up. A short blogpost about it will do]]></summary></entry><entry><title type="html">Rofi is my favorite app launcher</title><link href="https://joelchrono.xyz/blog/rofi-is-my-favorite-launcher/" rel="alternate" type="text/html" title="Rofi is my favorite app launcher" /><published>2023-01-16T13:15:00-06:00</published><updated>2023-01-16T13:15:00-06:00</updated><id>https://joelchrono.xyz/blog/rofi-is-my-favorite-launcher</id><content type="html" xml:base="https://joelchrono.xyz/blog/rofi-is-my-favorite-launcher/"><![CDATA[<p>Rofi describes itself as a <em>A window switcher, application launcher, ssh dialog, dmenu replacement and more</em>.</p>

<p>And that’s pretty much it. Its super fast and minimal, and works pretty much anywhere. There is even a <a href="https://hg.sr.ht/~scoopta/wofi">Wayland clone of it</a>, which I don’t use but at least its there.</p>

<p>Rofi is so good, I got really fired up when my fellow fedizen <a href="https://lazybear.social/hyde">@hyde</a> mentioned how <a href="https://lazybea.rs/posts/rofi-not-for-me/">rofi isn’t for him</a>, and he will stick to the default AwesomeWM launcher, I couldn’t help myself, and decided to write this post and answer to his complaints.</p>

<p>First of all. This is all written in a jokeful manner, no hard feelings or anything.</p>

<p><em>Seriously?</em> You use <a href="https://lazybea.rs/posts/passwords-and-websites/">pass</a> as your password manager, you use <a href="https://lazybea.rs/posts/dracula-and-mutt/">mutt for email</a>, stuff like <a href="https://lazybea.rs/posts/fzf/">fzf</a> and a bunch of other tools, you even got a weekly series of <a href="https://lazybea.rs/tags/cli/">CLI tool recommendations</a>. HOW DARE YOU disrespect rofi like THAT!?</p>

<p>Rofi can be integrated with pretty much all of the above. You can use tools such as <a href="https://github.com/carnager/rofi-pass">rofi-pass</a> to autofill your passwords everywhere (kind of better than KeepassXC Browser extensions tbh). You could create many kinds of things with neomutt, like <a href="https://beune.dev/posts/mailto-neomutt/">handling mailto: links</a></p>

<p>You can pretty much pipe whatever you want on rofi, and create general scripts for a ton of stuff. Compared to some launchers that come built-in in some desktop environments or window managers. Rofi will work on them all and can be customized quite a lot.</p>

<p>The only thing that comes close to rofi is one of its inspirations, <a href="https://tools.suckless.org/dmenu/">dmenu</a>. But given that it is even more bare bones and any additions have to be patched (rather than simply configured with rofi). I find it a little harder to sell for most.</p>

<p>I have a few posts sharing scripts, some of them <a href="/blog/rofi-automated-blog/">using rofi</a> and its simply <strong>fantastic</strong>. I’ve a couple other scripts you may be interested in checking out!</p>

<p>I actually recently changed the <a href="/blog/a-quick-tag-editor-for-my-website/">script to edit tags</a> to use just rofi. You can see some it, as well as some more of my rofi scripts <a href="https://tildegit.org/chrono/dotfiles/src/branch/main/stow_home/rofi/.config/rofi">in my dotfiles</a></p>

<p>This is day 16 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="bash" /><category term="coding" /><category term="linux" /><category term="foss" /><category term="ramble" /><summary type="html"><![CDATA[You probably already know by now, because I've mentioned almost as many times as to have a tag just for it. You should use Rofi!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://joelchrono.xyz/assets/img/blogs/2023-01-16-rofi.jpg" /><media:content medium="image" url="https://joelchrono.xyz/assets/img/blogs/2023-01-16-rofi.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Back to dwm</title><link href="https://joelchrono.xyz/blog/back-to-dwm/" rel="alternate" type="text/html" title="Back to dwm" /><published>2023-01-13T08:48:38-06:00</published><updated>2023-01-13T08:48:38-06:00</updated><id>https://joelchrono.xyz/blog/back-to-dwm</id><content type="html" xml:base="https://joelchrono.xyz/blog/back-to-dwm/"><![CDATA[<p>Pretty much a year ago, I switched to dwm and made a post about <a href="https://joelchrono.xyz/blog/ricing-dwm-2022/">my configuration for it</a>. The reason for doing so, as I explained, was that spectrwm wasn’t on its latest version and I couldn’t use some features I liked, because of Linux Mint.</p>

<p>Now I am on Void Linux though, and even if I have access to the latest and greatest software. I decided to return for dwm for a while. Maybe permanently?</p>

<p>I managed to patch everything I ever wanted. Even if I had to do quite a bit of manual work. What I did was use <a href="https://youtu.be/UEmPboaTDpQ">the patching guide by uoou</a>, which used git branches for every patch you apply, and, in my case as suggested <a href="https://www.youtube.com/watch?v=UEmPboaTDpQ&amp;lc=Ugw_pRQitdmlgNpMcbx4AaABAg">by a comment</a>. A “build” branch where I merge all the branches into one, which leads to less errors? Maybe its a placebo, but its quite easy to do.</p>

<h1 id="patches-applied">Patches applied</h1>

<p>In the post I mentioned before, I had already mentioned some of my reasoning behind the patches I’ve used. Here I’ll just list them again in case you are too lazy to check that other post. They can be found in <a href="https://dwm.suckless.org/patches/">dwm’s website</a>.</p>

<ul>
  <li>alwayscenter</li>
  <li>attachbottom</li>
  <li>autostart</li>
  <li>functionalgapps(+pertag)</li>
  <li>movestack</li>
  <li>shift-tools</li>
  <li>systray</li>
</ul>

<h1 id="other-changes">Other changes</h1>

<p>For my bar, I went with the default and used <a href="https://notabug.org/dm9pZCAq/aslstatus">aslstatus</a>. Its pretty good! I am using the same configuration I shared in my previous post. Pretty much exactly, even though some more features were added to the tool that you may wanna check out.</p>

<p>Picom, the compositor I use, makes window borders transparent. <a href="https://github.com/szatanjl/dwm/commit/1529909466206016f2101457bbf37c67195714c8">A couple of lines fix it pretty nicely</a>.</p>

<p>Right now I am still using some systray stuff, like <code class="language-plaintext highlighter-rouge">volumeicon</code>, which kinda duplicates the volume info. I will fix it one of these days…</p>

<p>Regardless, here’s how its looking!</p>

<figure class="img">
  <picture>
    <source srcset="/assets/img/blogs/2023-01-13-dwm.webp" type="image/webp" />
    <source srcset="/assets/img/blogs/2023-01-13-dwm.png" type="image/png" />
    <img class="mx-auto" src="/assets/img/blogs/2023-01-13-dwm.png" alt="My dwm rice" />
  </picture>
  <figcaption class="caption">My current dwm rice</figcaption></figure>

<h1 id="final-words">Final words</h1>

<p>In the end I am quite happy with my current setup. Everything works just fine. I had heard that the systray patch was hard to apply. I don’t know if its the relatively recent patch for dwm 6.4 or if its just that the patching method I mentioned is better. All I did was create a branch with every c+patch applied, then a branch specifically for the systray patch, and I  merged them both, there were no errors at all. Thankfully I doubt I’ll add any more patches anytime soon. This is great as it is.</p>

<p><strong><a href="https://tildegit.org/chrono/dwm">You can find my configuration here</a></strong>. Just build it and it will be good to go.</p>

<p>This is day 13 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="ricing" /><category term="linux" /><category term="dotfiles" /><category term="foss" /><category term="unix" /><summary type="html"><![CDATA[After a while of being too lazy to try and configure dwm again. I finally decided to journey into setting up this window manager again. And its better than ever for me]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://joelchrono.xyz/assets/img/blogs/2023-01-13-dwm.png" /><media:content medium="image" url="https://joelchrono.xyz/assets/img/blogs/2023-01-13-dwm.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Updating a package for Void Linux</title><link href="https://joelchrono.xyz/blog/updating-a-package-for-void-linux/" rel="alternate" type="text/html" title="Updating a package for Void Linux" /><published>2023-01-10T12:00:21-06:00</published><updated>2023-01-10T12:00:21-06:00</updated><id>https://joelchrono.xyz/blog/updating-a-package-for-void-linux</id><content type="html" xml:base="https://joelchrono.xyz/blog/updating-a-package-for-void-linux/"><![CDATA[<p>I am very happy with my transition to Void Linux, I’ve come and gone many times, but I think that this one may finally stick.</p>

<p>I’ve known about the <a href="https://github.com/void-linux/void-packages">void-packages repository</a> for a while, it is quite similar to the AUR. Its a place where you can contribute new programs and libraries to be packaged in Void Linux, and its needed if you want to install some non-free packages like Discord.</p>

<p><a href="https://openlp.org">OpenLP</a> is a free and open source worship presentation software, mainly for churches. Basically, it lets you display Bible verses, lyrics and the like. Its a tool used in my local church and I find it quite great! Its latest stable release just came out a few days ago, and since I noticed Void didn’t have the update yet. I decided to try updating it myself.</p>

<p>I expected to do some complexstuff, but after a quick read of their <a href="https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md">contributing guide</a>, and after checking the history of commits previously done for the package I was going to work with, I realized it shouldn’t be too difficult.</p>

<p>In my case, I only changed the version and the checksum, I did <code class="language-plaintext highlighter-rouge">./xbps-src pkg OpenLP</code> and, like magic, I was able to build it and install it without a problems.</p>

<p>However, when I ran some tests (using the <code class="language-plaintext highlighter-rouge">-Q</code> flag in xbps-src) I noticed that it was mostly fine, but a few tests failed to run. I had already submitted a PR, and I decided to try and look for solutions.</p>

<h1 id="sidequest-irc-chat">Sidequest: IRC Chat</h1>

<p>I went to the []Libera IRC network](https://libera.chat) to chat in the <code class="language-plaintext highlighter-rouge">#openlp</code> chatroom and ask some questions. I eventually realized that there were some changes done in Python 3.11 that were not accounted for just yet in this latest release. Although a few MRs later they should be fixed.</p>

<p>Regardless, I now knew that the problems were on their side, and even if the tests failed, the program was working alright.</p>

<p>Then I felt like selhosting my own IRC web client to not miss any messages, just in case. So I went ahead on my Yunohost applications and ended up trying out <a href="https://github.com/thelounge/thelounge">The Lounge</a>, which can be easily installed. I found it quite good, and its always connected, which was incredibly useful for me. I was initially on <a href="https://web.libera.chat">Libera’s public Kiwi instance</a>, but I find TL to be quite good, and its also more up to date, relatively speaking.</p>

<h1 id="updating-dependencies">Updating dependencies</h1>

<p>So anywyays, I got a couple suggestions on <a href="https://github.com/void-linux/void-packages/pull/41526">my PR’s GitHub thread</a> and ended up updating two other Python dependencies in my PR, I was actually unaware of them, but another mantainer, who is also <a href="https://beckmeyer.us/">a fellow Joel</a>, sent me the patch so I could commit them myself without much trouble.</p>

<p>After adding a couple other lines to skip tests that still are not working on Python 3.11, building the package with <code class="language-plaintext highlighter-rouge">./xbps-src pkg -Q OpenLP</code> is now successful on my end.</p>

<h1 id="finishing-words">Finishing words</h1>

<p>By the time I write this, my PR is still not merged just yet. There is also a chance that the OpenLP devs make a new version by tomorrow and I have to update my PR once again.</p>

<p>For now, this was quite a fun project, I kind of wanna look for other simple programs and tools that kinda build themselves just fine, and contribute that way, even if I only change a couple of lines everytime.</p>

<p>I will update this blogpost if my PR is successful or some other news happen.</p>

<p>This is day 10 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="git" /><category term="foss" /><category term="distro" /><summary type="html"><![CDATA[This is not a tutorial, I only share my experience and side quests that led me to commiting a package for Void Linux, the distro I use, with relative success]]></summary></entry><entry><title type="html">Organizing my Email, reliving memories</title><link href="https://joelchrono.xyz/blog/organizing-my-email-and-memories/" rel="alternate" type="text/html" title="Organizing my Email, reliving memories" /><published>2023-01-09T19:09:06-06:00</published><updated>2023-01-09T19:09:06-06:00</updated><id>https://joelchrono.xyz/blog/organizing-my-email-and-memories</id><content type="html" xml:base="https://joelchrono.xyz/blog/organizing-my-email-and-memories/"><![CDATA[<p>Some people here know that <a href="https://joelchrono.xyz/blog/mutt-wizard">I’ve been using Neomutt</a> for the past few months. I’ve enjoyed it quite a lot. But if I am being honest, I still haven’t taken the time to get to fully know my way around it. Stuff I am used to, like using drag-and-drop to move mails around, create folders and the like, I still haven’t figured out.</p>

<p>This is why <a href="https://bbbhltz.codeberg.page/claws-mail/">a blogpost</a> by <a href="https://fosstodon.org/@bbbhltz">@bbhltz</a> about Claws Mail, made me want to try it out once again, since it’s a graphical email client with a really minimal set of features, as he said:</p>

<blockquote>
  <p>It does email. It can do some other things, but really, it is all about email.</p>
</blockquote>

<p>And ain’t that enough!? I’ve used and enjoyed Thunderbird in the past, but I am not a fan of its current metamorphosis phase, I know its quickly evolving, but right now having a sidebar and tabs in the same view, displaying the same thing, as well as other small UX details, keep me away from it, <em>for now</em>.</p>

<h1 id="cleaning-and-setting-up">Cleaning and setting up</h1>

<p>Thanks to Claws Mail I can quickly move stuff around and sort it however I please. Its so light and simple, at least with normal IMAP and SMTP accounts.</p>

<p>To organize my email, I mostly just sort by Sender and delete in bulk whatever comes from subjects like “no-reply” emails and the like. I can also drag and drop threads and conversations to some special folders I made for them.</p>

<p>I use Disroot as my email provider, and it lets me create filters using their web interface to automatically categorize my email as I want.</p>

<p>Back to Claws, I had a bit of trouble setting up Google accounts with their OAuth options. But I barely get any emails there anyway, I could go using an App Password, but I don’t feel like logging in to it to be honest. Decent email providers are quite easy to setup, as with any Desktop client.</p>

<p>I think one of my goals this year will be to understand Neomutt more, for stuff such as selecting multiple emails, moving them around and swapping between inboxes. But for now, both programs are extremely light, and I don’t feel too bad about keeping them installed in my system.</p>

<h1 id="reviving-memories">Reviving memories</h1>

<p>In other news, I read a couple of old email threads once again, reliving moments like the first time I sent an encrypted email, that one time I sent an email to Kev <a href="https://kevquirk.com/we-need-to-talk-about-kevin/">and I didn’t refer to him as Kev (mistake)</a>, as well as those few times I’ve gotten emails related to my blogposts (and not <a href="https://joelchrono.xyz/blog/i-somehow-broke-my-blog-(but-i-fixed-it)">how borked my website is sometimes</a>).</p>

<p>So yeah, Neomutt, Claws Mail, whatever. Everytime I mention email there’s always someone mentioning its outdated and insecure.</p>

<p>Look. For me, there’s something about reading old threads, with a subject, with a good bottom posting nicely quoted style and a simple plain text view, without feeling forced to reply as soon as I open it, that makes it quite appealing to me from time to time. I know, I know.</p>

<p>You don’t know how many good conversations I’ve lost in my phone, for so long I ignorantly used WhatsApp, still the king of messaging in my country, and many times I ended up losing conversations, that I’ll admit, are probably super cringe for me today, but still memories I would like to have back. Email is just there, and we even got subject lines and stuff. Just plain cool.</p>

<p>This is day of 9 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="email" /><category term="linux" /><category term="productivity" /><category term="ramble" /><category term="foss" /><summary type="html"><![CDATA[I've been doing a bit of cleanup with my email, and I also setup some tools to help in the future! But I also relived the past... such a deep summary am I right?]]></summary></entry><entry><title type="html">My favorite color scheme</title><link href="https://joelchrono.xyz/blog/my-favorite-color-scheme/" rel="alternate" type="text/html" title="My favorite color scheme" /><published>2023-01-04T17:49:52-06:00</published><updated>2023-01-04T17:49:52-06:00</updated><id>https://joelchrono.xyz/blog/my-favorite-color-scheme</id><content type="html" xml:base="https://joelchrono.xyz/blog/my-favorite-color-scheme/"><![CDATA[<p>Ricing my linux desktop, especially when you are a window manager user, is kind of the norm. This usually starts with choosing a theme for the terminal colors, which are usually also used when coding. <a href="https://nordtheme.com">Nord</a> was always my go-to ever since I found it around two years ago. In fact, funnily enough, I had been using it for a while and its showcased in some screenshots from my 4th post of the first time doing <a href="https://100daystooffload.com">#100DaysToOffload</a> (or blogging at all, to be fair), where I shared <a href="https://joelchrono.xyz/blog/spectrwm-setup">my spectrwm ricing</a>.</p>

<p>Nowadays though, I’ve found another color scheme that I don’t see mentioned too often. it’s name is Tokyo-Night, and I truly fell in love with it the moment I saw it.</p>

<p>I changed my color scheme on this blog months ago. But the code snippets CSS was still broken until yesterday, when I finally fixed it so now code looks good on my website.</p>

<p>I also updated my spectrwm bar to match the colors correctly, which was pretty cool.</p>

<p>I still mainly use awesomewm, but I have been using spectrwm today and doing those theme changes while I was at it.</p>

<p>I plan to create a repository to host these themes properly, since I couldn’t find the color scheme for anything but VSCode and Vim, so I’ll share the CSS and update my spectrwm dotfiles soon enough.</p>

<p>I’ll share some links in case you want to use this theme too!</p>

<ul>
  <li><a href="https://github.com/ghifarit53/tokyonight-vim">Tokyonight-vim</a></li>
  <li><a href="https://github.com/zatchheems/tokyo-night-alacritty-theme">Alacritty theme</a></li>
  <li><a href="https://addons.mozilla.org/en-US/firefox/addon/tokyonight_vim/">Tokyonight for Firefox</a></li>
  <li>For GTK I find <a href="https://github.com/daniruiz/skeuos-gtk">SkeuOS</a>to be suitable enough, its not perfect, but I like it, I don’t mind much.</li>
</ul>

<p>Coming soon:</p>
<ul>
  <li>CSS (built with Pygments, can already be seen in my website’s <a href="https://github.com/joelchrono12/joelchrono12.ml">source code</a>)</li>
  <li>FreshRSS TokyoNight Theme?…</li>
</ul>

<p>This is day 4 of my second run of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="ricing" /><category term="linux" /><category term="blog" /><summary type="html"><![CDATA[For the longest time, Nord has been my favorite, but a few months ago I switched to something else. Tokyo Night is my new favorite!]]></summary></entry><entry><title type="html">When Windows is Enough</title><link href="https://joelchrono.xyz/blog/when-windows-is-enough/" rel="alternate" type="text/html" title="When Windows is Enough" /><published>2022-12-20T20:49:17-06:00</published><updated>2022-12-20T20:49:17-06:00</updated><id>https://joelchrono.xyz/blog/when-windows-is-enough</id><content type="html" xml:base="https://joelchrono.xyz/blog/when-windows-is-enough/"><![CDATA[<p>So, a friend of mine wanted me to install an office program on an old netbook he was planning to give away to someone else.</p>

<p>This made it quite difficult for me, because I knew I could not really afford to play around since I was not sure that whoever ends up with the device would be willing to put up with having to learn to use Linux, and having to use a fairly minimal environment or something like that.</p>

<p>But regardless, I wanted to play around for a bit and ended up finding a couple of interesting distros that I think you may want to try out if you happen to have an old device.</p>

<h1 id="the-limitations">The limitations</h1>

<p>So, the netbook I was working with is an HP Mini 110. Looking online I realized <a href="https://www.youtube.com/watch?v=aA5EsBtNXAk">TechHut had done a video</a> using a model in the same 110 line, but mine was even worse than that. It features an Intel Atom processor, 1GB of RAM and 140 GB of HDD storage. using a model in the same 110 line, but mine was even worse than that. It features an Intel Atom processor, 1GB of RAM and 140 GB of HDD storage. Its painful, unlike Brandon’s, this device does not even support 64-bit systems so yeah.</p>

<h1 id="the-distributions-i-tried">The distributions I tried</h1>

<p>I <a href="https://fosstodon.org/@joel/109547171302448591">did a post on Mastodon</a> asking for some suggestions after doing some research myself. I was looking for something that was user friendly, but also something that did well with low specifications.</p>

<h2 id="mx-linux-2121-32-bit">MX Linux 21.2.1 32-bit</h2>

<p>This was the first distro I decided to try, it was nice to go back to MX Linux after a while. It was the second distro I ever tried and had a nice time using it back then, it was my thirst for the latest and greatest that made me want to distrohop from it.</p>

<p>Anyways, while on this device it was working decently enough, I was not pleased with the performance, not at all. Despite the low ram usage. MX Linux has always considered itself as a mid-weight distribution, so I quickly went ahead and decided to try out something else., so I quickly went ahead and decided to try out something else.</p>

<h2 id="loc-os-22">LOC-OS 22</h2>

<p>Even though Spanish is my native language, I am not very active on the Linux Spanish community at all. But I somehow decided to watch a <a href="https://youtu.be/15a10iNMifU">video by GeeksTelevisión</a> talking about LOC-OS, a distro specifically made for old PCs, developed by another YouTube Creator, Nico from <a href="https://www.youtube.com/channel/UCl8XUDjAOLc7GNKcDp9Nepg">Locos Por Linux</a>.</p>

<p>I decided to give it a spin. It is a distro based on Debian 11 and a bit of Antix Linux, which is also related to MX Linux, funnily enough.</p>

<p>Regardless, this distro is wonderful. It has a super low resource usage. 120MB of RAM, using LXDE and little else. It came with just enough software to not be bloated but still feature-rich, and also quite a bit of nice scripts and even its own package management system, LPKG.</p>

<p>The thing was great, but the only problem was that the netbook’s display was too small to display some QT and GTK windows. While not difficult a difficult problem for me (using the ALT key is second nature nowadays), this small detail made me realize that even if this distribution worked wonderfully. I would still have to settle for Windows, just because this was not a device for me to play with.</p>

<h1 id="back-on-windows-7">Back on Windows 7</h1>

<p>So, I decided to go back to Windows. I looked for a stripped down ISO file and installed it again, I got it activated and installed some other programs with it.</p>

<p>I actually found it rather smooth and quick after installing the graphic drivers for it. I think that had I tried some linux distributions that came out at the same time as Win 7, I probably would have had an even greater experience.</p>

<p>But again, the problem was that this device was not for me. So I had to settle.</p>

<p>I installed Microsoft Office 2010, because LibreOffice had some missing libraries and I could not bother to fix it. I also installed 7-Zip and VLC, to at least have some free software running on that device, and I called it a day.</p>

<p>I would love to try this device a bit more, but after all its not for me and without and SSD to use with it, even the simplest tasks were a bit of a chore when running modern software with it. Maybe some other day I will get a Thinkpad or something. Until next time!</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="windows" /><category term="storytime" /><summary type="html"><![CDATA[No, I did not switch to Windows or anything, but I just went on a whole journey trying Linux on an old netbook and these are my thoughts]]></summary></entry><entry><title type="html">The Hobby Cycle</title><link href="https://joelchrono.xyz/blog/the-hobby-cycle/" rel="alternate" type="text/html" title="The Hobby Cycle" /><published>2022-09-09T15:15:00-05:00</published><updated>2022-09-09T15:15:00-05:00</updated><id>https://joelchrono.xyz/blog/the-hobby-cycle</id><content type="html" xml:base="https://joelchrono.xyz/blog/the-hobby-cycle/"><![CDATA[<p>I’ve always been a very active person, I can’t be quiet for more than a few minutes, unless I find myself in an ideal environment.</p>

<p>It all started with just basic fidgeting of pencils, rubberbands or paper. As a kid pretty much any of those things would do to keep me calm, even today honestly.</p>

<p>I was going to talk about the story of how I learned each of my hobbies and stuff, but honestly each of them could be a whole article by themselves. So I will just mention this fun fact about me which you may already understand with the title.</p>

<p>Each year, or perhaps even every season, I tend to rediscover a hobby once more, be it magic, origami, retrogaming, speedcubing and even some subsets of them too. You may remember a time where I kept spamming pictures of origami in my social media feed, and even added a new section for it on my website. Well, as you can see by now, I’ve not really uploaded any new pictures of new models. Right now I got into playing on my PSP again, specifically Monster Hunter Portable 3rd. So I am not really back into gaming, I am more into a specific game.</p>

<p>I also brought my deck of cards with me yesterday for a bit to see if it sticks again. But I realized I can’t really force that stuff. Eventually I’ll come across some interesting video or news that pulls me back into that hobby.</p>

<p>I kinda feel like this semester has been kinda wild, I said to myself that I need to have the best grades of my whole career, and its almost as if my brain translated that as “try to go back into as many hobbies as you can and try to keep up with school too”.</p>

<p>So yeah, this usually happens naturally as I consume content or meet new people who happen to be into the same thing. I expect game development to make a comeback one of these days, but I still don’t know how to predict whats coming next.</p>

<p>I know for sure that my current main hobby is gaming on my PSP though, I hope I can finish my game before I get interested in something else. Manga has managed to stick around for months now, but maybe I’ll lose interest at some point too, but I expect this one to not go away as soon as others that require manual work, practice and stuff.</p>

<p>Anyway, that’s pretty much it for today. I also started journaling since I want to write without thinking much, I won’t follow any particular format since I don’t want to have stuff that would only make me resist and procrastinate doing it. Wish me luck!</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="hobbies" /><category term="webdev" /><category term="gaming" /><summary type="html"><![CDATA[There is a bit of a thing with me that has evolved as times goes on. I love learning new hobbies, but I also can't avoid rediscovering my love for old ones, but lately its been a little crazy and it looks like each day I am doing something different.]]></summary></entry><entry><title type="html">Local music is what I need</title><link href="https://joelchrono.xyz/blog/local-music-is-what-i-need/" rel="alternate" type="text/html" title="Local music is what I need" /><published>2022-08-26T09:25:58-05:00</published><updated>2022-08-26T09:25:58-05:00</updated><id>https://joelchrono.xyz/blog/local-music-is-what-i-need</id><content type="html" xml:base="https://joelchrono.xyz/blog/local-music-is-what-i-need/"><![CDATA[<p>So there was a post I read on my RSS feed, by fellow fosstodon user, <a href="https://fosstodon.org/@nathandyer">Nathan Dyer</a>, about <a href="https://nathandyer.me/2022/06/13/music-library.html">what you actually need to build a local music collection</a>. I found it quite a nice read, and it made me think about my current setup, using Navidrome (previously Jellyfin, but since I moved to Yunohost I haven’t installed it again) to stream music to my device.</p>

<p>Then I realized something that was quite revealing.</p>

<p>I don’t have a mobile data plan, and the wifi at school and most public places, sucks.</p>

<h1 id="well-why-dont-you-just-download-the-stuff-you-want-from-your-server">Well, why don’t you just download the stuff you want from your server?</h1>

<p>That’s a very valid question dear reader, but does it make sense for me to do it? My music collection is not that big, yeah I do have some flac files and others are just mp3, but the truth is I don’t even reach 10GB in total.</p>

<p>Besides, navidrome music clients, while quite good, are still not as feature rich, and navidrome itself limits the customization a lot, I would have to upload music to my server already fully tagged and such, since write access is not allowed, its a good security measure, but annoying when I realize I made a mistake when tagging my music and details like that.</p>

<p>Jellyfin is not much different, basic things like playlist creation tend to fail even with clients such as Finamp. The functionality is better when online, but since I would normally just download albums and create/edit playlists on the move (offline), its not really a good experience.</p>

<h1 id="so-what-are-you-gonna-do-then">So what are you gonna do then?</h1>

<p>Well, first of all, back it all up properly. I already did a big mess one time where I lost like a fourth of my collection because of symlink shenanigans.</p>

<p>I decided to go with Syncthing, because its the best thing ever, and I will have 3 separate copies of my library. This means more storage is in use, but I don’t really have a problem with that, after all, if you don’t have 3 copies of something, it doesn’t exist, right?</p>

<p>Besides, this means any changes I do to the files from one device will reflect properly in the other 2, so I can use something like Kid3 or Picard on my desktop and make my phone pickup the metadata pretty much inmediately.</p>

<p>I can also make a decent folder structure, since I hate having a single Music folder with all the music all over the place, please don’t do that, but if you do, <em>unsubscribe from my RSS immediately</em>.</p>

<h2 id="programs-i-use-for-playing-editing-and-scrobbling">Programs I use for playing, editing and scrobbling</h2>

<p>A neat feature that both Jellyfin and Navidrome had, and that I use during some of my <a href="/tags/monthly">Monthly Summaries</a> is music scrobbling, which means keeping track of listened tracks. I was wondering if it was possible to do the same thing, and I realized that its actually really easy!</p>

<p>Installing <a href="https://simple-last-fm-scrobbler.github.io/sls/">Simple Scrobbler</a> from F-Droid did the trick, I use <a href="https://listenbrainz.org/">Listenbrainz</a> to track my music consumption, it works quite well.</p>

<p>For listening to my music, I use <a href="https://retromusic.app/">Retro Music Player</a>, its pretty much the best looking player on F-Droid, and it also supports editing opus files. Phonograph Pro is another great option, but I could not edit opus files there, the interface is starting to look outdated to me too.</p>

<p>On my desktop, I am using Elisa, which is the default music player in KDE Plasma, which I am using on Fedora. It does not seem to recognize opus files as music files though, so I am looking for other options. I don’t really play music from my computer though.</p>

<p>Editing metadata is done, as I mentioned, with <a href="https://kid3.kde.org/">Kid3</a>, but there are tons of other programs too, or just use the music player itself, as I do on Android.</p>

<h1 id="what-about-you">What about you?</h1>

<p>I am pretty happy with my setup right now, it works, it backs my data on multiple places and keepts it synced, and the experience of playing music has improved a lot.</p>

<p>Once again, Syncthing comes to the rescue, one of the things I have doubts about is how much does it affect the performance and lifespan of hard disks. I hope not that much, its not like I’ll add music every day, I should probably pause the folder from time to time and just have my phone and laptop exchange data, since I download music from my computer most of the time anyways.</p>

<p>One last question remains: how do I get music? Well, I don’t know what to tell you, I usually <em>seek into my soul</em> to find the music I need. I’ve gotten music on Bandcamp too, ripping it from CDs a couple times, or using something like <a href="https://github.com/spotdl/">SpotDL</a> may be up your alley if you don’t care about the quality as much.</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="music" /><category term="selfhost" /><category term="linux" /><category term="android" /><summary type="html"><![CDATA[So, I was running Jellyfin, I tried Navidrome, but honestly, I probably don't need all of that at all, do you?]]></summary></entry><entry><title type="html">Yunohost to the rescue</title><link href="https://joelchrono.xyz/blog/yunohost-x-tailscale/" rel="alternate" type="text/html" title="Yunohost to the rescue" /><published>2022-08-13T14:31:22-05:00</published><updated>2022-08-13T14:31:22-05:00</updated><id>https://joelchrono.xyz/blog/yunohost-x-tailscale</id><content type="html" xml:base="https://joelchrono.xyz/blog/yunohost-x-tailscale/"><![CDATA[<p>So I was saying I was lazying around and stuff but I sure did act kinda fast on fixing my issues with my Raspberry. Sadly pluggin a keyboard and a display did not work, I had a black screen. So, to avoid trouble, I decided to use a different SD card and install another distro. This time I went with <a href="https://yunohost.org">Yunohost</a>, which is quite more user friendly and provides a web interface to install and manage users and applications.</p>

<p>Its more bloated than DietPi, but it works, and it provides a lot more applications, which require less fiddling around with the terminal too.</p>

<p>The only problem is that it was asking me for a domain from the start. Since I already have a domain I just used it, but it provided me with self-signed certificates. This was fine, I could trust them, but I wanted to get my own certificates going.</p>

<p>I use Porkbun as a domain provider, it works great and has its own certificates, which I can use no problem. You can get your ssl certificate from a link like this, once you log in: <code class="language-plaintext highlighter-rouge">https://porkbun.com/account/ssl/yourdomain.com</code></p>

<p>I pretty much followed <a href="https://yunohost.org/en/certificate_custom">this guide to use custom certificates</a>, except that most of it explains how to turn the files to the <code class="language-plaintext highlighter-rouge">.pem</code> format which is already provided by Porkbun, so I don’t have to fiddle too much with the <code class="language-plaintext highlighter-rouge">openssl</code> and <code class="language-plaintext highlighter-rouge">wget</code> commands used in the guide, I simply used <code class="language-plaintext highlighter-rouge">scp</code> and renamed them to be how Yunohost expects them.</p>

<p>Porkbun provides these certificates but they expire in 3 months, but since I am the only one using my stuff, I just download them again from them if I need.</p>

<p>One thing I really liked here is the Single Sign-On feature, so I use a single login screen and gain access to all the services I need, its just great.</p>

<p>Oh, I almost forgot, Tailscale can’t be installed from the web interface, but I can ssh into my pi and, since the distro its pretty much vanilla Debian 11, the installation is as simple as it gets, so accessing my stuff from outside my local network is now possible.</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="raspberrypi" /><category term="selfhost" /><category term="linux" /><category term="internet" /><summary type="html"><![CDATA[Reviving my Raspberry Pi led me to Yunohost, which was quite tedious, but it might end up easier than what I used before in the long run.]]></summary></entry><entry><title type="html">A troublesome Raspberry Pi install</title><link href="https://joelchrono.xyz/blog/troublesome-raspberrypi-setup/" rel="alternate" type="text/html" title="A troublesome Raspberry Pi install" /><published>2022-06-20T11:00:51-05:00</published><updated>2022-06-20T11:00:51-05:00</updated><id>https://joelchrono.xyz/blog/troublesome-raspberrypi-setup</id><content type="html" xml:base="https://joelchrono.xyz/blog/troublesome-raspberrypi-setup/"><![CDATA[<p>I’ve used a Raspberry Pi to selfhost a lot of stuff, such as Nextcloud or FreshRSS. Eventually I managed to inspire a friend to try it out too. He just wanted a simple file server that could be accessed on his network.</p>

<p>The distro of choice was of course <a href="https://dietpi.com/">DietPi</a>, which has proved to be quite powerful thanks to their software installation scripts that <em>just work</em>.</p>

<p>So I downloaded the OS image and flashed it with Raspberry Pi’s Imager since I already had it installed. No real problems at all so far.</p>

<p>The first detail I noticed was that somehow Wi-Fi was not working nicely. This had already happened to me on my own Pi, but I didn’t worry too much, since I connect to it via Ethernet. Which would be the case here too.</p>

<p>The setup was fairly standard, once the system was installed I went ahead and used their <code class="language-plaintext highlighter-rouge">dietpi-software</code> tool to install Nextcloud.</p>

<p>It was here were everything got a little annoying. My friend does not live in a very urban area, so the Internet is not of the best quality. There are constant hiccups and I had to re-run the script trying to have no downtime or errors.</p>

<p>DietPi’s scripts can detect when an error shows up and lets you retry the last command, so retrying the install was not difficult, it was just a matter of having to try each step a couple times.</p>

<p>At one point the script downloads the latest version using <code class="language-plaintext highlighter-rouge">curl</code>, a perfectly normal procedure. However, the download stopped midway and it looks like there was no check to verify the integrity of the tar file. So the script kept going until its time to extract the file, which led to an error.</p>

<p>So, retrying the latest command this time would not work, since the file is technically there, just broken. So how did I fix this?</p>

<p>Its easy right? just download again and replace the file. So I go ahead and ssh into another terminal, and I proceed to download the file, this time via <code class="language-plaintext highlighter-rouge">wget</code>. But for some reason, the download keeps failing or getting stuck.</p>

<p>Because of the bad internet, my friend actually has some different providers and modems. So I connect to another network and try downloading the file on my computer. It worked! although it was kinda slow. I could have connected the pi to such network but the Ethernet cable was not long enough.</p>

<p>So I go ahead, connect to the same network as the pi and <code class="language-plaintext highlighter-rouge">scp</code> the file to it.</p>

<p>Yet another failure. I don’t know why would it fail, maybe Dropbear, the SSH server installed on the Pi, is not fully compatible with OpenSSH on my computer. The point is that I had to find another way to send the file.</p>

<p>Using the internet itself was not an option. Thinking back I could have just plugged a USB stick, mount it, place the file where it should be and call it a day. But I like to make things more difficult for myself.</p>

<p>I started a quick server on my computer, where I placed the file I needed, then I used wget to download it, since its the local network there was no problem at all.</p>

<p>Now I just gave the file the right permissions, placed it where it was expected (<code class="language-plaintext highlighter-rouge">/tmp/DietPi-software</code>, If I recall correctly) and retried the script. It all worked out and the installation finally finished properly.</p>

<p>Now, there is only one problem. Since there are a lot of available routers, sometimes my friend won’t be able to access the local IP of the pi when connected to a different one. Of course, we already know the solution to that, installing <a href="https://tailscale.com">Tailscale</a>! or setting up WireGuard, but I am lazy.</p>

<p>This meant that I would have to download it, and using the internet is not fun. Thankfully I just had to try the installation multiple times until it finally worked out.</p>

<p>Now it was just a matter of installing the Nextcloud Desktop client and Tailscale on his computer, and he got a personal Nextcloud instance for himself and his family. I didn’t have a chance to setup more devices though.</p>

<p>This was quite a nice, challenging experience. I am glad it all worked out in the end and I felt pretty accomplished with what I did.</p>]]></content><author><name>joelchrono</name><email>me@joelchrono.xyz</email></author><category term="linux" /><category term="raspberrypi" /><category term="storytime" /><category term="selfhost" /><category term="internet" /><summary type="html"><![CDATA[I offered to help a friend who wanted to use a Raspberry Pi as a file server. But I got into a lot more trouble than I expected.]]></summary></entry></feed>