<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ffuentes</title>
    <description>ffuentes on SDF.org</description>
    <link>http://ffuentes.sdf.org/</link>
    <atom:link href="http://ffuentes.sdf.org/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 06 Sep 2025 22:42:33 -0400</pubDate>
    <lastBuildDate>Sat, 06 Sep 2025 22:42:33 -0400</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
      <item>
        <title>Script for snapshots on Vultr with the API v2</title>
        <description>&lt;p&gt;Just wanna share a short script for snapshots with sh and cron in my Vultr instance. Long ago I used to create snapshots for my VPS on Vultr using a &lt;a href=&quot;https://www.thedroneely.com/posts/automate-vultr-snapshots-using-bash/&quot;&gt;script created by Thedro Neely&lt;/a&gt; so this is just an update of his script made to be used with the API v2:&lt;/p&gt;

&lt;p&gt;You also need your token (the $key) to use and you’ll get it from “Account” -&amp;gt; “API” in the Vultr account.&lt;/p&gt;

&lt;p&gt;You need the unique identifier of the instance you wanna create an instance from. You’ll get that from the Vultr account in Products. There’s no option to grab it. Instead you need to click on your instance and grab the identifier from the URL (my.vultr.com/subs/?id=some-thing-like-this)&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Key={your key goes here}
SnapshotLimit=2
SnapshotCount=$(curl -s -H &quot;Authorization: Bearer $Key&quot; https://api.vultr.com/v2/snapshots | jq &apos;.meta.total&apos;  )
echo $SnapshotCount;
LastSnapshotID=$(curl -s -H &quot;Authorization: Bearer $Key&quot; https://api.vultr.com/v2/snapshots | jq &apos;.snapshots.[0].id&apos;)
LastSnapshotID=$(echo &quot;$LastSnapshotID&quot; | tr -d &apos;&quot;&apos;)
echo $LastSnapshotID;
DT=$(date &apos;+%d/%m/%Y&apos;);

if [ &quot;$SnapshotCount&quot; -ge &quot;$SnapshotLimit&quot; ]
          then
                  curl -X DELETE -H &quot;Authorization: Bearer $Key&quot; &quot;https://api.vultr.com/v2/snapshots/$LastSnapshotID&quot; || exit 1;
fi

curl -X POST -H &quot;Authorization: Bearer $Key&quot; https://api.vultr.com/v2/snapshots --data &apos;{
    &quot;instance_id&quot; : &quot;The UUID identifier of your instance&quot;,
        &quot;description&quot; : &quot;A description with a date:  &apos;$DT&apos;&quot;
          }&apos;;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then just add it to your daily crontab and it’ll create your snapshot and delete the oldest one.&lt;/p&gt;
</description>
        <pubDate>Sat, 06 Sep 2025 22:22:00 -0400</pubDate>
        <link>http://ffuentes.sdf.org/network/2025/09/06/script-for-snapshots-on-vultr-with-the-api-v2.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/network/2025/09/06/script-for-snapshots-on-vultr-with-the-api-v2.html</guid>
        
        <category>vps</category>
        
        <category>unix</category>
        
        <category>script</category>
        
        <category>shell</category>
        
        <category>bash</category>
        
        <category>vultr</category>
        
        <category>crontab</category>
        
        <category>snapshot</category>
        
        
        <category>network</category>
        
      </item>
    
      <item>
        <title>My snac config (activitypub instance) with Caddy</title>
        <description>&lt;p&gt;I was really hoping to get an activitypub instance for myself a long while ago and I tried pleroma first, it’s light but complicated to update and setup for me. Then I tested GoToSocial however, it never seemed to federate that well.&lt;/p&gt;

&lt;p&gt;Recently, I found out about &lt;a href=&quot;https://codeberg.org/grunfink/snac2&quot;&gt;snac&lt;/a&gt; which is a pretty neat and minimalistic system to create an activitypub server compatible with Mastodon. It’s written in C and lightning fast, intended to use little resources, especially for single user instances though it does accept more than one user.&lt;/p&gt;

&lt;p&gt;If you wanna install your own instance, try using the linked repository to build and install it. Check the man related info. You can setup an user specific to snac to keep the data and run the service be it on Linux or BSD.&lt;/p&gt;

&lt;p&gt;What I wanted to share was my Caddyfile since i’m using &lt;a href=&quot;https://caddyserver.com/docs/&quot;&gt;Caddy server&lt;/a&gt;. The cool thing about Caddy is that it automagically sets up the SSL certificate. It spares you from that little problem all of us have which is dealing with HTTPS! Also it’s pretty simple to share a folder with it over the WWW.&lt;/p&gt;

&lt;p&gt;My config is the following (for &lt;a href=&quot;https://ffuent.es/pub&quot;&gt;ffuent.es/pub&lt;/a&gt;)&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ffuent.es {
 root * /var/www/html
 file_server

reverse_proxy   /pub 127.0.0.1:8001
reverse_proxy   /pub/* 127.0.0.1:8001
reverse_proxy   /.well-known/webfinger 127.0.0.1:8001
reverse_proxy   /api/v1/* 127.0.0.1:8001
reverse_proxy   /api/v2/* 127.0.0.1:8001
reverse_proxy   /oauth/* 127.0.0.1:8001
reverse_proxy    /.well-known/nodeinfo 127.0.0.1:8001
reverse_proxy    /.well-known/host-meta 127.0.0.1:8001
reverse_proxy    /share 127.0.0.1:8001
reverse_proxy    /authorize_interaction 127.0.0.1:8001


}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Any comments, corrections or questions, just send me an email at ffuentes at sdf org&lt;/p&gt;

</description>
        <pubDate>Sat, 23 Aug 2025 19:32:00 -0400</pubDate>
        <link>http://ffuentes.sdf.org/communication/2025/08/23/my-snac-config-activitypub-instance-with-caddy.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/communication/2025/08/23/my-snac-config-activitypub-instance-with-caddy.html</guid>
        
        <category>snac</category>
        
        <category>activitypub</category>
        
        <category>caddy</category>
        
        
        <category>communication</category>
        
      </item>
    
      <item>
        <title>VPN: Are they worth it?</title>
        <description>&lt;p&gt;A VPN seems to be a great solution for privacy and/or encrypted connectivity. I was looking for some privacy and decided to try something to avoid showing my ip freely to websites along with a few other measures aimed at protecting myself with privacy settings (now I think those are actually better for you).&lt;/p&gt;

&lt;h2 id=&quot;what-is-a-vpn&quot;&gt;What is a VPN&lt;/h2&gt;

&lt;p&gt;A Virtual Private Network is a bit like what we used to call a proxy, but a bit better than that. VPNs are also well known for being used for remote work as you can join from home the network of your employer. In other words, a VPN is a private network using the Internet instead of wiring or wifis, so you can have a local IP on the other side of the world to connect as if you were there.&lt;/p&gt;

&lt;p&gt;When I connect to the internet through my ISP I get an external IP (the IP that’s shown to everyone on the internet) which is usually assigned to you ISP and it relates you to a location and a country. That’d also allow you to self host services on the internet though your IP would probably change every now and then. You also have a local (internal network) IP which identifies your computer inside your network. You probably have one or more notebooks, one or more smartphones, IoT “smart” devices, a Raspberry Pi, a NAS server for movies, an Android TV device. All those things have an IP. When you join a VPN you connect to a network where you have an internal IP within that network and an external IP (the IP internet servers will see, i.e. Netflix). That network can be in your country or elsewhere. Your ISP knows you connected to a VPN server (or maybe a server) but it doesn’t know what you do inside it). When you connect to another website from your VPN, your ISP doesn’t know what you are looking at. That’s a VPN. In the context of individuals, a VPN allows you to get an EXTERNAL IP from another network that you’d usually pay for (Free VPNs are rare).
There are several reasons to get one but we’ll focus in privacy.&lt;/p&gt;

&lt;p&gt;One of the most marketed sale points for VPNs are streaming services but you can also use it to hide from your country’s control or maybe just to connect from your workplace back home or hide your traffic from a public wifi network (i.e. the starbucks in the corner).&lt;/p&gt;

&lt;p&gt;So I just wanna show you my experience with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A commercial VPN&lt;/li&gt;
  &lt;li&gt;A VPS with a VPN connection&lt;/li&gt;
  &lt;li&gt;Using TOR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I bought a month of VPN with subscription at a service with wireguard. Wireguard is a protocol that creates a sort of encrypted proxy between you and another machine. It’s kinda easy to install on Linux or BSD nowadays as long as you install wireguard tools and it worked on my phone as well.&lt;/p&gt;

&lt;p&gt;The app of this VPN allowed me to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Select which apps I wanted to use with the VPN (aka split tunneling)&lt;/li&gt;
  &lt;li&gt;Jump over multiple servers to make it harder to guess who I am&lt;/li&gt;
  &lt;li&gt;Change the server I wanna use for a session&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are a few downsides:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;if you live in a poorer country or even just in a developing country chances are you don’t have a server to connect nearby which is bad (unless you wanna hide your country from servers or your own identity from your government). In my case, with the provider I tried I had options but not many and I didn’t wanna try other countries because I didn’t wanna lose speed. I just wanted to hide my personal IP.&lt;/li&gt;
  &lt;li&gt;Most well known web services like streaming or social networks and even web shopping stores ban or at least flag VPN server IPs and unless your provider changes IPs often, that will make your browsing routine annoying&lt;/li&gt;
  &lt;li&gt;Somewhat related to the past point, some people may have used the IP you’re getting to do something sketchy and you could get your beloved account banned for apparently no reason&lt;/li&gt;
  &lt;li&gt;You have to trust them (they could hold logs about your traffic)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hence, there are advantages but also annoyances.&lt;/p&gt;

&lt;p&gt;A Free VPN (like Proton) would be a great idea but there aren’t that many and the server options to switch to aren’t great (Proton has servers in my country but not for free and you can switch servers but randomly.&lt;/p&gt;

&lt;h2 id=&quot;what-if-i-self-host-one-on-a-vps&quot;&gt;What if I self host one on a VPS?&lt;/h2&gt;

&lt;p&gt;There’s an easy way for this called PiVPN. They have a website and an automation script that installs Wireguard or OpenVPN for you. There a probably ready images to install PiVPN in a VPS. The slight advantage is:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Your IP might not be flagged&lt;/li&gt;
  &lt;li&gt;You’re not showing your home IP address&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However,&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Your VPS is probably tied to you, so it’s still YOUR traffic (if you really wanna hide your activity)&lt;/li&gt;
  &lt;li&gt;You can’t switch servers unless you have lots of servers (some VPS hosts allow you to get more IP addresses)&lt;/li&gt;
  &lt;li&gt;It’s probably cheaper in the long run to get a VPN to switch servers and a good companion app than many VPSs to host a VPN on each one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s a good use case for PiVPN of course! At home! If you instead of wanting to hide your house IP just wanna access your self hosted raspberry pi or something like that, a VPN would be awesome. If you’re at an office PC, that could work as long as you have little restrictions on usage (that’s not always the case). If you’re lucky you can bypass office firewall filters which is very convenient though might get you in trouble so beware!&lt;/p&gt;

&lt;h2 id=&quot;other-measures-to-get-privacy&quot;&gt;Other measures to get privacy&lt;/h2&gt;

&lt;p&gt;Something very similar in case you don’t wanna use your own IP for certain stuff is using Tor.&lt;/p&gt;

&lt;p&gt;Your browser and the services you use can also give you away much fsater than an IP address. For example, if you wanna book a flight. Check your browser settings for privacy issues you might not be addressing and check how dependent you might be from services like Meta, Google or other traceable services.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Are they worth it? VPNs have multiple use cases but certainly many people won’t enjoy in the long term its use unless they have a clear reason. If you wanna torrent stuff maybe that’s a valid use case. If you wanna hide your IP because maybe you could get some privacy you better work on your browsing habits.&lt;/p&gt;
</description>
        <pubDate>Mon, 28 Jul 2025 21:19:00 -0400</pubDate>
        <link>http://ffuentes.sdf.org/network/2025/07/28/vpn-are-they-worth-it.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/network/2025/07/28/vpn-are-they-worth-it.html</guid>
        
        <category>communication</category>
        
        <category>vpn</category>
        
        <category>pivpn</category>
        
        <category>wireguard</category>
        
        
        <category>network</category>
        
      </item>
    
      <item>
        <title>Nextcloud client in OpenBSD (as a desktop) Too many open files</title>
        <description>&lt;p&gt;This hasn’t ever been explained anywhere in the Nextcloud client but it might fail in your computer. However, the client is mostly not to blame but the tight setup of OpenBSD for its users. The issue happens (not just in OpenBSD) if you have a large Nextcloud folder to sync, Nextcloud client tends to open files very quickly to check whether or not they changed! At least in OpenBSD the limit is not wide enough for the client and you get a “You have too many open files” error so you have to increase it: I think this could be better documented in the package of Nextcloud client.&lt;/p&gt;

&lt;h2 id=&quot;how-to-fix-this&quot;&gt;How to fix this?&lt;/h2&gt;

&lt;p&gt;First, check which login class your user pertains to. Usually accounts are created as default BUT if you’re a single computer user you probably are “staff”. My login.conf shows the following entry:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
#
# Staff have fewer restrictions and can login even when nologins are set.
#
staff:\
	:datasize-cur=1536M:\
	:datasize-max=infinity:\
	:maxproc-max=512:\
	:maxproc-cur=256:\
	:ignorenologin:\
	:requirehome@:\
	:openfiles-max=2048:\
	:openfiles-cur=1024:\
	:stacksize-cur=8M:\
	:tc=default:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you don’t know whether you’re default or staff or something else, type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user info $USER&lt;/code&gt; and check the “class” line.&lt;/p&gt;

&lt;p&gt;Pay attention to (you guessed that) openfiles-max and openfiles-cur. These two entries are the ones that need to be enlarged. You could check how many files you’ve got in your folder and infer from that info an open files limit. Or you could just make a rather large entry and go from there. I read a recommendation elsewhere about enlarging this to over 100000. I didn’t go that far but I opted for the “guessing” option.&lt;/p&gt;

&lt;p&gt;And then you should run:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# cap_mkdb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Also, you need to do two more things:&lt;/p&gt;

&lt;p&gt;Add the following to your sysctl.conf:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;kern.maxfiles=[the limit number]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;(Just the number, not the brackets).&lt;/p&gt;

&lt;p&gt;The last part is to &lt;strong&gt;reboot&lt;/strong&gt;. If you did it alright your Nextcloud client won’t crash and it’ll start syncing (or at least it’ll ask for your password and then it’ll start doing its stuff). If you DON’T wanna reboot type:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sysctl kern.maxfiles=[the number]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This configuration will remain as long as the computer is on. Bear in mind that this setting is global and not only valid to Nextcloud but systemwide.&lt;/p&gt;

&lt;h2 id=&quot;you-dont-have-to-do-this&quot;&gt;You don’t HAVE to do this&lt;/h2&gt;

&lt;p&gt;I did this because I wanted to have the normal GUI experience of Nextcloud. However, if you’re a weirdo and don’t mind it, Nextcloud has a command line client (nextcloudcmd) that syncs whenever it’s ordered to and it works without this hassle. It just syncs and says good-bye! It doesn’t run like a service as you’d expect. You have to add the following parameters (which &lt;a href=&quot;https://docs.nextcloud.com/desktop/2.6/advancedusage.html&quot;&gt;is explained well in Nextcloud docs&lt;/a&gt; but anyway):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ nextcloudcmd -s -u [your username] -p [your password] [Your Nextcloud folder] [The instance URL]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The “-s” is a parameter so nextcloud shuts up because this command is rather verbose (it doesn’t even go to stdout or at least I couldn’t find the way to send its output there).&lt;/p&gt;

&lt;p&gt;That’s it. (Tested in a laptop with  OpenBSD 6.9)&lt;/p&gt;

</description>
        <pubDate>Wed, 23 Jun 2021 23:13:00 -0400</pubDate>
        <link>http://ffuentes.sdf.org/unix/2021/06/23/nextcloud-client-in-openbsd.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/unix/2021/06/23/nextcloud-client-in-openbsd.html</guid>
        
        
        <category>unix</category>
        
      </item>
    
      <item>
        <title>Printing in OpenBSD</title>
        <description>&lt;p&gt;Just adding some notes to some experiences I had while trying to print stuff in OpenBSD 6.9 on a Thinkpad with a cheap Brother HL-1200 Series (mine’s HL-1202). Remember I’m not a knowledgeable OpenBSD user. I’m relatively new to the BSD world.&lt;/p&gt;

&lt;h2 id=&quot;issue-1-manufacturers-dont-think-about-bsd-of-course&quot;&gt;Issue #1: Manufacturers don’t think about BSD (of course)&lt;/h2&gt;

&lt;p&gt;Here’s the issue: While at this time most printers work with GNU/Linux, it’s very unlikely that you find a printer that’s made to print with BSD. However, while it seems complicated it’s not that hard and that’s thanks to being a UNIX-like system. Now what I’m gonna do is to describe the problem and how I solved it. That doesn’t mean every printer is the same. Some printers even work out of the box.&lt;/p&gt;

&lt;p&gt;In my case I bought a cheap B&amp;amp;W laser printer. I bought this one because I had a kind of a good experience with a Samsung ML-1660 at my parent’s house that lasted (original toner included) for several years. We only used it to print bus tickets, contracts that have to be signed and then scanned. At someone’s house this implies one sheet or two every month if any! So toner printers seem less prone to failure than ink based printers.&lt;/p&gt;

&lt;p&gt;I have to be honest and accept a mistake I made with this printer. I didn’t research enough. I just looked for a printer that worked on Linux (I use two Linux devices too). So if you have the time, look for your printer or a model from the same series is mentioned in ports, pkg_info or even on github before buying. Also, there’s a website called &lt;a href=&quot;http://www.openprinting.org/&quot;&gt;Open Printing&lt;/a&gt; where there’s a collection of drivers or PPDs available with comments from people who’ve used them in different UNIX-like systems.&lt;/p&gt;

&lt;p&gt;The driver for this printer does exist in OpenBSD and it’s called brlaser6. Available as a package to install with pkg_add.&lt;/p&gt;

&lt;h2 id=&quot;issue-2-usb-printers-arent-popular-anymore&quot;&gt;Issue #2: USB printers aren’t popular anymore&lt;/h2&gt;

&lt;p&gt;Most documentation I read about the issue involves printing on “remote printers”. Now there’s even a IPP everywhere or driverless printing trend where it’s expected that the printer is available on the network but even docs as old as the reference to printers on &lt;em&gt;Absolute OpenBSD&lt;/em&gt; (yeah, that book) which is from 2013 refers to a case where a printer is on an IP. So it’s not a bad idea to get a printer that has WiFi or has some sort of network capability. In my case, it’s just a USB printer. An added issue is that not only are they less popular but they are also harder to set up on OpenBSD. Even a &lt;a href=&quot;https://paedubucher.ch/articles/2020-09-20-basic-printing-on-openbsd.html&quot;&gt;“basic printing” tutorial&lt;/a&gt; could get me only so far because it relies on an example given in the Absolute OpenBSD book.&lt;/p&gt;

&lt;p&gt;I tried that tutorial and after fiddling a bit and changing the variables I ended with a /etc/printcap file that worked only half way:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;lp|brother:\
    :sh=:\
    :lp=/dev/ulpt0:\
    :sd=/var/spool/output/brother:\
    :lf=/var/log/lpd-errs:\
    :rp=brother
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It was funny because the printer would take the jobs and then take the printer so it did EVERYTHING, all the weird sounds, it carried the paper all the way but it didn’t print anything! The sheet of paper was very warm though.&lt;/p&gt;

&lt;p&gt;If you have the printer and you installed the driver or you think it can take postscripts (.ps files) driverless then you might still need to check how it’s detected by OpenBSD. This is important: If your printer is USB only and it’s not detected neither by LPR nor CUPS (which I’ll show you later) you’ll have to disable ulpt from the kernel and it’s not a permanent thing, especially if you care about updates, kernel erratas and that sort of security stuff that probably hooked you into OpenBSD anyway!&lt;/p&gt;

&lt;p&gt;This is what I did to disable ulpt:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;printf &apos;disable ulpt\nq\n&apos; | config -ef /bsd
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;(some mailing list message also suggests adding the kernel SHA256 sum like this right after you do that above!):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sha256 /bsd &amp;gt;/var/db/kernel.SHA256
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That allows you to see the printer with the other USB devices and not have a device busy issue when you wanna install your drivers. Then you reboot.&lt;/p&gt;

&lt;p&gt;However, there’s still another hidden issue. it’s not so evident but while at this point I could already print with Manjaro and Debian I installed CUPS and realized that I couldn’t add USB printers at all in the CUPS web interface! (http://localhost:631). The documentation suggest doing the following:&lt;/p&gt;

&lt;p&gt;First, install cups and run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rcctl enable cupsd&lt;/code&gt; &amp;amp;&amp;amp; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rcctl restart cupsd&lt;/code&gt; as root. After that issue &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;usbdevs -v&lt;/code&gt; and check where’s your printer at. In my case, my printer was at usb0 port and the driver was ugen2 so I typed the following command (this is also documented at /usr/local/share/doc/pkg-readmes/cups):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# chown _cups /dev/ugen2.* /dev/usb0 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Don’t copy and paste&lt;/strong&gt; check what’s your driver and usb controller with usbdevs.&lt;/p&gt;

&lt;p&gt;Only at this point you could hope to see your printer show up as a USB device in the CUPS interface. Go to Administration -&amp;gt; Add Printer and you should see it. When you reach the driver selection (provided that you selected Brother as brand) you should find something like “HL-1200 Series Driver, using brlaser v6”. That’s the driver. If you pick anything else it won’t work. Also just moving the PPD won’t work, at least not with this printer because it’ll look for a filter and the filter for another file.&lt;/p&gt;

&lt;p&gt;Now print the test page.&lt;/p&gt;

&lt;h2 id=&quot;issue-3-printing-on-the-console&quot;&gt;Issue #3 Printing on the console&lt;/h2&gt;

&lt;p&gt;The reason I didn’t wanna stop using ulpt was that I thought I could only print with the console that way. Sometimes I’d like to print a man document as the guy from the “Basic printing” tutorial did with &lt;strong&gt;lpr&lt;/strong&gt; which prints using the data from /etc/printcap. Now the thing is that if you use CUPS, lpr probably won’t work. There’s another command I thought was just a symlink to the former called &lt;strong&gt;lp&lt;/strong&gt; but it is slightly different from lpr and it can use CUPS printers:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;lp -d [PRINTER name in CUPS] file
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So it uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-d&lt;/code&gt; instead of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-P&lt;/code&gt; to identify the printer. Also you can set a default printer. If you don’t remember the name type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lpstat -p -d&lt;/code&gt; and you can also set the default printer with lpadmin or just set a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PRINTER&lt;/code&gt; in your ~/.profile. I printed the CUPS manual in the picture below using enscript (a program that transform files to PostScript), lp (of course) and stdout:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;enscript /usr/local/share/doc/pkg-readmes/cups -o - | lp -d Brother_HL-1200_series 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/lp.jpg&quot; alt=&quot;Printed with the lp command in OpenBSD&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 10 Jun 2021 21:00:00 -0400</pubDate>
        <link>http://ffuentes.sdf.org/unix/2021/06/10/printing-in-openbsd.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/unix/2021/06/10/printing-in-openbsd.html</guid>
        
        <category>openbsd</category>
        
        <category>printing</category>
        
        <category>usb</category>
        
        <category>brother</category>
        
        <category>lpr</category>
        
        <category>cups</category>
        
        
        <category>unix</category>
        
      </item>
    
      <item>
        <title>Installing OpenBSD 6.8 on my netbook</title>
        <description>&lt;p&gt;I wrote already about this in my &lt;a href=&quot;https://texto-plano.xyz/~ffuentes/informatica/2021/02/16/instale-openbsd-en-mi-netbook.html&quot;&gt;texto-plano.xyz blog&lt;/a&gt; but i’d like to talk about it here too without making a simple translation as some months have passed since I wrote that article. This is not an installation guide and I’m sorry if you came seeking a guide but it’s my experience trying it out.&lt;/p&gt;

&lt;p&gt;OpenBSD, of course, is an operating system based on BSD and it’s regarded as a security-focused system. However, there are two important aspects to it that are lesser known.&lt;/p&gt;

&lt;p&gt;The first one is that it’s a &lt;strong&gt;portable&lt;/strong&gt; operating system, in other words, it’s intended to work in many different architectures. The reason for this has to do at least with its origins in the NetBSD project whose main focus is portability. That’s why these days many older architectures like ppc or i386 that are getting less attention in the Linux world are more likely to use BSDs.&lt;/p&gt;

&lt;p&gt;The second one is that it’s easy to install. Despite lacking a GUI or ncurses interface, its installation wizard is rather easy to follow. So you may not even need a guide to install it after all unless you need to do some complex partitioning or you have particular needs that are not covered within the installer like encryption.&lt;/p&gt;

&lt;p&gt;So it’s not a bad idea to install BSD at all.&lt;/p&gt;

&lt;h2 id=&quot;my-netbook&quot;&gt;My netbook&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/n100-2.jpg&quot; alt=&quot;samsung n100&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I got this &lt;a href=&quot;https://www.samsung.com/ph/support/model/NP-N100-MA02PH/&quot;&gt;Samsung NP-N100&lt;/a&gt; in Chile when I was 22 or something. I was between jobs in late 2010, glorious days for netbooks. So this particular laptop was basically the cheapest thing available in the country. I believe this netbook was sold solely in developing markets like South America, Phillipines or India. It also happened to be one of the first things I bought online so it was significant for me at the time waiting for it. I just had a desktop AMD Athlon 64 x 2 that worked well beyond 2015 but finally I could move around and do some stuff online (remember phones at the time weren’t smart). Also, just 1 GB of RAM expandable (single slot) to 2 GB (which I swapped years later).&lt;/p&gt;

&lt;p&gt;This N100 netbook is pretty slow. It was an Intel Atom N435 at 1.66 Mhz with one physical core and two virtual cores. This particular version came with a Samsung Linux thing called Meego that nobody remembers anymore. I swapped it for a Linux system very soon after getting it because it was really limited and that was the plan either way.  So the point is that another reason why I like this netbook is that it never got Windows installed.&lt;/p&gt;

&lt;p&gt;For a long time it had Ubuntu variants which had to get leaner and leaner over time due to memory concerns. Its last years before BSD it had Lubuntu which did a great job if you wanna keep using it with Linux.&lt;/p&gt;

&lt;p&gt;The project Texto-Plano.xyz made me wonder if OpenBSD would be safer for everyone joining the server and to me as the sysadmin. I started Texto-Plano.xyz in November 2020 and I mention this because I didn’t have previous experience with BSD at all. I just thought it was a good idea. So for a while I lacked the “real hardware” experience altogether.&lt;/p&gt;

&lt;h2 id=&quot;considerations&quot;&gt;Considerations&lt;/h2&gt;

&lt;p&gt;When we use a netbook, especially in this decade we need to be aware that it’ll not be the same as a regular computer because they tend to be rather slow. I already relied heavily on cli and ncurses software to do stuff, basically for everything but a few things like browsing the web albeit using LXDE as a desktop environment. My switch had nothing to do with Lubuntu issues. I just wanted to try something different.&lt;/p&gt;

&lt;h3 id=&quot;cli-software-i-used-with-lubuntu&quot;&gt;CLI software I used with Lubuntu&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;mocp  (for music)&lt;/li&gt;
  &lt;li&gt;curseradio (for duh, radios)&lt;/li&gt;
  &lt;li&gt;vim and nano for typing stuff&lt;/li&gt;
  &lt;li&gt;rtv (to browse reddit)&lt;/li&gt;
  &lt;li&gt;w3m and links (to browse the web)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once I installed OpenBSD I chose to go for the full OpenBSD experience and used &lt;a href=&quot;https://en.wikipedia.org/wiki/Cwm_(window_manager)&quot;&gt;cwm&lt;/a&gt; which is way more austere and more of a window manager than a desktop environment.&lt;/p&gt;

&lt;p&gt;At the time I didn’t chat much but I relied a lot on the SDF resources to do stuff.  Also, to browse the web I still used Firefox and Sylpheed to get my mail. One of the issues with a netbook is that the web and modern browsers are too heavy for them (RAM hungry but you know this story). The same with Youtube videos. They are just too high quality to be rendered by their underpowered chipsets.&lt;/p&gt;

&lt;p&gt;So when I installed OpenBSD I found myself with a still very different system. One of the cool things about cwm is that it’s keyboard focused. You can move, enlarge, shrink, maximize, minimize, switch between, start, close windows without ever caring about the touchpad or mouse. So I only increased my reliance on CLI applications.&lt;/p&gt;

&lt;h3 id=&quot;cli-software-i-used-with-openbsdcwm&quot;&gt;CLI software I used with OpenBSD/cwm&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;(on top of the programs mentioned above)&lt;/li&gt;
  &lt;li&gt;emacs&lt;/li&gt;
  &lt;li&gt;profanity&lt;/li&gt;
  &lt;li&gt;w3m&lt;/li&gt;
  &lt;li&gt;irssi&lt;/li&gt;
  &lt;li&gt;mpv&lt;/li&gt;
  &lt;li&gt;a script called ytfzf that allows for using bash, youtube-dl, mpv and fzf to browse youtube&lt;/li&gt;
  &lt;li&gt;lf or ranger to browse the filesystem&lt;/li&gt;
  &lt;li&gt;st or sakura as terminals&lt;/li&gt;
  &lt;li&gt;A script a friend from tp made to read epubs with bash&lt;/li&gt;
  &lt;li&gt;Barnard (for mumble calls)&lt;/li&gt;
  &lt;li&gt;baresip (for regular voip calls)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have to say that package management is very good in OpenBSD for desktop use although it doesn’t use any GUI but it’s very similar to APT. You don’t have to rely on ports management except in some specific situations which right now I wouldn’t be able to remember.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/pantallan100.png&quot; alt=&quot;screen n100&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’m aware that some people even discard wms altogether and try to work with the tty alone but so far I haven’t found any way to watch videos with ttys and also cwm barely takes up any memory.&lt;/p&gt;

&lt;h3 id=&quot;some-issues-i-found&quot;&gt;Some issues I found&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Overheating (it seemed to deal worse with high temperatures but I’m not sure, I installed it during the Southern Hemisphere summer and one day it turned off right after a reboot)&lt;/li&gt;
  &lt;li&gt;Modern browsers like Firefox couldn’t be used in practice due to the slow clock speed&lt;/li&gt;
  &lt;li&gt;Secondary USB audio get disconnected (I had to buy headphones with a mic because I started voice chatting online and this netbook doesn’t have an internal mic so I got a USB mic) it works but it can stop working at any point during a call&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first I struggled a lot to make USB audio work despite Multimedia FAQ instructions which are pretty easy to follow.  In the meantime, I got a SSD. I never changed the HDD in all these years and I can’t help but move the netbook a lot while I’m using it but I worried it stopped working and also expected a boost in performance with the SSD. I swapped it for a SSD with about the same size ( ~ 240 GB) and the browser and GUI applications started to behave more stable but not terribly fast. Now I can open a few tabs in firefox. I try to do some stuff and then close firefox immediately.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;So that’s all I have to say. It works and I’m happy with it. I’d like to work with a more contemporary machine and a “regular” desktop environment and see how well or bad the OpenBSD experience  is but at least what I can tell is that the little machine is usable as is. Sometimes you don’t need too much.&lt;/p&gt;

&lt;p&gt;I’I can’t recommend this system to a total newbie in Unix-like systems but you can pull it off if you ever dealt with ArchLinux or Debian.&lt;/p&gt;

</description>
        <pubDate>Thu, 01 Apr 2021 20:56:00 -0300</pubDate>
        <link>http://ffuentes.sdf.org/unix/2021/04/01/installing-openbsd-6-8-on-my-netbook.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/unix/2021/04/01/installing-openbsd-6-8-on-my-netbook.html</guid>
        
        <category>openbsd</category>
        
        <category>cwm</category>
        
        <category>netbook</category>
        
        <category>low end</category>
        
        
        <category>unix</category>
        
      </item>
    
      <item>
        <title>Signal, Telegram? Why not Jabber?</title>
        <description>&lt;p&gt;Do you remember the time before WhatsApp? I do! I was a quite shy guy but I did have my conversations and most of them went through a tool Gmail 
used to have not long ago: &lt;strong&gt;Google Talk&lt;/strong&gt;. It was really good. I talked to my girlfriend with it. I talked to my classmates and coordinated several 
school reports with it. If you had a lot of conversations with it you probably used Pidgin or a similar application which could join together 
Facebook IM, AOL (if you still used it), MSN and of course Google Talk. It turned out that it (&lt;strong&gt;XMPP&lt;/strong&gt; aka &lt;strong&gt;Jabber&lt;/strong&gt;) was a standard protocol so everyone implemented it
in a proprietary basis but you could run it on your own if you had a system where you could host it.&lt;/p&gt;

&lt;p&gt;Fast forward to 2021 the distrust to &lt;strong&gt;GAFAMT&lt;/strong&gt; (Google, Amazon, Facebook, Apple, Microsoft and Twitter) and the popularity of VPS and application 
self-hosting has made a lot of people to think of getting away and taking their data away from these giants. The advent of the new Terms and
Conditions of WhatsApp that enable them to take our metadata and share it with Facebook has made users to change their behavior and seek new horizons.
So far the solution people in social media have found is to move to Signal or Telegram (mostly to Telegram). However, these companies follow a similar
model with the difference that they just gather less metadata. Telegram doesn’t even cipher messages e2e unless you’re on a secret chat. Signal 
doesn’t get a lot of metadata but what they get is your phone number which for many people is a more than a bit uncomfortable to share with others.&lt;/p&gt;

&lt;p&gt;XMPP (or Jabber) is very easy to run and doesn’t require you to give away your phone number if you don’t want to. The most important thing though, is that 
you can run it on your own server or use the server of someone you trust and still connect to other people in other servers (waht’s usually
 called “federation”). Also, you can encrypt your conversations with other people by using the &lt;a href=&quot;https://en.wikipedia.org/wiki/OMEMO&quot;&gt;OMEMO protocol&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/blabber-omemo.png&quot; alt=&quot;Blabber jabber xmpp client&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is not a tutorial because deployment depends a lot on the exact operating system but there are guides everywhere about installing &lt;a href=&quot;https://www.ejabberd.im/&quot;&gt;&lt;strong&gt;ejabberd&lt;/strong&gt;&lt;/a&gt; 
or installing &lt;a href=&quot;https://prosody.im/&quot;&gt;&lt;strong&gt;prosody&lt;/strong&gt;&lt;/a&gt; on a server you know. “Server” sounds like such a big word but it’s just a computer, even a NAS or a Raspberry Pi count.
The only thing you need to know is how to use the shell and install/set up stuff  with it. Also, you do need a domain. A personal domain you’re
already using would be fine.&lt;/p&gt;

&lt;p&gt;We did this at &lt;a href=&quot;https://texto-plano.xyz&quot;&gt;texto-plano.xyz&lt;/a&gt;. I as the sysadmin of texto-plano 
&lt;a href=&quot;https://corl3ss.com/prosody_on_openbsd.html&quot;&gt;installed prosody using this OpenBSD guide&lt;/a&gt; and it worked amazingly well. Still, I thought no one would care about my experiment but users loved it because it’s a bit more flexible than
IRC and more suitable for 1 to 1 conversation. Not to mention end-to-end encryption. You might as well install it for yourself and your 
personal domain or for your family or a small group of friends.&lt;/p&gt;

&lt;p&gt;Some people think “hey but why doing that if not everybody is gonna change and I’m gonna have to keep whatsapp on my phone”. What I have to say
about that is yes, if you have to talk to a lot of people not willing to change, then yes you will have to keep it but if you start using XMPP
then it’s less of your conversations that are in the hands of private companies or in centralized systems that you don’t control. It’s a matter of
half full or half empty glass of water kind of reasoning. Why someone should have the right to know who you talk to or when or where you talk with others or what’s your phone number is.&lt;/p&gt;

&lt;p&gt;If you were thinking already about it and you have the minimum technical knowledge you can definitely do it. Also, from experience you don’t need
a huge server to do this, even if you have lots of friends because both ejabberd and prosody are very lightweight.&lt;/p&gt;

&lt;p&gt;What about clients? There are clients for all operating systems and devices including phones. I’m using Blabber.im for my Android phone and Gajim for the computer (available for Windows and Linux).
The only thing I haven’t seen yet are stickers and that’s because I haven’t done more research. You don’t only text users but also you can share files over the internet with a friend (which you probably should remember from Google Talk days) 
and some people even share files within (encrypted or not) chat groups (this need a little bit of fiddling).&lt;/p&gt;

&lt;p&gt;So why not? I don’t know if you are considering it now, but it’s definitely a valid option.&lt;/p&gt;
</description>
        <pubDate>Sat, 23 Jan 2021 19:12:00 -0300</pubDate>
        <link>http://ffuentes.sdf.org/software/2021/01/23/signal-telegram-why-not-jabber.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/software/2021/01/23/signal-telegram-why-not-jabber.html</guid>
        
        <category>jabber</category>
        
        <category>xmpp</category>
        
        <category>signal</category>
        
        <category>telegram</category>
        
        <category>whatsapp</category>
        
        
        <category>software</category>
        
      </item>
    
      <item>
        <title>Cooperatives: Collective property of IT means and the self-hosting trend</title>
        <description>&lt;p&gt;&lt;em&gt;(This is a translation of a post written in texto-plano.xyz: &lt;a href=&quot;https://texto-plano.xyz/~ffuentes/informatica/2020/12/24/cooperativas-informatica-y-la-desgooglizacion.html&quot;&gt;Cooperativas: La propiedad compartida de los medios informáticos y la desgooglización&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ever since I graduated as a computing engineer I always thought that we could use the model of cooperatives to work better than almost any other in cooperative environments and yet it’s a rare sight. However, there are other uses for cooperative models and needs people have that exist and that could be interesting to explore and think about.&lt;/p&gt;

&lt;h2 id=&quot;problem-centralization&quot;&gt;Problem: Centralization&lt;/h2&gt;

&lt;p&gt;Not long ago, &lt;a href=&quot;https://www.theverge.com/2020/12/14/22173803/gmail-youtube-google-assistant-docs-down-outage&quot;&gt;Google had a blackout for an hour&lt;/a&gt; leaving a lot of users both domestic and organizations behind. People without their home automation, companies without e-mail or authentication, anything. It was just one company what failed for a while and no one knows how or why but the end result &lt;a href=&quot;https://www.techradar.com/news/google-blackout-saw-millions-in-revenue-vanish-into-thin-air&quot;&gt;was a&lt;/a&gt; &lt;a href=&quot;https://www.youtube.com/watch?v=vJ1cfb-5pHQ&quot;&gt;disaster&lt;/a&gt;. Cloud computing has lots of advantages but the overdependence on just a few companies (not just Google) has worried a lot of people. On Reddit there’s a growing community called &lt;a href=&quot;https://www.reddit.com/r/selfhosted/&quot;&gt;r/selfhosted&lt;/a&gt; which tries to help people to host certain services on their own they would otherwise use through these almighty companies.&lt;/p&gt;

&lt;h2 id=&quot;a-possible-solution&quot;&gt;A possible solution&lt;/h2&gt;

&lt;p&gt;There are many possible ways to solve this overdependence. One of these would be to take, let’s say a Raspberry Pi that’s hanging around at home or rent a VPS and host certain services in those. However, this assumes you have certain prior knowledge and some time not everyone has. Also it requires a certain infrastructure because there are things where a Raspberry Pi or a home server wouldn’t perform so well. It also requires sometimes fighting over ISPs if you choose to host at home. Imagine someone struggling with a restrictive ISP.&lt;/p&gt;

&lt;p&gt;Given that I wonder: Why don’t we better take a collective approach to this issue? I’m not an anticapitalist or antimarket kind of person and income incentives in the market usually work well. However, this doesn’t happen all the time and ultimately it isn’t always necessary. In this case let’s take a look at what’s called a &lt;strong&gt;consumers cooperative&lt;/strong&gt;. A consumers cooperative seeks to satisfy members needs with the collective work and resources of their members themselves. A relation among people like this is not vertical or based on distrust but rather on a common need and the capacity of producing this synergy allow us to achieve the same end result we’d get in the market and even better due to scale economies.&lt;/p&gt;

&lt;p&gt;A consumers cooperative of IT could work in these ways:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;People who rent a server and share it adding new services to it  (like a big NextCloud or a mail server)&lt;/li&gt;
  &lt;li&gt;People sharing and connecting Raspberry Pis in a network to create clusters that provide services without relying on a third party&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think this idea is pretty obvious but underrated. Tildes (like texto-plano.xyz) or the SDF are examples that a network which is not commercially intended can work. A community which was based on the principles of a consumer cooperative would be much better for these other and heavier expenses.&lt;/p&gt;

</description>
        <pubDate>Thu, 24 Dec 2020 02:10:00 -0300</pubDate>
        <link>http://ffuentes.sdf.org/software/2020/12/24/cooperatives-degoogling.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/software/2020/12/24/cooperatives-degoogling.html</guid>
        
        <category>self-hosting</category>
        
        <category>social media</category>
        
        <category>internet</category>
        
        <category>store</category>
        
        <category>share</category>
        
        <category>google</category>
        
        
        <category>software</category>
        
      </item>
    
      <item>
        <title>Self-hosting away from the big web giants</title>
        <description>&lt;p&gt;The Internet has changed wildly and so have users. I believe in &lt;strong&gt;privacy&lt;/strong&gt; and I miss the days when people were careful about their ID, strangers on the web and their babies were not all over the WWW. People can be careless about their identity but not only that: All of us (or at least the ones on the Internet and whom have tried at least one social network) are also products in the market. I mentioned this elsewhere but we’re also bombarded with ads. So why not owning our data? Maybe it could cost some money but infrastructure is cheap, it won’t be much money anyway! Why not just gather a group of friends and pay for it or create it all together?&lt;/p&gt;

&lt;p&gt;Let’s reflect on what we’re doing: Internet used to be fun but about learning and doing stuff yourself (your own page with what you knew about HTML, PHP, CGI or if you were really fancy with some javascript and CSS). It’s what I’ve been thinking about and even more since 4 years ago we all knew about &lt;a href=&quot;https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal&quot;&gt;Cambridge Analytica&lt;/a&gt; and what they were able to do.  That was one of the things that brought me to  keep participating here in the SDF because we share responsibility in some way when we validate our accounts and donate to it. Now, what if the SDF dissapears? I’ve thought about it too!&lt;/p&gt;

&lt;p&gt;(I was writing this article last night and &lt;a href=&quot;https://sneak.berlin/20201112/your-computer-isnt-yours/&quot;&gt;today I found this article&lt;/a&gt;. I think this must be stopped.)&lt;/p&gt;

&lt;p&gt;Here some tools that are small and sustainable enough to work with them and create a whole self-hosted environment spending the least possible in both money and computing resources:&lt;/p&gt;

&lt;h2 id=&quot;get-a-vps-or-even-better-a-raspberry-pi&quot;&gt;Get a VPS (or even better a Raspberry Pi)&lt;/h2&gt;

&lt;p&gt;Servers can do a great deal of stuff. Owning a server would be ideal but you don’t always have that possibility.&lt;/p&gt;

&lt;h3 id=&quot;where&quot;&gt;Where?&lt;/h3&gt;

&lt;p&gt;If you need one there are many options but not all of them are the same. &lt;a href=&quot;https://stackoverflow.com/questions/1603351/should-i-choose-kvm-or-openvz-for-my-vps&quot;&gt;Just make sure it’s a KVM provider&lt;/a&gt;. Some recommendations I heard have been OVH, Ramnode, Vultr, Hetzner and Scaleway. Also, the SDF provides virtual servers to MetaARPA members.&lt;/p&gt;

&lt;p&gt;I think Internet users have 3 big needs:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Storage&lt;/li&gt;
  &lt;li&gt;Interaction&lt;/li&gt;
  &lt;li&gt;Broadcasting&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;storage&quot;&gt;Storage&lt;/h3&gt;

&lt;p&gt;I mean just that: Storing files. You have pictures, personal files that you need to make a living or at least very important like text documents, spreadsheets, private pictures, etc. Also, everything you do after this point will have to be stored somewhere. I know Dropbox is very nice but it’s still a company you can’t trust forever… especially if you have a free account. Google is ““nice”” but they change their rules all the time. Today they have claimed that they are going to mix the picture space with Gmail/Drive space. Then what do we do? Should we rely on Google? (the ones who also read our emails?). What gives?&lt;/p&gt;

&lt;p&gt;So what we need (apart from another email account) is storage with syncronization. This is been around for a while but &lt;strong&gt;NextCloud&lt;/strong&gt; is a neat idea if you wanna have your own stuff with no other rules than your own. Even though cloud hosting sounds like a (paradoxically) heavy task there are guides on &lt;a href=&quot;https://github.com/nextcloud/nextcloudpi/&quot;&gt;how to host NextCloud in a Raspberry Pi&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also you might as well need to author and keep documents safe on the net. One way is getting a backup system to sync with but another way is to have a system designed for it. Yeah I’m thinking about a suite like Google Drive or Zoho but yours. Not long ago I learned about &lt;strong&gt;CryptPad&lt;/strong&gt;. It’s &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/wiki/Installation-guide&quot;&gt;installation requirements&lt;/a&gt; are easy to fulfill.&lt;/p&gt;

&lt;p&gt;Of course, you might also save your stuff just using a backup to another computer but you need to make sure this backup works in a somewhat automated fashion. There are basically two ways to make backups. There’s plenty of open-source software for backups. A trendy option is using &lt;a href=&quot;https://www.borgbackup.org/&quot;&gt;Borg&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;interaction&quot;&gt;Interaction&lt;/h3&gt;

&lt;p&gt;This is another common use case: When we use the Internet to reach people out or socialize. I’m not gonna talk about &lt;strong&gt;email&lt;/strong&gt; but you could check info about &lt;a href=&quot;https://www.linuxbabe.com/mail-server/setup-basic-postfix-mail-sever-ubuntu&quot;&gt;setting up Postfix&lt;/a&gt; or &lt;a href=&quot;https://nicolascarpi.github.io/openbsd/2019/04/03/openbsd-mail-server.html&quot;&gt;this personal mail server with OpenBSD&lt;/a&gt;. Just keep in mind that if you’re paying for a VPS some providers are wary of clients who wanna send email on their own so check first.&lt;/p&gt;

&lt;h4 id=&quot;instant-messaging&quot;&gt;Instant Messaging&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;XMPP self-hosted implementation (for instance, with &lt;a href=&quot;https://prosody.im/&quot;&gt;Prosody&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Self managed &lt;a href=&quot;https://mattermost.com/download/&quot;&gt;Mattermost&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://sdelements.github.io/lets-chat/&quot;&gt;Let’s Chat&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Rocket.chat (https://rocket.chat/es/install/) (Scroll down)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;chat-rooms&quot;&gt;Chat rooms&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;IRC&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://socket.io/demos/chat/&quot;&gt;Socket.io based chat&lt;/a&gt; (You’d have to code one)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;news-aggregators-and-forums-comments-and-stuff&quot;&gt;News Aggregators and forums (comments and stuff)&lt;/h4&gt;

&lt;p&gt;This is more obvious because we’ve had forums and news aggregators available open source for ages. Now some tools worth mentioning that are not in your typical softaculous software.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/lobsters/lobsters&quot;&gt;Lobsters&lt;/a&gt; (akin to a Reddit sub)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/flarum/flarum&quot;&gt;Flarum&lt;/a&gt; (Forum)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;multimedia-chatting&quot;&gt;Multimedia chatting&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://jitsi-club.gitlab.io/jitsi-self-hosting/en/01-deployment-howto/00-installation/&quot;&gt;Jitsi&lt;/a&gt; (Videocalls)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.mumble.info/&quot;&gt;Mumble&lt;/a&gt; (Audio)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;broadcasting&quot;&gt;Broadcasting&lt;/h3&gt;

&lt;p&gt;Also, with broadcasting I mean when you publish something for the public. I think this is better documented.&lt;/p&gt;

&lt;h4 id=&quot;twitter-like&quot;&gt;Twitter-like&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://joinmastodon.org/&quot;&gt;Mastodon&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://pleroma.social/&quot;&gt;Pleroma&lt;/a&gt; (federates with Mastodon but it’s lighter if you just wanna have a server for yourself and follow people in other servers)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://twtxt.readthedocs.io/en/stable/&quot;&gt;Twtxt&lt;/a&gt; (text file based, mostly for techie people)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;instagram-like&quot;&gt;Instagram-like&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.pixelfed.org/running-pixelfed/&quot;&gt;Pixelfed&lt;/a&gt; (in an early stage, uses Laravel)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://photo.github.io/&quot;&gt;Photo Project&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;blogging&quot;&gt;Blogging&lt;/h4&gt;

&lt;p&gt;As a quick note: If you are not a company with an online store you probably don’t need WordPress or any script running at all. Just use a static generator but yes you can install WordPress if you so wish. Also, you might as well use a well baked framework instead of WordPress like Laravel.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/cfenollosa/bashblog&quot;&gt;Bashblog&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; (what I’m using for this blog and &lt;a href=&quot;https://pi.ffuent.es&quot;&gt;pi.ffuent.es&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://gohugo.io&quot;&gt;Hugo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Remember you can add comments to a static site with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.barkdull.org/hashover-v2&quot;&gt;HashOver&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://posativ.org/isso/&quot;&gt;Isso&lt;/a&gt; (I might include this one in the future)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I haven’t found a convincing way to send forms within static websites not relying on a (company) third party. The closest I’ve got are people using &lt;a href=&quot;https://github.com/alasdairnicol/python-lambda-contact-form&quot;&gt;serverless on a  AWS server&lt;/a&gt; or &lt;a href=&quot;https://github.com/knowbl/log-based-static-contact-form&quot;&gt;someone using nginx logs&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;videos&quot;&gt;Videos&lt;/h4&gt;

&lt;p&gt;Now this is interesting because you should be pretty sure that you wanna keep large files under your control with the costs it involves.&lt;/p&gt;

&lt;p&gt;One option to do this is &lt;a href=&quot;https://joinpeertube.org/&quot;&gt;Peertube&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Would you pull off the big web grid? I’m myself still in a transition. What about you?&lt;/p&gt;
</description>
        <pubDate>Fri, 13 Nov 2020 02:10:00 -0300</pubDate>
        <link>http://ffuentes.sdf.org/software/2020/11/13/self-hosting-away-big-web.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/software/2020/11/13/self-hosting-away-big-web.html</guid>
        
        <category>self-hosting</category>
        
        <category>social media</category>
        
        <category>internet</category>
        
        <category>store</category>
        
        <category>share</category>
        
        <category>privacy</category>
        
        
        <category>software</category>
        
      </item>
    
      <item>
        <title>Newsgroups in 2020 with Tin and Thunderbird</title>
        <description>&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;88888888888 8888888 888b    888 
    888       888   8888b   888 
    888       888   88888b  888 
    888       888   888Y88b 888 
    888       888   888 Y88b888 
    888       888   888  Y88888 
    888       888   888   Y8888 
    888     8888888 888    Y888 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you are very young and unless you like old school stuff probably the word &lt;strong&gt;newsgroup&lt;/strong&gt; doesn’t tell you much but this was a simple and effective way to chat on the early Internet until well into the 2000s when the whole network was also known as &lt;strong&gt;USENET&lt;/strong&gt; until its archive was bought by Google. Like BBS groups they are mostly forgotten but they continue to be alive and I wanna make a case in favor of newsgroups.&lt;/p&gt;

&lt;h2 id=&quot;what-is-a-newsgroup&quot;&gt;What is a newsgroup&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A newsgroup is basically a discussion board over the internet&lt;/strong&gt; before and parallel to the web or gopher protocols. It does rely on the e-mail protocol but only superficially. The thing is Bulletin Board Systems were not part of the Internet and were mostly communities on their own right to which people would (literally) call to connect and talk to other people. A newsgroup is all about discussion and it’s organized on the basis of topicality which can be very specific. For instance, if you wanna talk about Ubuntu you’d go to alt.os.linux or comp.os.linux.ubuntu.&lt;/p&gt;

&lt;p&gt;Normally there’s somebody moderating the group like a sysop but anyone can chime in without an account. You just need to connect to a Newsgroup server (&lt;strong&gt;NNTP&lt;/strong&gt;) and you’re ready to go. So in a way a newsgroup is like a BBS but over the internet and more public. Even though the protocol was mostly about discussing with text, lately USENET (the network) has had a revival as a filesharing platform for &lt;em&gt;connoisseurs&lt;/em&gt; (usually you have to pay for an account to be able to download binaries, we are not gonna focus on that here).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are newsgroups now?&lt;/strong&gt; Discussion-wise it’s mostly a museum of the early days of the internet. However, the news protocol still has some use both in SDF and in the Tildes. In SDF you can check most current news hierarchies plus the SDF hierarchy but only while you’re connected to your account. 
The &lt;a href=&quot;https://tildeverse.org&quot;&gt;tildes&lt;/a&gt; have a different approach: They use newsgroups as their private forum so connecting to the news server (let’s say news.tildeverse.org) doesn’t give you access to other hierarchies but you can connect to it from the outside. An interesting tradeoff I guess. The main advantage of newsgroups over BBS is the granularity (you can have as many groups as you need if you manage a hierarchy) and the fact that you can save and share what you read there. For instance I asked for some pizza recipes and I liked them so much that I saved them. The SDF would greatly benefit from it.&lt;/p&gt;

&lt;p&gt;SDF has a news server (news.sdf.org) to which you can connect directly from your account (you just need to validate the account) and run Tin, Trn or Slrn. The one I found easiest to use has been &lt;strong&gt;Tin&lt;/strong&gt;. &lt;a href=&quot;http://www.tin.org/&quot;&gt;Tin&lt;/a&gt; is a text based news reader.&lt;/p&gt;

&lt;h2 id=&quot;setting-up-tin&quot;&gt;Setting up Tin&lt;/h2&gt;

&lt;p&gt;Since it’s a pretty common application you don’t have to compile anything unless you want to. If you are using the SDF account all you need to do is type:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The configuration currently is located at &lt;a href=&quot;https://www.netbsd.org/docs/guide/en/chap-mail.html#chap-mail-tin&quot;&gt;/usr/pkg/etc/nntp/server&lt;/a&gt; therefore you have a default server to get news. However, if you are not connected to the SDF you might not be able to connect to it.&lt;/p&gt;

&lt;p&gt;For instance, if you try using Tin in Ubuntu you’d have to install it first:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt install tin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And it’ll install Postfix along with it (a mailer software). Without a mailer (&lt;a href=&quot;https://en.wikipedia.org/wiki/Message_transfer_agent&quot;&gt;MTA&lt;/a&gt;) you can’t post in a newsgroup so Ubuntu installs Postfix with Tin.&lt;/p&gt;

&lt;p&gt;The installation will also prompt you to set up Postfix. You have to add the domain with which you wanna post stuff. Select “Internet Site” and use a legit domain at your disposal. For instance if you’re on a tilde you’d probably wanna post as @tilde.something. I use sdf.org but I could also use ffuent.es because I own that domain (although it’s not being served from this machine).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/postfix-1.png&quot; alt=&quot;Postfix configuration&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/postfix-2.png&quot; alt=&quot;Postfix configuration&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you think you’ve messed up the initial configuration of postfix just run (in Debian like distros):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo dpkg-reconfigure postfix
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To try it again.&lt;/p&gt;

&lt;p&gt;Note that while connecting to the newsreader tin will use my hostname (whatever you’ve set, my netbook is called “lubuntu”). Posting as lubuntu@sdf.org wouldn’t make any sense because I don’t own that e-mail account. You can actually  overwrite that behavior from your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.tin/tinrc&lt;/code&gt; setting your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mail_address&lt;/code&gt; correctly or setting the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;REPLYTO&lt;/code&gt; environment variable (this is all from the NetBSD tutorial) but the first alternative works pretty well.&lt;/p&gt;

&lt;h2 id=&quot;using-tin&quot;&gt;Using Tin&lt;/h2&gt;

&lt;p&gt;Now you’re all set. If you have another server (like the tildes have) you should type instead:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tin -g [server]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That will immediately populate a configuration file at the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.tin&lt;/code&gt; folder.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/tin-1.jpg&quot; alt=&quot;Tin first screen&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;When you get to the welcome page before it lists your newsgroups. You probably have none or a small and not relevant list. You need to subscribe to the groups you want and unsubscribe from the groups you don’t care about. You press the “y” (yank in/out) to see the list with all the available newsgroups and subscribe to one with “s” and unsubscribe with “u”. Pretty easy, right? However, there are tons of newsgroups. What if you wanna subscribe to all the sdf hierarchy? Press “S” instead and write:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sdf.*
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The same happens with “U” for unsubscribe.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/img/tin-2.jpg&quot; alt=&quot;Tin inside a group screen&quot; class=&quot;center-image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You finally have a list of active newsgroups. Press ENTER to read one group. Select a thread with the arrow keys and press ENTER again to read a post. It’s important to keep in mind that you have to press TAB to follow the thread. Individual posts in a thread are called “articles” and responses are called “followups” (you make one with “f”) and you can save (with “s”) or e-mail (with “m”) an article or a whole thread. To make a brand new post press “w”.&lt;/p&gt;

&lt;h2 id=&quot;the-alternative-using-thunderbird&quot;&gt;The alternative: Using Thunderbird&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;/static/img/thunderbird.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/static/img/thunderbird.jpg&quot; alt=&quot;Thunderbird in newsgroup mode&quot; class=&quot;center-image&quot; title=&quot;Thunderbird in newsgroup mode. Click to enlarge&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thunderbird is a great e-mail client but as a hidden feature, you can read news with it too! I’m using the latest version 78. All you need to do is to go to:&lt;/p&gt;

&lt;p&gt;File -&amp;gt; New -&amp;gt; Other Accounts…&lt;/p&gt;

&lt;p&gt;Over there all you need to do is following the assistant. Once you do that right click it and select “Subscribe…”. This option won’t work for you with the SDF news server. Only VPN membership allows external access to the news. However, if you don’t care at all about SDF or the Tildeverse you might as well try &lt;a href=&quot;http://news.aioe.org/&quot;&gt;this little secret&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Tue, 20 Oct 2020 18:10:00 -0300</pubDate>
        <link>http://ffuentes.sdf.org/communication/2020/10/20/newsgroups-tin.html</link>
        <guid isPermaLink="true">http://ffuentes.sdf.org/communication/2020/10/20/newsgroups-tin.html</guid>
        
        <category>newsgroups</category>
        
        <category>usenet</category>
        
        <category>thunderbird</category>
        
        <category>tin</category>
        
        <category>sdf</category>
        
        <category>tildeverse</category>
        
        
        <category>communication</category>
        
      </item>
    
  </channel>
</rss>
