<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Max Mehl (Blog)</title>
    <link>https://mehl.mx/categories/blog/</link>
    <description>Recent content in Blog on Max Mehl</description>
    <generator>Hugo</generator>
    <language>en-GB</language>
    <lastBuildDate>Thu, 07 Nov 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mehl.mx/categories/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>INWX DNS Recordmaster - Manage your DNS nameserver records via files in Git</title>
      <link>https://mehl.mx/blog/2024/inwx-dns-recordmaster-manage-your-dns-nameserver-records-via-files-in-git/</link>
      <pubDate>Thu, 07 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2024/inwx-dns-recordmaster-manage-your-dns-nameserver-records-via-files-in-git/</guid>
      <description>&lt;p&gt;I own and manage 30+ domains at &lt;a href=&#34;https://www.inwx.com/&#34;&gt;INWX&lt;/a&gt;, a large and professional domain registrar. Although INWX has a somewhat decent web interface, it became a burden for me to keep an overview of each domain&amp;rsquo;s sometimes dozens of records. Especially when e.g. changing an IP address for more than one domain, it caused multiple error-prone clicks and copy/pastes that couldn&amp;rsquo;t be reverted in the worst case. This is why I created &lt;a href=&#34;https://github.com/mxmehl/inwx-dns-recordmaster&#34;&gt;&lt;strong&gt;INWX DNS Recordmaster&lt;/strong&gt;&lt;/a&gt; which I will shortly present here.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;I own and manage 30+ domains at &lt;a href=&#34;https://www.inwx.com/&#34;&gt;INWX&lt;/a&gt;, a large and professional domain registrar. Although INWX has a somewhat decent web interface, it became a burden for me to keep an overview of each domain&amp;rsquo;s sometimes dozens of records. Especially when e.g. changing an IP address for more than one domain, it caused multiple error-prone clicks and copy/pastes that couldn&amp;rsquo;t be reverted in the worst case. This is why I created &lt;a href=&#34;https://github.com/mxmehl/inwx-dns-recordmaster&#34;&gt;&lt;strong&gt;INWX DNS Recordmaster&lt;/strong&gt;&lt;/a&gt; which I will shortly present here.&lt;/p&gt;&#xA;&lt;p&gt;If you are an INWX customer, you can use this tool to manage all your DNS records in YAML files. Ideally, you will store these files in a Git repository which you can use to track changes and roll back in case of a mistake. Having one file per domain provides you a number of further advantages:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can easily copy/paste records from other domains, e.g. for &lt;code&gt;SPF&lt;/code&gt;, &lt;code&gt;DKIM&lt;/code&gt; or &lt;code&gt;NS&lt;/code&gt; records&lt;/li&gt;&#xA;&lt;li&gt;Overall search/replace of certain values becomes much easier, e.g. of IP addresses&lt;/li&gt;&#xA;&lt;li&gt;You can prepare larger changes offline and can synchronise once you feel it&amp;rsquo;s done&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;INWX DNS Recordmaster takes care of making the required changes of the live records so that it matches the local state. This is done via the INWX API, ensuring that the amount of API calls is minimal.&lt;/p&gt;&#xA;&lt;p&gt;This even allows you to set up a pipeline that takes care of the synchronisation&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wait-there-is-more&#34;&gt;Wait, there is more&lt;/h2&gt;&#xA;&lt;p&gt;As written above, I already had a large stack of domains that I previously managed via the web interface. This is why some additional convenience features found their way into the tool.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can convert all records of an existing and already configured domain at INWX into the file format. This made onboarding my 30+ domains a matter of a few minutes.&lt;/li&gt;&#xA;&lt;li&gt;On a global or per-domain level, you can ignore certain record types. For example, if you don&amp;rsquo;t want to touch any &lt;code&gt;NS&lt;/code&gt; records, you can configure that. By default, &lt;code&gt;SOA&lt;/code&gt; records are ignored. You may even ignore all live records that don&amp;rsquo;t exist in your local configuration.&lt;/li&gt;&#xA;&lt;li&gt;Of course, you can make a dry run to see which effects your configuration will have in practice.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Did I miss something to make it more productive for you? Let me know!&lt;/p&gt;&#xA;&lt;h2 id=&#34;install-use-contribute&#34;&gt;Install, use, contribute&lt;/h2&gt;&#xA;&lt;p&gt;You are welcome to &lt;a href=&#34;https://github.com/mxmehl/inwx-dns-recordmaster?tab=readme-ov-file#install&#34;&gt;install this tool&lt;/a&gt;, it&amp;rsquo;s Free and Open Source Software after all. All you need is Python installed.&lt;/p&gt;&#xA;&lt;p&gt;One of the tool&amp;rsquo;s users is the &lt;a href=&#34;https://openrailassociation.org&#34;&gt;OpenRail Association&lt;/a&gt; which manages some of its domains with this program and &lt;a href=&#34;https://github.com/OpenRailAssociation/openrail-dns&#34;&gt;published its configuration&lt;/a&gt;. This is a prime example of how organisation can make the management of records transparent and easy to change at least internally, if not even externally.&lt;/p&gt;&#xA;&lt;p&gt;While the tool is not perfect, it already is a huge gain for efficiency and stability of my IT operations, and it already proves its capabilities for other users. To reach the remaining 20% to perfection (that will take 80% of the time, as always), you are most welcome to add issues with enhancement proposals, and if possible, also pull requests.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;For example, see the &lt;a href=&#34;https://github.com/OpenRailAssociation/openrail-dns/blob/main/.github/workflows/sync-records.yaml&#34;&gt;workflow file of the OpenRail Association&lt;/a&gt;.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Seafile Mirror - Simple automatic backup of your Seafile libraries</title>
      <link>https://mehl.mx/blog/2023/seafile-mirror-simple-automatic-backup-of-your-seafile-libraries/</link>
      <pubDate>Fri, 22 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2023/seafile-mirror-simple-automatic-backup-of-your-seafile-libraries/</guid>
      <description>&lt;p&gt;I have been using &lt;a href=&#34;https://www.seafile.com/&#34;&gt;Seafile&lt;/a&gt; for years to host and&#xA;synchronise files on my own server. It&amp;rsquo;s fast and reliable, especially when&#xA;dealing with a large number and size of files. But making reliable backups of&#xA;all its files isn&amp;rsquo;t so trivial. This is because the files are stored in a layout&#xA;similar to bare Git repositories, and Seafile&amp;rsquo;s headless tool, seafile-cli,&#xA;is&amp;hellip; suboptimal. So I created what started out as a wrapper for it and ended up&#xA;as a full-blown tool for automatically synchronising your libraries to a backup&#xA;location: &lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror&#34;&gt;&lt;strong&gt;Seafile Mirror&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;I have been using &lt;a href=&#34;https://www.seafile.com/&#34;&gt;Seafile&lt;/a&gt; for years to host and&#xA;synchronise files on my own server. It&amp;rsquo;s fast and reliable, especially when&#xA;dealing with a large number and size of files. But making reliable backups of&#xA;all its files isn&amp;rsquo;t so trivial. This is because the files are stored in a layout&#xA;similar to bare Git repositories, and Seafile&amp;rsquo;s headless tool, seafile-cli,&#xA;is&amp;hellip; suboptimal. So I created what started out as a wrapper for it and ended up&#xA;as a full-blown tool for automatically synchronising your libraries to a backup&#xA;location: &lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror&#34;&gt;&lt;strong&gt;Seafile Mirror&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-requirements&#34;&gt;My requirements&lt;/h2&gt;&#xA;&lt;p&gt;Of course, you could just take snapshots of the whole server, or copy the raw&#xA;Seafile data files and import them into a newly created Seafile instance as a&#xA;disaster recovery, but I want to be able to &lt;strong&gt;directly access the current&#xA;state of the files&lt;/strong&gt; whenever I need them in case of an emergency.&lt;/p&gt;&#xA;&lt;p&gt;It was also important for me to have a &lt;strong&gt;snapshot&lt;/strong&gt;, not just another real-time&#xA;sync of a library. This is because I also want to have a backup in case I (or an&#xA;attacker) mess up a Seafile library. A real-time sync would immediately fetch&#xA;that failed state.&lt;/p&gt;&#xA;&lt;p&gt;I also want to take a snapshot at a &lt;strong&gt;configurable interval&lt;/strong&gt;. Some libraries&#xA;should be synchronised more often than others. For example, my picture albums do&#xA;not change as often as my miscellaneous documents, but they use at least 20&#xA;times the disk space and therefore network traffic when running a full sync.&lt;/p&gt;&#xA;&lt;p&gt;Also, the backup service must have &lt;strong&gt;read-only access&lt;/strong&gt; to the files.&lt;/p&gt;&#xA;&lt;p&gt;A version controlled backup of the backup (i.e. the plain files) wasn&amp;rsquo;t in&#xA;scope. I handle this separately by backing up my backup location, which also&#xA;contains similar backups of other services and machines. For this reason, my&#xA;current solution does not do incremental backups, even though this may be&#xA;relevant for other use cases.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problems&#34;&gt;The problems&lt;/h2&gt;&#xA;&lt;p&gt;Actually, &lt;a href=&#34;https://help.seafile.com/syncing_client/linux-cli/&#34;&gt;seafile-cli&lt;/a&gt;&#xA;should have been everything you&amp;rsquo;d need to fulfill the requirements. But no. It&#xA;turned out that this tool has a number of fundamental issues:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can make the host the tool is running on a sync peer. However, it easily&#xA;leads to sync errors if the user just has read-only permissions to the&#xA;library.&lt;/li&gt;&#xA;&lt;li&gt;You can also download a library but then again it may lead to strange sync&#xA;errors.&lt;/li&gt;&#xA;&lt;li&gt;It requires a running daemon which crashes irregularly during larger sync&#xA;tasks or has other issues.&lt;/li&gt;&#xA;&lt;li&gt;Download/sync intervals cannot be set manually.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;the-solution&#34;&gt;The solution&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror&#34;&gt;seafile-mirror&lt;/a&gt; takes care of all&#xA;these stumbling blocks:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It downloads/syncs defined libraries in customisable intervals&lt;/li&gt;&#xA;&lt;li&gt;It de-syncs libaries immediately after they have been downloaded to avoid sync&#xA;errors&lt;/li&gt;&#xA;&lt;li&gt;You can force-re-sync a library even if its re-sync interval hasn&amp;rsquo;t reached&#xA;yet&lt;/li&gt;&#xA;&lt;li&gt;Extensive informative and error logging is provided&lt;/li&gt;&#xA;&lt;li&gt;Of course created with automation in mind so you can run it in cronjobs or&#xA;systemd triggers&lt;/li&gt;&#xA;&lt;li&gt;And as explained, it deals with the numerous caveats of &lt;code&gt;seaf-cli&lt;/code&gt; and Seafile&#xA;in general&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Full installation and usage documentation can be found in the project&#xA;repository. Installation is as simple as running &lt;code&gt;pip3 install seafile-mirror&lt;/code&gt;,&#xA;and a sample configuration is provided.&lt;/p&gt;&#xA;&lt;p&gt;In my setup, I run this application on a headless server with systemd under a&#xA;separate user account. Therefore the systemd service needs to be set up first.&#xA;This is also covered in the tool&amp;rsquo;s documentation. And as an Ansible power user,&#xA;I also provide an &lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror-ansible&#34;&gt;Ansible&#xA;role&lt;/a&gt; that does all the setup&#xA;and configuration.&lt;/p&gt;&#xA;&lt;h2 id=&#34;possible-next-steps&#34;&gt;Possible next steps&lt;/h2&gt;&#xA;&lt;p&gt;The tool has been running every day since a couple of months without any issues.&#xA;However, I could imagine a few more features to be helpful for more people:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Support of login tokens: Currently, only user/password auth is supported which&#xA;is fine for my use-case as it&amp;rsquo;s just a read-only user. This wouldn&amp;rsquo;t be hard&#xA;to fix either, seafile-cli supports it (at least in theory).&#xA;(&lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror/issues/2&#34;&gt;#2&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Support of encrypted libraries: Shouldn&amp;rsquo;t be a big issue, it would require&#xA;passing the password to the underlying seafile-cli command.&#xA;(&lt;a href=&#34;https://src.mehl.mx/mxmehl/seafile-mirror/issues/3&#34;&gt;#3&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you have encountered problems or would like to point out the need for&#xA;specific features, please feel free to contact me or comment on the Mastodon&#xA;post. I&amp;rsquo;d also love to hear if you&amp;rsquo;ve become a happy user of the tool 😊.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Docker2Caddy - An automatic Reverse Proxy for Docker containers</title>
      <link>https://mehl.mx/blog/2022/docker2caddy-an-automatic-reverse-proxy-for-docker-containers/</link>
      <pubDate>Mon, 25 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2022/docker2caddy-an-automatic-reverse-proxy-for-docker-containers/</guid>
      <description>&lt;p&gt;So you have a number of Docker containers running web services which you would&#xA;like to expose to the outside? Well, you probably will at least have considered&#xA;a reverse proxy already. Doing this manually for one, two or even five&#xA;containers may be feasible, but everything above that will be a PITA for sure.&#xA;At the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; we ran into the same issue with our &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/container-server/&#34;&gt;own&#xA;distributed container&#xA;infrastructure&lt;/a&gt; at&#xA;and crafted a neat solution that I would like to present to you in the next few&#xA;minutes.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;So you have a number of Docker containers running web services which you would&#xA;like to expose to the outside? Well, you probably will at least have considered&#xA;a reverse proxy already. Doing this manually for one, two or even five&#xA;containers may be feasible, but everything above that will be a PITA for sure.&#xA;At the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; we ran into the same issue with our &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/container-server/&#34;&gt;own&#xA;distributed container&#xA;infrastructure&lt;/a&gt; at&#xA;and crafted a neat solution that I would like to present to you in the next few&#xA;minutes.&lt;/p&gt;&#xA;&lt;p&gt;The result is&#xA;&lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/docker2caddy/&#34;&gt;Docker2Caddy&lt;/a&gt; that&#xA;provides a workflow in which you can spin up new containers anytime (e.g. via a&#xA;CI) and the reverse proxy will just do the rest for you magically.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-assumptions&#34;&gt;The assumptions&lt;/h2&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s assume you want to go with reverse proxies to make your web services&#xA;accessible via ports 80 and 443. There are other possibilities, and in more&#xA;complex environments there may be already integrated solutions, but for this&#xA;article we&amp;rsquo;ll wade in a rather simple environment spun up with &lt;code&gt;docker-compose&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s also assume you care about security and go with a rootless installation of&#xA;Docker. So the daemon will run as an unprivileged user. That&amp;rsquo;s possible but much&#xA;more complex than the default rootful installation&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;. Because of this, a few&#xA;other solutions will not work, we&amp;rsquo;ll check that later.&lt;/p&gt;&#xA;&lt;p&gt;Finally, each container shall at least have one separate domain assigned to it&#xA;for which you obviously want to have a valid certificate, e.g. by Let&amp;rsquo;s Encrypt.&lt;/p&gt;&#xA;&lt;p&gt;In the examples below, we have two containers running, each running a webserver&#xA;listening to port &lt;code&gt;8080&lt;/code&gt;. The first container shall be available via&#xA;&lt;code&gt;first.com&lt;/code&gt;, the second via &lt;code&gt;second.net&lt;/code&gt;. The latter shall also be available via&#xA;&lt;code&gt;www.second.net&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problems&#34;&gt;The problems&lt;/h2&gt;&#xA;&lt;p&gt;In the described scenario, there are a number of problem for automating the&#xA;configuration of the reverse proxy in order to direct a domain to the correct&#xA;container, starting with &lt;strong&gt;container discovery&lt;/strong&gt; to &lt;strong&gt;IPv6 routing&lt;/strong&gt; to&#xA;&lt;strong&gt;handling offline containers&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The reverse proxy has to be able to discover the currently running containers&#xA;and ideally monitor for changes regularly so that a newly created container with&#xA;a new domain is reachable within a short time without manual intervention.&lt;/p&gt;&#xA;&lt;p&gt;Before Docker2Caddy we have used&#xA;&lt;a href=&#34;https://github.com/nginx-proxy/nginx-proxy&#34;&gt;nginx-proxy&lt;/a&gt; combined with&#xA;&lt;a href=&#34;https://github.com/nginx-proxy/acme-companion&#34;&gt;acme-companion&lt;/a&gt; (formerly known&#xA;as &lt;em&gt;docker-letsencrypt-nginx-proxy-companion&lt;/em&gt;). These are Docker containers that&#xA;query all containers connected to the &lt;code&gt;bridge&lt;/code&gt; Docker network. For this to work,&#xA;the containers have to run with environment variables indicating the desired&#xA;domains and local ports that shall be proxied.&lt;/p&gt;&#xA;&lt;p&gt;In a rootless Docker setup this finally reaches its limits although discovery&#xA;still works. But already before that we did not like the fact that we had to&#xA;connect containers to the bridge network upon creation and therefore lost a bit&#xA;more isolation (which is dubious in Docker anyway).&lt;/p&gt;&#xA;&lt;p&gt;Now, with rootless, IPv6 was the turning point. Even in rootful Docker setups,&#xA;IPv6 – a 20+ years old, well defined standard protocol – is a pain in the butt.&#xA;But with rootless, the FSFE System Hackers team did not manage to get IPv6&#xA;working in containers to the degree that we needed. While IPv6 traffic reached&#xA;the &lt;code&gt;nginx-proxy&lt;/code&gt;, it was then treated as IPv4 traffic with the internal Docker&#xA;IP address. That bits you ultimately if you limit requests based on IP&#xA;addresses, e.g. for signups or payments. All traffic via IPv6 will be treated&#xA;as the same internal IPv4 address, therefore triggering the limits regularly.&lt;/p&gt;&#xA;&lt;p&gt;The easiest solution therefore is to use a reverse proxy running on the host&#xA;system, not as a Docker container with its severe limitations. While the first&#xA;intuition lead us to nginx, we decided to go with&#xA;&lt;a href=&#34;https://caddyserver.com/&#34;&gt;Caddy&lt;/a&gt;. The main advantages we saw are that a virtual&#xA;host in Caddy is very simple to configure and that TLS certificates are&#xA;generated and maintained automatically without extra dependencies like&#xA;&lt;code&gt;certbot&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this setup, containers would need to open their webserver port to the host.&#xA;This “public” port has to be unique per host, but the internal port can stay the&#xA;same, e.g. port &lt;code&gt;1234&lt;/code&gt; could be mapped to port &lt;code&gt;8080&lt;/code&gt; inside the container. In&#xA;Caddy you would then configure the domain &lt;code&gt;first.org&lt;/code&gt; to forward to&#xA;&lt;code&gt;localhost:1234&lt;/code&gt;. A more or less identical second example container could then&#xA;expose the port &lt;code&gt;5678&lt;/code&gt; to the host, again listen on &lt;code&gt;8080&lt;/code&gt; internally, and Caddy&#xA;would redirect &lt;code&gt;second.net&lt;/code&gt; and &lt;code&gt;www.second.net&lt;/code&gt; to &lt;code&gt;localhost:5678&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;But how does Caddy know about the currently running containers and the ports via&#xA;which they want to receive traffic? And how can we handle containers that are&#xA;unavailable, for instance because they crashed or have been deleted for good?&#xA;Docker2Caddy to the rescue!&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-solution&#34;&gt;The solution&lt;/h2&gt;&#xA;&lt;p&gt;I already concluded that Caddy is a suitable reverse proxy for the outlined use&#xA;case. But in order to be care-free, the configuration has to be generated&#xA;automatically. For this to work, I wrote a rather simple Python application&#xA;called &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/docker2caddy&#34;&gt;Docker2Caddy&lt;/a&gt;&#xA;that is kept running in the background via a systemd service and writes proper&#xA;logs that are also rotated nicely.&lt;/p&gt;&#xA;&lt;p&gt;This is how it works internally: it queries (in a configurable interval) the&#xA;Docker daemon for running containers. For each container it looks for specific&#xA;labels (that are also configurable), by default &lt;code&gt;proxy.host&lt;/code&gt;, &lt;code&gt;proxy.host_alias&lt;/code&gt;&#xA;and &lt;code&gt;proxy.port&lt;/code&gt;. If one or multiple containers are found – in our case two –&#xA;one Caddy configuration file per container is created. This is based on a freely&#xA;configurable Jinja2 template. If the configuration changed, e.g. by a new host,&#xA;Caddy will be reloaded and will create a TLS certificate if needed.&lt;/p&gt;&#xA;&lt;p&gt;But what happens if a container is unavailable? In Docker2Caddy you can&#xA;configure a grace period. Until this is reached, the Caddy configuration for the&#xA;container in question is not removed but could forward to a local or remote&#xA;error page. Only afterwards, the configuration is removed, and Caddy reloaded&#xA;subsequently.&lt;/p&gt;&#xA;&lt;p&gt;So, what makes Docker2Caddy special? I am biased but see a number of points:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simplicity&lt;/strong&gt;: fundamentally it&amp;rsquo;s a 188 pure lines of code Python script.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Configurability&lt;/strong&gt;: albeit it&amp;rsquo;s simplicity, it&amp;rsquo;s easy to configure for&#xA;various needs thanks to the templates and the support for rootless Docker&#xA;setups.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Adaptability&lt;/strong&gt;: it should be rather simple to make Docker2Caddy also work&#xA;for Podman, or even use different reverse proxies. Feel free to extend it&#xA;before I&amp;rsquo;ll do it myself someday ;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Performance&lt;/strong&gt;: while I did not perform before/after benchmarks, Caddy is&#xA;blazingly fast and will surely perform better on the host than in a limited&#xA;Docker container.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re facing the same challenges in your setup, please feel free to try it&#xA;out. Installation is quite simple and there&amp;rsquo;s even a &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/docker2caddy/src/branch/master/install.yml&#34;&gt;minimal Ansible&#xA;playbook&lt;/a&gt;.&#xA;If you have feedback, I appreciate reading it via comments on Mastodon (see&#xA;below), &lt;a href=&#34;https://mehl.mx/contact/&#34;&gt;email&lt;/a&gt;, or, if you have an FSFE account, as a new issue or&#xA;patch at the &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/docker2caddy&#34;&gt;main repo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/minimal-docker&#34;&gt;This is&lt;/a&gt; how a&#xA;very minimal Docker service in the FSFE infrastructure looks like. For&#xA;Docker2Caddy, only the &lt;code&gt;docker-compose.yml&lt;/code&gt; file with its labels is&#xA;relevant.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re interested in setting this up via Ansible, I can recommend the&#xA;&lt;a href=&#34;https://github.com/konstruktoid/ansible-docker-rootless&#34;&gt;ansible-docker-rootless&lt;/a&gt;&#xA;role which we integrated in our full-blown&#xA;&lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/container-server/&#34;&gt;playbook&lt;/a&gt; for&#xA;the container servers.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>The power of git-sed</title>
      <link>https://mehl.mx/blog/2020/the-power-of-git-sed/</link>
      <pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2020/the-power-of-git-sed/</guid>
      <description>&lt;p&gt;In the recent weeks and months, the &lt;a href=&#34;https://fsfe.org/contribute/web/&#34;&gt;FSFE Web Team&lt;/a&gt; has been doing some heavy work on the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE website&lt;/a&gt;. We moved and replaced thousands of files and their respective links to improve the structure of a historically grown website (19+ years, 23243 files, almost 39k commits). But how to do that most efficiently in a version controlled system like Git?&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the recent weeks and months, the &lt;a href=&#34;https://fsfe.org/contribute/web/&#34;&gt;FSFE Web Team&lt;/a&gt; has been doing some heavy work on the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE website&lt;/a&gt;. We moved and replaced thousands of files and their respective links to improve the structure of a historically grown website (19+ years, 23243 files, almost 39k commits). But how to do that most efficiently in a version controlled system like Git?&lt;/p&gt;&#xA;&lt;p&gt;In our scenarios, the steps executed often looked like the following:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Move/rename a directory full of XML files representing website pages&lt;/li&gt;&#xA;&lt;li&gt;Find all links that pointed to this directory, and change them&lt;/li&gt;&#xA;&lt;li&gt;Create a rewrite rule&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;For the first step, using the included &lt;code&gt;git mv&lt;/code&gt; is perfectly fine.&lt;/p&gt;&#xA;&lt;p&gt;For the second, we would usually need a combination of &lt;code&gt;grep&lt;/code&gt; and &lt;code&gt;sed&lt;/code&gt;, e.g.:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;grep -lr &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;/old/page.html&amp;#34;&lt;/span&gt; | xargs sed &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;s;/old/page.html;/new/page.html;g&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This has a few major flaws:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In a Git repository, this also greps inside the &lt;code&gt;.git&lt;/code&gt; directory where we do not want to edit files directly&lt;/li&gt;&#xA;&lt;li&gt;The grep is slow in huge repositories&lt;/li&gt;&#xA;&lt;li&gt;The searched old link has to be mentioned two times, so hard for semi-manual replacement of a large number of links&lt;/li&gt;&#xA;&lt;li&gt;Depending on the Regex complexity we need, the command becomes long, and we need to take care of using the correct flags for grep and sed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;git-sed-to-the-rescue&#34;&gt;git-sed to the rescue&lt;/h2&gt;&#xA;&lt;p&gt;After some research, I found &lt;code&gt;git-sed&lt;/code&gt;, basically a &lt;a href=&#34;https://github.com/tj/git-extras/blob/master/bin/git-sed&#34;&gt;Bash file in the git-extras project&lt;/a&gt;. With some modifications (&lt;a href=&#34;https://github.com/tj/git-extras/pull/859&#34;&gt;pull request pending&lt;/a&gt;) it&amp;rsquo;s the perfect tool for mass search and replacement.&lt;/p&gt;&#xA;&lt;p&gt;It solves all of the above problems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It uses &lt;code&gt;git grep&lt;/code&gt; that ignores the &lt;code&gt;.git/&lt;/code&gt; directory, and is much faster because it uses git&amp;rsquo;s index.&lt;/li&gt;&#xA;&lt;li&gt;The command is much shorter and easier to understand and write&lt;/li&gt;&#xA;&lt;li&gt;Flags are easy to add, and this only has to be done once per command&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;install&#34;&gt;Install&lt;/h3&gt;&#xA;&lt;p&gt;You can just &lt;a href=&#34;https://github.com/tj/git-extras/blob/master/Installation.md&#34;&gt;install the git-extras package&lt;/a&gt; which also contains a few other scripts.&lt;/p&gt;&#xA;&lt;p&gt;I opted for using it standalone, so downloaded the shell file, put it in a directory which is in my &lt;code&gt;$PATH&lt;/code&gt;, and removed one dependency on a script which is only available in git-extras (see my aforementioned &lt;a href=&#34;https://github.com/tj/git-extras/pull/859&#34;&gt;PR&lt;/a&gt;). So for instance, you could copy &lt;code&gt;git-sed.sh&lt;/code&gt; in &lt;code&gt;/usr/local/bin/&lt;/code&gt; and make it executable. To enable calling it via &lt;code&gt;git sed&lt;/code&gt;, put in your &lt;code&gt;~/.gitconfig&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;[alias]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#b44&#34;&gt;sed&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;!sh git-sed.sh&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;usage&#34;&gt;Usage&lt;/h3&gt;&#xA;&lt;p&gt;After installing git-sed, the command above would become:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git sed -f g &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;/old/page.html&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;/new/page.html&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;My modifications also allow people to use extended Regex, so things like reference captures, so I hope these will be merged soon. With this, some more advanced replacements are possible:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Use reference capture (save absolute link as \1)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git sed -f g &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;http://fsfe.org(/.*?\.html)&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;https://fsfe.org\1&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Optional tokens (.html is optional here)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git sed -f g &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;/old/page(\.html)?&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;/new/page.html&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And if you would like to limit git-sed to a certain directory, e.g. &lt;code&gt;news/&lt;/code&gt;, that&amp;rsquo;s also no big deal:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git sed -f g &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;oldstring&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;newstring&amp;#34;&lt;/span&gt; -- news/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You may have notived the &lt;code&gt;-f&lt;/code&gt; flag with the &lt;code&gt;g&lt;/code&gt; argument. People used to sed know that &lt;code&gt;g&lt;/code&gt; replaces all appearances of the searched pattern in a file, not only the first one. You could also make it &lt;code&gt;gi&lt;/code&gt; if you want a case-insensitive search and replace.&lt;/p&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;&#xA;&lt;p&gt;As you can see, using git-sed is really a time and nerve saver when doing mass changes on your repositories. Of course, there is also room for improvement. For instance, it could be useful to use the Perl Regex library (PCRE) for the grep and sed to also allow for look-aheads or look-behinds. I encourage you to try git-sed and make suggestions to upstream directly to improve this handy tool.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>System Hackers meeting - Lyon edition</title>
      <link>https://mehl.mx/blog/2020/system-hackers-meeting-lyon-edition/</link>
      <pubDate>Tue, 31 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2020/system-hackers-meeting-lyon-edition/</guid>
      <description>&lt;p&gt;For the 4th time, and less than 5 months after the last meeting, the&#xA;FSFE System Hackers met in person to coordinate their activities, work&#xA;on complex issues, and exchange know-how. This time, we chose yet&#xA;another town familiar to one of our team members as venue – Lyon in&#xA;France. What follows is a report of this gathering that happened&#xA;shortly before &lt;em&gt;#stayhome&lt;/em&gt; became the order of the day.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;For the 4th time, and less than 5 months after the last meeting, the&#xA;FSFE System Hackers met in person to coordinate their activities, work&#xA;on complex issues, and exchange know-how. This time, we chose yet&#xA;another town familiar to one of our team members as venue – Lyon in&#xA;France. What follows is a report of this gathering that happened&#xA;shortly before &lt;em&gt;#stayhome&lt;/em&gt; became the order of the day.&lt;/p&gt;&#xA;&lt;p&gt;For those who do not know this less visible but important team: The&#xA;System Hackers are responsible for the maintenance and development of a&#xA;&lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Services&#34;&gt;large number of services&lt;/a&gt;.&#xA;From the fsfe.org website&amp;rsquo;s deployment to the mail servers and blogs,&#xA;from Git to internal services like DNS and monitoring, all these&#xA;services, virtual machines and physical servers are handled by &lt;a href=&#34;https://wiki.fsfe.org/Teams/System-Hackers/&#34;&gt;this&#xA;friendly group&lt;/a&gt; that is&#xA;always looking forward to welcoming new members.&lt;/p&gt;&#xA;&lt;p&gt;Interestingly, we have gathered in the same constellation as in the&#xA;&lt;a href=&#34;https://mehl.mx/blog/2019/the-3rd-fsfe-system-hackers-hackathon/&#34;&gt;hackathon&#xA;before&lt;/a&gt;,&#xA;so Albert, Florian, Francesco, Thomas, Vincent and me tackled large and&#xA;small challenges in the FSFE&amp;rsquo;s systems. But we have also used the time&#xA;to exchange knowledge about complex tasks and some interconnected&#xA;systems. The official part was conducted in the fascinating &lt;a href=&#34;https://web.archive.org/web/20200814122815/http://astech-fablab.fr/&#34;&gt;Astech&#xA;Fablab&lt;/a&gt;, but word has it that&#xA;&lt;a href=&#34;https://www.ninkasi.fr/&#34;&gt;Ninkasi&lt;/a&gt;, an excellent pub in Lyon, was the&#xA;actual epicentre of this year&amp;rsquo;s meeting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;sharing-is-caring&#34;&gt;Sharing is caring&lt;/h2&gt;&#xA;&lt;p&gt;Saturday morning after reviewing open tasks and setting our priorities,&#xA;we started to share more knowledge about our services to reduce&#xA;bottlenecks. For this, I drew a few diagrams to explain how we deploy&#xA;our Docker containers, how our community database interacts with the&#xA;mail and lists server, and how DNS works at the FSFE.&lt;/p&gt;&#xA;&lt;p&gt;To also help the non-present system hackers and “future generations”,&#xA;I&amp;rsquo;ve added this information to a &lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Systems&#34;&gt;public wiki&#xA;page&lt;/a&gt;. This could also be the&#xA;starting point to transfer more internal knowledge to public pages to&#xA;make maintenance and onboarding easier.&lt;/p&gt;&#xA;&lt;h2 id=&#34;todo-done&#34;&gt;Todo? Done!&lt;/h2&gt;&#xA;&lt;p&gt;Afterwards, we focused on closing tasks that have been open for a longer&#xA;time:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The DNS has been a big issue for a long time. Over the past months&#xA;we&amp;rsquo;ve migrated the source for our nameserver entries from SVN to Git,&#xA;rewrote our deployment scripts, and eventually upgraded the two very&#xA;sensitive systems to Debian 10. During the meeting, we came closer to&#xA;perfection: all Bind configuration cleaned from old entries, uniformly&#xA;formatted, and now featuring SPF, DMARC and CAA records.&lt;/li&gt;&#xA;&lt;li&gt;For a better security monitoring of the 100+ mailing lists the FSFE&#xA;hosts, we&amp;rsquo;ve finalised the weekly automatic checks for sane and safe&#xA;settings, and a tool that helps to easily update the internal&#xA;documentation.&lt;/li&gt;&#xA;&lt;li&gt;Speaking of monitoring: we did lack proper monitoring of our 20+ hosts&#xA;for availability, disk usage, TLS certificates, service status and&#xA;more. While we tried for a longer time to get Prometheus and Grafana&#xA;doing what we need, we performed a 180° turn: now, there is a Icinga2&#xA;installation running that already monitors a few hosts and their&#xA;services – &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/monitoring&#34;&gt;deployed with&#xA;Ansible&lt;/a&gt;. In the&#xA;following weeks we will add more hosts and services to the watched&#xA;targets.&lt;/li&gt;&#xA;&lt;li&gt;We plan to migrate our user-unfriendly way to share files between&#xA;groups to Nextcloud, including using some more of the software&amp;rsquo;s&#xA;capabilities. During the weekend, we&amp;rsquo;ve tested the instance&#xA;thoroughly, and created some more LDAP groups that are automatically&#xA;transposed to groups in Nextcloud. In the same run, Albert shared some&#xA;more knowledge about LDAP with Vincent and me, so we get rid of more&#xA;bottlenecks.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Then, it was time to deal with other urgent issues:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Some of us worked on making our systems more resilient against DDoS&#xA;attacks. Over the Christmas season, we became a target of an attack.&#xA;The idea is to come up with solutions that are easy to deploy on all&#xA;our web services while keeping complexity low. We&amp;rsquo;ve tested some&#xA;approaches and will further work on coming up with solutions.&lt;/li&gt;&#xA;&lt;li&gt;Regarding webservers, we&amp;rsquo;ve updated the TLS configurations on various&#xA;services to the recommended settings, and also improved some other&#xA;settings while touching the configuration files.&lt;/li&gt;&#xA;&lt;li&gt;We intend to ease people encrypting their emails with GnuPG. That is&#xA;why we experimented with WKD/WKS and will work on setting up this&#xA;service. As it requires some interconnection with others services,&#xA;this will take us some more time unfortunately.&lt;/li&gt;&#xA;&lt;li&gt;On the maintenance side of things, we have upgraded all servers except&#xA;one to the latest Debian version, and also updated many of our Docker&#xA;images and containers to make use of the latest security and stability&#xA;improvements.&lt;/li&gt;&#xA;&lt;li&gt;The FSFE hosts a few third party services, and unfortunately they have&#xA;been running on unmaintained systems. That is why we set up a brand&#xA;new host for our &lt;a href=&#34;https://fsfla.org&#34;&gt;sister organisation in Latin&#xA;America&lt;/a&gt; so they can eventually migrate, and moved&#xA;the &lt;a href=&#34;https://fossmarks.org&#34;&gt;fossmarks.org&lt;/a&gt; website to our automatic&#xA;CI/CD setup via Drone/Docker.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;the-next-steps-and-developments&#34;&gt;The next steps and developments&lt;/h2&gt;&#xA;&lt;p&gt;As you can see, we completed and started to tackle a lot of issues&#xA;again, so it won&amp;rsquo;t become boring in our team any time soon. However,&#xA;although we should know better, we intend to “change a running system”!&lt;/p&gt;&#xA;&lt;p&gt;While the in-person meetings have been highly important and also fun,&#xA;we are in a state where knowledge and mutual trust are further&#xA;distributed between the members, the tasks separated more clearly and&#xA;the systems mostly well documented. So part of our feedback session was&#xA;the question whether these meetings in the 6-12 month rhythm are still&#xA;necessary.&lt;/p&gt;&#xA;&lt;p&gt;Yes, they are, but not more often than once a year. Instead, we would&#xA;like to try virtual meetings and sprints. Before a sprint session, we&#xA;would discuss all tasks (basically go through our internal Kan board),&#xA;plan the challenges, ask for input if necessary, and resolve blockers as&#xA;early as possible. Then, we would be prepared for a sprint day or&#xA;afternoon during which everyone can work on their tasks while being able&#xA;to directly contact other members. All that should happen over a video&#xA;conference to have a more personal atmosphere.&lt;/p&gt;&#xA;&lt;p&gt;For the analogue meetings, it was requested to also plan tasks and&#xA;priorities beforehand together, and focus on tasks that require more&#xA;people from the group. Also, we want to have more trainings and system&#xA;introductions like we&amp;rsquo;ve just had to reduce dependencies on single&#xA;persons.&lt;/p&gt;&#xA;&lt;p&gt;All in all, this gathering has been another successful meeting and will&#xA;set a corner stone for exciting new improvements for both the systems&#xA;and the team. Thanks to everyone who participated, and a big applause to&#xA;Vincent who organised the venue and the social activities!&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>I love the hidden champions</title>
      <link>https://mehl.mx/blog/2020/i-love-the-hidden-champions/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2020/i-love-the-hidden-champions/</guid>
      <description>&lt;p&gt;A few days ago I&amp;rsquo;ve sent an announcement email for today&amp;rsquo;s &lt;a href=&#34;https://ilovefs.org&#34;&gt;I Love Free Software Day&lt;/a&gt; to a large bunch of people. Most of the remarkably many replies have been positive and a pure joy to read, but some were a bit sceptical and critical. These came from Free Software contributors who are maintaining and helping projects that they think nobody knows and sees – not because these software projects are unused, but because they are small, a building block for other, more popular applications.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;A few days ago I&amp;rsquo;ve sent an announcement email for today&amp;rsquo;s &lt;a href=&#34;https://ilovefs.org&#34;&gt;I Love Free Software Day&lt;/a&gt; to a large bunch of people. Most of the remarkably many replies have been positive and a pure joy to read, but some were a bit sceptical and critical. These came from Free Software contributors who are maintaining and helping projects that they think nobody knows and sees – not because these software projects are unused, but because they are small, a building block for other, more popular applications.&lt;/p&gt;&#xA;&lt;p&gt;When we ask people to participate in #ilovefs (this year for the 10th time in a row!) by expressing their gratitude to contributors of their favourite Free Software projects, many think about the applications they often use and come up with obvious ones like Mozilla&amp;rsquo;s Firefox and Thunderbird, LibreOffice, their Linux-based distribution, or CMSs like WordPress and Drupal. Not that I think this is not deserved, but what about the projects that actually form the foundations for these popular suites?&lt;/p&gt;&#xA;&lt;p&gt;I researched a bit on my own system (based on Arch Linux) and checked on how many packages some of the aforementioned applications depend (including dependencies of their dependencies)&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Firefox: 221&lt;/li&gt;&#xA;&lt;li&gt;Thunderbird: 179&lt;/li&gt;&#xA;&lt;li&gt;LibreOffice: 185&lt;/li&gt;&#xA;&lt;li&gt;GIMP: 166&lt;/li&gt;&#xA;&lt;li&gt;Inkscape: 164&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Phew! Looking through the list of dependencies, there a dozens of programmes and libraries that I couldn&amp;rsquo;t even imagine what they could be about. But they make a big application, be it Firefox, Thunderbird or GIMP, actually possible. Isn&amp;rsquo;t it a bit unfair that we often don&amp;rsquo;t see these small (or sometimes huge) projects and the people who take care of it?&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;I decided to change that, at least for one day! I&amp;rsquo;ve analysed which packages are most used as dependencies of other packages (similar for Debian/Ubuntu &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;for&lt;/span&gt; p in &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;pacman -Q | cut -d&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt; -f1&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a2f&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;pactree -r -l &lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt; | tail -n+2 | sort | uniq | wc -l&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;–&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;–&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;pacman -Qi &lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt; | grep &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;^Description&amp;#34;&lt;/span&gt; | grep -oP &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;(?&amp;lt;=: ).*&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;done&lt;/span&gt; | column -t -s&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;–&amp;#39;&lt;/span&gt; | sort -nr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1621  iana-etc                   /etc/protocols and /etc/services provided by IANA&#xA;1620  tzdata                     Sources for time zone and daylight saving time data&#xA;1620  linux-api-headers          Kernel headers sanitized for use in userspace&#xA;1620  filesystem                 Base Arch Linux files&#xA;1619  glibc                      GNU C Library&#xA;1349  gcc-libs                   Runtime libraries shipped by GCC&#xA;1287  ncurses                    System V Release 4.0 curses emulation library&#xA;1267  readline                   GNU readline library&#xA;1261  bash                       The GNU Bourne Again shell&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As you might expect, on the very top I found a lot of GNU and Linux sub-projects, some widely known (like bash), some which I as a more-user-than-developer never heard of before (like libffi). This alone has been an interesting journey during which I learnt a lot about projects and their maintainers which play a crucial role on my laptop.&lt;/p&gt;&#xA;&lt;p&gt;In the end, I decided to express my thanks today to the following projects and people:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The development team behind &lt;strong&gt;acl/attr&lt;/strong&gt; which controls access permissions&lt;/li&gt;&#xA;&lt;li&gt;The four initial creators of &lt;strong&gt;argon2&lt;/strong&gt;, Jean-Philippe, Samuel, Dmitry and Daniel, for their password hasing function&lt;/li&gt;&#xA;&lt;li&gt;Jan Dittberner (who also is a FSFE supporter!) and Nathan Neulinger, developers of &lt;strong&gt;CrackLib&lt;/strong&gt; which checks and enforces strong passwords&lt;/li&gt;&#xA;&lt;li&gt;Reuben Thomas and Dom Lachowicz for their &lt;strong&gt;enchant&lt;/strong&gt; project, a wrapper for various spell checking engines&lt;/li&gt;&#xA;&lt;li&gt;Maintainers of &lt;strong&gt;glibc&lt;/strong&gt; and &lt;strong&gt;gcc&lt;/strong&gt;, important tools for the C library and compiler&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;HarfBuzz&lt;/strong&gt; team which can shape glyphs from Unicode texts&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;libmnl/netfilter&lt;/strong&gt; people, who provide tools for network-related operations&lt;/li&gt;&#xA;&lt;li&gt;The contributors of &lt;strong&gt;libxml2&lt;/strong&gt; for their library and tools that are crucial for the FSFE website&lt;/li&gt;&#xA;&lt;li&gt;Martin Mitáš who more or less alone maintains &lt;strong&gt;md4c&lt;/strong&gt;, a Markdown parser&lt;/li&gt;&#xA;&lt;li&gt;Thomas Dickey who maintains &lt;strong&gt;ncurses&lt;/strong&gt; which provides a text-based interface for the command line&lt;/li&gt;&#xA;&lt;li&gt;Chet Ramey as representative of &lt;strong&gt;readline&lt;/strong&gt;, a programme for interactive user input&lt;/li&gt;&#xA;&lt;li&gt;And last but not least Lasse Collin who maintains &lt;strong&gt;xz&lt;/strong&gt;, a compression tool&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;But of course, that&amp;rsquo;s only a small fraction of the many interesting Free Software components that enable my daily work. However, if we all do the same and think about the hidden champions – not only during #ILoveFs day but beyond – we can make the humans behind it enjoy their invaluable contributions a bit more.&lt;/p&gt;&#xA;&lt;p&gt;Happy I Love Free Software Day everyone! ❤&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;&lt;code&gt;pactree -l firefox | sort | uniq&lt;/code&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;During the writing of this blog post I remembered Matthias &lt;a href=&#34;https://k7r.eu/hug-a-developer-today-peter-stuge/&#34;&gt;hugging Peter Stuge for #ilovefs 2013&lt;/a&gt; who also contributes to widely used Free Software projects.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;If you want to try the same with apt (with another separator):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;for&lt;/span&gt; p in &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;dpkg --get-selections | cut -f1 | cut -d&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;:&amp;#34;&lt;/span&gt; -f1&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a2f&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;apt-cache rdepends &lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt; | tr -d &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;|&amp;#39;&lt;/span&gt; | tail -n+3 | sort | uniq | wc -l&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;apt-cache show &lt;span style=&#34;color:#b8860b&#34;&gt;$p&lt;/span&gt; | grep -m &lt;span style=&#34;color:#666&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;^Description:&amp;#34;&lt;/span&gt; | grep -oP &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;(?&amp;lt;=: ).*&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;done&lt;/span&gt; | column -t -s&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt; | sort -nr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>The 3rd FSFE System Hackers hackathon</title>
      <link>https://mehl.mx/blog/2019/the-3rd-fsfe-system-hackers-hackathon/</link>
      <pubDate>Tue, 22 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://mehl.mx/blog/2019/the-3rd-fsfe-system-hackers-hackathon/</guid>
      <description>&lt;p&gt;On 10 and 11 October, the FSFE System Hackers met in person to tackle&#xA;problems and new features regarding the servers and services the FSFE&#xA;is running. The team consists of dedicated volunteers who ensure that&#xA;the community and staff can work effectively. The recent meeting built&#xA;on the great work of the past 2 years which have been shaped by large&#xA;personal and technical changes.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;On 10 and 11 October, the FSFE System Hackers met in person to tackle&#xA;problems and new features regarding the servers and services the FSFE&#xA;is running. The team consists of dedicated volunteers who ensure that&#xA;the community and staff can work effectively. The recent meeting built&#xA;on the great work of the past 2 years which have been shaped by large&#xA;personal and technical changes.&lt;/p&gt;&#xA;&lt;p&gt;The System Hackers are responsible for the maintenance and development&#xA;of a &lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Services&#34;&gt;large number of&#xA;services&lt;/a&gt;. From the fsfe.org&#xA;website&amp;rsquo;s deployment to the mail servers and blogs, from Git to&#xA;internal services like DNS and monitoring, all these services, virtual&#xA;machines and physical servers are handled by &lt;a href=&#34;https://wiki.fsfe.org/Teams/System-Hackers/&#34;&gt;this friendly&#xA;group&lt;/a&gt; that is always&#xA;looking forward to welcoming new members.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/system-servers.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Overview of the FSFE&amp;rsquo;s services and servers&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/system-servers.png&#34;  /&gt;&#xA;          &lt;p&gt;Overview of the FSFE&amp;rsquo;s services and servers&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;So in October, six of us met in Cologne. Fittingly, according to a&#xA;saying in this region, if you do something for the third time, it&amp;rsquo;s&#xA;already tradition. So we accomplished this after successful meetings in&#xA;Berlin (April 2018) and Vienna (March 2019). And although it took place&#xA;on workdays, it&amp;rsquo;s been the meeting with the highest participation so&#xA;far!&lt;/p&gt;&#xA;&lt;h2 id=&#34;getting-things-done&#34;&gt;Getting. Things. Done!&lt;/h2&gt;&#xA;&lt;p&gt;After the first and second meeting were mostly about getting an&#xA;overview of historically grown and sparsely documented infrastructure&#xA;and bringing it into a stable state, we were able to deal with a few&#xA;more general topics this time. At the same time, we exchanged our&#xA;knowledge with newly joined team members. Please find the areas we&#xA;worked on below:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Florian migrated the FSFE Blogs to a new server and thereby also&#xA;updated the underlying Wordpress to the latest version. This has been&#xA;a major blocker for several other tasks and our largest security risk.&#xA;There are still a few things left to do, e.g. creating a theme in line&#xA;with the FSFE design and some announcement to the community. However,&#xA;the most complicated part is done!&lt;/li&gt;&#xA;&lt;li&gt;Altogether, we upgraded a lot of machines to Debian 10, just after we lifted most&#xA;servers to Debian 9 in March. Some are still missing, but since the&#xA;migration is rather painless, we can do that during the next months.&lt;/li&gt;&#xA;&lt;li&gt;We confirmed that the new decentralised backup system setup by myself&#xA;and based on Borg works fine. This gives us more confidence in our&#xA;infrastructure.&lt;/li&gt;&#xA;&lt;li&gt;Thanks to Florian and Albert, we finally got rid of the last 2&#xA;services that were not using Let&amp;rsquo;s Encrypt&amp;rsquo;s self-renewing&#xA;certificates.&lt;/li&gt;&#xA;&lt;li&gt;Vincent and Francesco took care of finishing the migration of all our Docker containers&#xA;to use the Docker-in-Docker deployment instead of the hacky Ansible&#xA;playbooks we used initially. This has a few security advantages and&#xA;enables the next developments for a more resilient Docker&#xA;infrastructure.&lt;/li&gt;&#xA;&lt;li&gt;At the moment, all our Docker containers run on one single virtual&#xA;machine. Although this runs on a Proxmox/Ceph cluster, it&amp;rsquo;s obviously&#xA;a single point of failure. However, for a distribution on multiple&#xA;servers we lack the hardware resources. Nonetheless, we already have&#xA;concrete plans how to make the Docker setup more resilient as soon as&#xA;we have more hardware available. Vincent documented this on &lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Docker/docker-machine&#34;&gt;a wiki&#xA;page&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;On the human side, we made sure that all of us know what&amp;rsquo;s on the&#xA;plate for the next weeks and months. We have quite a few open issues&#xA;collected in our Kanban board, and we quickly went through all of them&#xA;to sketch the possible next steps and distribute responsibilities.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;started-projects-in-the-making&#34;&gt;Started projects in the making&lt;/h2&gt;&#xA;&lt;p&gt;Two days are quite some time and we worked hard to use them as&#xA;effectively as possible, so some tasks have been started but could not&#xA;be completed – partly because we just did no have enough time, partly&#xA;because they require more coordination and in-depth discussion:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;As follow-up on a few unpleasant surprises with Mailman&amp;rsquo;s default&#xA;values, we figured that it is important to have an automatic overview&#xA;of the most sensible settings of the 127 (!) mailing lists we host.&#xA;Vincent started to work on a way to extract this information in a&#xA;human- and machine-readable format and merge/compare it with the more&#xA;verbose documentation on the mailing lists we have internally.&lt;/li&gt;&#xA;&lt;li&gt;Francesco tackled a different weak point we have: monitoring. We lack&#xA;a tool that informs us immediately about problems in our&#xA;infrastructure, e.g. defunct core services, full disk drives or&#xA;expired certificates. Since this is not trivial at all, it requires&#xA;some more time.&lt;/li&gt;&#xA;&lt;li&gt;Thomas, maintainer of the FSFE wiki, researched on a way to better organise and distribute the SSH&#xA;accesses in our team. Right now, we have no comfortable way to add or&#xA;remove SSH keys on our more than 20 machines. His idea is to use an&#xA;Ansible playbook to manage these, and thereby also create a shared&#xA;Ansible inventory which can be used as a submodule for the other&#xA;playbooks we use in the team so we don&amp;rsquo;t have to maintain all of them&#xA;individually if a machine is added, changed or removed.&lt;/li&gt;&#xA;&lt;li&gt;One of the most ancient physical machines we still run is hosting the&#xA;SVN service which is only used by one service now: DNS. We started to work&#xA;on migrating that over to Git and simultaneously improving the&#xA;error-checking of the DNS configuration. Albert and I will continue&#xA;with that gradually.&lt;/li&gt;&#xA;&lt;li&gt;Not on the system hackers meeting itself but two days later, Björn,&#xA;Albert and I worked on getting a Nextcloud instance running. Caused by&#xA;our rather special LDAP setup, we had to debug a lot of strange&#xA;behaviour but finally figured everything out. Now, the last missing&#xA;blocker is some user/permission setting within our LDAP. As soon as&#xA;this is finished, we can shut down one more historically grown,&#xA;customised-hacked and user-unfriendly service.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Overall, the perspective for the System Hackers is better than ever. We&#xA;are a growing team carried by motivated and skilled volunteers with a&#xA;shared vision of how the systems should develop. At the same time, we&#xA;have a lot of public and internal documentation available to make it&#xA;easy for new people to join us.&lt;/p&gt;&#xA;&lt;p&gt;I would like to thank Albert, Florian, Francesco, Thomas and Vincent for&#xA;their participation in this meeting, and them and all other System&#xA;Hackers for their dedication to keep the FSFE running!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Protect freedom on radio devices: raise your voice today!</title>
      <link>https://mehl.mx/blog/2019/protect-freedom-on-radio-devices-raise-your-voice-today/</link>
      <pubDate>Fri, 01 Mar 2019 15:09:56 +0000</pubDate>
      <guid>https://mehl.mx/blog/2019/protect-freedom-on-radio-devices-raise-your-voice-today/</guid>
      <description>&lt;p&gt;We are facing a EU regulation which may make it impossible to install a custom piece of software on most radio decives like WiFi routers, smartphones and embedded devices. You can now &lt;a href=&#34;https://ec.europa.eu/info/law/better-regulation/initiatives/ares-2018-6621038_en&#34;&gt;give feedback&lt;/a&gt; on the most problematic part by Monday, 4 March. Please participate – it’s not hard!&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;We are facing a EU regulation which may make it impossible to install a custom piece of software on most radio decives like WiFi routers, smartphones and embedded devices. You can now &lt;a href=&#34;https://ec.europa.eu/info/law/better-regulation/initiatives/ares-2018-6621038_en&#34;&gt;give feedback&lt;/a&gt; on the most problematic part by Monday, 4 March. Please participate – it’s not hard!&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;sm pull-right no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/kaefig_einzel.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;In the EU Radio Equipment Directive (&lt;a href=&#34;https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32014L0053&#34;&gt;2014/53/EU&lt;/a&gt;) contains one highly dangerous article will cause many issues if implemented: Article 3(3)(i). It requires hardware manufacturers of most devices sending and receiving radio signals to implement a barrier that disallows installing software which has not been certified by the manufacturer. That means, that for installing an alternative operating system on a router, mobile phone or any other radio-capable device, the manufacturer of this device has to assess its conformity.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[R]adio equipment [shall support] certain features in order to ensure that software can only be loaded into the radio equipment where the compliance of the combination of the radio equipment and software has been demonstrated.&lt;/p&gt;&#xA;&lt;p&gt;– Article 3(3)(i) of the Radio Equipment Directive 2014/53/EU&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;That flips the responsibility of radio conformity by 180°. In the past, you as the one who changed the software on a device have been responsible to make sure that you don’t break any applicable regulations like frequency and signal strength. Now, the manufacturers have to prevent you from doing something wrong (or right?). That further takes away freedom to control our technology. More information &lt;a href=&#34;https://fsfe.org/activities/radiodirective/&#34;&gt;here by the FSFE&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The European Commission has installed an &lt;a href=&#34;http://ec.europa.eu/transparency/regexpert/index.cfm?do=groupDetail.groupDetail&amp;amp;groupID=3413&#34;&gt;Expert Group&lt;/a&gt; to come up with a list of classes of devices which are supposed to be affected by the said article. Unfortunately, as it seems, the recommendation by this group is to put highly diffuse device categories like „Software Defined Radio“ and „Internet of Things“ under the scope of this regulation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;get-active-today&#34;&gt;Get active today&lt;/h2&gt;&#xA;&lt;p&gt;But there is something you can do! The European Commission has officially opened a &lt;a href=&#34;https://ec.europa.eu/info/law/better-regulation/initiatives/ares-2018-6621038_en&#34;&gt;feedback period&lt;/a&gt;. Everyone, individuals, companies and organisations, can provide statements on their proposed plans. All you need to participate is an EU Login account, and you can hide your name from the public list of received feedback. A summary, the impact assessment, already received feedback, and the actual feedback form is available &lt;a href=&#34;https://ec.europa.eu/info/law/better-regulation/initiatives/ares-2018-6621038_en&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To help you word your feedback, here’s a list of some of the most important disadvantages for user freedom I see (there is a &lt;a href=&#34;https://fsfe.org/activities/radiodirective/&#34;&gt;more detailed list&lt;/a&gt; by the FSFE):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Free Software&lt;/strong&gt;: To control technology, you have to be able to control the software. This only is possible with Free and Open Source Software. So if you want to have a transparent and trustworthy device, you need to make the software running on it Free Software. But any device affected by Article 3(3)(i) will only allow the installation of software authorised by the manufacturer. It is unlikely that a manufacturer will certify all the available software for your device which suits your needs. Having these gatekeepers with their particular interests will make using Free Software on radio devices hard.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: Radio equipment like smartphones, routers, or smart home devices are highly sensitive parts of our lives. Unfortunately, many manufacturers sacrifice security for lower costs. For many devices there is better software which protects data and still offers equal or even better functionality. If such manufacturers do not even care for security, will they even allow running other (Free and Open Source) software on their products?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fair competition&lt;/strong&gt;: If you don’t like a certain product, you can use another one from a different manufacturer. If you don’t find any device suiting your requirements, you can (help) establish a new competitor that e.g. enables user freedom. But Article 3(3)(i) favours huge enterprises as it forces companies to install software barriers and do certification of additional software. For example, a small and medium-sized manufacturer of wifi routers cannot certify all available Free Software operating systems. Also, companies bundling their own software with third-party hardware will have a really hard time. On the other hand, large companies which don’t want users to use any other software than their own will profit from this threshold.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Community services&lt;/strong&gt;: Volunteer initiatives like Freifunk depend on hardware which they can use with their own software for their charity causes. They were able to create innovative solutions with limited resources.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Sustainability&lt;/strong&gt;: No updates available any more for your smartphone or router? From a security perspective, there are only two options: Flash another firmware which still recieves updates, or throw the whole device away. From an environmental perspective, the first solution is much better obviously. But will manufacturers still certify alternative firmware for devices they want to get rid of? I doubt so…&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;There will surely be more, so please &lt;a href=&#34;https://ec.europa.eu/info/law/better-regulation/initiatives/ares-2018-6621038_en&#34;&gt;make your points&lt;/a&gt; in your individual feedback. It will send a signal to the European Commission that there are people who care about freedom on radio devices. It’s only a few minutes work to avoid legal barriers that will worsen your and others‘ lives for years.&lt;/p&gt;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>FSFE Planet has been refurbished</title>
      <link>https://mehl.mx/blog/2019/fsfe-planet-has-been-refurbished/</link>
      <pubDate>Mon, 11 Feb 2019 10:33:11 +0000</pubDate>
      <guid>https://mehl.mx/blog/2019/fsfe-planet-has-been-refurbished/</guid>
      <description>&lt;p&gt;If you are reading these lines, you are already accessing the brand-new planet of the FSFE. While Björn, Coordinator of Team Germany, has largely improved the design in late 2017, we tackled many underlying issues this time.&lt;/p&gt;&#xA;&lt;p&gt;So what has changed under the hood?&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;If you are reading these lines, you are already accessing the brand-new planet of the FSFE. While Björn, Coordinator of Team Germany, has largely improved the design in late 2017, we tackled many underlying issues this time.&lt;/p&gt;&#xA;&lt;p&gt;So what has changed under the hood?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The whole system runs in a Docker container now, with all code accessible on &lt;a href=&#34;https://git.fsfe.org/fsfe-system-hackers/fsfe-planet&#34;&gt;our Git&lt;/a&gt;. Yes, Docker has drawbacks, but in this case it eases maintenance for our volunteers and makes contributions to design and code very simple.&lt;/li&gt;&#xA;&lt;li&gt;The old planet ran on a very old Debian server which had issues with modern TLS versions. This basically erased a few blogs from the planet whose webservers do not support older encryption standards.&lt;/li&gt;&#xA;&lt;li&gt;The design has been improved once more. It now more closely aligns to the design of our main page &lt;a href=&#34;https://fsfe.org&#34;&gt;fsfe.org&lt;/a&gt; and feels more natively to use and browse.&lt;/li&gt;&#xA;&lt;li&gt;Many blogs which were not accessible any more have been removed, and those which redirected to other URLs have been updated accordingly.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;So with the migration to the new system you will probably find a few new blogs and unread posts in your RSS feeds now. So please do not be confused about it but look forward to even more useful and interesting bits from the FSFE community!&lt;/p&gt;&#xA;&lt;p&gt;On this occasion I would like to thank Michael and Vincent for their contributions to the code, and the useful feedback from various people in the FSFE’s community. If you have ideas how to further improve our planet, please open an issue in the Git repository or &lt;a href=&#34;https://fsfe.org/about/contact/&#34;&gt;write an email to us&lt;/a&gt;.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Idee: Wiki zu gesellschaftspolitischen Positionen von Prominenten</title>
      <link>https://mehl.mx/blog/2017/idee-wiki-zu-gesellschaftspolitischen-positionen-von-prominenten/</link>
      <pubDate>Mon, 29 May 2017 10:15:45 +0000</pubDate>
      <guid>https://mehl.mx/blog/2017/idee-wiki-zu-gesellschaftspolitischen-positionen-von-prominenten/</guid>
      <description>&lt;p&gt;&lt;em&gt;Alles begann, als mein Mitbewohner Lars und ich uns eines morgens fragten: „Mit wem würden wir lieber ein Bier trinken gehen, Thomas de Maizière oder Jens Lehmann?“.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Zu de Maizière hatten wir beide eine recht eindeutige Meinung, aber bei Lehmann waren wir uns nicht sicher, ob wir uns mit ihm verstehen würden. Lars meinte sich zu erinnern, dass er ein merkwürdiges Gesellschaftsbild hätte, allerdings zeigte ein Blick auf &lt;a href=&#34;https://de.wikipedia.org/wiki/Jens_Lehmann&#34;&gt;Lehmanns Wikipedia-Artikel&lt;/a&gt;, dass er gemeinnützig sehr engagiert ist. Was nun? Würden wir uns mit dem Ex-Nationaltorwart bei einem gemütlichen Bier gut verstehen oder schon nach wenigen Minuten in einer heftigen Diskussion über Geschlechterbilder enden?&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;Alles begann, als mein Mitbewohner Lars und ich uns eines morgens fragten: „Mit wem würden wir lieber ein Bier trinken gehen, Thomas de Maizière oder Jens Lehmann?“.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Zu de Maizière hatten wir beide eine recht eindeutige Meinung, aber bei Lehmann waren wir uns nicht sicher, ob wir uns mit ihm verstehen würden. Lars meinte sich zu erinnern, dass er ein merkwürdiges Gesellschaftsbild hätte, allerdings zeigte ein Blick auf &lt;a href=&#34;https://de.wikipedia.org/wiki/Jens_Lehmann&#34;&gt;Lehmanns Wikipedia-Artikel&lt;/a&gt;, dass er gemeinnützig sehr engagiert ist. Was nun? Würden wir uns mit dem Ex-Nationaltorwart bei einem gemütlichen Bier gut verstehen oder schon nach wenigen Minuten in einer heftigen Diskussion über Geschlechterbilder enden?&lt;/p&gt;&#xA;&lt;p&gt;„Man bräuchte eine Wikipedia über gesellschaftspolitische Positionen von A-Prominenten“, sagte Lars, womit er meiner Meinung nach absolut Recht hat. Denn eine solche Sammlung zu politischen Einstellungen würde gleich mehreren Aufträgen dienen:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Prominente hübschen oft ihr Portfolio durch öffentlichkeitswirksame Aktionen wie Spendengalas oder ein paar Fototerminen mit armen Kindern in Drittweltländern auf, weichen aber in ihren Aussagen manchmal erkennbar von einem menschenfreundlichen Bild ab. Gerade bei politischen Akteuren ist eine gewisse Transparenz der gesellschaftlichen Grundeinstellungen wünschenswert.&lt;/li&gt;&#xA;&lt;li&gt;Aus wissenschaftlicher Sicht ist ein Vergleich der „inszenierten“ Außendarstellung und der (vermeintlichen) eigentlichen Einstellung höchst interessant. Auch ein Abgleich der öffentlichen Einschätzung zu bestimmten Prominenten und der eigentlichen Positionen wäre sicherlich spannend und mit einer entsprechenden Datenbank gut durchzuführen.&lt;/li&gt;&#xA;&lt;li&gt;Ein solches Wiki würde kritisches Denken fördern und etwa inhaltsleeren, rein auf Emotionen zielenden Wahlplakaten und Hochglanzbroschüren zumindest ein bisschen Macht entziehen.&lt;/li&gt;&#xA;&lt;li&gt;Es würde ebenfalls widersprüchliche Positionen von Prominenten oder deren Wertewandel aufzeichnen.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Wie könnte ein solches Wiki gestaltet sein? Erste Ideen kreisten um eine Auflistung bestimmter gesellschaftspolitischer Fragen und wie die Person dazu eingestellt ist, also etwa Einstellung zu Geflüchteten, verschiedenen Geschlechterbildern, Hilfe von sozial schwächer Gestellten, Behinderung, Ehrenamt, Ehe und Partnerschaft, Religion und so weiter. Weiterhin wäre es spannend, eine Person auf einem zweiachsigen politischen Kompass einzuordnen (wie es etwa &lt;a href=&#34;https://politicalcompass.org/&#34;&gt;politicalcompass.org&lt;/a&gt; tut).&lt;/p&gt;&#xA;&lt;p&gt;Ganz offensichtlich bräuchte es ebenso wie das große Vorbild Wikipedia eine große Anzahl von Freiwilligen, die Inhalte einstellen und ab einem gewissen Level auch moderieren und organisieren. Und natürlich müsste es einen wohldefinierten Codex geben, in dem beispielweise festgehalten wird, welche Arten von Quellen überhaupt für die Einschätzung von politischen Positionen zulässig sind (etwa nur direkte Interviews und keine Aussagen von Dritten).&lt;/p&gt;&#xA;&lt;p&gt;Nichtsdestotrotz würde ein solches Wiki natürlich auch einige Risiken bergen:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Die Gefahr einseitiger oder gar verfälschter Eintragungen ist hoch. Man müsste große Warnungen anzeigen, wenn es bisher nur wenige Quellenangaben und Mitarbeitende an einem Eintrag gegeben hat.&lt;/li&gt;&#xA;&lt;li&gt;Man bräuchte viel Moderation, die gewährleistet, dass eine Interpretation einer gewissen schriftlichen Aussage auch tatsächlich korrekt ist.&lt;/li&gt;&#xA;&lt;li&gt;Die notwendigen Quellen sind nicht einfach zu beschaffen und auch sehr unübersichtlich, da wahrscheinlich hauptsächlich schriftliche Interviews oder Talkshows als Grundlage dienen müssten.&lt;/li&gt;&#xA;&lt;li&gt;Sind Aussagen in Interviews in Zeitungen, Boulevardblättern und Talkshows überhaupts ausreichend, um die gesellschaftspolitische Einstellung eines Menschen zu beurteilen? Gegenfrage: Wenn nicht, wie kann man denn dann überhaupt etwa einer Politikerin „trauen“?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Man sieht, sehr kontrovers und ohne eindeutige Antwort. Was haltet Ihr von der Idee? Gibt’s sowas eigentlich schon? Und wo seht ihr Chancen und Risiken?&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>I love astroid! #ilovefs</title>
      <link>https://mehl.mx/blog/2017/i-love-astroid-ilovefs/</link>
      <pubDate>Tue, 14 Feb 2017 07:30:51 +0000</pubDate>
      <guid>https://mehl.mx/blog/2017/i-love-astroid-ilovefs/</guid>
      <description>&lt;p&gt;You cannot imagine how long I’ve waited to write this blog post. Normally I’m not the bragging kind of guy but for this year’s edition of my „&lt;a href=&#34;https://ilovefs.org&#34;&gt;I love Free Software&lt;/a&gt;“ declaration articles (after &lt;a href=&#34;https://blog.mehl.mx/2014/i-love-znc-because-ilovefs/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://blog.mehl.mx/2015/i-love-taskwarrior-therefore-i-love-free-software/&#34;&gt;2015&lt;/a&gt; and &lt;a href=&#34;https://blog.mehl.mx/2016/i-love-free-software-apps/&#34;&gt;2016&lt;/a&gt;) I just want to shout out to the world: I have the world’s best mail client: &lt;a href=&#34;https://github.com/astroidmail/astroid&#34;&gt;astroid&lt;/a&gt;!&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;You cannot imagine how long I’ve waited to write this blog post. Normally I’m not the bragging kind of guy but for this year’s edition of my „&lt;a href=&#34;https://ilovefs.org&#34;&gt;I love Free Software&lt;/a&gt;“ declaration articles (after &lt;a href=&#34;https://blog.mehl.mx/2014/i-love-znc-because-ilovefs/&#34;&gt;2014&lt;/a&gt;, &lt;a href=&#34;https://blog.mehl.mx/2015/i-love-taskwarrior-therefore-i-love-free-software/&#34;&gt;2015&lt;/a&gt; and &lt;a href=&#34;https://blog.mehl.mx/2016/i-love-free-software-apps/&#34;&gt;2016&lt;/a&gt;) I just want to shout out to the world: I have the world’s best mail client: &lt;a href=&#34;https://github.com/astroidmail/astroid&#34;&gt;astroid&lt;/a&gt;!&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;lg&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Hugo and me declaring our love to astroid&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Hugo and me declaring our love to astroid&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update February 2018&lt;/strong&gt;: Meanwhile I have &lt;a href=&#34;https://src.mehl.mx/mxmehl/mail-config&#34;&gt;published my mail config&lt;/a&gt; incl. astroid, notmuch, offlineimap etc. It is a rather complicated and special setup but perhaps it will help you.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Okay, maybe I’ll add two or three words to explain why I am so grateful to the authors of this awesome Free Software application. Firstly, I should note that until ~6 months ago I have used Thunderbird – extended with lots of add-ons but still a mail user agent that most of you will know. But with each new email and project it became obvious to me that I have to find a way to organise my tenthousands of mails in a better way: not folder-based but tag-based, but not to the expense of overview and comfort.&lt;/p&gt;&#xA;&lt;p&gt;Thanks to &lt;a href=&#34;https://hroy.eu/&#34;&gt;Hugo&lt;/a&gt; I became aware of astroid, an application that unites my needs and is open to multiple workflows. Let’s read how &lt;a href=&#34;https://github.com/astroidmail/astroid&#34;&gt;astroid&lt;/a&gt; describes itself:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Astroid is a lightweight and fast Mail User Agent that provides a graphical interface to searching, display and composing email, organized in thread and tags. Astroid uses the &lt;a href=&#34;http://notmuchmail.org/&#34;&gt;notmuch&lt;/a&gt; backend for blazingly fast searches through tons of email. Astroid searches, displays and composes emails – and rely on other programs for fetching, syncing and sending email.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-2.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;My currently unread and tagged emails&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-2.png&#34;  /&gt;&#xA;          &lt;p&gt;My currently unread and tagged emails&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Astroid is roughly 3 years old, is based on sup, and is mainly developed by &lt;a href=&#34;http://gaute.vetsj.com/&#34;&gt;Gaute Hope&lt;/a&gt;, an awesome programmer who encourages people – also non-programmers like me – to engage in the small and friendly community.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-is-astroid-so-cool&#34;&gt;Why is astroid so cool?&lt;/h3&gt;&#xA;&lt;p&gt;That’s one secret of astroid: it doesn’t try to catch up to programs that do certain jobs very well already. So astroid relies on external POP/IMAP fetching (e.g. offlineimap), SMTP server (e.g. msmtp), email indexing (notmuch), and mail editors (e.g. vim, emacs). This way, astroid can concentrate on offering a unique interface that unites many strenghts:&lt;/p&gt;&#xA;&#xA;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig3&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-3.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Saved searches on the left, a new editor window on the right&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig3&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-3.png&#34;  /&gt;&#xA;          &lt;p&gt;Saved searches on the left, a new editor window on the right&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;astroid encourages you to use tabs. Email threads open in a new tab, a newly composed message is a separate tab, as well as a search query. You won’t loose any information when you write an email while researching in your archive while keeping an eye on incoming unread mails. If your tab bar becomes too long, just open another astroid instance.&lt;/li&gt;&#xA;&lt;li&gt;It can be used by either keyboard or mouse. Beginners value to have a similar experience as with mouse-based mail agents like Thunderbird, experts hunt through their mails with the configurable keyboard shortcuts.&lt;/li&gt;&#xA;&lt;li&gt;Tagging of emails is blazingly fast and efficient. You can either tag single mails or whole email threads with certain keywords that you can freely choose. Astroid doesn’t impose a certain tagging scheme on its users.&lt;/li&gt;&#xA;&lt;li&gt;astroid already included the possibility to read HTML or GPG-exncrypted emails. No need to create a demotivatingly huge configuration file like with mutt.&lt;/li&gt;&#xA;&lt;li&gt;Theming your personal astoid is easy. The templates can be configured using HTML and CSS syntax.&lt;/li&gt;&#xA;&lt;li&gt;It is expandable by Python and lua plugins.&lt;/li&gt;&#xA;&lt;li&gt;It’s incredibly fast! Thunderbird or Evolution users will never have to bother with 20+ seconds startup time anymore. Efficiency hooray!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig4&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-1.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;On startup, I see my saved search queries&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig4&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/astroid-ilovefs-1.png&#34;  /&gt;&#xA;          &lt;p&gt;On startup, I see my saved search queries&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Because it is open to any workflow, you can also easily use astroid with rather uncommon workflows. I, personally, use a mix of folder- and tag-based sorting. My mail server automatically moves incoming mails to certain folders (mostly based on mailing lists) which is important to me because I often use my mobile phone that doesn’t include a tagging-based email client, too. But with my laptop I can add additional tags or tag unsorted mails. Based on these tags, I again sort these mails to certain folders to reduce the amount of mails lying around in my unsorted inbox. Such a strange setup would have been impossible with many other email agents but with astroid (almost) everything is possible.&lt;/p&gt;&#xA;&lt;p&gt;Did I convince you? Well, certainly not. Switching one’s email client is a huge step because for most people it involves changing the way how most of theor digital communication happens. But hopefully I convinced you to have a look at astroid and think about whether this awesome client may fulfill some of your demands better than your existing one. If you already use notmuch, a local SMTP server, offlineimap, procmail or other required parts, testing astroid will be very easy for you. And if your way to using astroid will be longer, as mine was, feel free to ask me or the helpful community.&lt;/p&gt;&#xA;&lt;p&gt;P.S.: FSFE activists in Berlin carried out &lt;a href=&#34;https://fsfe.org/news/2017/news-20170214-01.html&#34;&gt;two awesome activities for ILoveFS&lt;/a&gt;!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Build FSFE websites locally</title>
      <link>https://mehl.mx/blog/2016/build-fsfe-websites-locally/</link>
      <pubDate>Sun, 13 Nov 2016 23:00:44 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/build-fsfe-websites-locally/</guid>
      <description>&lt;p&gt;&lt;em&gt;Note: This guide is also available &lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Mainpage/BuildLocally&#34;&gt;in FSFE’s wiki&lt;/a&gt; now, and it will be the only version maintained. So please head over to the wiki if you’re planning to follow this guide.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Those who create, edit, and translate &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE websites&lt;/a&gt; already know that the source files are XHTML files which are build with a XSLT processor, including a lot of custom stuff. One of the huge advantages from that is that we don’t have to rely on dynamic website processors and databases, on the other hand there are a few drawbacks as well: websites need a few minutes to be generated by the central build system, and it’s quite easy to mess up with the XML syntax.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;Note: This guide is also available &lt;a href=&#34;https://wiki.fsfe.org/TechDocs/Mainpage/BuildLocally&#34;&gt;in FSFE’s wiki&lt;/a&gt; now, and it will be the only version maintained. So please head over to the wiki if you’re planning to follow this guide.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Those who create, edit, and translate &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE websites&lt;/a&gt; already know that the source files are XHTML files which are build with a XSLT processor, including a lot of custom stuff. One of the huge advantages from that is that we don’t have to rely on dynamic website processors and databases, on the other hand there are a few drawbacks as well: websites need a few minutes to be generated by the central build system, and it’s quite easy to mess up with the XML syntax.&lt;/p&gt;&#xA;&lt;p&gt;Now if an editor wants to create or edit a page, she needs to wait a few minutes until the build system has finished everytime she wants to test how the website looks like. So in this guide I will show how to build single websites on your own computer in a fraction of the FSFE’s system build time, so you’ll only need to commit your changes as soon as the file looks as you want it. All you need is a bit hard disk space and around one hour time to set up everything.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;The whole idea is based on what FSFE’s webmaster Paul Hänsch has coded and written. &lt;a href=&#34;http://blog.plutz.net/The_FSFE_org_buildscript.html&#34;&gt;On his blog&lt;/a&gt; he explains the new build script. He explains how to build files locally, too. However, this guide aims to make it a bit easier and more verbose.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Before we’re getting started, let me shortly explain the concept of what we’ll be doing. Basically, we’ll have three directories: &lt;code&gt;trunk&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, and &lt;code&gt;fsfe.org&lt;/code&gt;. Most likely you already have &lt;code&gt;trunk&lt;/code&gt;, it’s a clone of the FSFE’s main SVN repository, and the source of all operations. All those files in there have to be compiled to generate the final HTML files we can browse. The location of these finished files will be &lt;code&gt;fsfe.org&lt;/code&gt;. &lt;code&gt;status&lt;/code&gt;, the third directory, contains error messages and temporary files.&lt;/p&gt;&#xA;&lt;p&gt;After we (1) created these directories, partly by downloading a repository with some useful scripts and configuration files, we’ll (2) build the whole FSFE website on our own computer. In the next step, we’ll (3) set up a local webserver so you can actually browse these files. And lastly we’ll (4) set up a small script which you can use to quickly build single XHTML files. Last but not least I’ll give some real-world examples.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-clone-helper-repository&#34;&gt;1. Clone helper repository&lt;/h3&gt;&#xA;&lt;p&gt;Firstly, clone a &lt;a href=&#34;https://src.mehl.mx/mxmehl/fsfe-local-build&#34;&gt;git repository&lt;/a&gt; which will give you most needed files and directories for the further operations. It has been created by me and contains configuration files and the script that will make building of single files easier. Of course, you can also do everything manually.&lt;/p&gt;&#xA;&lt;p&gt;In general, this is the directory structure I propose. In the following I’ll stick to this scheme. Please adapt all changes if your folder tree looks differently.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;trunk (~700 MB):      ~/subversion/fsfe/fsfe-web/trunk/&#xA;status (~150 MB):     ~/subversion/fsfe/local-build/status/&#xA;fsfe.org (~1000 MB):  ~/subversion/fsfe/local-build/fsfe.org/&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;(For those not so familiar with the GNU/Linux terminal: &lt;code&gt;~&lt;/code&gt; is the short version of your home directory, so for example &lt;code&gt;/home/user&lt;/code&gt;. &lt;code&gt;~/subversion&lt;/code&gt; is the same as &lt;code&gt;/home/USER/subversion&lt;/code&gt;, given that your username is &lt;code&gt;USER&lt;/code&gt;)&lt;/p&gt;&#xA;&lt;p&gt;To continue, you have to have &lt;code&gt;git&lt;/code&gt; installed on your computer (&lt;code&gt;sudo apt-get install git&lt;/code&gt;). Then, please execute via terminal following command. It will copy the files from &lt;a href=&#34;https://src.mehl.mx/mxmehl/fsfe-local-build&#34;&gt;my git repository&lt;/a&gt; to your computer and already contains the folders &lt;code&gt;status&lt;/code&gt; and &lt;code&gt;fsfe.org&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://src.mehl.mx/mxmehl/fsfe-local-build.git ~/subversion/fsfe/local-build&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now we take care of &lt;code&gt;trunk&lt;/code&gt;. In case you already have a copy of &lt;code&gt;trunk&lt;/code&gt; on your computer, you can use this location, but please do a &lt;code&gt;svn up&lt;/code&gt; beforehand and be sure that the output of &lt;code&gt;svn status&lt;/code&gt; is empty (so no new or modified files on your side). If you don’t have &lt;code&gt;trunk&lt;/code&gt; yet, download the repository to the proposed location:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;svn --username &lt;span style=&#34;color:#b8860b&#34;&gt;$YourFSFEUsername&lt;/span&gt; co https://svn.fsfe.org/fsfe-web/trunk ~/subversion/fsfe/fsfe-web/trunk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-build-full-website&#34;&gt;2. Build full website&lt;/h3&gt;&#xA;&lt;p&gt;Now we have to build the whole FSFE website locally. This will take a longer time but we’ll only have to do it once. Later, you’ll just build single files and not &amp;gt;14000 as we do now.&lt;/p&gt;&#xA;&lt;p&gt;But first, we have to install a few applications which are needed by the build script (&lt;strong&gt;Warning&lt;/strong&gt;: it’s possible your system lacks some other required applications which were already installed on mine. If you encounter any &lt;code&gt;command not found&lt;/code&gt; errors, please report them in the comments or by mail). So let’s install them via the terminal:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install make libxslt&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note: &lt;code&gt;libxslt&lt;/code&gt; may have a different name in your distribution, e.g. &lt;code&gt;libxslt1.1&lt;/code&gt; or &lt;code&gt;libxslt2&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Now we can start building.The full website build can be started with&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;~/subversion/fsfe/fsfe-web/trunk/build/build_main.sh --statusdir ~/subversion/fsfe/local-build/status/ build_into ~/subversion/fsfe/local-build/fsfe.org/&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;See? We use the build routine from &lt;code&gt;trunk&lt;/code&gt; to launch building &lt;code&gt;trunk&lt;/code&gt;. All status messages are written to &lt;code&gt;status&lt;/code&gt;, and the final website will reside in &lt;code&gt;fsfe.org&lt;/code&gt;. Mind differing directory names if you have another structure than I do. This process will take a long time, depending on your CPU power. Don’t be afraid of strange messages and massive walls of text ;-)&lt;/p&gt;&#xA;&lt;p&gt;After the long process has finished, navigate to the &lt;code&gt;trunk&lt;/code&gt; directory and execute &lt;code&gt;svn status&lt;/code&gt;. You may see a few files which are new:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;max@bistromath ~/s/f/f/trunk&amp;gt; svn status&#xA;?       about/printable/archive/printable.en.xml&#xA;?       d_day.en.xml&#xA;?       d_month.en.xml&#xA;?       d_year.en.xml&#xA;?       localmenuinfo.en.xml&#xA;[...]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;These are leftover from the full website build. Because &lt;code&gt;trunk&lt;/code&gt; is supposed to be your productive source directory where you also make commits to the FSFE SVN, let’s delete these files. You won’t need them anymore.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm about/printable/archive/printable.en.xml d_day.en.xml d_month.en.xml d_year.en.xml localmenuinfo.en.xml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm tools/tagmaps/*.map&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Afterwards, the output of &lt;code&gt;svn status&lt;/code&gt; should be empty again. It is? Fine, let’s go on! If not, please also remove those files (and tell me which files were missing).&lt;/p&gt;&#xA;&lt;h3 id=&#34;3-set-up-local-webserver&#34;&gt;3. Set up local webserver&lt;/h3&gt;&#xA;&lt;p&gt;After the full build is completed, you can install a local webserver. This is necessary to actually display the locally built files in your browser. In this example, I assume you don’t already have a webserver installed, and that you’re using a Debian-based operating system. So let’s install &lt;code&gt;lighttpd&lt;/code&gt; which is a thin and fast webserver, plus &lt;code&gt;gamin&lt;/code&gt; which &lt;code&gt;lighttpd&lt;/code&gt; needs in some setups:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install lighttpd gamin&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To make Lighttpd running properly we need a configuration file. This has to point the webserver to show files in the &lt;code&gt;fsfe.org&lt;/code&gt; directory. You already downloaded my recommended config file (&lt;code&gt;lighttpd-fsfe.conf.sample&lt;/code&gt;) by cloning the git repository. But you’ll have to modify the path accordingly and rename it. So rename the file to &lt;code&gt;lighttpd-fsfe.conf&lt;/code&gt;, open it and change following line to match the actual and absolute path of the &lt;code&gt;fsfe.org&lt;/code&gt; directory (~ does not work here):&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;server.document-root = &amp;#34;/home/USER/subversion/fsfe/local-build/fsfe.org&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now you can test whether the webserver is correctly configured. To start a temporary webserver process, execute the next command in the terminal:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lighttpd -Df ~/subversion/fsfe/local-build/lighttpd-fsfe.conf&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Until you press Ctrl+C, you should be able to open your local FSFE website in any browser using the URL &lt;code&gt;http://localhost:5080&lt;/code&gt;. For example, open the URL &lt;code&gt;http://localhost:5080/contribute/contribute.en.html&lt;/code&gt; in your browser. You should see basically the same website as the original &lt;a href=&#34;https://fsfe.org/contribute/contribute.en.html&#34;&gt;fsfe.org website&lt;/a&gt;. If not, double-check the paths, if the lighttpd process is still running, or if the full website build is already finished.&lt;/p&gt;&#xA;&lt;h3 id=&#34;4-single-page-build-script&#34;&gt;4. Single page build script&lt;/h3&gt;&#xA;&lt;p&gt;Until now, you didn’t see much more than you can see on the original website. But in this step, we’ll configure and start using a Bash script (&lt;code&gt;fsfe-preview.sh&lt;/code&gt;) I’ve written to make a preview of a locally edited XHTML file as comfortable as possible. You already downloaded it by cloning the repository.&lt;/p&gt;&#xA;&lt;p&gt;First, rename and edit the script’s configuration file &lt;code&gt;config.cfg.sample&lt;/code&gt;. Rename it to &lt;code&gt;config.cfg&lt;/code&gt; and open it. The file contains all paths we already used here, so please adapt them to your structure if necessary. Normally, it should be sufficient to modify the values for &lt;code&gt;LOC_trunk&lt;/code&gt; (&lt;code&gt;trunk&lt;/code&gt; directory) and &lt;code&gt;LOC_out&lt;/code&gt; (&lt;code&gt;fsfe.org&lt;/code&gt; directory), the rest can be left with the default values.&lt;/p&gt;&#xA;&lt;p&gt;Another feature of the fsfe-preview is to automatically check the XML syntax of the files. For this, &lt;code&gt;libxml2-utils&lt;/code&gt; has to be installed which contains &lt;code&gt;xmllint&lt;/code&gt;. Please execute:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install libxml2-utils&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now let’s make the script easy to access via the terminal for future usage. For this, we’ll create a short link to the script from one of the binary path directories. Type in the terminal:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ln -s ~/subversion/fsfe/local-build/fsfe-preview.sh /usr/bin/fsfe-preview&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;From this moment on, you should be able to call &lt;code&gt;fsfe-preview&lt;/code&gt; from anywhere in your terminal. Let’s make a test run. Modify the XHTML source file contribute/contribute.en.xhtml and edit some obvious text or alter the title. Now do:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-fsfe-preview&#34; data-lang=&#34;fsfe-preview&#34;&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As output, you should see something like:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[INFO] Using file /home/max/subversion/fsfe/fsfe-web/trunk/contribute/contribute.en.xhtml as source...&#xA;[INFO] XHTML file detected. Going to build into /home/max/subversion/fsfe/local-build/fsfe.org/contribute/contribute.en.html ...&#xA;[INFO] Starting webserver&#xA;&#xA;[SUCCESS] Finished. File can be viewed at http://localhost:5080/contribute/contribute.en.html&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now open the mentioned URL &lt;code&gt;http://localhost:5080/contribute/contribute.en.html&lt;/code&gt; and take a look whether your changes had an effect.&lt;/p&gt;&#xA;&lt;h3 id=&#34;recommended-workflows&#34;&gt;Recommended workflows&lt;/h3&gt;&#xA;&lt;p&gt;In this section I’ll present a few of the cases you might face and how to solve them with the script. I presume you have your terminal opened in the &lt;code&gt;trunk&lt;/code&gt; directory.&lt;/p&gt;&#xA;&lt;h5 id=&#34;preview-a-single-file&#34;&gt;&lt;strong&gt;Preview a single file&lt;/strong&gt;&lt;/h5&gt;&#xA;&lt;p&gt;To preview a single file before uploading it, just edit it locally. The file has to be located in the &lt;code&gt;trunk&lt;/code&gt; directory, so I suggest to only use one SVN trunk on your computer. It makes almost no sense to store your edited files in different folders. To preview it, just give the path to the edited file as argument for &lt;code&gt;fsfe-preview&lt;/code&gt;, just as we did in the preceding step:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;fsfe-preview activities/radiodirective/statement.en.xhtml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The script detects whether the file has to be built with the XSLT processor (.xhtml files), or if it just can be copied to the website without any modification (e.g. images).&lt;/p&gt;&#xA;&lt;h5 id=&#34;copy-many-files-at-once&#34;&gt;Copy many files at once&lt;/h5&gt;&#xA;&lt;p&gt;Beware that all files you added in your session have to be processed with the script. For example, if you create a report with many images included and want to preview it, you will have to copy all these images to the output directory as well, and not only the XHTML file. For this, there is the &lt;code&gt;-copy&lt;/code&gt; argument. This circumvents the whole XSLT build process and just plainly copies the given files (or folders). In this example, the workflow could look like the following: The first line copies some images, the second builds the corresponding XHTML file which makes use of these images:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;fsfe-preview --copy news/2016/graphics/report1.png news/2016/graphics/report2.jpg&#xA;fsfe-preview news/2016/news-20161231-01.en.xhtml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h5 id=&#34;syntax-check&#34;&gt;Syntax check&lt;/h5&gt;&#xA;&lt;p&gt;In general, it’s good to check the XHTML syntax before editing and commiting files to the SVN. The script &lt;code&gt;fsfe-preview&lt;/code&gt; already contains these checks but it’s good to be able to use it anyway. If you didn’t already do it before, install &lt;code&gt;libxml2-utils&lt;/code&gt; on your computer. It contains &lt;code&gt;xmllint&lt;/code&gt;, a syntax checker for XML files. You can use it like this:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;xmllint --noout work.en.xhtml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If there’s no output (–noout), the file has a correct syntax and you’re ready to continue. But you may also see something like&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;work.en.xhtml:55: parser error : Opening and ending tag mismatch: p line 41 and li&#xA;      &amp;lt;/li&amp;gt;&#xA;           ^&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this case, this means that the &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag starting in line 41 isn’t closed properly.&lt;/p&gt;&#xA;&lt;h3 id=&#34;drawbacks&#34;&gt;Drawbacks&lt;/h3&gt;&#xA;&lt;p&gt;The presented process and script has a few drawbacks. For example you aren’t able to preview certain very dynamic pages or parts of pages, or those depending on CGI scripts. In most cases you’ll never encounter these, but if you’re getting active with the FSFE’s webmaster team it may happen that you’ll have to fall back on the standard central build system.&lt;/p&gt;&#xA;&lt;p&gt;Any other issues? Feel free to report them as they will help to improve FSFE’s editors to work more efficiently :-)&lt;/p&gt;&#xA;&lt;h5 id=&#34;changelog&#34;&gt;Changelog&lt;/h5&gt;&#xA;&lt;p&gt;29 November 2016: Jonas has pointed out a few bugs and issues with a different GNU/Linux distribution. Should be resolved.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>OpenRheinRuhr 2016 – A report of iron and freedom</title>
      <link>https://mehl.mx/blog/2016/openrheinruhr-2016-a-report-of-iron-and-freedom/</link>
      <pubDate>Wed, 09 Nov 2016 21:55:53 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/openrheinruhr-2016-a-report-of-iron-and-freedom/</guid>
      <description>&lt;p&gt;Last weekend, I visited Oberhausen to participate in &lt;a href=&#34;http://openrheinruhr.de/&#34;&gt;OpenRheinRuhr&lt;/a&gt;, a well-known Free Software event in north-western Germany. Over two days I was part of &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt;’s booth team, gave a talk, and enjoyed talking to tons of like-minded people about politics, technology and other stuff. In the next few minutes you will learn what coat hangers have to do with flat irons and which hotel you shouldn’t book if you plan to visit Oberhausen.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Last weekend, I visited Oberhausen to participate in &lt;a href=&#34;http://openrheinruhr.de/&#34;&gt;OpenRheinRuhr&lt;/a&gt;, a well-known Free Software event in north-western Germany. Over two days I was part of &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt;’s booth team, gave a talk, and enjoyed talking to tons of like-minded people about politics, technology and other stuff. In the next few minutes you will learn what coat hangers have to do with flat irons and which hotel you shouldn’t book if you plan to visit Oberhausen.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_iron.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Our Dutch iron fighters&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_iron.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Our Dutch iron fighters&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;On Friday, &lt;a href=&#34;https://fsfe.org/about/kirschner/&#34;&gt;Matthias&lt;/a&gt;, &lt;a href=&#34;https://fsfe.org/about/albers/&#34;&gt;Erik&lt;/a&gt;, and I arrived at the event location which normally is a museum collecting memories of heavy industries in the Ruhr area: old machines, the history and background of industry workers, and pictures of people fighting for their rights. Because we arrived a bit too early we helped the (fantastic!) orga team with some remaining work in the exhibition hall before setting up FSFE’s booth. While doing so, we already sold the first tshirt and baby romper (is this a new record?) and had nice talks. Afterwards we enjoyed a free evening and prepared for the next busy day.&lt;/p&gt;&#xA;&lt;p&gt;But Matthias and I faced a bad suprised: our hotel rooms were build for midgets and lacked a few basic features. For example, Matthias‘ room had no heating, and in my bathroom someone has stolen the shelf. At least I’ve been given a bedside lamp – except the little fact that the architect forgot to install a socket nearby. Another (semi-)funny bug were the emergency exits in front of our doors: by escaping from dangers inside the hotel, taking these exits won’t rescue you but instead increase the probability of dying from severe bone fractures. So if you ever need a hotel in Oberhausen, try to avoid &lt;a href=&#34;https://web.archive.org/web/20170603144203/https://cityhotel-oberhausen.de/&#34;&gt;City Lounge Hotel&lt;/a&gt; by any means. Pictures at the end of this article.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hall1.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;The large catering and museum hall&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hall1.jpg&#34;  /&gt;&#xA;          &lt;p&gt;The large catering and museum hall&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;On Saturday, André Ockers (NL translation coordinator), Maurice Verhessen (Coordinator Netherlands) and Niko Rikken from the Netherlands joined us to help at the booth and connect with people. Amusingly we again learnt that communication can be very confusing the shorter it is. While Matthias thought that he asked Maurice to bring a iron cloth hanger, Maurice thought he should bring a flat iron. Because he only had one (surprisingly), he asked Niko to bring his as well. While we wondered why Maurice only has one cloth hanger, our Dutch friends wondered why we would need two flat irons ;-)&lt;/p&gt;&#xA;&lt;p&gt;Over the day, Matthias, Erik, and I gave our talks: Matthias spoke about &lt;a href=&#34;http://programm.openrheinruhr.de/2016/events/445.de.html&#34;&gt;common misconceptions about Free Software&lt;/a&gt; and how to clear them up, Erik explained how people can &lt;a href=&#34;http://programm.openrheinruhr.de/2016/events/494.de.html&#34;&gt;synchronise their computers and mobile phones&lt;/a&gt; with Free Software applications, and I motivated people to become politically active by presenting some lessons learned from &lt;a href=&#34;http://programm.openrheinruhr.de/2016/events/496.de.html&#34;&gt;my experiences with the Compulsory Routers and Radio Lockdown cases&lt;/a&gt;. There were many other talks by FSFE people, for example by &lt;a href=&#34;http://programm.openrheinruhr.de/2016/events/527.de.html&#34;&gt;Wolf-Dieter&lt;/a&gt; and &lt;a href=&#34;http://programm.openrheinruhr.de/2016/events/526.de.html&#34;&gt;Wolfgang&lt;/a&gt;. In the evening we enjoyed the social event with barbecue, free beer, and loooooong waiting queues.&lt;/p&gt;&#xA;&lt;p&gt;Sunday was far more relaxed than the day before. We had time to talk to more people interested in Free Software and exchanged ideas and thoughts with friends from other initiatives. Among many others, I spoke with people from Freifunk, a Pirate Party politician, a tax consultant with digital ambitions, two system administrators, and a trade unionist. But even the nicest day has to end, and after we packed up the whole booth, merchandise and promotion material again, André took the remainders to the Netherlands where they will be presented to the public at FSFE’s &lt;a href=&#34;https://www.t-dose.org/&#34;&gt;T-DOSE&lt;/a&gt; booth.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;snap-gallery&#34;&gt;&#xA;  &#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig1&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel1.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Look from my hotel room door&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig1&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel1.jpg&#34;  /&gt;&#xA;            &lt;p&gt;Look from my hotel room door&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;span class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/span&gt;&#xA;            &lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig2&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel2.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Yes, that’s all&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig2&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel2.jpg&#34;  /&gt;&#xA;            &lt;p&gt;Yes, that’s all&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig1&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig3&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel3.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Disabled bedside lamp&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig3&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel3.jpg&#34;  /&gt;&#xA;            &lt;p&gt;Disabled bedside lamp&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig4&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig4&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel4.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;There has been something…&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig4&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel4.jpg&#34;  /&gt;&#xA;            &lt;p&gt;There has been something…&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig5&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig5&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel5.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;This emergency exit…&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig5&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel5.jpg&#34;  /&gt;&#xA;            &lt;p&gt;This emergency exit…&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig4&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig6&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig6&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel6.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;…doesn’t lead to safety&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig6&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/orr2016_hotel6.jpg&#34;  /&gt;&#xA;            &lt;p&gt;…doesn’t lead to safety&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig5&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig7&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;</content:encoded>
    </item>
    <item>
      <title>Freie Software – Definition in Dortmund</title>
      <link>https://mehl.mx/blog/2016/freie-software-definition-in-dortmund/</link>
      <pubDate>Thu, 13 Oct 2016 17:22:16 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/freie-software-definition-in-dortmund/</guid>
      <description>&lt;p&gt;Seit einiger Zeit arbeiten wir bei der Free Software Foundation Europe (FSFE) mit der Initiative &lt;a href=&#34;http://blog.do-foss.de/&#34;&gt;Do-FOSS&lt;/a&gt; aus Dortmund zusammen, die dort mehr Freie Software in die öffentliche Verwaltung einbringen möchte. Konkret wird in Dortmund aktuell an dem Masterplan Digitales Dortmund gearbeitet, der „die zukünftige digitale Ausrichtung und die damit verbundenen Veränderungsprozesse an der Schnittstelle von Stadtverwaltung und Stadtgesellschaft (Bürgerinnen und Bürger, Politik, Vereine, Unternehmen, Wissenschaft)“ beinhaltet.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Seit einiger Zeit arbeiten wir bei der Free Software Foundation Europe (FSFE) mit der Initiative &lt;a href=&#34;http://blog.do-foss.de/&#34;&gt;Do-FOSS&lt;/a&gt; aus Dortmund zusammen, die dort mehr Freie Software in die öffentliche Verwaltung einbringen möchte. Konkret wird in Dortmund aktuell an dem Masterplan Digitales Dortmund gearbeitet, der „die zukünftige digitale Ausrichtung und die damit verbundenen Veränderungsprozesse an der Schnittstelle von Stadtverwaltung und Stadtgesellschaft (Bürgerinnen und Bürger, Politik, Vereine, Unternehmen, Wissenschaft)“ beinhaltet.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;pull-right sm no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/do-foss_definition.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Erfreulicherweise wird der Masterplan auch Freie Software beinhalten, doch haben unsere Freunde von Do-FOSS bemerken müssen, dass dieser Begriff häufig im Zusammenhang mit &lt;em&gt;Open Source Software&lt;/em&gt; erwähnt wird. Wir als FSFE verstehen &lt;a href=&#34;https://fsfe.org/freesoftware/basics/comparison.html&#34;&gt;Open Source als Synonym für Freie Software&lt;/a&gt;, aber mussten leider schon in der Vergangenheit öfter feststellen, dass damit nur die Verfügbarkeit des Quellcodes und nicht – wie bei Freier Software offensichtlicher – auch die anderen drei der insgesamt &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;vier Freiheiten Freier Software&lt;/a&gt; gemeint waren: Neben der Freiheit, die Funktionsweise anhand des Codes nachzuvollziehen (2), auch die Verwendung für jeden Zweck (1), das Teilen der Software mit anderen (3), und das Verbessern der Programme (4).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Was also versteht nun die Stadt Dortmund unter Freier Software? Macht sie einen Unterschied zwischen Freier Software und Open Source?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Daher habe ich bereits im Mai diesen Jahres &lt;a href=&#34;https://mehl.mx/img/blog/2016-05-13-FSFE-Definition-Freie-Software.pdf&#34;&gt;einen Brief&lt;/a&gt; an den Dortmunder Oberbürgermeister Ulrich Sierau (SPD) geschrieben mit der Bitte, uns die Definition der Stadt für Freie Software mitzuteilen. Im selben Schritt habe ich die gängige Definition von Freier Software mit ihren vier Rechten angehängt und angeboten, dass wir als FSFE der Stadt im weiteren Prozess gerne behilflich sind. &lt;a href=&#34;https://mehl.mx/img/blog/2016-06-30-Oberbuergermeister-Sierau-Definition-Freie-Software.pdf&#34;&gt;Die Antwort&lt;/a&gt;, die ich Ende Juni erhalten habe, hat uns allerdings enttäuscht. Dort wird nur darauf verwiesen, dass der bereits erwähnte Masterplan die Definition von Freier Software aufgreift:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Der Masterplan wird im Dialog mit der Stadtgesellschaft erarbeitet. Den Ergebnissen dieser Beratungen möchte ich nicht vorgreifen.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Damit wird leider die Chance verspielt, gleich zu Beginn der wichtigen Beratungen über eine effektive städtische digitale Strategie den Fokus auf &lt;a href=&#34;http://blog.do-foss.de/freie-software/vorteile/&#34;&gt;transparente, vertrauenswürdige und wirtschaftlich nachhaltige&lt;/a&gt; Software zu setzen. Wir hoffen, dass die Stadt Dortmund sich so bald wie möglich auf die &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;gängige Definition&lt;/a&gt; von Freier Software einigt, diese auch mit dem Begriff von &lt;em&gt;Open Source Software&lt;/em&gt; gleichsetzt und Freier Software den Vorzug bei Anschaffungen und Weiterentwicklungen gibt.&lt;/p&gt;&#xA;&lt;h4 id=&#34;weiterführende-links&#34;&gt;Weiterführende Links&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://blog.do-foss.de/kolumne/stadt-dortmund-definition-freier-software/&#34;&gt;Ausführliche Mitteilung von Do-FOSS zu diesem Thema&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mehl.mx/img/blog/2016-05-13-FSFE-Definition-Freie-Software.pdf&#34;&gt;Anfrage der FSFE an die Stadt Dortmund (13.05.2016)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://mehl.mx/img/blog/2016-06-30-Oberbuergermeister-Sierau-Definition-Freie-Software.pdf&#34;&gt;Antwort der Stadt Dortmund (30.06.2016)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</content:encoded>
    </item>
    <item>
      <title>Endgerätefreiheit testen – Es sind wieder Router verfügbar!</title>
      <link>https://mehl.mx/blog/2016/endger%C3%A4tefreiheit-testen-es-sind-wieder-router-verf%C3%BCgbar/</link>
      <pubDate>Fri, 23 Sep 2016 09:23:09 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/endger%C3%A4tefreiheit-testen-es-sind-wieder-router-verf%C3%BCgbar/</guid>
      <description>&lt;p&gt;Seit dem 1. August herrscht – auch dank der langfristigen Arbeit der FSFE – gesetzlich &lt;a href=&#34;https://fsfe.org/news/2016/news-20160725-01.html&#34;&gt;Endgerätefreiheit&lt;/a&gt; in Deutschland, sprich alle Kundinnen und Kunden eines DSL- oder Kabelanbieters sollen die Freiheit haben, ein Modem oder Router ihrer Wahl anzuschließen, ohne systematisch benachteiligt zu werden. Doch halten die Anbieter das wirklich ein? Die FSFE testet das mit Hilfe großartiger Freiwilliger, denen wir alternative Testgeräte zuschicken. Und davon sind aktuell wieder ein paar verfügbar und warten auf neue Tester!&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Seit dem 1. August herrscht – auch dank der langfristigen Arbeit der FSFE – gesetzlich &lt;a href=&#34;https://fsfe.org/news/2016/news-20160725-01.html&#34;&gt;Endgerätefreiheit&lt;/a&gt; in Deutschland, sprich alle Kundinnen und Kunden eines DSL- oder Kabelanbieters sollen die Freiheit haben, ein Modem oder Router ihrer Wahl anzuschließen, ohne systematisch benachteiligt zu werden. Doch halten die Anbieter das wirklich ein? Die FSFE testet das mit Hilfe großartiger Freiwilliger, denen wir alternative Testgeräte zuschicken. Und davon sind aktuell wieder ein paar verfügbar und warten auf neue Tester!&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/rz_cat-sniffin.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt; mirsasha, CC BY-NC-ND 2.0&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/rz_cat-sniffin.jpg&#34;  /&gt;&#xA;          &lt;p&gt; mirsasha, CC BY-NC-ND 2.0&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Auf der &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany&#34;&gt;Wiki-Seite für den Anschlusstest&lt;/a&gt; haben wir mittlerweile für viele größere wie kleinere Anbieter Erfahrungen von Leuten gesammelt. Man erhält dadurch eine schnelle Übersicht, bei welchem Anbieter es Probleme geben könnte und wie diese am besten zu lösen sind. Für einige Anbieter wie Unitymedia haben wir schon viele Ergebnisse erhalten, doch bei einigen anderen populären wie zum Beispiel der Telekom oder 1&amp;amp;1 sieht es noch mau aus. Daher würden ich und die FSFE sich freuen, wenn Kunden solcher Anbieter versuchen würden, einen alternativen Router anzuschließen.&lt;/p&gt;&#xA;&lt;p&gt;Das Prozedere ist ganz einfach: Schreibt mir eine E-Mail (&lt;a href=&#34;https://fsfe.org/about/mehl/&#34;&gt;Kontaktdaten&lt;/a&gt;), in der ihr&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;euren Anschluss etwas näher beschreibt (Welcher Anbieter? Welcher Tarif? Wird Telefonie/TV genutzt? Welches Router/Modem-Gerät ist bisher im Einsatz?)&lt;/li&gt;&#xA;&lt;li&gt;eure postalische Adresse nennt.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Dann nehme ich Euch in die Liste der Tester auf. Euch entstehen dabei selbstverständlich &lt;strong&gt;keine Kosten&lt;/strong&gt;, aber wir würden uns natürlich freuen, wenn Ihr uns als &lt;a href=&#34;https://fsfe.org/join&#34;&gt;Fördermitglieder&lt;/a&gt; unterstützen würdet, damit wir auch in Zukunft aktiv für Nutzerrechte eintreten können.&lt;/p&gt;&#xA;&lt;p&gt;P.S.: Ihr habt schon einen alternativen Router bei einem der Anbieter im Einsatz? Super! Dann schreibt mir doch bitte eine Mail nach Vorlage der &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany#A.28Vorlage.29_Anbieter_XYZ&#34;&gt;Berichte im FSFE-Wiki&lt;/a&gt;, oder tragt es selbst dort ein, wenn Ihr schon einen Account habt. Danke :)&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>„Schluss mit dem Routerzwang“ – Radiosendung im Deutschlandfunk</title>
      <link>https://mehl.mx/blog/2016/schluss-mit-dem-routerzwang-radiosendung-im-deutschlandfunk/</link>
      <pubDate>Thu, 01 Sep 2016 16:44:26 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/schluss-mit-dem-routerzwang-radiosendung-im-deutschlandfunk/</guid>
      <description>&lt;p&gt;Heute war ich beim Deutschlandfunk zu einer &lt;a href=&#34;http://www.deutschlandfunk.de/dsl-modem-und-kabelrouter-schluss-mit-dem-routerzwang.772.de.html?dram:article_id=362214&#34;&gt;Radiosendung über den Routerzwang&lt;/a&gt; eingeladen. Wir haben etwa eine Stunde lang darüber geredet, warum es so wichtig ist, dass wir seit dem 1. August endlich &lt;a href=&#34;https://fsfe.org/activities/routers&#34;&gt;Routerfreiheit&lt;/a&gt; in Deutschland haben, was das für Verbraucher bringt und welche Fragen noch ungeklärt sind.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Heute war ich beim Deutschlandfunk zu einer &lt;a href=&#34;http://www.deutschlandfunk.de/dsl-modem-und-kabelrouter-schluss-mit-dem-routerzwang.772.de.html?dram:article_id=362214&#34;&gt;Radiosendung über den Routerzwang&lt;/a&gt; eingeladen. Wir haben etwa eine Stunde lang darüber geredet, warum es so wichtig ist, dass wir seit dem 1. August endlich &lt;a href=&#34;https://fsfe.org/activities/routers&#34;&gt;Routerfreiheit&lt;/a&gt; in Deutschland haben, was das für Verbraucher bringt und welche Fragen noch ungeklärt sind.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;snap-gallery&#34;&gt;&#xA;  &#xA;  &#xA;  &lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig1&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/dlf-interview2.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig1&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/dlf-interview2.jpg&#34;  /&gt;&#xA;            &lt;p&gt;&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;span class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/span&gt;&#xA;            &lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig2&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/dlf-interview.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig2&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/dlf-interview.jpg&#34;  /&gt;&#xA;            &lt;p&gt;&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig1&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Zusammen mit den beiden anderen Gästen, Marleen Frontzeck von teltarif.de und Katja Henschler von der Verbraucherzentrale Sachsen, haben wir mit dem Moderator Römermann aber auch weitere Aspekte angeschnitten, etwa W-LAN-Sicherheit und Freifunk-Netzwerke. Insgesamt war es eine sehr angenehme und hoffentlich für möglichst viele Menschen auch informative Sendung. Und da es mein erstes Radio-Interview war, zumal auch noch live, freut mich das ganz besonders.&lt;/p&gt;&#xA;&lt;p&gt;Eine kurze Zusammenfassung gibt auf der &lt;a href=&#34;http://www.deutschlandfunk.de/dsl-modem-und-kabelrouter-schluss-mit-dem-routerzwang.772.de.html?dram:article_id=362214&#34;&gt;Deutschlandfunk-Webseite&lt;/a&gt;, von wo man auch die &lt;a href=&#34;http://ondemand-mp3.dradio.de/file/dradio/2016/09/01/marktplatz_schluss_mit_dem_routerzwang_komplette_sendung_dlf_20160901_1010_9341a1c6.mp3&#34;&gt;Audio-Aufnahme&lt;/a&gt; herunterladen bzw. direkt anhören kann. Für Archivierungszwecke stelle ich die komplette Sendung auch im freien ogg-Format &lt;a href=&#34;https://up.mehl.mx/audio/20160901-dlf-routerzwang.ogg&#34;&gt;hier zum Download&lt;/a&gt; bereit.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>FrOSCon 2016 – Ein Rückblick</title>
      <link>https://mehl.mx/blog/2016/froscon-2016-ein-r%C3%BCckblick/</link>
      <pubDate>Fri, 26 Aug 2016 13:57:48 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/froscon-2016-ein-r%C3%BCckblick/</guid>
      <description>&lt;p&gt;&lt;em&gt;For English readers: This is a short report about the last FrOSCon conference with some pictures and the talk recordings. Have a look at Polina’s talk (second video), it’s in English!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Letztes Wochenende, am 20. und 21. August, fand in Sankt Augustin bei Bonn die 11. Ausgabe der &lt;a href=&#34;https://www.froscon.de/&#34;&gt;FrOSCon&lt;/a&gt; statt, einer Konferenz zu Freier Software. Auch dieses Jahr war die FSFE mit einem Stand vertreten, an dem wir viele interessante Gespräche geführt und einen Ausschnitt unserer aktuellsten T-Shirts und weiterer Artikel präsentiert haben.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;For English readers: This is a short report about the last FrOSCon conference with some pictures and the talk recordings. Have a look at Polina’s talk (second video), it’s in English!&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Letztes Wochenende, am 20. und 21. August, fand in Sankt Augustin bei Bonn die 11. Ausgabe der &lt;a href=&#34;https://www.froscon.de/&#34;&gt;FrOSCon&lt;/a&gt; statt, einer Konferenz zu Freier Software. Auch dieses Jahr war die FSFE mit einem Stand vertreten, an dem wir viele interessante Gespräche geführt und einen Ausschnitt unserer aktuellsten T-Shirts und weiterer Artikel präsentiert haben.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;snap-gallery&#34;&gt;&#xA;  &#xA;  &#xA;  &lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig1&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/froscon1.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig1&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/froscon1.jpg&#34;  /&gt;&#xA;            &lt;p&gt;&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;span class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/span&gt;&#xA;            &lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig2&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/froscon2.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig2&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/froscon2.jpg&#34;  /&gt;&#xA;            &lt;p&gt;&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig1&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Dank zweier toller Helfer, Gabriele und Constantin, war diese FrOSCon ein voller Erfolg. &lt;a href=&#34;https://blogs.fsfe.org/polina/&#34;&gt;Polina Malaja&lt;/a&gt; aus dem Berliner FSFE-Büro und ich, die dieses Jahr die Hauptorganisation übernommen haben, konnten am Montag mit vollster Zufriedenheit nach Hause fahren.&lt;/p&gt;&#xA;&lt;h2 id=&#34;videoaufzeichnung-der-vorträge&#34;&gt;Videoaufzeichnung der Vorträge&lt;/h2&gt;&#xA;&lt;p&gt;Zufrieden konnten wir auch sein, weil unsere Vorträge wohl recht gut ankamen und wir die Zuhörer über hochaktuelle Themen – &lt;a href=&#34;https://programm.froscon.de/2016/events/1738.html&#34;&gt;Routerzwang und Funkabschottung&lt;/a&gt; sowie den &lt;a href=&#34;https://programm.froscon.de/2016/events/1797.html&#34;&gt;Digitalen Binnenmarkt und weitere Freie-Software-Themen auf EU-Ebene&lt;/a&gt; – auf den neuesten Stand bringen konnten. Dank des sehr professionellen Recording-Teams der FrOSCon sind schon jetzt die Videoaufzeichnungen unserer beiden Vorträge online.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mein Vortrag mit dem Titel „&lt;strong&gt;Routerzwang und Funkabschottung – Was Aktivisten davon lernen können&lt;/strong&gt;“: &lt;a href=&#34;https://media.ccc.de/v/froscon2016-1738-routerzwang_und_funkabschottung_was_aktivisten_davon_lernen_konnen&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Und Polinas sehr spannender Vortrag auf Englisch unter dem Titel „&lt;strong&gt;DSM, EIF, RED: Acronyms on the EU level and why they matter for software freedom&lt;/strong&gt;„: &lt;a href=&#34;https://media.ccc.de/v/froscon2016-1797-dsm_eif_red_acronyms_on_the_eu_level_and_why_they_matter_for_software_freedom&#34;&gt;Video&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In diesem Sinne freuen wir uns auf die &lt;a href=&#34;https://fsfe.org/events/events.html&#34;&gt;kommenden Events mit FSFE-Beteiligung&lt;/a&gt;. In Deutschland wären dies unter anderem der FSFE Summit Anfang September, die OpenRheinRuhr Anfang November, der ChaosCommunicationCongress kurz nach Weihnachten und natürlich die FOSDEM in Brüssel im neuen Jahr.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Erste Testgeräte für Routerfreiheit versendet</title>
      <link>https://mehl.mx/blog/2016/erste-testger%C3%A4te-f%C3%BCr-routerfreiheit-versendet/</link>
      <pubDate>Mon, 08 Aug 2016 09:11:51 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/erste-testger%C3%A4te-f%C3%BCr-routerfreiheit-versendet/</guid>
      <description>&lt;p&gt;Wie Ihr vielleicht schon mitbekommen habt, ist am 1. August die Welt etwas freier geworden. Nun nämlich ist das &lt;a href=&#34;https://fsfe.org/news/2016/news-20160725-01.html&#34;&gt;Gesetz für Endgerätefreiheit&lt;/a&gt; in Kraft, welches endlich erlaubt, dass Kunden deutscher Internetanbieter einen Router oder ein Modem ihrer Wahl an ihren Anschluss klemmen dürfen. Die &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; hat sich von Anfang an für dieses Recht eingesetzt und schlussendlich haben wir diesen großen Erfolg errungen, der den &lt;a href=&#34;https://fsfe.org/activities/routers&#34;&gt;Routerzwang&lt;/a&gt; endgültig abschaffen soll.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Wie Ihr vielleicht schon mitbekommen habt, ist am 1. August die Welt etwas freier geworden. Nun nämlich ist das &lt;a href=&#34;https://fsfe.org/news/2016/news-20160725-01.html&#34;&gt;Gesetz für Endgerätefreiheit&lt;/a&gt; in Kraft, welches endlich erlaubt, dass Kunden deutscher Internetanbieter einen Router oder ein Modem ihrer Wahl an ihren Anschluss klemmen dürfen. Die &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; hat sich von Anfang an für dieses Recht eingesetzt und schlussendlich haben wir diesen großen Erfolg errungen, der den &lt;a href=&#34;https://fsfe.org/activities/routers&#34;&gt;Routerzwang&lt;/a&gt; endgültig abschaffen soll.&lt;/p&gt;&#xA;&lt;p&gt;Doch ein Gesetz auf Papier bringt wenig, wenn es in der Realität nicht eingehalten oder trickreich umschifft wird. Deshalb möchten wir so schnell und ausführlich wie möglich wissen, welche Internetanbieter ihren Kunden die neuen gesetzlich gesicherten Freiheiten zugestehen und welche uns weiter mit Zwangsgeräten beglücken wollen. Die FSFE möchte deshalb folgendermaßen Licht ins Dunkel bringen:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Wir stellen eine &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany&#34;&gt;zentrale Wiki-Seite&lt;/a&gt;, auf der wir Testberichte zu den einzelnen Herstellern sammeln: Geht der Internet- und Telefonanschluss mit einem alternativen Gerät? Was muss man dabei beachten? Welche Geräte sind kompatibel? Daneben gibt es weitere nützliche Informationen rund um die Routerfreiheit.&lt;/li&gt;&#xA;&lt;li&gt;Da vor allem der Markt für Kabelrouter noch sehr frisch ist, stellen wir &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany#Ger.2BAOQ-te&#34;&gt;Testgeräte&lt;/a&gt; zur Verfügung, die wir an freiwillige Tester versenden. Diese lassen uns dann hoffentlich weitere detaillierte Informationen zu dem Anschluss alternativer Router zukommen, die wiederum mehr Menschen helfen, Klarheit über dieses Thema zu erlangen.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;raus-mit-den-testgeräten&#34;&gt;Raus mit den Testgeräten!&lt;/h2&gt;&#xA;&lt;p&gt;Heute habe ich die erste Fuhre an handelsüblichen Testgeräten verschickt. Vier dieser Geräte sind für Kabelanschlüsse bestimmt und werden mit Kabeldeutschland/Vodafone, Unitymedia, KMS und Telecolumbus getestet. Ein DSL-Gerät ging für einen O2-Anschluss raus, die bisher ihren Kunden den Anschluss alternativer Geräte nicht erlaubt hatten.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;snap-gallery&#34;&gt;&#xA;  &#xA;  &#xA;  &lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig1&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/rz_test1.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Die Testgeräte vorher…&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig1&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/rz_test1.jpg&#34;  /&gt;&#xA;            &lt;p&gt;Die Testgeräte vorher…&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;span class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/span&gt;&#xA;            &lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig2&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/rz-test3.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;…und nachher, fertig für den Versand&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig2&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/rz-test3.jpg&#34;  /&gt;&#xA;            &lt;p&gt;…und nachher, fertig für den Versand&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig1&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Wenn Du auch Interesse hast, die neue Routerfreiheit an Deinem Internetanschluss auszuprobieren, schreibe mir bitte einfach &lt;a href=&#34;https://fsfe.org/about/mehl/&#34;&gt;eine Mail&lt;/a&gt; mit Informationen über Deinen Internetanschluss (Anbieter, Tarif, genutzte Funktionen (Telefon/TV) und bisher verwendeter Router), sowie Deine postalische Adresse. Dann erhältst Du so bald wie möglich ein Testgerät.&lt;/p&gt;&#xA;&lt;p&gt;Und falls Du schon einen anderen Router als den Deines Internetanbieters in Betrieb hast, dann hilf uns bitte, die &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany#Anbieter&#34;&gt;Berichte im Wiki&lt;/a&gt; zu ergänzen. Besonders freuen würden wir uns über Leute, die alternative Geräte mit &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;Freier Software&lt;/a&gt; testen und darüber berichten würden. Vor allem für Kabelanschlüsse ist dabei der Markt noch sehr übersichtlich. Bitte hilf uns dabei, die Situation für Nutzer Freier Software zu verbessern!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Der Routerzwang fällt – Und was bringt mir das?</title>
      <link>https://mehl.mx/blog/2016/der-routerzwang-f%C3%A4llt-und-was-bringt-mir-das/</link>
      <pubDate>Sat, 30 Jul 2016 11:02:38 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/der-routerzwang-f%C3%A4llt-und-was-bringt-mir-das/</guid>
      <description>&lt;p&gt;&lt;em&gt;Diesen Artikel habe ich ursprünglich als &lt;a href=&#34;https://netzpolitik.org/2016/der-routerzwang-faellt-und-was-bringt-mir-das/&#34;&gt;Gastbeitrag für Netzpolitik.org&lt;/a&gt; geschrieben.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Betreiber von Diskotheken wissen es genau: Die Wahl des richtigen Türstehers ist wichtig, damit sich keine Störenfriede einschleichen. Dasselbe könnte man auch von Routern behaupten, die als Schnittstelle zwischen Internet und Heimnetz dafür sorgen müssen, dass nur das die Tore passiert, was auch im Sinne des Besitzers ist. Und endlich, &lt;a href=&#34;https://fsfe.org/activities/routers/timeline.de.html&#34;&gt;nach Jahren der gesetzlichen Unklarheit&lt;/a&gt;, bekommen wir mit dem Ende des Routerzwangs das Recht dazu, uns unseren stillen Türsteher frei auszusuchen.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;Diesen Artikel habe ich ursprünglich als &lt;a href=&#34;https://netzpolitik.org/2016/der-routerzwang-faellt-und-was-bringt-mir-das/&#34;&gt;Gastbeitrag für Netzpolitik.org&lt;/a&gt; geschrieben.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Betreiber von Diskotheken wissen es genau: Die Wahl des richtigen Türstehers ist wichtig, damit sich keine Störenfriede einschleichen. Dasselbe könnte man auch von Routern behaupten, die als Schnittstelle zwischen Internet und Heimnetz dafür sorgen müssen, dass nur das die Tore passiert, was auch im Sinne des Besitzers ist. Und endlich, &lt;a href=&#34;https://fsfe.org/activities/routers/timeline.de.html&#34;&gt;nach Jahren der gesetzlichen Unklarheit&lt;/a&gt;, bekommen wir mit dem Ende des Routerzwangs das Recht dazu, uns unseren stillen Türsteher frei auszusuchen.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;lg&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/rz_lego-techy.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt; CC BY-SA 2.0 Konrad Twardowski&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/rz_lego-techy.jpg&#34;  /&gt;&#xA;          &lt;p&gt; CC BY-SA 2.0 Konrad Twardowski&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Was die &lt;a href=&#34;http://www.sueddeutsche.de/wirtschaft/router-endlich-frei-verbinden-1.3095231&#34;&gt;Süddeutsche Zeitung als „Unabhängigkeitstag für Internetnutzer“&lt;/a&gt; bezeichnet, ist das offizielle Ende des Routerzwangs und das Inkrafttreten der Endgerätefreiheit am 1. August. Bisher konnten Internetanbieter (ISPs) in Deutschland bestimmen, welchen Router Kunden zur Verbindung mit dem Internet nutzen müssen. Nutzer hatten keinen Einfluss auf diese Entscheidung. Das ändert sich nun. Aber wir müssen sicherstellen, dass alle Kunden über diese neuen Rechte Bescheid wissen, und gleichzeitig überprüfen, ob ISPs die neuen Regeln befolgen.&lt;/p&gt;&#xA;&lt;p&gt;Wie bei einem Türsteher sollte man auch dem Router vertrauen können, denn über ihn läuft jeglicher Internetverkehr, also etwa alle E-Mails, Downloads und häufig auch Telefongespräche. &lt;a href=&#34;https://fsfe.org/activities/routers/&#34;&gt;Zwangsrouter&lt;/a&gt; fallen oft negativ mit kritischen Sicherheitslücken auf, die Nutzer aus technischen oder rechtlichen Gründen nicht selbst beheben können. Sie sind auch dafür bekannt, zu einigen Netzwerkgeräten oder Standards wie IPv6 inkompatibel zu sein oder nur eine geringe Anzahl wichtiger Funktionen zu unterstützen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;recht-auf-endgerätefreiheit-in-anspruch-nehmen&#34;&gt;Recht auf Endgerätefreiheit in Anspruch nehmen&lt;/h2&gt;&#xA;&lt;p&gt;Um nun den Providern auf die Finger zu schauen, wenn es um die Umsetzung des &lt;a href=&#34;https://netzpolitik.org/2015/der-lange-weg-des-routerzwangs-zur-endgeraetefreiheit&#34;&gt;seit 2013 heiß umkämpften Gesetzes&lt;/a&gt; geht, bittet die Free Software Foundation Europe (FSFE) um Erfahrungsberichte von Internetnutzern, die vom 1. August an ein eigenes Gerät an der Telefon- bzw. Kabeldose betreiben. Dazu stellt sie eine &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/Implementation/Germany&#34;&gt;Wiki-Seite&lt;/a&gt; zur Verfügung, auf der Informationen und Nutzerberichte gesammelt werden. Vor allem für Kabelanschlüsse, für die bisher nur wenige Modelle auf dem Markt erhältlich sind, stellt die FSFE auch einige Testgeräte bereit.&lt;/p&gt;&#xA;&lt;p&gt;Aufgrund von Erfahrungen, die wir in in der Vergangenheit gemacht haben, müssen wir davon ausgehen, dass einige ISPs darauf setzen werden, ihre Kunden zur Nutzung ihres jeweiligen Standardrouters zu zwingen. Unitymedia etwa erfordert eine telefonische Registrierung des neuen Gerätes, vorstellbar ist auch der Ausschluss von Bestandskunden von dem neuen Recht oder die Verweigerung des Supports.&lt;/p&gt;&#xA;&lt;p&gt;Die FSFE möchte sicherstellen, dass solches Fehlverhalten öffentlich gemacht wird und dafür brauchen wir deine Hilfe. Wenn du Kunde eines deutschen Internetanbieters bist, bitten wir dich, dein neues Recht auszuüben und ein alternatives Gerät zu verwenden – idealerweise eines mit einer Firmware, die &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.de.html&#34;&gt;Freie Software&lt;/a&gt; ist.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Getting oldschool, oder: Wie ich uncool wurde</title>
      <link>https://mehl.mx/blog/2016/getting-oldschool-oder-wie-ich-uncool-wurde/</link>
      <pubDate>Mon, 28 Mar 2016 13:39:45 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/getting-oldschool-oder-wie-ich-uncool-wurde/</guid>
      <description>&lt;p&gt;Langsam tritt das ein, von dem ich gehofft habe, es möge mich nicht ereilen: Ich werde alt – zumindest gefühlt. Noch vor fünf bis zehn Jahren glaubte ich mich an der Spitze des neuen Ökosystems: Des Internets. Ich war der Meinung, diese Welt besser zu kennen als der Großteil der Menschheit. Kein Trend war vor mir sicher. Instant Messenger, Tauschbörsen, soziale Netzwerke, Diskussionsforen, Videoportale und all die lustigen und verstörenden Teile dieser neuen, digitalen und immer schneller werdenden Welt. Jedes neue Feature war ein Segen in meinen Augen.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Langsam tritt das ein, von dem ich gehofft habe, es möge mich nicht ereilen: Ich werde alt – zumindest gefühlt. Noch vor fünf bis zehn Jahren glaubte ich mich an der Spitze des neuen Ökosystems: Des Internets. Ich war der Meinung, diese Welt besser zu kennen als der Großteil der Menschheit. Kein Trend war vor mir sicher. Instant Messenger, Tauschbörsen, soziale Netzwerke, Diskussionsforen, Videoportale und all die lustigen und verstörenden Teile dieser neuen, digitalen und immer schneller werdenden Welt. Jedes neue Feature war ein Segen in meinen Augen.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;pull-right sm no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/old-man.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;alter-mann&#34;&gt;Alter Mann&lt;/h2&gt;&#xA;&lt;p&gt;Und was ist heute? Lese ich von einer neuen tolle App, stöhne ich nur auf. Wird mir vorgeschlagen, Messenger X oder Y zu verwenden, rattern mir schon Ausreden durch den Kopf. Erfahre ich auf Portalen wie dem angesagten &lt;em&gt;bento&lt;/em&gt; etwas über die „10 lustigsten Videos“ des letzten Jahres, kenne ich maximal eines davon – und das auch nur, weil im Spiegel oder so etwas darüber stand. Und bei jeder neuen Registrierung für einen Internetdienst, und sei es auch nur ein simpler Onlineshop, zieht mein Puls an.&lt;/p&gt;&#xA;&lt;p&gt;Stellenanzeigen sind besonders frustrierend für mich. War ich mir früher – überspitzt gesagt – sicher, mit meinen coolen Internetproskillz auf dem Arbeitsmarkt gefragt zu sein, auch wenn ich die nächsten zwei Jahre Mathe schwänze, sind mir angesagte Jobs für junge Menschen schon jetzt teilweise zu hoch. Wird etwa für Internetredakteure oder Community-Manager verlangt, sich unter anderem gut in „&lt;em&gt;Instagram, Snapchat, Periscope und flickr&lt;/em&gt;&amp;quot; auszukennen, müsste ich zugeben, auf keinem dieser trendigen Netzwerke überhaupt einen Account zu haben, geschweige denn das geringste Interesse daran.&lt;/p&gt;&#xA;&lt;p&gt;Am schlimmsten sind jedoch die Berichte in Fachzeitschriften über IT-Konferenzen. Wenn ich nur lese, dass wir in zehn Jahren unseren Alltag über ein Mikrofon steuern können, das unsere Spracheingaben direkt an Google oder Amazon schickt, würde ich am liebsten einen Flug in die hinterste Dritte Welt buchen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-frage-nach-dem-warum&#34;&gt;Die Frage nach dem Warum&lt;/h2&gt;&#xA;&lt;p&gt;Der große Unterschied zwischen meinem damaligen und heutigen Ich beschäftigt mich daher schon seit einiger Zeit. Obwohl ich mir vorgenommen habe, etwa nie von meinen zukünftigen Kindern in Sachen Computern und Internet überholt zu werden, graut es mir schon jetzt davor, die dann angesagten Features zumindest verstehen zu müssen. Woran liegt diese über zehn Jahren angewachsene Verdrossenheit gegenüber dem Neuen? Ist dies gar kein spezifisches Phänomen, sondern tatsächlich ein ganz normaler Prozess?&lt;/p&gt;&#xA;&lt;p&gt;Das fängt irgendwie schon bei dem Generationenunterschied an. Um die Wende herum geborene Kinder wie ich sind meist noch mit Windows 95 aufgewachsen. Zehn Jahre jüngere Menschen wissen teils nicht einmal mehr, wie man einen separaten Bildschirm anmacht. Das ist kein Vorwurf an die heutige Jugend, immerhin habe ich auch nie einen Commodore 64 in den Händen gehalten, trotzdem kann man ihn nicht ignorieren.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/8ucCxtgN6sc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;&lt;p&gt;Ein weiterer Grund könnte sein, dass mir die Sinnhaftigkeit heutiger Trends nicht wirklich klar ist. Warum &lt;em&gt;Instagram&lt;/em&gt;, wenn man seine Fotos auch auf &lt;em&gt;Facebook&lt;/em&gt; (wenn man es denn nutzt) Leuten zeigen kann? Warum muss ich meinen aktuellen Akkustand und das Wetter mit &lt;a href=&#34;http://www.heise.de/newsticker/meldung/Neue-Social-Media-App-Peach-Mit-Zauberwoertern-Infos-teilen-3067666.html&#34;&gt;&lt;em&gt;Peach&lt;/em&gt;&lt;/a&gt; teilen, wenn ich es doch auch einfach per gewöhnlichem Messenger schicken könnte? Gut, ältere Generationen dachten sich wahrscheinlich auch „Warum &lt;em&gt;ICQ&lt;/em&gt; benutzen, wenn ich doch einfach telefonieren könnte?“.&lt;/p&gt;&#xA;&lt;p&gt;Natürlich liegt es auch an der gesteigerten Aufmerksamkeit gegenüber Nachteilen, die mit der Nutzung eines Dienstes einhergehen. Jede neue angesagte App verlangt weitreichenden Zugriff auf meine persönlichen Daten. Und mit rasant gestiegenen technischen Möglichkeiten (Spracherkennung, Virtual Reality, Automatisierung, Drohnen…) steigt auch der Einfluss dieser neuen Technik auf unser Leben. Ich las etwa kürzlich über Visionen in der Möbelbranche: Man könne sein Zuhause einscannen, in ein Möbelcenter fahren und dort die ausgestellten Möbel mit einer VR-Brille in seine Zimmer projizieren (bzw. andersherum). Die logische Konsequenz: IKEA &amp;amp; Co. wissen ab sofort, wie mein Zimmer aussieht, welchen Stil ich bevorzuge, dass mein Schrank aus dem letzten Jahrtausend stammt und welche Möbel ich mir besonders angeschaut habe. Gruselig, zumindest für mein heutiges Ich.&lt;/p&gt;&#xA;&lt;p&gt;All das zusammen verursacht, so glaube ich, bei mir diesen Trend zum „alt werden“: Sättigungsgefühl, Wertschätzung der gewohnten Werkzeuge, (berechtigte) Paranoia und auch einfach zu wenig Zeit, jedem coolen neuen Ding hinterherzulaufen, obwohl man genau weiß, dass es zu 90% in spätestens zwei Jahren in der Versenkung landet. Und ist das wirklich so schlimm?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Wie ist es bei Euch? Bin ich uncool? Seid Ihr es auch?&lt;/strong&gt;&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Switching my code from gitweb to Gogs</title>
      <link>https://mehl.mx/blog/2016/switching-my-code-from-gitweb-to-gogs/</link>
      <pubDate>Fri, 26 Feb 2016 17:05:18 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/switching-my-code-from-gitweb-to-gogs/</guid>
      <description>&lt;p&gt;Since end of 2014 I published some of my Free Software code – mostly Bash, R and HTML/PHP – on a &lt;a href=&#34;https://blog.mehl.mx/2014/sharing-is-caring-my-git-instance/&#34;&gt;self-hosted gitweb instance&lt;/a&gt;. I did this because I wanted to share the work I’ve done with other people because I’ve learnt a lot by reading other people’s code. Although I’m just a „hobby programmer“, I hoped at least some people can benefit from it.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Since end of 2014 I published some of my Free Software code – mostly Bash, R and HTML/PHP – on a &lt;a href=&#34;https://blog.mehl.mx/2014/sharing-is-caring-my-git-instance/&#34;&gt;self-hosted gitweb instance&lt;/a&gt;. I did this because I wanted to share the work I’ve done with other people because I’ve learnt a lot by reading other people’s code. Although I’m just a „hobby programmer“, I hoped at least some people can benefit from it.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;sm pull-right&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/gogs-logo.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;The last few days, I switched from &lt;a href=&#34;http://git-scm.com/docs/gitweb&#34;&gt;gitweb&lt;/a&gt;, a very simple web interface for my git repositories, to &lt;a href=&#34;http://gogs.io&#34;&gt;Gogs&lt;/a&gt;, a feature-rich webservice which still is lightweight, and quite simple to install and maintain – and of course Free Software! By doing so, people can now register &lt;a href=&#34;https://src.mehl.mx&#34;&gt;with my Gogs instance&lt;/a&gt;, open issue tickets, fork my projects and send pull requests – very similar to non/semi-free services like GitHub or GitLab.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;&#xA;&lt;p&gt;As a user of the German hosting service &lt;a href=&#34;https://uberspace.de&#34;&gt;Uberspace&lt;/a&gt; I had to follow some special ways to install Gogs. But thanks to a &lt;a href=&#34;http://web.archive.org/web/20180117164149/https://geeklabor.de/archives/195-Gogs-auf-Uberspace-installieren.html&#34;&gt;nice guide&lt;/a&gt; it was quite simple, so it was finished after only 15 minutes. The only tricky part was the SSH feature with which I spent a few hours to make it work. The problem was that using the same public key with Gogs as you’re using for logging into the server’s SSH won’t work. You’ll have to generate a new SSH key and use it’s public key for Gogs. Then you have to edit your client’s SSH config:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Host src.mehl.mx&#xA;  HostName src.mehl.mx&#xA;  User your-username&#xA;  IdentityFile ~/.ssh/id_rsa_gogs&#xA;  IdentitiesOnly yes&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This forces your client to use the Gogs-specific SSH key for every connection to &lt;a href=&#34;https://src.mehl.mx&#34;&gt;src.mehl.mx&lt;/a&gt; – and not the default one for this IP/server. However, this is only a problem for you as the administrator, not for other users. It took some time for me to find that out :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: It’s best to use the built-in server if you cannot create a separate user for Gogs and if you depend on using the default &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; file for other use cases than gogs (e.g. to log in). The problems lies in Gogs behaviour: sometimes it rewrites the &lt;code&gt;authorized_keys&lt;/code&gt; file without being asked to do so, and as a result you cannot log into the user’s account anymore via SSH! To make the solution easy for you, here’s the excerpt of my &lt;code&gt;custom/conf/app.ini&lt;/code&gt; file:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[server]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;START_SSH_SERVER = true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SSH_PORT     = ${DEDICATED_SSH_PORT_FOR_GOGS}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SSH_ROOT_PATH = /path/to/the/separate/authorized_keys/file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Doing so starts Gogs’s built-in SSH server on a separate port (line 3) and with a separate authorized_keys file (line 4). Of course, you’d have to open this TCP port in your firewall. Downside: The SSH links for cloning the repository don’t look that tidy if it’s another port than 22.&lt;/p&gt;&#xA;&lt;h2 id=&#34;migration&#34;&gt;Migration&lt;/h2&gt;&#xA;&lt;p&gt;Before beginning with switching to Gogs, the migration process was the most intimidating part of the whole story for me. In the end, it was really simple! In the Gogs web panel you can choose if you want to create an empty new repository, or a „new migration“. Choosing the latter enables you to name the old git repository’s link, a new name and a description. It then copies the current status and all past commits to the new repository! I didn’t test it with branches, and migrating issues might be a burden too (&lt;em&gt;see update below&lt;/em&gt;). But hey, for me as a light user it was just perfect :)&lt;/p&gt;&#xA;&lt;h2 id=&#34;feel-free&#34;&gt;Feel free&lt;/h2&gt;&#xA;&lt;p&gt;Now please feel free to browse through &lt;a href=&#34;https://src.mehl.mx/mxmehl&#34;&gt;my repositories&lt;/a&gt; and work with them. You can also have a look at &lt;a href=&#34;http://src-old.mehl.mx&#34;&gt;my archived, not-working-anymore gitweb&lt;/a&gt; page to see the striking differences between both.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update 28.02.2016:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I tested the migration assistant with a larger repository. It still worked like a charm: All branches, releases and commits are taken over. However, issues, pull requests, and wiki entries are not transferred, at least not natively. Maybe there’re tools for that?&lt;/p&gt;&#xA;&lt;p&gt;Additionally, I more deeply elaborated the SSH problems and solutions if you’re using a shared host, or/and if you cannot create a separate user for Gogs and you use SSH keys to login into that user.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>I love Free Software (Apps)</title>
      <link>https://mehl.mx/blog/2016/i-love-free-software-apps/</link>
      <pubDate>Sun, 14 Feb 2016 09:00:18 +0000</pubDate>
      <guid>https://mehl.mx/blog/2016/i-love-free-software-apps/</guid>
      <description>&lt;p&gt;Do you know being in a restaurant and getting a menu which is longer than the average novel, and you cannot decide for a single meal because every single one sounds more delicious than the other? That’s similar to the problem I was having when writing this blog post…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Do you know being in a restaurant and getting a menu which is longer than the average novel, and you cannot decide for a single meal because every single one sounds more delicious than the other? That’s similar to the problem I was having when writing this blog post…&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/Yoda-ilovefs.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/Yoda-ilovefs.png&#34;  /&gt;&#xA;          &lt;p&gt;&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Today is the &lt;a href=&#34;https://ilovefs.org&#34;&gt;„I love Free Software“ day&lt;/a&gt;, on which people all over the world say „thank you“ to contributors of &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;Free Software&lt;/a&gt;, often created in free time and with lots of passion. This is software you can use for any purpose, which source code you or others can analyse, which can be modified and distributed – any program respecting these essential freedoms benefits a fair society, and our most personal privacy and security in return.&lt;/p&gt;&#xA;&lt;p&gt;After I thanked &lt;a href=&#34;https://blog.mehl.mx/2014/i-love-znc-because-ilovefs/&#34;&gt;ZNC&lt;/a&gt; and &lt;a href=&#34;https://blog.mehl.mx/2015/i-love-taskwarrior-therefore-i-love-free-software/&#34;&gt;Taskwarrior&lt;/a&gt; last Valentine’s Days, this year I want to focus on software running on the device that’s almost always in my pocket. My mobile phone is the gatekeeper of most of my communication: short messages, pictures, emails, social media, todo lists, calendar… it’s amazing thinking about what this tiny computer has to achieve to satisfy my needs. But of course, I also want to use as much Free Software as possible to secure my sensitive data. And because of that I cannot name a single software but have to list a few which I depend on almost every single day, and I want to sincerely thank the people contributing to them!&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-foundation&#34;&gt;The foundation&lt;/h3&gt;&#xA;&lt;p&gt;With mobile phones it’s not easy to have a completely free operating system platform, depending on your phone model. For mine, I chose &lt;a href=&#34;http://omnirom.org/&#34;&gt;&lt;strong&gt;OmniROM&lt;/strong&gt;&lt;/a&gt;, which still contains some non-free firmware but is as much Free Software as possible. And it works like a charm, having lots of nice features, a broad device compatibility, and actively development team.&lt;/p&gt;&#xA;&lt;p&gt;Because I want to avoid non-free software and services which use my most sensitive data for their profit, I avoid Google and similar products as much as possible. Because of that, I do not load my application from Google Play but from &lt;a href=&#34;https://f-droid.org/&#34;&gt;&lt;strong&gt;F-Droid&lt;/strong&gt;&lt;/a&gt;, an app „store“ offering Free Software apps only! Right now there are far over 1000 apps available, most of them fulfilling high quality requirements. All the apps I’ll list below can be found there.&lt;/p&gt;&#xA;&lt;h3 id=&#34;my-big-five&#34;&gt;My big five&lt;/h3&gt;&#xA;&lt;p&gt;I use my mobile phone for communication and information purposes. So &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=k-9&amp;amp;fdid=com.fsck.k9&#34;&gt;&lt;strong&gt;K-9 Mail&lt;/strong&gt;&lt;/a&gt; is my sanctuary, enabling me to receive and send, de- and encrypt my emails. Admittedly, the user interface isn’t the best, some things can get on your nerves (organising many folders…), but it just works. That’s an attribute I learnt to value.&lt;/p&gt;&#xA;&lt;p&gt;The next layer is short texts communication. Since almost nobody in my circle of acquaintances uses oldschool short messages anymore, I switched most of my chitchat communication over to &lt;a href=&#34;https://fdroid.eutopia.cz/&#34;&gt;&lt;strong&gt;LibreSignal&lt;/strong&gt;&lt;/a&gt;, a Google-dependency-freed fork of Signal, providing very strong encryption and a great and easy user interface at the same time. At the same time I still use &lt;em&gt;Telegram&lt;/em&gt; (non-free server) and &lt;em&gt;WhatsApp&lt;/em&gt; (absolutely bad) because it’s hard to convince all the contacts you have. But it’s nice to see how many people switched over to better alternatives meanwhile. And with &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=twidere&amp;amp;fdid=org.mariotaku.twidere&#34;&gt;&lt;strong&gt;Twidere&lt;/strong&gt;&lt;/a&gt;, I can manage my GnuSocial and Twitter accounts easily with lots of features. And if you are still forced to use Facebook, try &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=face&amp;#43;slim&amp;amp;fdid=org.indywidualni.fblite&#34;&gt;&lt;em&gt;Face Slim&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As a scout, many people seem to think that I always know any direction. In the old days I had to navigate using stars and moss on stones, but nowadays I just pick my ultimate compass and can lead the way thanks to &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=osmand&amp;amp;fdid=net.osmand.plus&#34;&gt;&lt;strong&gt;OsmAnd&lt;/strong&gt;&lt;/a&gt; and &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=transport&amp;amp;fdid=de.grobox.liberario&#34;&gt;&lt;strong&gt;Transportr&lt;/strong&gt;&lt;/a&gt;. The former enables me to download offline vector maps, navigate on them, find points of interest (bars, shops, bus stops – and bars), with the latter I can use the public transport system of almost every larger city in Europe using a neat and fast-responding interface. And the best thing: It even works in areas without sun, stars, or moss-grown stones. But well, without battery…&lt;/p&gt;&#xA;&lt;h3 id=&#34;the-small-things&#34;&gt;The small things&lt;/h3&gt;&#xA;&lt;p&gt;F-Droid also contains a myriad of small jewels, nice tools for the even most absurd needs and situations most of us are confronted with not more than once in our lifetime. Not so absurd but also quite helpful for me are &lt;strong&gt;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=primitive&amp;#43;ftp&amp;amp;fdid=org.primftpd&#34;&gt;primitive ftpd&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=sms&amp;#43;backup&amp;amp;fdid=com.zegoggles.smssync&#34;&gt;SMS Backup+&lt;/a&gt;&lt;/strong&gt;, &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=jaws&amp;amp;fdid=is.pinterjann.jaws&#34;&gt;&lt;strong&gt;JAWS&lt;/strong&gt;&lt;/a&gt;, and &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=port&amp;#43;authority&amp;amp;fdid=com.aaronjwood.portauthority&#34;&gt;&lt;strong&gt;Port Authority&lt;/strong&gt;&lt;/a&gt;. The first starts a small (S)FTP server which I can connect to using a client like &lt;em&gt;Filezilla&lt;/em&gt; on my desktop computer, so I can exchange huge amounts of files faster than via Bluetooth. &lt;em&gt;SMS Backup+&lt;/em&gt; backups – surprise surprise – SMSs. But it uploads (and restores) them (and also call logs) to any IMAP folder you define, which comes in handy when you want to search your SMSs quickly at your computer in your email client. &lt;em&gt;JAWS&lt;/em&gt; and &lt;em&gt;Port Authority&lt;/em&gt; are small tools to debug networks. The former shows all nearby Wifi networks, their signal strength and BSSID. The latter allows you to see all devices in the network including MAC address or open ports.&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h3&gt;&#xA;&lt;p&gt;So you see, Free Software is everywhere and you can do great things with it. Everytime I can replace another non-free and privacy-disrespecting service with Free Software, it makes my day. I hope I can give some of this joy today to the people making this possible!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>German Government wants authorities to advertise PDFreaders</title>
      <link>https://mehl.mx/blog/2015/german-government-wants-authorities-to-advertise-pdfreaders/</link>
      <pubDate>Sat, 19 Sep 2015 17:27:20 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/german-government-wants-authorities-to-advertise-pdfreaders/</guid>
      <description>&lt;p&gt;Should authorities be allowed to make advertisement for only one company and ignore all the others? Many people strongly disagree, among them myself, the Free Software Foundation Europe (&lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt;) and also the CIO of the Federal Republic of Germany, the IT commissioner of the German Government.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Should authorities be allowed to make advertisement for only one company and ignore all the others? Many people strongly disagree, among them myself, the Free Software Foundation Europe (&lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt;) and also the CIO of the Federal Republic of Germany, the IT commissioner of the German Government.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;pull-right sm&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/pdfreaders-logo.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;The whole story began with something we all had to read sometimes, at least subconsciously, on a website providing PDF documents: „To open the PDF files please download Adobe Acrobat Reader.“. Such notices are unnecessary advertisement for a proprietary (non-free) product — there are dozens of software applications which can do the same or even more, many of them Free Software. Because of that the FSFE started a campaign called „&lt;a href=&#34;https://www.fsfe.org/campaigns/pdfreaders/pdfreaders.html&#34;&gt;PDFreaders&lt;/a&gt;“ to make this deficiency public, and contact administrations and companies with thousands of letters and emails.&lt;/p&gt;&#xA;&lt;p&gt;One big success of this campaign in Germany is PDFreaders being mentioned in the official current &lt;a href=&#34;http://web.archive.org/web/20220121073702/http://www.cio.bund.de/Web/DE/Architekturen-und-Standards/Migrationsleitfaden-und-Migrationshilfen/migrationsleitfaden_node.html&#34;&gt;Migration Guide&lt;/a&gt; of Germany’s Chief Information Officer. This document explains some critical points of IT in administrations and companies and evaluates different software. Under point 4.3.7 „PDF readers and authoring“ the guide compares different PDF applications and also takes Free Software readers like Evince into account:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Alternative OSS-Produkte zur Darstellung von PDF-Dokumenten gibt es einige, u.a. Sumatra PDF und Okular; die FSFE pflegt eine Liste mit freien PDF-Betrachtern.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;There are a lot of alternative OSS products for displaying PDF documents, i.a. Sumatra PDF and Okular; the FSFE maintains a list of free PDF readers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This „list of PDF readers“ is one of the cores of the PDFreaders campaign. Instead of just complaining the unjust situation the FSFE provides information on various applications which are all Free Software and which fit everybody’s needs, may it be performance, size, the amount of functions or the used operating system. And if authorities (or companies and individuals) want to tell their website’s visitors how to open PDF documents, the CIO has a strong suggestion:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Werden PDF-Dokumente öffentlich bereitgestellt, sollten Behörden fairerweise zu deren Betrachtung nicht mehr ausschließlich den Adobe Acrobat Reader empfehlen, sondern beispielsweise die von der FSFE bereitgestellten HTML-Bausteine zum Download alternativer PDF-Betrachter in ihre Seiten aufnehmen.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;If PDF documents are provided publicly authorities shall no longer only recommend Adobe Acrobat Reader for displaying them, but for example use the HTML templates provided by the FSFE on their websites for downloading alternative PDF readers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Besides mentioning the broad PDF capabilities of LibreOffice, the guide also evaluates the current situation with editing PDF documents instead of only reading them, a function which some authorities seem to need for their services. According to the CIO the alternative Free Software solutions cannot provide the same functionalities as proprietary and expensive applications. Instead of just accepting the situation, the Migration Guide asks for more initiative of officials:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Hier wäre ein behördliches Engagement zur diesbezüglichen Weiterentwicklung vorhandener OSS-Alternativen sinnvoll, um nicht in ungewollter Abhängigkeit von einzelnen Anbietern proprietärer Produkte zu verharren.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;In this case more administrative engagement to extend existing OSS alternatives would make sense in order to avoid staying in unwanted dependency from single vendors of proprietary products.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So yes please, German authorities, listen to your CIO: Use and help improving Free Software to keep yourself and your citizens independent, avoid vendor-lockin, save money and open a fair market for all competitors in the race for the best PDF readers.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Weiterer Teilerfolg beim Routerzwang</title>
      <link>https://mehl.mx/blog/2015/weiterer-teilerfolg-beim-routerzwang/</link>
      <pubDate>Wed, 22 Jul 2015 06:48:01 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/weiterer-teilerfolg-beim-routerzwang/</guid>
      <description>&lt;p&gt;Die &lt;a href=&#34;https://fsfe.org&#34;&gt;Free Software Foundation Europe&lt;/a&gt; und alle Freunde Freier Software, Verbraucherrechte und freien Wettbewerbs können sich seit einigen Tagen über einen weiteren Erfolg beim Thema Routerzwang freuen. Nachdem das Bundeswirtschaftsministerium (BMWi) das Thema Routerzwang in die eigenen Hände genommen hatte und einen Gesetzentwurf (TK-Endgerätegesetz) verfasst hat, der größtenteils unseren Vorstellungen entspricht, wurde dieser Entwurf der EU-Kommission und den Mitgliedsstaaten für Kommentare und Änderungswünsche vorgelegt. Dabei wurde nach Ablauf der sogenannten Stillhaltefrist ausschließlich eine formelle Unklarheit bemängelt und der Gesetzestext im Inhalt gebilligt.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Die &lt;a href=&#34;https://fsfe.org&#34;&gt;Free Software Foundation Europe&lt;/a&gt; und alle Freunde Freier Software, Verbraucherrechte und freien Wettbewerbs können sich seit einigen Tagen über einen weiteren Erfolg beim Thema Routerzwang freuen. Nachdem das Bundeswirtschaftsministerium (BMWi) das Thema Routerzwang in die eigenen Hände genommen hatte und einen Gesetzentwurf (TK-Endgerätegesetz) verfasst hat, der größtenteils unseren Vorstellungen entspricht, wurde dieser Entwurf der EU-Kommission und den Mitgliedsstaaten für Kommentare und Änderungswünsche vorgelegt. Dabei wurde nach Ablauf der sogenannten Stillhaltefrist ausschließlich eine formelle Unklarheit bemängelt und der Gesetzestext im Inhalt gebilligt.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/rz-kraken.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Eigene Router in Bedrängnis – hoffentlich nicht mehr lange. Scott Beale, CC BY-NC 2.0&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/rz-kraken.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Eigene Router in Bedrängnis – hoffentlich nicht mehr lange. Scott Beale, CC BY-NC 2.0&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Kurzinfo: Was ist Routerzwang?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In unserer Gesellschaft sollte es selbstverständlich sein, sich für technische Geräte frei entscheiden zu können, die man in seinem Zuhause in Betrieb nehmen möchte, genauso wie wir entscheiden können, welches Mobiltelefon wir kaufen. Doch einige Internetanbieter widersprechen diesem Prinzip und schreiben ihren Kunden vor, welches Gerät sie zur Einwahl in das Internet nutzen müssen oder diskriminieren Besitzer alternativer Geräte. Diese Verletzung eigentlich selbstverständlicher Rechte wird Routerzwang genannt und wird von der Free Software Foundation Europe und vielen anderen Organisationen, Projekten und Individuen stark kritisiert. Routerzwang ist nicht nur ein Thema für Technikexperten, sondern betrifft uns alle.&lt;/p&gt;&#xA;&lt;p&gt;Routerzwang beschäftigt die FSFE &lt;a href=&#34;https://fsfe.org/activities/routers/timeline.html&#34;&gt;seit dem Januar 2013&lt;/a&gt;, die öffentlich in vielen Anhörungen und im Hintergrund Stellung bezogen hat. Mehr Informationen über das Thema auf &lt;a href=&#34;https://fsfe.org/activities/routers/routers.html&#34;&gt;unserer ausführlichen Übersichtsseite&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Passend zum Ende dieser Phase hat der Journalist Jan Rähm für den Deutschlandfunk einen Beitrag gesendet, der das Thema sehr differenziert betrachtet, den aktuellen Stand darlegt und sowohl Gegner als auch Befürworter des Routerzwangs zu Wort kommen lässt. Der Beitrag ist als &lt;a href=&#34;http://www.deutschlandfunk.de/dose-oder-modem-wo-endet-das-netz-der-internetanbieter.684.de.html?dram:article_id=325175&#34;&gt;verkürzte Textversion&lt;/a&gt; und in der &lt;a href=&#34;http://ondemand-mp3.dradio.de/file/dradio/2015/07/11/dlf_20150711_1630_6e0df5f8.mp3&#34;&gt;vollen Audioversion&lt;/a&gt; (5:48) auf der Webseite des Deutschlandfunks zu finden. So sagt etwa der Pressesprecher von Tele Columbus, einer der wenigen Befürworter des Routerzwangs:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“&lt;em&gt;Im Kabelnetz von Tele Columbus besteht de facto schon heute Routerwahlfreiheit, denn wir stellen dem Kunden, wenn er nicht ausdrücklich einen Router von uns wünscht, ein einfaches Kabelmodem zur Verfügung, an das er jedes beliebige Endgerät mit der Funktionalität seiner Wahl anschließen kann.&lt;/em&gt;”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Doch die Position der FSFE, diverser Unternehmen aus der TK-Endgeräte-Industrie, Verbraucherschutz- und Bürgerrechtsorganisationen sowie engagierter Individuen lautet seit jeher, dass das Netz und die Wahlfreiheit des Benutzers an der Dose in der Wand beginnt. Zu dieser Einsicht ist man auch im Bundeswirtschaftsministerium gelangt und hat deswegen größtenteils unmissverständlich festgelegt, dass – egal ob DSL- oder Kabelanschluss – die Kunden in Zukunft ihre Endgeräte, also Modems und Router, selbst auswählen dürfen. Für uns als FSFE ist dieser Schritt die einzig logische Konsequenz, &lt;em&gt;weil dadurch alle Verbraucher laut Gesetz ein Modem- und Routermodell ihrer Wahl einsetzen können, ohne diskriminiert zu werden&lt;/em&gt;&amp;quot; (höre auch Zitat ab 1:55).&lt;/p&gt;&#xA;&lt;p&gt;Auch Argumente, dass die freie Routerwahl die Stabilität von Kabelnetzen gefährden würde, sehen wir Ablenkunsmanöver. So ist es etwa in den USA ohne weiteres unter ähnlichen Bedingungen wie in Deutschland möglich, ein Kabelmodem seiner Wahl zu betreiben. Von den heraufbeschworenen Netzausfällen und Störungen haben weder wir noch Verbände der Endgeräteindustrie gehört.&lt;/p&gt;&#xA;&lt;h3 id=&#34;wie-es-weiter-geht&#34;&gt;Wie es weiter geht&lt;/h3&gt;&#xA;&lt;p&gt;Nachdem die Stillhaltefrist und damit der Zeitraum für mögliche Kommentierungen von EU-Ebene vorrüber ist, geht das Gesetz wieder zurück an das BMWi. Dieses wird voraussichtlich die formellen Änderungswünsche der Kommission umsetzen, woraufhin sich das Bundeskabinett mit dem Gesetz befasst. Wie uns mitgeteilt wurde, ist der darauf folgende parlamentarische Prozess für Herbst diesen Jahres vorgesehen.&lt;/p&gt;&#xA;&lt;p&gt;Doch wie schon im Titel angedeutet, ist der bisher erlangte Erfolg zwar ein Grund zur Freude, aber nicht zur Unachtsamkeit, da nur eine weitere Etappe genommen wurde. Vor allem die Netzbetreiber und -provider haben sich bisher als große Gegner einer freien und fairen Endgerätewahl positioniert und rücken noch immer nicht von bereits mehrfach widerlegten Argumenten ab. Wir als FSFE stellen uns daher auf ein paar Überraschungen ein und hoffen, dass Minister und Abgeordnete in Kabinett und Parlament die Rechte von Nutzern verteidigen und wiederherstellen werden.&lt;/p&gt;&#xA;&lt;p&gt;Ich danke im Namen der FSFE den zahlreichen Unterstützern der freien Endgerätewahl für die gute Zusammenarbeit.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>splitDL – Downloading huge files from slow and unstable internet connections</title>
      <link>https://mehl.mx/blog/2015/splitdl-downloading-huge-files-from-slow-and-unstable-internet-connections/</link>
      <pubDate>Fri, 26 Jun 2015 15:59:03 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/splitdl-downloading-huge-files-from-slow-and-unstable-internet-connections/</guid>
      <description>&lt;p&gt;Imagine you want install GNU/Linux but your bandwidth won’t let you…&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;tl;dr: I wrote a rather small Bash script which splits huge files into several smaller ones and downloads them. To ensure the integrity, every small files is being checked for its hashsum and file size.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;That’s the problem I was facing in the past days. In the school I’m working at (&lt;a href=&#34;http://www.tareo-tz.org/mit/&#34;&gt;Moshi Institute of Technology&lt;/a&gt;, MIT) I set up a GNU/Linux server to provide services like file sharing, website design (on local servers to avoid the slow internet) and central backups. The ongoing plan is the setup of 5-10 (and later more) new computers with a GNU/Linux OS in contrast to the ancient and non-free WindowsXP installations – project „Linux Classroom“ is officially born.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Imagine you want install GNU/Linux but your bandwidth won’t let you…&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;tl;dr: I wrote a rather small Bash script which splits huge files into several smaller ones and downloads them. To ensure the integrity, every small files is being checked for its hashsum and file size.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;That’s the problem I was facing in the past days. In the school I’m working at (&lt;a href=&#34;http://www.tareo-tz.org/mit/&#34;&gt;Moshi Institute of Technology&lt;/a&gt;, MIT) I set up a GNU/Linux server to provide services like file sharing, website design (on local servers to avoid the slow internet) and central backups. The ongoing plan is the setup of 5-10 (and later more) new computers with a GNU/Linux OS in contrast to the ancient and non-free WindowsXP installations – project „Linux Classroom“ is officially born.&lt;/p&gt;&#xA;&lt;p&gt;But to install an operating system on a computer you need an installation medium. In the school a lot of (dubious) WindowsXP installation CD-ROMs are flying around but no current GNU/Linux. In the first world you would just download &lt;a href=&#34;https://en.wikipedia.org/wiki/ISO_image&#34;&gt;an .iso file&lt;/a&gt; and ~10 minutes later you could start installing it on your computer.&lt;/p&gt;&#xA;&lt;p&gt;But not here in Tanzania. With download rates of average 10kb/s it needs a hell of a time to download only one image file (not to mention the costs for the internet usage, ~1-3$ per 1GB). And that’s not all: Periodical power cuts cancel ongoing downloads abruptly. Of course you can restart a download but the large file may be already damaged and you loose even more time.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-solution--splitdl&#34;&gt;My solution – splitDL&lt;/h2&gt;&#xA;&lt;p&gt;To circumvent this drawback I coded a rather small Bash program called &lt;a href=&#34;http://src.mehl.mx/mxmehl/split-dl&#34;&gt;&lt;strong&gt;splitDL&lt;/strong&gt;&lt;/a&gt;. With this helper script, one is able to split a huge file into smaller pieces. If during the download the power cuts off and damages the file, one just has to re-download this single small file instead of the huge complete file. To detect whether a small file is unharmed the script creates hashsums of the original huge and the several small files. The script also supports continuation of the download thanks to the great default built-in application &lt;a href=&#34;https://en.wikipedia.org/wiki/Wget&#34;&gt;wget&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You might now think „BitTorrent (or any other program) is also able to do the same, if not more!“. Yes, but this requires a) the installation of another program and b) a download source which supports this protocol. On the contrary &lt;strong&gt;splitDL&lt;/strong&gt; can handle every HTTP, HTTPS or FTP download.&lt;/p&gt;&#xA;&lt;p&gt;The downside in the current state is that &lt;strong&gt;splitDL&lt;/strong&gt; requires shell access to the server where the file is saved to be able to split the file and create the necessary hashsums. So in my current situation I use my own virtual server in Germany on which I download the wanted file with high-speed and then use &lt;strong&gt;splitDL&lt;/strong&gt; to prepare the file for the slow download from my server to the Tanzanian school.&lt;/p&gt;&#xA;&lt;p&gt;The project is of course still in an ongoing phase and only tested in my own environment. Please feel free to have a look at it and &lt;a href=&#34;http://src.mehl.mx/mxmehl/split-dl&#34;&gt;download it via my Git instance&lt;/a&gt;. I’m always looking forward to feedback. The application is licensed under GPLv3 or later.&lt;/p&gt;&#xA;&lt;h2 id=&#34;some-examples&#34;&gt;Some examples&lt;/h2&gt;&#xA;&lt;h3 id=&#34;server-side&#34;&gt;Server-side&lt;/h3&gt;&#xA;&lt;p&gt;Split the file &lt;em&gt;debian.iso&lt;/em&gt; into smaller parts with the default options (MD5 hashsum, 10MB size)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;split-dl.sh -m server -f debian.iso&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Split the file but use the SHA1 hashsum and split the file into pieces with 50MB.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;split-dl.sh -m server -f debian.iso -c sha1sum -s 50M&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After one of the commands, a new folder called &lt;em&gt;dl-debian.iso/&lt;/em&gt; will be created. There, the splitted files and a document containing the hashsums and file sizes are located. You just have to move the folder to a web-accessible location on your server.&lt;/p&gt;&#xA;&lt;h3 id=&#34;client-side&#34;&gt;Client-side&lt;/h3&gt;&#xA;&lt;p&gt;Download the splitted files with the default options.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;split-dl.sh -m client -f http://server.tld/dl-debian.iso/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Download the splitted files but use SHA1 hashsum (has to be the same than what was used on the creation process) and override the wget options (default: &lt;em&gt;-nv –show-progress&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;split-dl.sh -m client -f http://server.tld/dl-debian.iso/ -c sha1sum -w --limit-date&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;100k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;current-bugsdrawbacks&#34;&gt;Current bugs/drawbacks&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Currently only single files are possible to split. This will be fixed soon.&lt;/li&gt;&#xA;&lt;li&gt;Currently the script only works with files in the current directory. This is also only a matter of some lines of code.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Nächster Halt: Endstation.</title>
      <link>https://mehl.mx/blog/2015/n%C3%A4chster-halt-endstation./</link>
      <pubDate>Wed, 20 May 2015 08:04:10 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/n%C3%A4chster-halt-endstation./</guid>
      <description>&lt;p&gt;Man könnte meinen, hier in Tansania ist man weit weg von den politischen Vorgängen in Deutschland. Doch interessanterweise wird es einem hier dieser Tage sehr einfach gemacht, den GDL-Streik, der vor allem vor Pfingsten in Deutschland die Bevölkerung elektrisiert, aus einer anderen Perspektive zu sehen. Wo selbst politik-kritische Formate wie die Satire-Komik-Sendung Heute Show durchgehend auf dem Gewerkschaftsführer Weselsky rumhackt, kann man durch den Vergleich mit Ländern wie Tansania, in denen das ganze Politikschauspiel noch etwas durchsichtiger und simpler gehalten ist, sehr gut verstehen, warum der GDL-Streik im Endeffekt ein notwendiges Übel für nahezu alle Bürger in Deutschland ist.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Man könnte meinen, hier in Tansania ist man weit weg von den politischen Vorgängen in Deutschland. Doch interessanterweise wird es einem hier dieser Tage sehr einfach gemacht, den GDL-Streik, der vor allem vor Pfingsten in Deutschland die Bevölkerung elektrisiert, aus einer anderen Perspektive zu sehen. Wo selbst politik-kritische Formate wie die Satire-Komik-Sendung Heute Show durchgehend auf dem Gewerkschaftsführer Weselsky rumhackt, kann man durch den Vergleich mit Ländern wie Tansania, in denen das ganze Politikschauspiel noch etwas durchsichtiger und simpler gehalten ist, sehr gut verstehen, warum der GDL-Streik im Endeffekt ein notwendiges Übel für nahezu alle Bürger in Deutschland ist.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Über den Autor:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Max Mehl, 25, ist ein… ach, Ihr wisst wer ich bin. Wichtig für diesen Artikel ist allerdings, dass ich kein typischer Autor eines gewerkschaftsfreundlichen Beitrags bin. Ich bin Fan von offenem Wettbewerb, die SPD fand ich immer schon so naja und beim Wort „Sozialismus“ bekomme ich nervöse Zuckungen. Trotzdem befürworte ich den GDL-Streik. Wie in aller Welt passt denn das zusammen?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Spätestens wer das zweite Semester der Politikwissenschaften absolviert hat, wird einen der wesentlichen Kerne der Realismustheorie verstanden haben. Es geht im Wesentlichen um Macht. Und Macht kann sich durch vieles definieren: Politischer Einfluss, militärische Schlagkraft, Ressourcen und natürlich Geld.&lt;/p&gt;&#xA;&lt;h2 id=&#34;was-in-tansania-gilt&#34;&gt;Was in Tansania gilt…&lt;/h2&gt;&#xA;&lt;p&gt;Hier in Tansania ist vor allem letzteres von Bedeutung. Wer über beträchtliche Summen von Geld verfügt, kann sich Einfluss kaufen und durch diesen Einfluss noch mehr Geld abzwacken. Im Gegenzug – und das ist viel prekärer – haben diejenigen, die kein Geld besitzen, keinen Einfluss, keine Stimme, keine Macht. Und das trifft somit auf weit über 90% der Bevölkerung zu. Die Tansanier haben es mit einem Parlament zu tun, das spätestens seit der Amtszeit des letzten Präsidenten diesem nur noch mehr Macht zuscheffelt. Und wenn es doch einmal so was verrücktes wie Korruptionsbekämpfung anstrebt, werden die verabschiedeten Gesetze per Veto geblockt oder ganz einfach nicht implementiert.&lt;/p&gt;&#xA;&lt;p&gt;Auf der anderen Seite stehen die Dala Dala-Fahrer, die die typischen (meiner Meinung nach für Zwerge konstruierten) Kleinbusse in Betrieb halten, die (halbwegs) fixe Routen anfahren und im Nah- und Halbfernverkehr dominieren. Das Parlament hat vor einigen Wochen eine drastische Veränderung verabschiedet: Unter anderem teurere Lizenzen und regelmäßige Fahrprüfungen. Nicht, dass ich mehr Sicherheit nicht befürworten würde, aber in einem Land, in dem jeder Behördengang zu zahlende Bestechungsgelder mit sich bringt und die ebenfalls auf Bestechungsgeld aufbauende Polizei mit Freuden den Führerschein des Fahrers eines mit 15 Fahrgästen gefüllten Dala Dalas besonders gründlich untersuchen wird, ist das schon ein kritischer Vorgang.&lt;/p&gt;&#xA;&lt;p&gt;Was haben diese Fahrer also für Möglichkeiten, ihrem Widerwillen Ausdruck zu verschaffen? Sich mit offenen Briefen an die Politik wenden? Mit Schildern auf der Straße protestieren? Nein, es handelt sich dabei um Menschen aus den unteren Schichten, die austauschbar sind. Aber sie haben die Macht, durch Streik ein ganzes Land lahmzulegen und haben das auch für etwas über 24 Stunden gemacht. Und plötzlich stehen die politischen Eliten und die revoltierenden Fahrer auf Augenhöhe und können (für tansanische Verhältnisse) anständig diskutieren.&lt;/p&gt;&#xA;&lt;h2 id=&#34;-gilt-umso-mehr-in-deutschland&#34;&gt;… gilt umso mehr in Deutschland&lt;/h2&gt;&#xA;&lt;p&gt;Was wir aus dem Tansanischen Beispiel lernen: Es geht um Macht und um das Recht, auf Augenhöhe über Konditionen zu diskutieren. Doch was im fernen Afrika der übersichtliche Streit zwischen einer Horde Minibusfahrer und der Regierung ist, ist in Deutschland der womögliche Endkampf zwischen Arbeitnehmerrechten und den politischen und wirtschaftlichen Machthabern.&lt;/p&gt;&#xA;&lt;p&gt;Denn es geht nicht nur um mehr Geld für die Lokführer, sondern darum, ob das (ironischerweise) von der SPD auf den Weg gebrachte Tarifeinheitsgesetz kleinere Gewerkschaften in die Bedeutungslosigkeit abschiebt und damit nicht nur den Lokführern, sondern de facto auch der gesamten „Arbeiterschaft“ die Lobby entreißt. Denn wenn wir resümieren, waren die letzten Arbeitskämpfe immer nach demselben Muster aufgebaut: Verhandlungen, zwei kleine Warnstreiks, die niemandem so wirklich weh tun, weitere Verhandlungen und dann eine Einigung auf einen Betrag, der irgendwie auch nicht so wirklich zur Realität passen will, sondern die Arbeitnehmer im Vergleich zur Inflation immer schlechter da stehen lässt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;quo-vadis-öffentliche-meinung&#34;&gt;Quo vadis, Öffentliche Meinung?&lt;/h2&gt;&#xA;&lt;p&gt;Gewerkschaften werden langsam zu einem Relikt aus alten Tagen und dieser Trend wird von der alten Arbeiterpartei SPD, die jetzt irgendwo zwischen den Scheinwirklichkeiten rum dümpelt und es sich eigentlich mit allen verscherzt (Vorratsdatenspeicherung, TTIP, BND-Affäre…), nur noch verstärkt. Und wenn wir ehrlich sind, gefällt uns das sogar auf den ersten Blick. Was habe ich mich früher über Arbeiter in gelben VerDi-Westen geärgert, die mit ihrem Kohlestreik schon wieder den ersten Slot in der Tagesschau bekommen haben. Uns wäre es auch recht, wenn Züge einfach fahren würden, am besten ohne dass wir je einen Zugfahrer zu Gesicht bekommen.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/weselsky-bild.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Zwar eine Montage des Postillon, aber recht nah an der Wirklichkeit&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/weselsky-bild.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Zwar eine Montage des Postillon, aber recht nah an der Wirklichkeit&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Doch was wir damit im Endeffekt wollen würden, wäre die Entmachtung genau dieser Arbeitnehmer. Ich bin bei Weitem kein Sozialist und das Wort „Klassenkampf“ war mir schon immer fern, aber ich weiß, dass jeder Mensch heute mindestens eine Lobby braucht. Wir sehen in Brüssel heute, wie Realpolitik gemacht wird: Mächtige, mit Millionen ausgestattete Lobbyorganisationen vertreten Wirtschaftsinteressen von Firmen, die wie Pipi Langstrumpf die Welt so gestalten (möchten), wie sie ihnen gefällt. Auf der Strecke bleiben dabei Interessen, die nicht mit ähnlich viel Geld unterfüttert sind. In der Free Software Foundation Europe (&lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt;) sehen wir derzeit, wie schwer es ist, ohne überschäumende Ressourcen ganz rationale Interessen normaler Bürger und kleiner Unternehmen gegen &lt;a href=&#34;https://www.lobbycontrol.de/2014/09/lobbyfacts-die-groessten-deutschen-lobbyakteure-in-bruessel/&#34;&gt;die Macht riesiger Tech-Unternehmen&lt;/a&gt; zu vertreten. Wo sollen da Lokführer und Stahlarbeiter bleiben? Dazu kommt auch die politische und großgewerkschaftliche Untätigkeit, wie &lt;a href=&#34;http://www.spiegel.de/politik/deutschland/bahn-streik-danke-claus-weselsky-augstein-kolumne-a-1032521.html&#34;&gt;Jakob Augstein im Spiegel&lt;/a&gt; schon so gut zusammengefasst hat:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;„Die Sozialdemokraten haben gegen die wachsende Ungleichheit nichts unternommen. Und die Gewerkschaften auch nicht. Im Gegenteil: Viel zu viele Sozialdemokraten und Gewerkschafter haben sich in der Vergangenheit auf die Seite der Lohndrücker geschlagen.“&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/weselsky-bahnsinn.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Größenbahnsinn oder geht’s vielleicht um mehr?&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/weselsky-bahnsinn.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Größenbahnsinn oder geht’s vielleicht um mehr?&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Kurzum: Deutsche Bürger, die nicht gerade Besitzer eines Multi-Millionen-Euro-Unternehmens sind, sollten sich aus ganz rationalen Gründen gegen das Mainstream-Bashing von GDL und Weselsky stellen. Denn mit dem Ausgang dieser Streik-Schlacht kann sich entscheiden, ob harte Verhandlungsmethoden und Gewerkschaften überhaupt noch eine Zukunft haben. Diese kleine Gewerkschaft könnte die Blaupause für die kommenden Verhandlungen etwa mit Lehrkräften an Schulen und Universitäten sein und ob diese dann überhaupt streiken dürfen. Lokführer sind der Mehrzahl der Bürger recht egal, aber die Pädagogen zukünftiger Generationen sollten es nicht sein. Aber wenn es soweit kommt, hat sich womöglich deren politische Macht schon in Rauch aufgelöst, weil sie ihr letztes Machtmittel, den Streik, über Arbeitsgerichte, Tarifeinheitsgesetze und die gefestigte Streikmüdigkeit der Bevölkerung schon verloren hat.&lt;/p&gt;&#xA;&lt;p&gt;Durch die geballte Einigkeit gegen diesen einen Streik einer Mini-Gewerkschaft schaufeln wir das Grab für die zukünftige Interessensvertretung von Arbeitnehmern in viel bedeutenderen Branchen und machen damit Wirtschaftsgrößen den größten Gefallen. Und was bleibt allen Normalo-Bürgern ohne Lobby dann, außer es das nächste Mal mit einer besseren Regierung zu versuchen, die der Wirtschaftslobby vielleicht etwas länger widerstehen kann?&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Technology and Free Software in Tanzania</title>
      <link>https://mehl.mx/blog/2015/technology-and-free-software-in-tanzania/</link>
      <pubDate>Fri, 08 May 2015 07:34:19 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/technology-and-free-software-in-tanzania/</guid>
      <description>&lt;p&gt;After two months in Tanzania and in the computer education centre I work every day I learnt a lot about the culture of the locals in terms of their viewpoint on information technology. And in the same way I had to accept that my initial mental image of the people’s behaviour was (at least in parts) very wrong. So in this article I try to explain how I see the situation of modern technologies and the usage and understanding of Free Software in the region of Tanzania where I live.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;After two months in Tanzania and in the computer education centre I work every day I learnt a lot about the culture of the locals in terms of their viewpoint on information technology. And in the same way I had to accept that my initial mental image of the people’s behaviour was (at least in parts) very wrong. So in this article I try to explain how I see the situation of modern technologies and the usage and understanding of Free Software in the region of Tanzania where I live.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;lg&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/mit-2.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/mit-2.jpg&#34;  /&gt;&#xA;          &lt;p&gt;&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Free Software guarantees the full rights to use, study, share and improve it (but is not necessarily free of gratis). This sounds like something only interesting for IT specialists and nerds. But given the importance of software in our lifes one has to reconsider: Software controls our mobile phones, cars, air planes, heating systems, power plants, bank accounts and medical equipment. The one who controls this software is also the one who controls most parts of our lifes. Questions like „Does all my data belong to someone else?“, „Is my data safe?“ and „Who knows how much about me?“ can only be answered when we start thinking about Free Software. By some people Free Software is also called Open Source. &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;More about Free Software&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Let’s start with a list of what I thought and what’s in fact the reality:&lt;/p&gt;&#xA;&lt;h2 id=&#34;misconception-i&#34;&gt;Misconception I&lt;/h2&gt;&#xA;&lt;p&gt;Before I went to Tanzania it was quite clear to me that people here value Free Software quite much. This is because a lot of Free Software is also free of cost. Why should people use Windows, Adobe Photoshop and Microsoft Office when there’s also GNU/Linux, GIMP and LibreOffice/OpenOffice?&lt;/p&gt;&#xA;&lt;h2 id=&#34;reality-i&#34;&gt;Reality I&lt;/h2&gt;&#xA;&lt;p&gt;„Free Software? What is this and can I eat it?“ It’s not that drastical though but the core message remains the same: The broad average population doesn’t know about Free Software and Open Source or even the applications I listed. When I gave a small workshop about GNU/Linux, noone of my students knew about it. But as we installed replacements of popular non-free software like LibreOffice, GIMP or VLC the questions marks in my students‘ heads became almost visible. Although they liked the idea of the whole world working on this software and that it’s for free, they asked me afterwards „…and how can we install Microsoft Frontpage?“. This is the perfect time for misconception 2.&lt;/p&gt;&#xA;&lt;h2 id=&#34;misconception-ii&#34;&gt;Misconception II&lt;/h2&gt;&#xA;&lt;p&gt;„Free Software is cool“. This is what I and many other people think. It takes power away from single and very large IT-companies to us, the users and small companies. It enables a free and fair market competition and can support our data privacy and civil rights protection in various ways. In western countries I can almost understand that there’re people who mistakenly think that only expensive products by big brands can be quality products. But in Africa? Never ever! The people are quite poor and why shouldn’t they value products which are for free &lt;strong&gt;and&lt;/strong&gt; good?&lt;/p&gt;&#xA;&lt;h2 id=&#34;reality-ii&#34;&gt;Reality II&lt;/h2&gt;&#xA;&lt;p&gt;Apart from the fact that many people don’t know about alternatives to popular non-free software, they also cannot believe that something is for free. Many people here have arranged themselves with sharing illegal (and often virus-infested) copies of Windows and Microsoft Office. And especially in the rather „rich“ northern Tanzania, everything is about money. Asking to take a photo of a group of Maasai people in a nice background setting? 2000 Shilling. Somebody escorting you to a place you didn’t find? 500-1000 Shilling.&lt;/p&gt;&#xA;&lt;p&gt;However, I was able to convince my students that in the case of Free Software most software is really for free in terms of free beer but only after clear up many questions about it. The idea that something so valuable and created by so many people in so many working hours is really for free – almost unbelievable, even for my local co-teachers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;misconception-iii&#34;&gt;Misconception III&lt;/h2&gt;&#xA;&lt;p&gt;I’ve been tinkering with computers and software since my youth when I reinstalled my operating systems at least once a month and started exploring the internet. I did this because I was interested in technology and wanted to explore its and my limits, but also because even back then I knew that IT will become more and more important and those who don’t understand it will rather be left behind.&lt;/p&gt;&#xA;&lt;p&gt;I thought in Tanzania it’s a similar situation but somehow easier for the population. I thought that they have very limited technology here but that they know about the importance of computers and software in the industrial countries – and it’s quite obvious that with several years delay they will reach the same level of IT-dependency than we have today. So I thought the people here would care about technology and will try to learn as much as possible about it to improve their career chances and catch up the industrial countries.&lt;/p&gt;&#xA;&lt;h2 id=&#34;reality-iii&#34;&gt;Reality III&lt;/h2&gt;&#xA;&lt;p&gt;(&lt;em&gt;Disclaimer here: This is just my personal and at the moment very subjective view&lt;/em&gt;) It’s not that the people here are lazy and miss the future. They already have the future and it’s too much for them. Most of the Tanzanians in the city have a smartphone, some even have several. The mobile internet is partly better than in Germany, many companies already heavily depend on computers and I’m asked for my Facebook and WhatsApp contact details almost every day.&lt;/p&gt;&#xA;&lt;p&gt;The in some way funny thing is that they know all this (modern smartphone apps, newest iPhone’s details) but if they’re asked to download and install an application on their own Windows computer, even my IT-students reach their limits.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;&#xA;&lt;p&gt;That’s one of the questions I have in my mind every day. Why don’t they know about other software than the most popular (and even not best). Why do they refuse alternatives even if they just benefit their financial and infrastructural situation (no money, old computers, slow internet)? And why don’t they even know the most basic things but enjoy quite modern technologies?&lt;/p&gt;&#xA;&lt;p&gt;I assume it’s because of the very rapid and overwhelming change that the people here experienced. Before the smartphones they only had very old computers, mostly donated or from the trash bin of the industrial countries. While we already enjoyed internet, they had to linger around with ancient machines. And on these machines there was preinstalled Windows and maybe applications like Photoshop and Microsoft Office. It was almost impossible for them to download OpenOffice or GIMP because landline internet (ISDN, DSL) is very uncommon here.&lt;/p&gt;&#xA;&lt;p&gt;So they didn’t know about any alternatives and were happy to be able to use at least some applications. And here a second reason kicks in: How to learn to use a software properly? There’re almost no schools who teach usage of computers and their applications. And small companies cannot afford the expenses to train their employees in IT. So the limited supply of technology is further limited by the missing knowledge. As a side note: A volunteer friend of mine here told me that he fascinated his whole working place by showing the people that there’s something like &lt;code&gt;=SUM()&lt;/code&gt; in Excel. Before that they wrote down long lists of numbers in Excel but calculated them by hand. It was a micro-finance organisation which lend small amounts of money to communities and single persons…&lt;/p&gt;&#xA;&lt;p&gt;And then, the smartphones came. And the companies offering mobile internet for affordable rates. People don’t rely on home computers and landline connections anymore but can chat and surf everywhere. They’re given the technology but not the knowledge. Although it works like a charm, many don’t know anything about it or how it works. When one of my students asked me how I learnt about web programming I showed him how to use internet search engines properly. He was stunned the whole day about sources of knowledge like wikibooks.org. And when I told the other student that apps on smartphones are just like programs on classic computers he asked where to find the Google Play Store on his Windows laptop.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Tanzanians are not stupid and they’re not lazy&lt;/strong&gt;. The students I referred to in this article are keen on learning new things and improving their lifes. However it’s hard to understand for first world people like me how they behave and think about many things. For me many people here are some kind of paralyzed by the rushing modern technologies coming from the industrialised nations without any education about it. So I still try to find a good way to teach my students and co-teachers the importance of computer and software knowledge as well as the benefits of Free Software.&lt;/p&gt;&#xA;&lt;p&gt;And as another important note: Not all Tanzanians are rather helpless when it comes to IT. I also met people who run very successfull IT businesses and some who know crazy software tricks which make my jaw drop to the ground. They somehow found a way to teach themselves although it’s very hard to do that here. I hope there will be more people of this type in the future. But for this, Tanzania needs more and better education, more political support of IT schools, better infrastructure and better future perspectives for workers in IT businesses. Sounds like a harsh roadmap? It is…&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Erste Eindrücke aus Tansania</title>
      <link>https://mehl.mx/blog/2015/erste-eindr%C3%BCcke-aus-tansania/</link>
      <pubDate>Tue, 14 Apr 2015 08:05:07 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/erste-eindr%C3%BCcke-aus-tansania/</guid>
      <description>&lt;p&gt;Pole pole – das ist die typisch tansanische Mentalität, alles etwas ruhiger und langsamer angehen zu lassen. Und wahrscheinlich ist das auch der Grund, warum ich erst einen Monat nach meiner Ankunft in Tansania dazu komme, einen ersten Blogeintrag über meine bisherigen Erfahrungen zu schreiben. Ich bin hier von Anfang März bis Ende Juli als Freiwilliger in einer Organisation tätig, die die Bildung von jungen Menschen und der ländlichen Bevölkerung durch Einsatz und Schulung von IT verbessern will. Im Folgenden möchte ich kurz einen Rundumblick über mein Leben hier und die Bedingungen geben, konkret über meinen Alltag, die Gefahren, meine Arbeit als Freiwilliger, die einheimische Bevölkerung und Kultur, Wetter und Natur sowie das liebe Geld:&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Pole pole – das ist die typisch tansanische Mentalität, alles etwas ruhiger und langsamer angehen zu lassen. Und wahrscheinlich ist das auch der Grund, warum ich erst einen Monat nach meiner Ankunft in Tansania dazu komme, einen ersten Blogeintrag über meine bisherigen Erfahrungen zu schreiben. Ich bin hier von Anfang März bis Ende Juli als Freiwilliger in einer Organisation tätig, die die Bildung von jungen Menschen und der ländlichen Bevölkerung durch Einsatz und Schulung von IT verbessern will. Im Folgenden möchte ich kurz einen Rundumblick über mein Leben hier und die Bedingungen geben, konkret über meinen Alltag, die Gefahren, meine Arbeit als Freiwilliger, die einheimische Bevölkerung und Kultur, Wetter und Natur sowie das liebe Geld:&lt;/p&gt;&#xA;&lt;h2 id=&#34;mein-alltag&#34;&gt;Mein Alltag&lt;/h2&gt;&#xA;&lt;p&gt;Ich wohne mit &lt;a href=&#34;http://tanja-winkler.com&#34;&gt;meiner Freundin&lt;/a&gt; in einer 3-Zimmer-WG im Stadtzentrum von Moshi, nahe des Kilimanjaros. Die Woche über arbeite ich momentan bis mittags im Moshi Institute of Technology, einer Art Volkshochschule mit Kursen im Bereich IT, Buchhaltung und Sprachen, welche von &lt;a href=&#34;http://www.tareo-tz.org&#34;&gt;TAREO (Tanzania Rural Empowerment Organization)&lt;/a&gt; geleitet wird (dazu später mehr). Der Rest des Tages (nahezu alle Ehrenamtlichen in der Stadt arbeiten halbtags) geht hier mit ungewöhnlich zeitraubenden Aktivitäten wie Kochen, Einkaufen auf dem Markt und vom teils tierischen heißen Wetter ausruhen (zwischen 13 und 15 Uhr gehen selbst Transanier ungern auf die Straße) drauf.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tz-kilimanjaro-balkon.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Blick auf das „Dach Afrikas“ von unserer Haustür&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tz-kilimanjaro-balkon.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Blick auf das „Dach Afrikas“ von unserer Haustür&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Die Länge des Tages wird durch die sehr früh einsetzende Dunkelheit um etwa 19 Uhr limitiert, nach der wir Wazungu (Mzungu = Ausländer, Weißer) nicht auf die Straße sollten, mehr dazu später. Am Wochenende bekommen wir Ehrenamtlichen für gewöhnlich frei, um die Stadt und Gegend zu erkunden, Trips zu unternehmen oder uns von der oft geistig anstrengenden Arbeit zu erholen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;gefährlichkeit&#34;&gt;Gefährlichkeit&lt;/h2&gt;&#xA;&lt;p&gt;Eine der häufigsten Fragen ist die nach der Gefährlichkeit. Kurzum: Es ist nicht viel gefährlicher als in einer deutschen Großstadt, wenn man sich nicht vollkommen daneben verhält und ein paar Grundregeln beachtet. Tagsüber haben wir noch nie davon gehört, dass jemand beklaut wurde, obwohl wir allein von der Hautfarbe her natürlich extrem auffällig sind. Moshi gilt als sehr sicher (was auf einige andere südlichere Großstädte in Tansania allerdings nicht zutrifft). Die größte Gefahr im Hellen ist es, in der ersten Zeit auf einen der zahlreichen Straßenverkäufer reinzufallen, die einem zuerst erzählen, wie toll sie arme Waisenkinder unterstützen und nach 5 Minuten plötzlich dubiose Safaris oder Halsketten anbieten – aber da lernt man schnell draus :)&lt;/p&gt;&#xA;&lt;p&gt;Armut und Arbeitslosigkeit locken Gelegenheitsdiebe hervor, die technische Geräte und Geld von den Unglücklichen abstauben wollen, aber diese dann meist ziehen lassen – ein Vorteil der kaum vorhandenen Kleinverbrechensaufklärung der hiesigen Polizei. Da das Taxi hier aber je nach Distanz 1,50€ bis 2,50€ pro Fahrt kostet, gehen wir Voluntäre da sowieso auf Nummer sicher und hatten in letzter Zeit nie Probleme.&lt;/p&gt;&#xA;&lt;h2 id=&#34;meine-arbeit&#34;&gt;Meine Arbeit&lt;/h2&gt;&#xA;&lt;p&gt;Ich arbeite für TAREO, eine Organisation, welche die ländliche Bevölkerung, die hier aufgrund der schlechten Bildung und der mieserablen Infrastruktur stark benachteiligt ist, unterstützen will. Das macht sie durch einige ländliche Schulen, aber auch Bildungseinrichtungen in Städten, wo junge Menschen Qualifikationen erwerben können. TAREO macht das vor allem durch den Einsatz von Computern und dem Internet, um die Menschen (meist Kinder, Jugendliche, Frauen und Farmer) gesellschaftlich aufholen zu lassen. Ein Problem nämlich ist, dass Schulen hier meist nicht kostenlos sind, oft ewig weit vom Wohnort entfernt sind und die Schullaufbahn sehr lange dauert, bis man etwa auf eine Universität gehen kann.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tz-moshi-clocktower.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Moshi Innenstadt an einem Nachmittag&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tz-moshi-clocktower.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Moshi Innenstadt an einem Nachmittag&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Im Moshi Institute of Technology (MIT), wo ich tätig bin, kann man an Kursen für Bürofachkräfte, IT-Techniker oder einfache PC-Grundlagen teilnehmen, was einen vergleichsweise geringen Betrag kostet. Dafür gibt es dann neben dem hier sehr wertvollen Wissen auch Zertifikate und sogar ganze Schulabschlüsse können nachgeholt werden. Natürlich ist das nicht vergleichbar mit professionellen Angeboten in Europa, schon einfach deswegen, weil die Infrastruktur fehlt. Wir arbeiten hier mit PCs aus dem Jahr 2001-2003, meist Pentium 3 oder 4 mit 256 bis 512MB Arbeitsspeicher. Leider laufen die meisten PCs noch mit WindowsXP, was ich aber durch die Installation von ressourcensparenden und vor allem kostenlosen Linux-basierten Systemen zu ändern gedenke.&lt;/p&gt;&#xA;&lt;p&gt;Momentan aber ist &lt;a href=&#34;http://www.tareo-tz.org&#34;&gt;die neue Webseite von TAREO&lt;/a&gt; (mittlerweile schon online) mein Hauptprojekt. Bisher hatte die Dachorganisation eine eigene Präsenz, genauso wie zwei der Center und der IT-Service – jeweils alle hoffnungslos veraltet und optisch ein Graus. Ich fasse nun alle Infos und einer modernen Webseite zusammen, strukturiere sie ordentlich, mache sie attraktiver für Sponsoren und interessierte Freiwillige und  besser auffindbar über Suchmaschinen. Mein Hauptaugenmerk liegt aber auf der einfachen Bedienung für die zuständigen Mitarbeiter, damit sie in Zukunft schnell Infos hinzufügen oder Bilder ändern können.&lt;/p&gt;&#xA;&lt;p&gt;Diese Arbeit war zeitraubender als gedacht, weil es mehr Informationen, Schulen und Kurse zu vereinheitlichen galt als ich anfangs dachte. Möchte man dann noch aktuelle Bilder von den Einrichtungen auftreiben und vielleicht noch Fotos von den verschiedenen Mitarbeitern sammeln, kann sich das ganze nach hinten verschieben – pole pole halt. Bis Mitte/Ende April möchte ich dieses umfangreiche Projekt aber fertiggestellt haben und mich auf die Schulung von Lehrern des MIT konzentrieren. Momentan schwebt mit vor, die alte Software (und vielleicht auch Hardware) in der Einrichtung zu mordernisieren und dabei die 4 Lehrkräfte im Sinne von Learning by Doing einzubinden. Diese sind meist theoretisch recht fit und höchst interessiert, aber haben noch nie einen modernen Server angefasst oder eine Webseite online gestellt, weil einfach die Mittel dazu fehlen – etwas schade, wenn sie darüber unterrichten.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-einheimischen&#34;&gt;Die Einheimischen&lt;/h2&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig3&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tz-moshi-gruen.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Eine kleiner Weg in Moshi. Man beachte die Vegetation&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig3&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tz-moshi-gruen.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Eine kleiner Weg in Moshi. Man beachte die Vegetation&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Hier kann und will ich noch gar nicht so viel sagen. Die tansanische Kultur ist mir im Großen und Ganzen noch etwas unbekannt und fremd und man tritt immer mal wieder in kleine Fettnäpfchen. Eines der größten Probleme im Miteinander ist sicherlich die Sprachbarriere und die damit verbundenen Missverständnisse. Nur wenige Einheimische sprechen für unsere Verhältnisse wirklich gutes Englisch, um sich über kompliziertere Sachverhalte wie Kultur oder Gesellschaft zu unterhalten. Zudem waren die meisten Leute hier nie in Europa oder den USA und gehen davon aus, dass wir in der ersten Welt in purem Reichtum leben, nie krank werden, die iPhones und Fernseher auf Bäumen wachsen und alle happy sind. Das wird durch Filme und Serien vermittelt und leider durch Kurzzeittouristinnen in High-Heels und Miniröcken und wohlbeleibte Amis, die mit Geld um sich schmeißen (ist ja alles billig hier) nicht wirklich verbessert.&lt;/p&gt;&#xA;&lt;p&gt;Ansonsten gibt es hier eine ganz klare Prioritätsverteilung: Die Familie steht ganz oben, dann folgen Freunde und erst dann mal Beruf oder Kunden. Nur die wenigsten Selbstständigen hier streben nach höherem, indem sie etwa ihre Restaurants renovieren, das Angebot erweitern oder eine Zweigstelle eröffnen. Man ist hier meist zufrieden, wenn man die Familie durchbringen kann. Ob das nun gut oder schlecht ist, überlasse ich Eurer Meinung. Aber wie ich schon gehört habe, spielt die Stammeszugehörigkeit hier noch eine sehr große Rolle. Dominant sind hier etwa die Chagga, welche als egoistisch und geschäftstüchtig gelten, wohingegen andere Stämme gastfreundlicher und selbstloser sein sollen. Eine Sonderrolle halten die Maasai inne, die ihrer traditionellen Lebensweise im Einklang mit der Natur treu geblieben sind. Einen Stamm der Maasai werden wir hoffentlich bald einmal über eine Nacht besuchen und dort mehr über sie lernen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wetter-und-natur&#34;&gt;Wetter und Natur&lt;/h2&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig4&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tz-safari-ele.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Ein kleiner Ausschnitt aus der Herde Elefanten, die im Tarangire unseren Weg gekreuzt hat&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig4&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tz-safari-ele.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Ein kleiner Ausschnitt aus der Herde Elefanten, die im Tarangire unseren Weg gekreuzt hat&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Im April befindet sich Tansania für gewöhnlich in der großen Regenzeit, die Mitte/Ende März beginnt und bis Ende Mai dauert. Wer jetzt an Dauerregen und überschwemmte Straßen denkt, irrt genauso wie ich zu Anfang. Regenzeit bedeutet, dass es nachts mal ein paar Stunden regnet und tagsüber vielleicht mal maximal eine Stunde – dann aber wie aus Kübeln! Daher ist es auch etwas kälter als im hiesigen Sommer (November bis Februar), zumindest wenn man 28°C als kalt bezeichnen will. In höheren Lagen allerdings bewirkt dieser Regen wahre Wunder: Sandbraune Wiesen werden zu blühenden Äckern und jeder Schilling wird in die Landwirtschaft gesteckt. Selbst hier in Moshi sieht man plötzlich mehr Grün. Wir sind mal gespannt, wie sich die Regenzeit noch entwickelt und ob es hoffentlich noch kühler wird.&lt;/p&gt;&#xA;&lt;p&gt;Tansania ist entgegen der weit verbreiteten Vorstellung, dass es sich um weite Ödnis, verbrannte Weiden und kahle Hügel handelt, ein von der Natur her sehr vielfältiges Land. Nachdem wir am Osterwochenende auf eine dreitägige Safari durch Lake Manyara, den Ngorongoro Krater und den Tarangire-Nationalpark gefahren sind, weiß ich, dass Tansania grün, blau, braun und rot zugleich kann: Urwaldähnliche Wälder, weite Steppen, riesige Seen, Hügellandschaften in sattem sandbraun mit einzelnen gigantischen Bäumen und erwachende Flüsse und an der Straße vulkanische rote Gesteinsbrüche. Das Weiß auf der Kuppe des Kilimanjaros natürlich nicht zu vergessen!&lt;/p&gt;&#xA;&lt;h2 id=&#34;money-money-money&#34;&gt;Money money money&lt;/h2&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig5&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tz-schilling.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;10.000 Schilling. Umgerechnet 5€ und die größte Banknote&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig5&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tz-schilling.jpg&#34;  /&gt;&#xA;          &lt;p&gt;10.000 Schilling. Umgerechnet 5€ und die größte Banknote&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Wie schon angedeutet, sind hier viele Sachen unglaublich günstig, vor allem einheimische Lebensmittel und Dienstleistungen. Die tansanische Währung sind Tansanische Schilling (TSH, TZS). Ein Euro entspricht etwa 2000TSH, die kleinste Münze sind 50TSH, der größte Schein 10.000TSH. Auf dem Markt, auf dem wir Gemüse und Obst einkaufen, kosten 3 (herrliche!) Auberginen 500TSH (0,25€), 5 kleine Paprika 500TSH, ein Eimer voller Kartoffeln je nach Qualität 3000TSH (1,50€) und eine Banane 100TSH (0,05€). Ein Rucksack voller Obst und Gemüse (natürlich Bio :P) kann nach einem Marktbesuch also für 5-10€ randvoll gefüllt sein. Dienstleistungen wie Nähereien sind hier ebenfalls sehr preiswert. So hat sich eine Freundin eine komplette Notebooktasche für 5-7€ nähen lassen, exklusive des auch preiswerten, aber hochwertigen Stoffs.&lt;/p&gt;&#xA;&lt;p&gt;Vergleichsweise teuer sind hier aber importierte Produkte. 1kg Müsli bekommt man hier nicht für unter 5€, ein bisschen Käse schlägt auch mit mindestens 5€ zu Buche, echte Butter mit 4€ pro 250g. Werkzeuge sind ebenfalls mindestens doppelt so teuer wie im heimischen Baumarkt. Ein Liter Diesel kostet hier umgerechnet 80 Cent, eine kWh Strom 15 Cent – beides also für das tansanische Preisniveau sehr teuer. Beim Essen in Restaurants kommt es ganz klar darauf an, wo man hin geht. Die großen Touri-Restaurants, die in TripAdvisor o.ä. gelistet werden, sind auch für deutsche Verhältnisse mittelklassig teuer. Geht man aber in kleinere oder unbekanntere Läden, zahlt man für ein ausgiebiges und oft sehr gutes Essen auch mal nur 2,50€.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ausblick&#34;&gt;Ausblick&lt;/h2&gt;&#xA;&lt;p&gt;In den nächsten, hoffentlich bald folgenden Artikeln werde ich mich auf einzelne Themen beschränken. Technische, auf meine Arbeit bezogene Themen werde ich meinen Freunden aus dem Umkreis der &lt;a href=&#34;http://fsfe.org&#34;&gt;FSFE&lt;/a&gt; zuliebe auf Englisch verfassen, dazu kommen aber wahrscheinlich einige unterhaltsame Nuancen aus Kultur und Alltag hier in Tansania oder Reiseberichte, die dann wieder auf Deutsch geschrieben sein werden.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>In The End Freedom Is What Matters</title>
      <link>https://mehl.mx/blog/2015/in-the-end-freedom-is-what-matters/</link>
      <pubDate>Wed, 25 Feb 2015 02:03:04 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/in-the-end-freedom-is-what-matters/</guid>
      <description>&lt;p&gt;Yesterday I’ve been asked by a good friend of mine why I am investing so much time in the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; (Free Software¹ Foundation Europe) instead of putting more energy in other organisations with more focus on privacy issues. The background of his question is that I’m quite concerned about governmental and commercial surveillance and the lack of really private ways to communicate with each other and the impact this has on our online and offline behaviour. With Laura Poitras‘ recent movie „Citizenfour“ awarded with an Oscar, I use the media attention as an icebreaker to talk with my friends about these topics if the situation allows it.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Yesterday I’ve been asked by a good friend of mine why I am investing so much time in the &lt;a href=&#34;https://fsfe.org&#34;&gt;FSFE&lt;/a&gt; (Free Software¹ Foundation Europe) instead of putting more energy in other organisations with more focus on privacy issues. The background of his question is that I’m quite concerned about governmental and commercial surveillance and the lack of really private ways to communicate with each other and the impact this has on our online and offline behaviour. With Laura Poitras‘ recent movie „Citizenfour“ awarded with an Oscar, I use the media attention as an icebreaker to talk with my friends about these topics if the situation allows it.&lt;/p&gt;&#xA;&lt;p&gt;Back to question which can also be read as „&lt;strong&gt;Why are you investing your time in Free Software&lt;/strong&gt; instead of privacy which seems to touch you more?“. To be honest I had to think about this a bit. But then I remembered &lt;a href=&#34;https://www.youtube.com/watch?v=2qwhB-u7PiI&#34;&gt;Jacob Appelbaum saying&lt;/a&gt; “&lt;em&gt;[…] what people used to call liberty and freedom we now call privacy&lt;/em&gt;”. And I think that’s the reason why I stick with putting my energy as activist in FSFE rather than in other (very good!) organisations: Because I think that freedom is the foundation of everything we call privacy today and in the future. I’ll explain that in the following paragraphs. It already has been said in many blog posts, articles, press releases, and interviews from people in- and outside the Free Software movement that Free Software (sometimes also called Open Source) is the key to privacy, mostly because only Free Software is the only sane way how to publish serious encryption methods. Of course the very basis for encryption is trust, and trust is only gained by transparency and the possibility to look behind the scenes.&lt;/p&gt;&#xA;&lt;p&gt;But for me, it goes &lt;strong&gt;much further than just the rational reason&lt;/strong&gt; why Free Software is the basis for privacy programs. I invest my time in the FSFE because it’s about freedom. We can have as good privacy-enhancing tools as possible, without freedom they are worth nothing. I’m not (only) talking about physical freedom, but more about the freedom to interact with the society in a way one can determine. Imagine following – not unrealistic – situation: You can communicate with your friends anonymously over perfectly encrypted channels and this is good. But now your country’s financial office urges you to give information about your tax situation in an electronical way – which is only possible by using a proprietary (and therefore insecure) operating system. And inside the tax administration all your sensitive files reside on proprietary servers, are opened on insecure systems, and with zero transparency.&lt;/p&gt;&#xA;&lt;p&gt;Or another example: You are oblidged by your internet provider to use their router and &lt;a href=&#34;https://fsfe.org/activities/routers/routers.html&#34;&gt;you’re not allowed to replace&lt;/a&gt; it by an alternative device. Even your country’s net agency or economical ministry allows it, which is the current state in many European countries. You may use Tor or VPN but you still don’t know if they track metadata like your connection times and volume, MAC addresses, number of connected devices, preferred anonymisation techniques, or phone call destinations. Or they just throttle all communication which they cannot read or which is directed to services like Tor.&lt;/p&gt;&#xA;&lt;p&gt;In these cases &lt;strong&gt;software privacy is of little use&lt;/strong&gt;. It’s about regulations, it’s about changing the toughts of political actors, it’s about dirty politics and dust-dry laws – and it’s about freedom. About our freedom of choice, not only which software we want to use, but also the ways we want to communicate, which devices and file format we want to choose, and the things we want to say publicly and not only encrypted in the dark. Privacy is necessary for situations in which we cannot speak or act freely, but freedom is the only way how to improve the world we’re living in so that we won’t have to fight for the right of privacy anymore. And freedom in all ways is what the FSFE stands for, not only by improving software but by informing the public and politicians, and by putting political pressure on decision makers. Because freedom is the foundation for a society in which someday privacy can be the most normal thing.&lt;/p&gt;&#xA;&lt;p&gt;This, dear friend, is the reason why I volunteer for the FSFE – and therefore also for privacy.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;¹ Means software which you are allowed to use for every purpose, which everybody can inspect, modify and redistribute&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>I love Taskwarrior, therefore I love Free Software</title>
      <link>https://mehl.mx/blog/2015/i-love-taskwarrior-therefore-i-love-free-software/</link>
      <pubDate>Sat, 14 Feb 2015 12:05:42 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/i-love-taskwarrior-therefore-i-love-free-software/</guid>
      <description>&lt;p&gt;“&lt;em&gt;It’s Valentine’s day and you’re writing a blog post? Are you nuts?&lt;/em&gt;” you might ask. Well, but it’s not only Valentine’s day but also &lt;a href=&#34;http://ilovefs.org&#34;&gt;I love Free Software&lt;/a&gt; day. This day is proclaimed every year on February 14 by the Free Software Foundation Europe to thank all developers and contributors of Free Software (software you can use for any purpose, which source code you or others can analyze, which can be modified and distributed).&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;“&lt;em&gt;It’s Valentine’s day and you’re writing a blog post? Are you nuts?&lt;/em&gt;” you might ask. Well, but it’s not only Valentine’s day but also &lt;a href=&#34;http://ilovefs.org&#34;&gt;I love Free Software&lt;/a&gt; day. This day is proclaimed every year on February 14 by the Free Software Foundation Europe to thank all developers and contributors of Free Software (software you can use for any purpose, which source code you or others can analyze, which can be modified and distributed).&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;sm pull-right&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-heart-px.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-heart-px.png&#34;  /&gt;&#xA;          &lt;p&gt;&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;As &lt;a href=&#34;http://blog.mehl.mx/2014/i-love-znc-because-ilovefs/&#34; title=&#34;I love ZNC because #ilovefs&#34;&gt;last year with ZNC&lt;/a&gt;, I want to say thank you to a specific project which easies my daily life. As you might know by other blog posts here, organisation of tasks, mails and almost everything else is a very important issue for me. So this year I want to write some lines about &lt;a href=&#34;http://taskwarrior.org/&#34;&gt;Taskwarrior&lt;/a&gt;, taskd and &lt;a href=&#34;http://mirakel.azapps.de/index.html&#34;&gt;Mirakel&lt;/a&gt; which enable me to take some free time without thinking of task which I could possibly forget to accomplish later on.&lt;/p&gt;&#xA;&lt;p&gt;My head is full of ideas and mental To-Do lists and so I’m in need of a handy tool which allows me to write down and organise items at any place and time: At my desk, in bus or train, when I’m offline or abroad. And its important that I don’t have (analog and digital) bits of paper everywhere, so I need a &lt;strong&gt;system that syncs all task inputs and outputs&lt;/strong&gt;. I tried a lot of tools but Taskwarrior was the best so far. It used the well-known „Getting Things Done“ concept with different priorities. Taskwarrior also supports tagging tasks, organising them in projects, due dates, postponing, making tasks dependend on others and much more. And Taskwarrior has a (modifiable) &lt;strong&gt;algorhythm that sorts your tasks by urgency levels&lt;/strong&gt;, so that the most important tasks always are on the top of the list. Even now I just took a glance at what Taskwarrior is able to do!&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;md&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-taskwarrior-gallery.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Someone who loves Taskwarrior as much as I do&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-taskwarrior-gallery.jpg&#34;  /&gt;&#xA;          &lt;p&gt;Someone who loves Taskwarrior as much as I do&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;“&lt;em&gt;Services and programs that organise tasks aren’t very special!&lt;/em&gt;” one might think. But if you prefer sorting tasks digitally, you cannot simply chose a random todo-organising service provider. &lt;strong&gt;Most of the tools and services on the market aren’t free and transparent&lt;/strong&gt;. All input may no longer belong to you, all the gathered information (which is a lot if you think of it!) could be used for targeted ads or worse. You cannot modify the algorhythm to suit your needs. And what happens if the service provider goes bankrupt? All data, all project history and all pending tasks would be lost at once. So using a free (as in freedom), decentralised, maybe self-hosted service is the best idea to organise your tasks decentrally.&lt;/p&gt;&#xA;&lt;p&gt;But one thing at a time, let’s start from the very basic. You can install Taskwarrior and almost any operating system. After the installation, taskwarrior isn’t much more than a black window with white letters in it. And even when you’re a pro-user, you won’t find much more than white or colourful text on black background – and this is a good thing! I’ve seen no graphical user interface which can handle Taskwarrior’s complexity and the users‘ needs sufficiently (but &lt;a href=&#34;http://taskwarrior.org/tools/&#34;&gt;there are some&lt;/a&gt;, feel free to test them!). Nevertheless, &lt;strong&gt;it’s quite easy to use Taskwarrior&lt;/strong&gt; from your terminal:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task add &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;This is my first task&amp;#34;&lt;/span&gt;          &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Add your first item&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task long                                 &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Show all pending tasks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task add &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Second VIP task!&amp;#34;&lt;/span&gt; pri:H         &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Add a task with priority&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task add &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Third task with tag&amp;#34;&lt;/span&gt; +test      &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Add a task with a tag&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task add &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Fourth projected task&amp;#34;&lt;/span&gt; pro:Blog &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Add a task with a project&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task long                                 &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Show all pending tasks&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;task &lt;span style=&#34;color:#666&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;done&lt;/span&gt;                               &lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Mark first task as done (ID = 1)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There are many useful and well understandable guides in the &lt;a href=&#34;http://taskwarrior.org/docs/&#34;&gt;project’s documentation&lt;/a&gt;. Most likely you do not need every command but maybe it’s useful to read something about techniques which might help you to organise your tasks your way.&lt;/p&gt;&#xA;&#xA;&lt;figure class=&#34;lg&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig3&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-taskwarrior2.gif&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Some useful commands of Taskwarrior using some fish shell features&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig3&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-taskwarrior2.gif&#34;  /&gt;&#xA;          &lt;p&gt;Some useful commands of Taskwarrior using some fish shell features&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;But Taskwarrior is only for your local computer. What’s if you want to use it when sitting in the bus and don’t want to forget a ToDo item you want to write down at the very moment? Then there’s a &lt;strong&gt;handy application for Android called&lt;/strong&gt; &lt;a href=&#34;http://mirakel.azapps.de/&#34;&gt;Mirakel&lt;/a&gt;. Even the app itself is powerful, but it’s full potential is unleashed when combining it with Taskwarrior. For this, &lt;strong&gt;we need a central instance&lt;/strong&gt; which synchronises the tasks you add or edit on your devices. The Taskwarrior project developed taskd for it which you can easily setup on a server. You can also use Mirakel’s own public taskd server (at least in the past) if you don’t own a server or don’t want to maintain this service.&lt;/p&gt;&#xA;&lt;p&gt;So if you connect both Taskwarrior and Mirakel to the new taskd server, you can easily share all tasks among them. When marking a task done on your smartphone, it’s marked as done on your home computer some seconds or minutes later if you want to. Security is an important part of taskwarrior as well, so transport encryption is on by default. And if you want, you can also try a &lt;a href=&#34;http://taskwarrior.org/tools/&#34;&gt;web interface&lt;/a&gt; or other handy tools and extensions for your server and client which I haven’t tested yet.&lt;/p&gt;&#xA;&lt;p&gt;Hopefully you now know a bit more about Taskwarrior and Mirakel and the great tools they designed. Of course I do not only want to recommend some software but also use this opportunity to say a big &lt;strong&gt;THANK YOU&lt;/strong&gt; to all the people behind these projects! Thank your for developing the software and making it compatible to each other. Thanks to the various contributors which are writing the important documentation, adding new languages, writing tools and bridges for other usage scenarios and thank you for reacting to bug reports. People like you make Free Software possible!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Yourls URL Shortener for Turpial</title>
      <link>https://mehl.mx/blog/2015/yourls-url-shortener-for-turpial/</link>
      <pubDate>Sat, 24 Jan 2015 01:58:32 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/yourls-url-shortener-for-turpial/</guid>
      <description>&lt;p&gt;Maybe you know &lt;a href=&#34;http://yourls.org/&#34;&gt;Yourls&lt;/a&gt;, a pretty cool URL shortener which you can set up on your own server very easily. Link shorteners are nice to have because&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;you can share long links with short urls and&lt;/li&gt;&#xA;&lt;li&gt;you can view and organise all links you ever shared (incl. statistics and so on).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;There are many alternatives like bit.ly, ur1.ca and so on, but Yourls belongs to YOU and you don’t have to pay attention to ToS changes or the provider’s financial status. AND you can use whichever domain you own, for example in my case it’s &lt;em&gt;s.mehl.mx/blabla&lt;/em&gt;.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Maybe you know &lt;a href=&#34;http://yourls.org/&#34;&gt;Yourls&lt;/a&gt;, a pretty cool URL shortener which you can set up on your own server very easily. Link shorteners are nice to have because&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;you can share long links with short urls and&lt;/li&gt;&#xA;&lt;li&gt;you can view and organise all links you ever shared (incl. statistics and so on).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;There are many alternatives like bit.ly, ur1.ca and so on, but Yourls belongs to YOU and you don’t have to pay attention to ToS changes or the provider’s financial status. AND you can use whichever domain you own, for example in my case it’s &lt;em&gt;s.mehl.mx/blabla&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;And maybe you also know &lt;a href=&#34;http://turpial.org.ve/&#34;&gt;Turpial&lt;/a&gt;, a Twitter client for GNU/Linux systems (I don’t like Twitter’s web page). Until lately I used Choqok, a KDE optimised client, but there were many things which annoyed me: No image previews, slow development, unconvenient reply behaviour and so on. And hey, why not trying something new? So I started to use Turpial which seems to solve all these critic points. Well, like always I missed some preferences to configure. But since it’s &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;Free Software&lt;/a&gt;, one is able to look how the software works and to change it – and to share the improvements which I’ll do in the next step!&lt;/p&gt;&#xA;&lt;p&gt;Turpial already offers some link shorteners but not Yourls. But we can add it manually. To do so, open the file &lt;code&gt;/usr/lib/python2.7/dist-packages/libturpial/lib/services/url/shortypython/shorty.py&lt;/code&gt; as root. Now add the following somewhere between the already existing shorteners&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-py&#34; data-lang=&#34;py&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Yourls&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;Yourls&lt;/span&gt;(Service):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#00a000&#34;&gt;shrink&lt;/span&gt;(&lt;span style=&#34;color:#a2f&#34;&gt;self&lt;/span&gt;, bigurl):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;resp &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; request(&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;http://YOUR_DOMAIN/yourls-api.php&amp;#39;&lt;/span&gt;, {&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;action&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;shorturl&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;format&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;xml&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;url&amp;#39;&lt;/span&gt;: bigurl, &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;signature&amp;#39;&lt;/span&gt;: &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;YOUR_SIGNATURE&amp;#39;&lt;/span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;returned_data &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; resp&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;read()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;matched_re &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; re&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;search(&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;(http://YOUR_DOMAIN/[^&amp;#34;]+)&amp;#39;&lt;/span&gt;, returned_data)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;if&lt;/span&gt; matched_re:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;return&lt;/span&gt; matched_re&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;group(&lt;span style=&#34;color:#666&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;else&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;raise&lt;/span&gt; ShortyError(&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;Failed to shrink url&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yourls &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; Yourls()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Just replace &lt;code&gt;YOUR_DOMAIN&lt;/code&gt; and &lt;code&gt;YOUR_SIGNATURE&lt;/code&gt; accordingly. The usage of a signature enables you to hide your username and password when sending the shorten requests, like an API key and looks like &lt;code&gt;f51qw35w6&lt;/code&gt; (&lt;a href=&#34;https://github.com/YOURLS/YOURLS/wiki/PasswordlessAPI&#34;&gt;more about passwordlessAPI&lt;/a&gt;). You can retrieve your signature on your Yourls‘ Admin page via &lt;em&gt;Tools&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Then add the new service to the list of shorteners. In the same file search for &lt;code&gt;services = {&lt;/code&gt; (on the bottom) and add somewhere in the following list:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-py&#34; data-lang=&#34;py&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;yourls-instance&amp;#39;&lt;/span&gt;: yourls,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Well, then just restart Turpial, go to Preferences &amp;gt; Services and choose &lt;em&gt;yourls-instance&lt;/em&gt; from the list of Short URL services. Congrats, you should be able to short your URLs with Yourls in Turpial now :)&lt;/p&gt;&#xA;&lt;p&gt;Any problems or improvements? Drop me a message!&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For me, only hardcoding the signature worked but not the prompt for these data like in some other services stated in the file&lt;/li&gt;&#xA;&lt;li&gt;Another file worth your attention might be &lt;code&gt;/usr/lib/python2.7/dist-packages/turpial/ui/qt/templates/style.css&lt;/code&gt;. There you can change colors, fonts and so on. For example, the &lt;em&gt;Ubuntu&lt;/em&gt; font wasn’t installed on my system so I just chose Sans Serif instead.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Next station: Tanzania</title>
      <link>https://mehl.mx/blog/2015/next-station-tanzania/</link>
      <pubDate>Sun, 04 Jan 2015 17:03:47 +0000</pubDate>
      <guid>https://mehl.mx/blog/2015/next-station-tanzania/</guid>
      <description>&lt;p&gt;As some of your already may know, I’m going to Tanzania for six months starting in March this year. In the city Moshi I’ll work as a volunteer computer teacher in a local institute for computer education.&lt;/p&gt;&#xA;&lt;p&gt;In the upcoming weeks and months you can hopefully see some updates and pictures on this blog. Until then I’d like to answer some frequently asked questions:&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;As some of your already may know, I’m going to Tanzania for six months starting in March this year. In the city Moshi I’ll work as a volunteer computer teacher in a local institute for computer education.&lt;/p&gt;&#xA;&lt;p&gt;In the upcoming weeks and months you can hopefully see some updates and pictures on this blog. Until then I’d like to answer some frequently asked questions:&lt;/p&gt;&#xA;&lt;h2 id=&#34;where-the-heck-is-tanzania-or-moshi&#34;&gt;Where the heck is Tanzania or Moshi?&lt;/h2&gt;&#xA;&lt;p&gt;Tanzania is on Africa’s east coast, Kenya on its north coast border, Mozambique on its south. Some important localities in Tanzania are Lake Victoria, the Kilimanjaro or Zanzibar island.&lt;/p&gt;&#xA;&lt;p&gt;The capital is Dodoma, whereas the largest and most important city is Dar es Salaam. Moshi, where I will reside, is one of the largest cities with around 140.000 inhabitants. It’s right beneath the Kilimanjaro.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tanzania-map.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt; Tanzania Map by TUBS (CC BY-SA 3.0)&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tanzania-map.png&#34;  /&gt;&#xA;          &lt;p&gt; Tanzania Map by TUBS (CC BY-SA 3.0)&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;what-exactly-are-you-doing-there&#34;&gt;What exactly are you doing there?&lt;/h2&gt;&#xA;&lt;p&gt;I’ll work as a computer and english teacher in Moshi Institute for Technology (MIT). They offer various courses for children and adults to spread IT knowledge in the urban and rural area around the city. I’m quite free to choose which courses I offer, for example I planned computer maintenance, website creation, office software or general usage of operating systems.&lt;/p&gt;&#xA;&lt;p&gt;Since I endorse Free Software, I’d like to use it as much as possible. Reusing old hardware and working in a quite poor environment makes Free Software the only reasonable choice.&lt;/p&gt;&#xA;&lt;h2 id=&#34;do-they-even-have-technology-there&#34;&gt;Do they even have technology there?&lt;/h2&gt;&#xA;&lt;p&gt;Yes, they have. Mobile phones are quite widespread and the institute I work at has broadband internet connections. Okay, they have really old donated machines based on Pentium I up to Pentium III processors and I doubt that I can work with beamers.&lt;/p&gt;&#xA;&lt;p&gt;Aside from the lack of modern IT stuff it’s also hard to find modern cars or household equipment. Most of the houses even don’t have a unique post address or landline connection. Electricity is far away from being stable and let alone health care or hygiene.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-are-you-doing-this&#34;&gt;Why are you doing this?&lt;/h2&gt;&#xA;&lt;p&gt;There are many reasons but the most important one is to experience something really new. Call it break-out, call it adventure, I’m really keen on learning from a for me still unknown culture.&lt;/p&gt;&#xA;&lt;p&gt;Another reason is to exchange knowledge and know-how. In our western culture we can have everything we need. In Tanzania that’s not the case so I would have to improvise a lot for my teaching. The other way round I hopefully have enough IT know-how to teach something useful to the courses‘ attendants.&lt;/p&gt;&#xA;&lt;h2 id=&#34;arent-you-afraid-of-ebola&#34;&gt;Aren’t you afraid of Ebola?&lt;/h2&gt;&#xA;&lt;p&gt;Yes, I’m afraid that even more people will die from this disease. But to be clear: The Ebola affected region is as far away from Tanzania as southern Europe. Many inner-African airline routes have been cancelled to avoid Ebola’s spread inside Africa. It’s up to you to judge this policy of isolation but right now it’s quite safe in Tanzania.&lt;/p&gt;&#xA;&lt;p&gt;Any further questions? Do not hesitate &lt;a href=&#34;https://mehl.mx/contact/&#34;&gt;to ask me&lt;/a&gt;!&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Sharing is caring – my Git instance</title>
      <link>https://mehl.mx/blog/2014/sharing-is-caring-my-git-instance/</link>
      <pubDate>Fri, 28 Nov 2014 17:16:50 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/sharing-is-caring-my-git-instance/</guid>
      <description>&lt;p&gt;Some days ago I noticed another time that I have far too little knowledge about Git.&lt;/p&gt;&#xA;&lt;p&gt;„Time to change that!“, I thought and set up &lt;a href=&#34;https://src.mehl.mx&#34;&gt;my own Git instance&lt;/a&gt; and also installed gitweb for better usability.&lt;/p&gt;&#xA;&lt;p&gt;Upside 1: I can keep track of the many (mainly bash) scripts I wrote in the past and all the changes I will adopt in the future.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Some days ago I noticed another time that I have far too little knowledge about Git.&lt;/p&gt;&#xA;&lt;p&gt;„Time to change that!“, I thought and set up &lt;a href=&#34;https://src.mehl.mx&#34;&gt;my own Git instance&lt;/a&gt; and also installed gitweb for better usability.&lt;/p&gt;&#xA;&lt;p&gt;Upside 1: I can keep track of the many (mainly bash) scripts I wrote in the past and all the changes I will adopt in the future.&lt;/p&gt;&#xA;&lt;p&gt;Upside 2: You can hopefully benefit from using and reading my code. All code is licensed under GNU GPL v3 so please feel free to use, study, share and improve my work!&lt;/p&gt;&#xA;&lt;p&gt;Some noteworthy projects I’m (a bit) proud of:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://src.mehl.mx/mxmehl/uni-surprising-newsfocus&#34;&gt;A seminar project with R to analyse over 300.000 SPON news articles whether and which country names appear&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://src.mehl.mx/mxmehl/mixcloud-dl&#34;&gt;Fast download of mixcloud sets without throttle&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://src.mehl.mx/mxmehl/pdf-clearmeta&#34;&gt;Easy to use script to delete all meta data from PDF files in a directory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;And many more (and even more to come)! Have a look at &lt;a href=&#34;https://src.mehl.mx/&#34;&gt;src.mehl.mx&lt;/a&gt; for the whole list&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Any questions, ideas or improvements? Please contact me!&lt;/p&gt;&#xA;&lt;h3 id=&#34;update-26022016&#34;&gt;Update 26.02.2016&lt;/h3&gt;&#xA;&lt;p&gt;I washed away the quite basic gitweb instance and moved to Gogs. Here’s &lt;a href=&#34;https://blog.mehl.mx/2016/switching-my-code-from-gitweb-to-gogs/&#34;&gt;why and how&lt;/a&gt;. Links to the project may have changed because of that (and I’m too lazy to change them here).&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Freie Kommunikation ist die Essenz des Menschseins</title>
      <link>https://mehl.mx/blog/2014/freie-kommunikation-ist-die-essenz-des-menschseins/</link>
      <pubDate>Mon, 10 Nov 2014 13:15:19 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/freie-kommunikation-ist-die-essenz-des-menschseins/</guid>
      <description>&lt;p&gt;&lt;em&gt;Im Folgenden werde ich – durch meinen Gemütszustand etwas angefeuert – darlegen, wieso digitale Kommunikationsüberwachung Gift für unsere Gesellschaft ist, weil sie nichts anderes als Millionen Abhörwanzen und Kameras in unseren privatesten Räumen ist.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Seit einigen Monaten hat sich ein Grundkonflikt in den politischen Debatten verstärkt: Welche Kommunikation sollte überwacht werden dürfen und welche nicht? Ausschließlich inländische Kommunikation? Geschäftliche E-Mails? Telefongespräche über 20 Sekunden Dauer?&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;Im Folgenden werde ich – durch meinen Gemütszustand etwas angefeuert – darlegen, wieso digitale Kommunikationsüberwachung Gift für unsere Gesellschaft ist, weil sie nichts anderes als Millionen Abhörwanzen und Kameras in unseren privatesten Räumen ist.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Seit einigen Monaten hat sich ein Grundkonflikt in den politischen Debatten verstärkt: Welche Kommunikation sollte überwacht werden dürfen und welche nicht? Ausschließlich inländische Kommunikation? Geschäftliche E-Mails? Telefongespräche über 20 Sekunden Dauer?&lt;/p&gt;&#xA;&lt;p&gt;Und parallel dazu bekomme ich seit mehreren Monaten regelmäßig Wutanfälle, nämlich wenn ich Kommentare von „Experten“ und Laien lese, die solche künstliche Trennungen von Kommunikation und deren unterschiedliche Bewertung immer noch ernsthaft in Erwägung ziehen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wieso-ist-kommunikation--kommunikation&#34;&gt;Wieso ist Kommunikation = Kommunikation?&lt;/h2&gt;&#xA;&lt;p&gt;Weil Kommunikation – in welcher Form auch immer – schützenswert ist und privat bleiben muss, weil wir uns sonst als Gesellschaft aufgeben. Es ist witzlos, gesetzlich eine künstliche Trennung zwischen Kommunikationsarten ziehen zu wollen. Nur die Ewiggestrigen können ernsthaft vorhaben, analoge und digitale Unterhaltung, Schriftwechsel und Meinungsaustausch zu trennen und deren Inhalt unterschiedlich zu behandeln.&lt;/p&gt;&#xA;&lt;p&gt;Ja, die technischen Wege der Kommunikationsformen sind unterschiedlich: Bei der einen rege ich durch Muskelbewegungen Vibrationen in der Luft an, die bei meinem Gegenüber im Ohr zu sinnvollen Informationen verarbeitet werden. Bei der anderen schicke ich (un)willkürlich Nullen und Einsen durch Netzwerke, die durch immer noch atemberaubende Technik an der anderen Seite wieder lesbar werden. Doch die Qualität ist dieselbe.&lt;/p&gt;&#xA;&lt;h2 id=&#34;stellen-wir-uns-einmal-vor&#34;&gt;Stellen wir uns einmal vor…&lt;/h2&gt;&#xA;&lt;p&gt;Nehmen wir ein realitätsnahes Beispiel: Frau und Herr Schuster.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Es ist in unser aller Selbstverständnis, dass diese beiden Personen sich private, intime oder auch komplett irrelevante Nachrichten zukommen lassen dürfen, die keinen Staat und kein Unternehmen dieser Welt etwas angehen.&lt;/li&gt;&#xA;&lt;li&gt;Dabei sollte es ebenso common sense sein, dass es auch gleich sein sollte, ob einer der beiden Ausländer ist, sich im Ausland befindet oder beide beim bei einem deutschen E-Mail-Provider sind.&lt;/li&gt;&#xA;&lt;li&gt;Es sollte auch vollkommen egal sein, ob die beiden sich die Nachrichten sprachlich, per Telefon oder digital zukommen lassen.&lt;/li&gt;&#xA;&lt;li&gt;Ein weiterer logischer Denkschritt ist, dass sich dieses Recht auf private, unüberwachte und sichere Kommunikation nicht nur auf Eheleute, sondern auf jede natürliche Person beziehen muss, egal in welchem Verhältnis sie zueinander stehen.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Momentan ist in den meisten von uns der Gedanke verankert, dass das, was wir einer Person persönlich analog sagen, privat ist. Wir kommen nicht auf die Idee, dass sich zwischen dem einen und den anderen Ohr eine Abhörwanze befindet. Doch die Grenzen zwischen analoger und digitaler Kommunikation verschwimmen allmählich. Wenn ich heutzutage meine jugendlichen Gruppenkinder beobachte, wie sie ihre ersten Beziehungen pflegen, so wird klar, dass sie private und intime Informationen analog und digital gleich behandeln. WhatsApp und ähnliche Dienste ersetzen nicht persönliche Unterhaltungen, sondern nehmen einfach denselben Stellenrang ein. Deshalb schicken sie sich auch digital intime Bilder: Was für uns ältere Generationen nur im sprichwörtlichen Schlafzimmer möglich war, passiert nun in einem vermeintlich privaten digitalen Raum. Für die Jüngeren ergibt eine analoge Trennung in einem digitalen Raum keinen Sinn. Kommentare wie der unseres neuen EU-Digitalkommissars &lt;a href=&#34;http://www.spiegel.de/netzwelt/netzpolitik/guenther-oettingers-entlarvender-nacktbilder-kommentar-a-994547.html&#34;&gt;Oettinger über die Dummheit dieser Generation&lt;/a&gt; sind daher weitab der Realität.&lt;/p&gt;&#xA;&lt;h2 id=&#34;wanzen-und-kameras-verändern-uns&#34;&gt;Wanzen und Kameras verändern uns&lt;/h2&gt;&#xA;&lt;p&gt;Doch was meinen Gruppenkindern (zum Glück?) noch fehlt, ist der Sinn dafür, sein Verhalten zu verändern, wenn man sich überwacht fühlt. Wieder nehmen wir unser Beispiel der Familie Schuster. Würde der Mann der Frau noch schöne Worte ins Ohr flüstern, wenn er wüsste, dass seine Kommunikation möglicherweise von einem Geheimdienstler, Unternehmen oder einer Polizistin abgehört werden könnte? Ich glaube nicht.&lt;/p&gt;&#xA;&lt;p&gt;Genauso wenig würde sie wahrscheinlich ihre möglicherweise sehr linke politische Denkweise in einem privaten Gespräch offenbaren. Wer weiß schon, welche politischen Kräfte in zehn oder zwanzig Jahren wirken und ob diese nicht auf Überwachungsmaterial von früher zugreifen, um die Bevölkerung „einschätzen“ zu können?&lt;/p&gt;&#xA;&lt;p&gt;Kurzum: Menschen ändern ihr Verhalten drastisch, wenn sie sich belauscht und beobachten fühlen. Und bei einem weiteren Blick in die Zukunft wird dieses Dilemma noch stärker: Heute schreiben wir zwar E-Mails und Kurznachrichten und die Trennung zwischen analoger und digitaler Kommunikation ist noch einigermaßen verständlich. Doch wie sieht das in zehn oder zwanzig Jahren aus? Möglicherweise können wir uns da schon Gedanken schicken, E-Mails könnten intuitiv verfasst und dann beim Empfänger direkt hörbar abgespielt werden. Durch Virtual Reality-Technik könnte man auch bei räumlicher Trennung beieinander sein, über digitale Kanäle vernetzt.&lt;/p&gt;&#xA;&lt;p&gt;Und jetzt stellen wir uns mal vor, jegliche digitale Kommunikation könnte auch in Zukunft – so wie heute schon selbstverständlich – überwacht, angezapft, gespeichert und ausgewertet werden. Und meine Gruppenkinder würden dann anfangen zu verstehen, dass sie bei jeglichem Kontakt, der nicht komplett analog und geheim stattfindet, überwacht werden würden. Wären die kommenden Generationen noch freie Menschen oder schlicht Gefangene in gläsernen Zellen, umzingelt von Wanzen und Kameras?&lt;/p&gt;&#xA;&lt;p&gt;Als Jugendlicher hatte ich unglaubliche Vorfreude auf eine digitale Zukunft mit tausenden neuen Möglichkeiten. Heute habe ich Angst davor, was für eine Macht dort staatlichen und privaten Interessen zugeschanzt werden könnte und wie ich meine Verhaltensweisen dementsprechend anpassen muss, um mich nicht selbst zu stark verändern zu müssen.&lt;/p&gt;&#xA;&lt;p&gt;Übertreibe ich nur oder geht es anderen auch so?&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>My internship at FSFE</title>
      <link>https://mehl.mx/blog/2014/my-internship-at-fsfe/</link>
      <pubDate>Fri, 24 Oct 2014 10:39:54 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/my-internship-at-fsfe/</guid>
      <description>&lt;p&gt;I recently saw that the Free Software Foundation Europe is offering &lt;a href=&#34;https://fsfe.org/news/2014/news-20141017-01.html&#34;&gt;a new and very interesting internship position&lt;/a&gt;. That’s a great opportunity for every student interested in Free Software and political activism — and for me to write about my internship I completed from October 2013 until end of March 2014. Here’s a report I wrote some time ago:&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;I recently saw that the Free Software Foundation Europe is offering &lt;a href=&#34;https://fsfe.org/news/2014/news-20141017-01.html&#34;&gt;a new and very interesting internship position&lt;/a&gt;. That’s a great opportunity for every student interested in Free Software and political activism — and for me to write about my internship I completed from October 2013 until end of March 2014. Here’s a report I wrote some time ago:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Starting from October 2013 I was able to work 6 months as an intern for the Free Software Foundation Europe in Berlin. This was an internship required by my bachelor degree course at the University of Konstanz (Germany) where I study Politics and Public Administration. Some years before my internship I already was an FSFE Fellow and then decided to apply there.&lt;/p&gt;&#xA;&lt;p&gt;My daily tasks contained monitoring and moderation of the various mailing lists and social network accounts. There were also various technical jobs to do: Updating and creating single websites, sending out newsletters, fixing smaller bugs on our pages and so on.&lt;/p&gt;&#xA;&lt;p&gt;The bigger part in my internship was political work. In Germany, various ISPs want to hinder end consumers to freely choose a router because they only want officially supported ones. Such policy comes with serious consequences for security, free competition, trust in technology, and compatibility. My tasks contained analysing regulation drafts, writing statements for public hearings and coordination with other activists. We summarized the issue and our work on &lt;a href=&#34;https://fsfe.org/activities/routers&#34;&gt;https://fsfe.org/activities/routers&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;After the parliamentary elections in Germany 2013 I analysed the Grand Coalition’s agreement to identify possible positive and negative effects on Free Software. I also was able to visit several politicians in the German Bundestag to talk with them about Free Software and upcoming important tasks we wanted to work on.&lt;/p&gt;&#xA;&lt;p&gt;Besides I helped a lot organising our various campaigns like „Document Freedom Day“ and „I love Free Software“. For many of these political tasks and campaigns I wrote press releases and public statements.&lt;/p&gt;&#xA;&lt;p&gt;During my internship I learned a lot about the structure and work in a multinational organisation and how to collaborate and talk with different people around the world. Another plus is the know-how I aquired by helping planning the various campaigns and analyses. When I was in Brussels and Chemnitz to help at FSFE’s booths during conferences I also learned very much about how to talk with people of all kinds and how to carry ideas and convictions to others.&lt;/p&gt;&#xA;&lt;p&gt;I will never regret applying for and completing the internship at FSFE. There were so many theoretical and practical things no study course can teach. Being able to work at the interface between communities, companies and politics is something every interested student should be granted.&lt;/p&gt;&#xA;&lt;p&gt;I want to thank everybody who enabled the FSFE to offer these internships. Organisations like the Free Software Foundation Europe are important to bring equality and freedom to our society and these internships allow students to get an insight into this very interesting area of activity.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This internship was a very general one so I was able to work in many different areas of FSFE’s activity. The offered internship is mostly about Document Freedom Day, FSFE’s largest campaign in which I also invested a lot of time. I’m quite sure that this position is also very interesting — and very important as well! So if you want to take responsibility and want to learn much about collaboration, worldwide activism and public relations, go ahead and apply for this internship!&lt;/p&gt;&#xA;&lt;p&gt;If you are interested in this internship but you have some questions left, please feel free to &lt;a href=&#34;https://mehl.mx/contact/&#34;&gt;ask me anything&lt;/a&gt;.&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Setting Openstreetmap as default in Thunderbird’s contacts</title>
      <link>https://mehl.mx/blog/2014/setting-openstreetmap-as-default-in-thunderbirds-contacts/</link>
      <pubDate>Sun, 28 Sep 2014 10:40:42 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/setting-openstreetmap-as-default-in-thunderbirds-contacts/</guid>
      <description>&lt;p&gt;If you use Thunderbird and its contact functionality, you might already have stumbled over the „show on map“ feature. If you add addresses to your contacts (no matter if directly in Thunderbird or via CalDAV) there appears a button which enabled you to open a map with the contact’s location.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;If you use Thunderbird and its contact functionality, you might already have stumbled over the „show on map“ feature. If you add addresses to your contacts (no matter if directly in Thunderbird or via CalDAV) there appears a button which enabled you to open a map with the contact’s location.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/tb-map-contact.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/tb-map-contact.png&#34;  /&gt;&#xA;          &lt;p&gt;&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;The default search provider is Google Maps. If you don’t like this service and prefer free and open systems like me, you can also add &lt;a href=&#34;http://openstreetmap.org&#34;&gt;openstreetmap.org&lt;/a&gt; as your default map service. You only have to change a value in the advanced configuration.&lt;/p&gt;&#xA;&lt;p&gt;Open the &lt;em&gt;Settings&lt;/em&gt; menu, select the &lt;em&gt;Advanced&lt;/em&gt; panel, select the &lt;em&gt;General&lt;/em&gt; tab, and click &lt;em&gt;Config Editor&lt;/em&gt;. Now copy in the search field: &lt;code&gt;mail.addr_book.mapit_url.format&lt;/code&gt; and double click on the string to edit it.&lt;/p&gt;&#xA;&lt;p&gt;You should now see the default value. It’s nothing more than an URL with variables defined by the street, the country or the postal code of the respective contact. If you want to use Openstreetmap, fill in this value:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;https://www.openstreetmap.org/search?query=@A1+@A2+@CI+@ST+@ZI+@CO&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Restart Thunderbird and test again with an existing contact. By clicking on the button you should now see OSM instead of Google Maps where you can select one of the results in the left sidebar. Congratulations!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Further reading:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For more information about Thunderbird’s config editor, see the official &lt;a href=&#34;https://support.mozilla.org/en-US/kb/config-editor&#34;&gt;knowledgebase entry&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;If you want to set other variables in the map query, there’re some hints on &lt;a href=&#34;http://web.archive.org/web/20140904073922/https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Hidden_prefs&#34;&gt;Mozilla’s Hidden prefs guide&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;</content:encoded>
    </item>
    <item>
      <title>Birthday Calendar with ownCloud via CalDAV</title>
      <link>https://mehl.mx/blog/2014/birthday-calendar-with-owncloud-via-caldav/</link>
      <pubDate>Wed, 17 Sep 2014 22:56:46 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/birthday-calendar-with-owncloud-via-caldav/</guid>
      <description>&lt;p&gt;Not a big issue in this blog post but an important one. Maybe I can save you some valuable time if you ever look for such a function.&lt;/p&gt;&#xA;&lt;p&gt;As you know I’m a heavy user of &lt;a href=&#34;http://owncloud.org&#34;&gt;ownCloud&lt;/a&gt; and you also might know that synchronisation is a big topic for me. And the third thing you should know that forgetting a good friend’s birthday really su&amp;hellip; well, it’s no good style. This almost happened to me some days ago because I couldn’t check it on my Notebook with Thunderbird. My setup looks like this: All contacts (with birthday tags) in ownCloud, and these CardDAV address books are synced with my Android phone and Thunderbird/&lt;a href=&#34;http://web.archive.org/web/20160123232734/http://www.sogo.nu:80/downloads/frontends.html&#34;&gt;SOGo-Connector&lt;/a&gt; on my notebook, as well as the CalDAV calendars with &lt;a href=&#34;http://web.archive.org/web/20170918023652/https://addons.mozilla.org/de/thunderbird/addon/lightning/&#34;&gt;Lightning&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Not a big issue in this blog post but an important one. Maybe I can save you some valuable time if you ever look for such a function.&lt;/p&gt;&#xA;&lt;p&gt;As you know I’m a heavy user of &lt;a href=&#34;http://owncloud.org&#34;&gt;ownCloud&lt;/a&gt; and you also might know that synchronisation is a big topic for me. And the third thing you should know that forgetting a good friend’s birthday really su&amp;hellip; well, it’s no good style. This almost happened to me some days ago because I couldn’t check it on my Notebook with Thunderbird. My setup looks like this: All contacts (with birthday tags) in ownCloud, and these CardDAV address books are synced with my Android phone and Thunderbird/&lt;a href=&#34;http://web.archive.org/web/20160123232734/http://www.sogo.nu:80/downloads/frontends.html&#34;&gt;SOGo-Connector&lt;/a&gt; on my notebook, as well as the CalDAV calendars with &lt;a href=&#34;http://web.archive.org/web/20170918023652/https://addons.mozilla.org/de/thunderbird/addon/lightning/&#34;&gt;Lightning&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;sm pull-right no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/thunderbird-lightning.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;For Android there are &lt;a href=&#34;https://f-droid.org/repository/browse/?fdfilter=birthday&amp;amp;fdid=org.birthdayadapter&#34;&gt;several free software apps&lt;/a&gt; which enable the inclusion of birthdays from your contacts into any calendar app. Some calendar apps even can do it theirselves. But for Thunderbird there are only some outdated add-ons. All of them don’t work with TB31 anymore and if you modify the &lt;code&gt;install.rdf&lt;/code&gt;-file to make them run anyhow, they’re very buggy or just nonfunctional. And if you look in your ownCloud instance (where contacts‘ birthdays are visible in the calendar tab) for a downloadable/syncable calendar you’ll reach the same conclusion like me: There is none.&lt;/p&gt;&#xA;&lt;p&gt;But there is!&lt;/p&gt;&#xA;&lt;p&gt;And I only detected it while digging in some github issue threads. &lt;a href=&#34;https://github.com/owncloud/contacts/issues/67#issuecomment-30401668&#34;&gt;This post&lt;/a&gt; contains the rescuing link to a CalDAV/ICS calendar in any ownCloud version (I tested it in 7.0.2). Just modify and use following address in any application which supports CalDAV sync:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;http(s)://YOUR-OC-URL/remote.php/caldav/calendars/YOUR-USER/contact_birthdays&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;And you know what? It works like a charm! No need for external add-ons or apps, no need for manual creation of birthday reminders, no need for apologising for (almost) missed birthdays. I just wonder why ownCloud hasn’t included this in either the webpanel or the documentation. It’s a well-working feature since at least one year, so why not including it officially? And if it’s a calendar technically, then it should also be possible to disable displaying the contacts‘ birthdays in the webpanel calendar app – a still non-existent „feature“.&lt;/p&gt;&#xA;&lt;p&gt;So next time you have no excuse for forgetting a birthday – except for your ownCloud server&amp;rsquo;s outage ;)&lt;/p&gt;</content:encoded>
    </item>
    <item>
      <title>Guter E-Mail-Stil</title>
      <link>https://mehl.mx/blog/2014/guter-e-mail-stil/</link>
      <pubDate>Mon, 19 May 2014 12:56:12 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/guter-e-mail-stil/</guid>
      <description>&lt;p&gt;Heutzutage ist schriftlicher Stil in E-Mails ebenso wichtig wie eine angemessene Sprechweise oder standardisierte Floskeln und Höflichkeiten in Briefen. E-Mails sind trotz Short Messaging wie per SMS, WhatsApp oder Facebook weiterhin die bedeutenste digitale Kommunikationsmöglichkeit.&lt;/p&gt;&#xA;&lt;p&gt;Das ist auch der Grund, weshalb ein guter E-Mail-Stil so enorm wichtig ist: Wir werden von E-Mails regelrecht bombardiert, auch wenn man den Spam nicht einmal mit einberechnet. Daher sollten wir uns und unseren Kommunikationspartnern die Sache erleichtern, indem wir einen guten, effizienten und dennoch freundlichen Umgang und Stil pflegen.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Heutzutage ist schriftlicher Stil in E-Mails ebenso wichtig wie eine angemessene Sprechweise oder standardisierte Floskeln und Höflichkeiten in Briefen. E-Mails sind trotz Short Messaging wie per SMS, WhatsApp oder Facebook weiterhin die bedeutenste digitale Kommunikationsmöglichkeit.&lt;/p&gt;&#xA;&lt;p&gt;Das ist auch der Grund, weshalb ein guter E-Mail-Stil so enorm wichtig ist: Wir werden von E-Mails regelrecht bombardiert, auch wenn man den Spam nicht einmal mit einberechnet. Daher sollten wir uns und unseren Kommunikationspartnern die Sache erleichtern, indem wir einen guten, effizienten und dennoch freundlichen Umgang und Stil pflegen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;der-erstkontakt&#34;&gt;Der Erstkontakt&lt;/h2&gt;&#xA;&lt;p&gt;Sollte man derjenige sein, der eine E-Mail versendet, sind bereits einige Dinge sehr wichtig:&lt;/p&gt;&#xA;&lt;h3 id=&#34;betreff&#34;&gt;Betreff&lt;/h3&gt;&#xA;&lt;p&gt;Der Betreff ist das erste, was der Empfänger erhält und auch das, an was er sich bei weiterer Kommunikation erinnert.&lt;/p&gt;&#xA;&lt;p&gt;Betreffe wie “Echt wichtig!”, “Das könnte dich interessieren”, “:-)” oder “Es geht um die Webseite &lt;code&gt;http://example.com&lt;/code&gt; zu der ich dich was fragen muss” sind entweder nicht informativ genug, zu kurz oder zu lang. Betreffe sollten das Thema präzise in nicht mehr als 5 Wörtern zusammenfassen, etwa “Fehlerhaftes Bild in Thunderbird-Artikel”.&lt;/p&gt;&#xA;&lt;h3 id=&#34;adressierung&#34;&gt;Adressierung&lt;/h3&gt;&#xA;&lt;p&gt;Das ganze E-Mail-System ist sehr einfach aufgebaut und viele Funktionen machen die Kommunikation sehr strukturiert, ganz im Vergleich zu neueren Plattformen wie Facebook. Man könnte hier sehr in die Tiefe gehen und spezielle Methoden wie CC oder BCC erwähnen, aber für diese sehr grundlegende Anleitung reicht eines: Man kann in das &lt;em&gt;An:&lt;/em&gt;-Feld mehrere Empfänger schreiben und muss seine einmal abgesendete E-Mail nicht mehrfach schreiben oder immer wieder weiterleiten. Das macht es für Empfänger gut sichtbar, an wen die Mail sonst noch so ging, und für den Sender gibt es ein Plus an Übersichtlichkeit und Transparenz, vor allem im Nachhinein.&lt;/p&gt;&#xA;&lt;h3 id=&#34;format&#34;&gt;Format&lt;/h3&gt;&#xA;&lt;p&gt;Viele E-Mail-Clients bieten an, E-Mails in HTML zu verfassen. HTML ermöglicht erweiterte Formatierungen, Fettschreiben, das Einbinden von Bildern und so weiter. Trotzdem ist es ratsam, nur Reintext (auch als Plaintext bezeichnet) zu verwenden, und zwar aus folgenden Gründen:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In den meisten Fällen wird es nicht benötigt: Man kann auch in Reintext-E-Mails problemlos formatieren: *fett*, /kursiv/ oder _unterstrichen_ ermöglichen Hervorhebungen. Listen lassen sich ganz normal per 1., a.) oder Spiegelstrichen machen.&lt;/li&gt;&#xA;&lt;li&gt;Bilder in E-Mails werden bei vielen Clients nicht angezeigt oder landen gar im Spamordner. Bilder sollten immer einfach nur angehängt werden.&lt;/li&gt;&#xA;&lt;li&gt;Leute, die sehr viel E-Mails bekommen, schätzen es sehr, dass Reintext-E-Mails weniger Festplattenplatz benötigen als HTML-E-Mails.&lt;/li&gt;&#xA;&lt;li&gt;Reintext-E-Mails sehen auf jedem Gerät gleich aus. Egal ob auf dem Smartphone oder auf einem 28-Zoll-Monitor: Diese E-Mails sind immer gut zu lesen und auch Menschen mit Behinderungen können diese durch Screenreader oder andere Hilfsmittel einwandfrei lesen.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;umbruch&#34;&gt;Umbruch&lt;/h3&gt;&#xA;&lt;p&gt;Wenn wie empfohlen Reintext verwendet wird, empfiehlt sich auch, dass man einen automatischen Umbruch aktiviert. Das bedeutet, dass nach 70-80 Zeichen automatisch eine neue Zeile begonnen wird.&lt;/p&gt;&#xA;&lt;p&gt;Dadurch wird verhindert, dass Leute mit sehr breiten Bildschirmen elends lange Zeilen haben, was den Lesefluss erschwert.&lt;/p&gt;&#xA;&lt;h3 id=&#34;stil&#34;&gt;Stil&lt;/h3&gt;&#xA;&lt;p&gt;Sollte eigentlich selbstverständlich sein, aber leider sieht man viel zu oft E-Mails mit grauenhafter Rechtschreibung, Zeichensetzung oder Formatierung. Ob man nun „Sehr geehrte Damen und Herren“ oder einfach nur „Guten Tag“ schreibt, das sollte man selbst je nach Situation entscheiden können, aber Rechtschreibung ist im privaten wie geschäftlichen Bereich immer von Wichtigkeit. Auch sollten die Grundprinzipien der Zeichensetzung tief verankert sein, etwa dass nach jedem Satzzeichen (Punkt, Komma, Semikolon, Ausrufe-/Fragezeichen) eine Leerstelle kommt. Des Weiteren empfiehlt es sich, in regelmäßigen Abständen neue Absätze zu machen, um den Text übersichtlich zu halten.&lt;/p&gt;&#xA;&lt;h2 id=&#34;antworten&#34;&gt;Antworten&lt;/h2&gt;&#xA;&lt;p&gt;Hat man eine neue E-Mail bekommen und möchte diese beantworten, gibt es auch wieder einige Dinge, die man beachten sollte, um seine Informationen möglichst leicht und übersichtlich unterzubringen und es dem entfernten Gegenüber leicht zu machen.&lt;/p&gt;&#xA;&lt;p&gt;Prinzipiell sollte man immer auf &lt;em&gt;Antworten&lt;/em&gt; in seinem Mailprogramm drücken und nicht etwa eine neue E-Mail mit neuem Betreff verfassen.&lt;/p&gt;&#xA;&lt;h3 id=&#34;betreff-1&#34;&gt;Betreff&lt;/h3&gt;&#xA;&lt;p&gt;Beim Antworten gibt es in puncto Betreff nur zwei Regeln:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Betreff nicht verändern, wenn das Thema weiterhin dasselbe ist&lt;/li&gt;&#xA;&lt;li&gt;Wenn sich das Thema ändert oder man noch etwas ganz anderes nachfragen will, sollte man dafür eine ganz neue E-Mail mit separatem Begriff verfassen. So ist nach einigen Monaten immer noch ersichtlich, dass es in einer Unterhaltung mit dem Thema „Meine neue Hose“ nicht um politische Diskussionen geht.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;zitierung&#34;&gt;Zitierung&lt;/h3&gt;&#xA;&lt;p&gt;Ganz wichtig bei längeren Unterhaltungen ist der richtige Zitierstil. Wenn wir mit Leuten reden, sind wir gewöhnt, meist immer unmittelbar auf ein Thema antworten zu können, womit dem Gegenüber klar wird, auf was wir anspielen. In E-Mails ist das meist nicht so einfach. Hier sollte man darauf achten, dass man den sogenannten Inlinequote benutzt und kein &lt;a href=&#34;https://de.wikipedia.org/wiki/TOFU&#34;&gt;TOFU&lt;/a&gt; (Text oben, Fullquote unten). Zwei aus der Wikipedia abgeleitete Beispiele, die das verdeutlichen:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Lieber Oskar,&#xA;&#xA;das stimmt doch gar&#xA;nicht. Richtig ist 4.&#xA;&#xA;Ich hätte gerne einen Bierkrug.&#xA;&#xA;Gruß&#xA;Max&#xA;&#xA;--Ursprüngliche Nachricht--&#xA;Von: Oskar&#xA;[mailto:oskar@example.net]&#xA;Gesendet: Sonntag, 24.&#xA;Dezember 2006 12:00&#xA;An: Max&#xA;Betreff: (kein Betreff)&#xA;&#xA;Lieber Max,&#xA;&#xA;eines wollte ich Dir schon&#xA;immer einmal sagen - das&#xA;habe ich mich bisher bloß&#xA;nicht getraut. Es lässt&#xA;mir aber einfach keine&#xA;Ruhe, deshalb muss es nun&#xA;heraus:&#xA;2 + 2 = 5&#xA;Wie jedermann weiß.&#xA;&#xA;Außerdem fahre ich bald nach Mallorca,&#xA;soll ich dir was mitbringen?&#xA;&#xA;Beste Grüße&#xA;Oskar&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Wenn man diese Mail nach einigen Tagen öffnet, fragt man sich zurecht, was denn nun ein Bierkrug mit einer falschen Behauptung zu tun hat. Besser ist dabei der bereits erwähnte Inlinequote (“Zitat zwischen den Zeilen”):&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Lieber Oskar,&#xA;&#xA;Oskar schrieb:&#xA;&amp;gt; 2 + 2 = 5&#xA;&#xA;das stimmt doch gar&#xA;nicht. Richtig ist 4.&#xA;&#xA;&amp;gt; Außerdem fahre ich bald nach Mallorca,&#xA;&amp;gt; soll ich dir was mitbringen?&#xA;&#xA;Ich hätte gerne einen Bierkrug.&#xA;&#xA;Gruß Max&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Das macht Unterhaltungen wesentlich übersichtlicher.&lt;/p&gt;&#xA;&lt;h4 id=&#34;antwort-knopf&#34;&gt;Antwort-Knopf&lt;/h4&gt;&#xA;&lt;p&gt;Wie schon im ersten Abschnitt erwähnt, kann man Mails an mehrere Empfänger schreiben. Wenn man also auf eine Mail antwortet, die an mehrere Leute adressiert wurde, sollte man seine Antwort in den meisten Fällen auch an alle schreiben. Die meisten E-Mail-Programme bieten dafür einen „Allen antworten“-Knopf, der automatisch alle Empfänger und den ursprünglichen Sender einbindet. Das spart Zeit und Nerven und ist nur sinnvoll, damit etwa Fragen des ursprünglichen Senders nur ein mal beantwortet werden müssen bzw. aufeinander eingegangen werden kann – so wie im echten Leben.&lt;/p&gt;&#xA;&lt;h2 id=&#34;weiterleitungen&#34;&gt;Weiterleitungen&lt;/h2&gt;&#xA;&lt;p&gt;Auch Weiterleitungen sind ein wichtiger Bestandteil des E-Mail-Systems. Bekommt man etwa eine Einladung zu einem Vortrag o.ä. und möchte einem Bekannten dies auch mitteilen, so leitet man ihm am besten die gesamte Einladungs-Mail weiter, damit er ebenfalls über alle Informationen verfügt. Die meisten E-Mail-Programme bieten diese Funktion an.&lt;/p&gt;&#xA;&lt;p&gt;Jedoch sollte man darauf achten, es dem Empfänger so einfach wie möglich zu machen. Einfach nur Weiterleiten ist nicht gern gesehen, man sollte auch eine grobe Zusammenfassung hinzufügen, um was es denn überhaupt geht. In dem konkreten Beispiel sollte man also vorweg schreiben:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Hallo Peter,&#xA;&#xA;anbei eine Einladung zu einem interessanten Vortrag über die Geschichte der E-Mail. Er findet nächste Woche statt und ich würde mich freuen, wenn Du auch dabei wärst. Lies Dir doch die Einladung durch und sag mir Bescheid.&#xA;&#xA;Gruß&#xA;Julian&#xA;&#xA;----- Weitergeleitete Nachricht -----&#xA;...&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;fazit&#34;&gt;Fazit&lt;/h2&gt;&#xA;&lt;p&gt;Mit diesen sehr grundlegenden Grundregeln macht man sich selbst und anderen E-Mailen sehr viel einfacher und angenehmer. E-Mails sind nämlich eine hervorragende Möglichkeit des Austausches und sind nicht ohne Grund das immer noch am meisten genutzte Medium zur Kommunikation über das Internet. Und dabei haben wir hier nur an der Oberfläche gekratzt: Mailing-Listen, Alias-Adressen, Mailfilter oder Templateblöcke können es gerade für Vielschreiber noch entspannter und effektiver machen. Doch befolgt man alleine schon die grundlegenden Hinweise der letzten Absätze, die bereits nach kurzer Übung im Blut sind, macht man sich im privaten oder geschäftlichen E-Mail-Verkehr viel Freude und Freunde.&lt;/p&gt;&#xA;&lt;p&gt;Habe ich eine ganz wichtige Regel vergessen oder bin ich viel zu streng und konservativ? Ich freue mich über Kommentare und Verbesserungsvorschläge!&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Wirklich sichere WhatsApp Alternativen</title>
      <link>https://mehl.mx/blog/2014/wirklich-sichere-whatsapp-alternativen/</link>
      <pubDate>Fri, 21 Feb 2014 09:41:54 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/wirklich-sichere-whatsapp-alternativen/</guid>
      <description>&lt;p&gt;Nachdem diese Woche bekannt wurde, dass Facebook es endlich geschafft hat, WhatsApp-Gründer Jan Koum und Brian Acton mit einer stolzen Summe von rund 16 Milliarden US-Dollar &lt;a href=&#34;http://www.sueddeutsche.de/wirtschaft/uebernahme-in-der-technikbranche-facebook-kauft-whatsapp-1.1893830&#34;&gt;zum Verkauf ihrer Firma&lt;/a&gt; zu bewegen, fragen sich viele, was sich nun in Sachen Privatsphäre ändern wird – und wie man dem entgegenwirken kann. In diesme Artikel werde ich erläutern, was man bei der Wahl des richtigen Messengers beachten sollte, warum Threema nicht die Lösung ist und was wirklich sichere Alternativen sind.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Nachdem diese Woche bekannt wurde, dass Facebook es endlich geschafft hat, WhatsApp-Gründer Jan Koum und Brian Acton mit einer stolzen Summe von rund 16 Milliarden US-Dollar &lt;a href=&#34;http://www.sueddeutsche.de/wirtschaft/uebernahme-in-der-technikbranche-facebook-kauft-whatsapp-1.1893830&#34;&gt;zum Verkauf ihrer Firma&lt;/a&gt; zu bewegen, fragen sich viele, was sich nun in Sachen Privatsphäre ändern wird – und wie man dem entgegenwirken kann. In diesme Artikel werde ich erläutern, was man bei der Wahl des richtigen Messengers beachten sollte, warum Threema nicht die Lösung ist und was wirklich sichere Alternativen sind.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/rip-whatsapp.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;grundlegendes&#34;&gt;Grundlegendes&lt;/h2&gt;&#xA;&lt;p&gt;Prinzipiell geht es hier um zwei Aspekte von Datenschutz: Erstens der Schutz vor (halb)staatlicher Überwachung und zweitens der Schutz seiner persönlichen Daten vor privaten Konzernen, meist Werbetreibende.&lt;/p&gt;&#xA;&lt;p&gt;Beides sollte jedem von uns sehr wichtig sein, denn WhatsApp befördert noch kritischere Daten als Facebook heutzutage. Wissen wir mittlerweile, dass wir vielleicht nicht unbedingt unseren 300 „Freunden“ auf Facebook unsere peinlichsten Momente per Video mitteilen sollten und dass dort vielleicht auch der künstige Arbeitgeber mitlesen kann, so chatten wir auf WhatsApp viel privater mit einer zweiten Person oder einer sich kennenden Gruppe. Die Hemmschwelle, mal eben lustig-peinliche Bilder zu schicken ist niedriger, genauso wie es einfacher ist, sich anzügliche Nachrichten und Medien hin- und herzuschicken. Bisher haben nur die wenigsten damit ein Problem gehabt, denn es blieb ja privat.&lt;/p&gt;&#xA;&lt;p&gt;Das war allerdings schon vor dem Kauf durch Facebook nicht garantiert. WhatsApp hat sich zwar von Anbeginn an den Grundsätzen verschrieben, unabhängig zu bleiben und keine Werbung zu schalten, aber die Nutzungsbedingungen waren schon damals kaum privatsphärenachtend. Dass sich das durch den Einstieg von Facebook rapide ins negative verändern wird, sollte aber jedem einleuchten: Facebook lebt durch den Verkauf von Werbung und den Verkauf von persönlichen Daten.&lt;/p&gt;&#xA;&lt;p&gt;Ein Paar schickt sich anzügliche Bilder und Texte? Na was wäre da angebrachter als Werbung  Unterwäsche und Sexspielzeuge? Jemand schickt immer viele Bilder und Videos von Clubs und Festivals? Werbung für Nikon-Kameras und überteuerte Tickets wären da doch genau das richtige. Und damit nichts verloren geht, wird das alles noch auf unbestimmte Zeit gespeichert, inklusive Namen, Bild und GPS-Verlaufsdaten.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-suche-nach-den-alternativen&#34;&gt;Die Suche nach den Alternativen&lt;/h2&gt;&#xA;&lt;p&gt;Jetzt geht in sozialen Netzwerken und in Onlinemagazinen die Suche nach Alternativen los – absolut berechtigt. Aber leider wird wieder nicht aus den Fehlern gelernt, die schon bei WhatsApp gemacht wurden: Wir vertrauen allzu oft dem bloßen Versprechen der App-Anbieter. Auch Jan Koum hat noch kürzlich gesagt, dass WhatsApp nicht verkauft wird und nicht auf Profit aus ist. Aber bei einer Summe mit 9 Nullen hintendran wird jeder schwach…&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Threema&lt;/strong&gt; ist dafür ein trauriges Beispiel. Der kostenpflichtige Dienst wirbt mit hohen Verschlüsselungsstandards, den meisten Funktionen von WhatsApp und sicheren Servern in der Schweiz – und wird deswegen von vielen teils seriösen Zeitungen als „der NSA-Ärgerer“ oder „sicherer Hafen für private Kommunikation“ gepriesen. Doch es gibt ein grundlegendes Problem mit Threema: Es ist keine Freie Software.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Freie Software? Was’n das?&lt;/strong&gt; &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.de.html&#34;&gt;Freie Software&lt;/a&gt; wird oft auch als Open Source bezeichnet, also dass der Quellcode des Programms öffentlich ist. Dadurch kann jeder Interessierte &lt;em&gt;den Programmcode auf Hintertüren und Schwachstellen untersuchen&lt;/em&gt;. Natürlich beherrscht das nicht jeder, aber es gibt genügend IT-Spezialisten, welche dies regelmäßig machen und somit einen großen Beitrag zur Sicherheit und Vertrauenswürdigkeit von gängigen Verschlüsselungstechniken beitragen: GnuPG (für E-Mails), Tor (zum anonymen Surfen) oder OTR (zum verschlüsselten Chat).&lt;/p&gt;&#xA;&lt;p&gt;Freie Software (welche sich durch die Benutzung von freien Lizenzen definiert) geht auch einen Schritt weiter: Sie erlaubt jedem Menschen die Modifizierung des Programms und die Weiterveröffentlichung. Wird also der Entwickler einer Freien Software für Verschlüsselung aufgekauft und ist dadurch nicht mehr vertrauenswürdig, können Freiwillige den Quellcode kopieren, anpassen und unter einem anderen Namen wieder der Allgemeinheit frei zur Verfügung stellen. Somit geht eine Freie Software nicht verloren.&lt;/p&gt;&#xA;&lt;p&gt;Freie Software hat übrigens &lt;em&gt;nichts mit dem Preis zu tun&lt;/em&gt;, sondern ausschließlich mit den Freiheiten, die den Nutzern dabei garantiert werden: Das Recht, dass jeder für jeden Zweck die Software nutzen kann, dass man den Quellcode einsehen kann, diesen verändern darf und dann weiterveröffentlichen darf.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Wir können also nie nachprüfen, ob Threema seine Versprechen hält, die Daten der Nutzer nicht weiterzugeben. Und es ist auch nicht zu überprüfen, ob die Verschlüsselung nicht ein Leck hat, sei es wissentlich oder nicht. Und wenn Threema in ein paar Jahren von einem Silicon Valley-Konzern (wer denkt da auch an Google?) aufgekauft wird, gehören die Daten wieder mal nicht uns, den Usern, sondern dem neuen Besitzer – und alles war umsonst.&lt;/p&gt;&#xA;&lt;p&gt;Es gibt weitere Anbieter, die viel versprechen, aber in der Hinsicht wenig halten. Dazu gehören etwa &lt;strong&gt;SilentCircle&lt;/strong&gt;, &lt;strong&gt;Wickr&lt;/strong&gt; und nahezu alle Apps, die „verschlüsselten Chat“ bieten, wenn man mal im Google Play Store sucht.&lt;/p&gt;&#xA;&lt;p&gt;Andere Alternativ-Apps wie &lt;strong&gt;Hike&lt;/strong&gt;, &lt;strong&gt;Line&lt;/strong&gt; und &lt;strong&gt;Viber&lt;/strong&gt; legen beispielsweise erst überhaupt keinen Wert auf Verschlüsselung und bieten dabei staatlichen Behörden, aber auch Hobbyhackern massenhaft Möglichkeiten, private Daten abzufangen.&lt;/p&gt;&#xA;&lt;h2 id=&#34;gibts-denn-überhaupt-sichere-alternativen&#34;&gt;Gibt’s denn überhaupt sichere Alternativen?&lt;/h2&gt;&#xA;&lt;p&gt;Ja, die gibt es, man muss sie nur finden! Sie müssen prinzipiell nur zwei Dinge erfüllen: Erstens Freie Software/Open Source und zweitens mit leistungsfähiger Verschlüsselung. Es gibt noch einige andere wünschenswerte Sachen, aber diese beiden sind grundlegend.&lt;/p&gt;&#xA;&lt;p&gt;Einer der heißesten Kandidaten ist &lt;strong&gt;surespot&lt;/strong&gt; für Android und iOS. Diese App nimmt Verschlüsselung sehr ernst und ist hoch leistungsfähig. Bilder- und Audioübertragungen funktionieren problemlos in hoher Qualität. Ein weiterer Vorteil ist, dass man das Konto leicht umziehen kann, da es nicht an eine Telefonnummer, sondern an einen frei wählbaren Nicknamen gebunden ist. Es ist also eine gewisse Pseudonymität gegeben.&lt;/p&gt;&#xA;&lt;p&gt;Wird surespot das erste mal nach Start des Geräts geöffnet, wird man nach seinem Kennwort gefragt, das man bei der Accounterstellung angeben muss. Danach bleibt es im Hintergrund und fragt auch nicht mehr nach dem Kennwort, solange man sich nicht abmeldet.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Vorteile&lt;/em&gt;: Technisch die wohl ausgereifteste App&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Nachteile&lt;/em&gt;: Bisher gibt keine Unterstützung von Gruppenchats und Videonachrichten.&lt;/p&gt;&#xA;&lt;p&gt;Eine weitere App ist &lt;strong&gt;Telegram&lt;/strong&gt;, auch für Android und iOS. Was als erstes ins Auge sticht ist die enorme optische Ähnlichkeit mit Whatsapp. Auch Telegram verspricht effektive Verschlüsselung, allerdings muss die wirklich effektive Verschlüsselung erst jedes mal manuell aktiviert werden – sehr schade. Von unabhängigen Experten wurde auch die Leistungsfähigkeit der Verschlüsselung bemängelt. Positiv ist aber, dass Gruppenchats möglich sind und auch sonst kaum Funktionen von WhatsApp fehlen.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Vorteile&lt;/em&gt;: Kaum ein Funktionsunterschied zu WhatsApp, grundlegende Verschlüsselung&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Nachteile&lt;/em&gt;: „Secret Chats“ müssen jedes mal manuell aktiviert werden, Verschlüsselung ist nicht auf höchstem Niveau&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;ChatSecure&lt;/strong&gt; für Android und iOS stammt vom renommierten Guardian Project, welches sich auf die Entwicklung von Apps für sichere Kommunikation konzentriert hat. Hervorstechend ist, dass es rein technisch die wohl sicherste Variante ist, da es auf OTR und XMPP aufsetzt und man auch seinen eigenen Server betreiben kann, also komplett unabhängig ist. Der eindeutige Nachteil ist, dass es eine andauernde Verbindung zum Server benötigt und dadurch ordentlich Batterie frisst. Dadurch kann man auch nicht chatten, wenn man offline ist. Zudem wird die iOS-Version leider durch das Apple-System alle 10 Minuten automatisch beendet.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Vorteile&lt;/em&gt;: Technisch hochgradig effizient, bewährte Verschlüsselung&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Nachteile&lt;/em&gt;: Akkufresser, auf iOS kaum nutzbar, Gruppenchats nicht möglich&lt;/p&gt;&#xA;&lt;p&gt;Ebenfalls erwähnenswert ist &lt;strong&gt;TextSecure&lt;/strong&gt; (nicht verwechseln mit ChatSecure oben). Die Entwicklung dieser App ist etwas kompliziert, daher hier nur die Kurzzusammenfassung. Zu Anfang dieser App wurden Nachrichten verschlüsselt per SMS/MMS versendet, allerdings verursachte das zahlreiche Probleme, was den guten Ansatz getrübt hat. Das wurde jetzt über Bord geworfen und die Weiterentwicklung einer App ausschließlich auf Datenbasis (wie WhatsApp) hat begonnen. Diese wird Android und iOS unterstützen, Bilder, Videos und Gruppenchats werden auch dabei sein – und kostenlos soll’s auch werden! Zudem sind die Entwickler alle Größen in der Community.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Vorteile&lt;/em&gt;: Technisch einwandfreier Ansatz, state-of-the-art-Verschlüsselung&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Nachteile&lt;/em&gt;: Bis zur Veröffentlichung von TextSecureV2 vergeht noch etwas Zeit, bis dahin nicht wirklich empfehlenswert.&lt;/p&gt;&#xA;&lt;p&gt;Als letzte hier vorgestellte Alternative ist &lt;strong&gt;Kontalk&lt;/strong&gt; zu nennen. Auch diese ist leider nicht uneingeschränkt zu empfehlen, da sie erstens nur auf Android funktioniert und zweitens momentan noch eine unausgereifte Verschlüsselung bietet. Das soll sich im Laufe dieses Jahres ändern mit dem Umstieg auf ein anderes Protokoll (XMPP), aber Unterstützung für iOS (was für den Chat mit Apple-Freunden leider notwendig ist) ist trotzdem nicht in Sicht.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Vorteile&lt;/em&gt;: Leichte Bedienung, gute Performance&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Nachteile&lt;/em&gt;: Technisch mit leichten bis mittleren Mängeln, keine iOS-Unterstützung.&lt;/p&gt;&#xA;&lt;h2 id=&#34;also-was-nun&#34;&gt;Also was nun?!&lt;/h2&gt;&#xA;&lt;p&gt;Schwer zu sagen. Es gibt bisher noch keinen eindeutigen Favoriten, den man uneingeschränkt empfehlen kann.&lt;/p&gt;&#xA;&lt;p&gt;Auf kurze Sicht würde ich zu &lt;strong&gt;surespot&lt;/strong&gt; oder &lt;strong&gt;Telegram&lt;/strong&gt; raten, je nachdem, wie wichtig einem Gruppenchats und Videos sind. surespot ist dabei die sicherere Variante, Telegram die zugänglichere. Da aber der Erfolg einer App eh nur von der Nutzerbasis abhängt, wird es wahrscheinlich Telegram werden.&lt;/p&gt;&#xA;&lt;p&gt;Auf lange Sicht hin lohnt es sich, &lt;strong&gt;TextSecure&lt;/strong&gt; im Auge zu behalten. Wenn alles so wird, wie es momentan geplant ist, steht uns im Sommer ein Freudenfest für Datenschutz und Privatsphäre ins Haus! Auch &lt;strong&gt;heml.is&lt;/strong&gt;, welches noch nicht veröffentlicht wurde, könnte ein guter Kandidat werden, allerdings gibt es noch kaum technische Hintergrundinfos und die sinngemäße Aussage, man versuche, so viel wie möglich Open Source zu machen, gibt einem zu denken. Also noch nicht zu häuslich in der WhatsApp-Alternative einrichten, mit Sicherheit kommt noch etwas besseres.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Nochmal: &lt;strong&gt;Threema&lt;/strong&gt; klingt zwar toll, ist es aber allein vom Konzept nicht, da der Quellcode nicht öffentlich ist. &lt;em&gt;Nur Freie Software schützt effektiv die Sicherheit und Privatsphäre von uns Anwendern&lt;/em&gt; – alles andere sind schlicht Werbelügen und hohle Phrasen.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PS: Während dem Schreiben habe ich noch &lt;a href=&#34;http://web.archive.org/web/20210512210108/https://missingm.co/2014/02/fighting-dishfire-the-state-of-mobile-cross-platform-encrypted-messaging/&#34;&gt;einen netten Artikel&lt;/a&gt; gefunden, der nochmal einige Apps gegenüberstellt und dabei auch mehr auf die dahinterliegende Technik eingeht.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>I love ZNC because #ilovefs</title>
      <link>https://mehl.mx/blog/2014/i-love-znc-because-ilovefs/</link>
      <pubDate>Fri, 14 Feb 2014 05:00:14 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/i-love-znc-because-ilovefs/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Today is &lt;a href=&#34;http://ilovefs.org&#34;&gt;I love Free Software day 2014&lt;/a&gt;. Using the slogan „I love Free Software but I love you more“ this day should not only be used to thank our significant others for their love but also to say „thank you“ to people who work hard to ease one’s everyday tasks with the software they develop.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Have you ever been in an IRC channel?&lt;/p&gt;&#xA;&lt;p&gt;If not, you should try it, it’s a great and easy way of communication and very common.&lt;/p&gt;</description>
      <content:encoded>&lt;blockquote&gt;&#xA;&lt;p&gt;Today is &lt;a href=&#34;http://ilovefs.org&#34;&gt;I love Free Software day 2014&lt;/a&gt;. Using the slogan „I love Free Software but I love you more“ this day should not only be used to thank our significant others for their love but also to say „thank you“ to people who work hard to ease one’s everyday tasks with the software they develop.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Have you ever been in an IRC channel?&lt;/p&gt;&#xA;&lt;p&gt;If not, you should try it, it’s a great and easy way of communication and very common.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure class=&#34;no-border&#34;&gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &#xA;      &lt;img src=&#34;http://fsfe.org/campaigns/ilovefs/artwork/graphics/ilovefs-banner-large-en.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;If yes, then the term „IRC Bouncer“ might be familiar to you. It keeps „you“ online 24/7 in the channel, although your device at home is offline. During this time, your slot in the channel is reserved by your bouncer.&lt;/p&gt;&#xA;&#xA;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig2&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-znc.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Screenshot of ZNC&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig2&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/ilovefs-znc.png&#34;  /&gt;&#xA;          &lt;p&gt;Screenshot of ZNC&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;In this blog post, I’d like to present &lt;a href=&#34;http://wiki.znc.in/ZNC&#34;&gt;ZNC&lt;/a&gt; to you, a beautiful piece of &lt;a href=&#34;https://fsfe.org/about/basics/freesoftware.html&#34;&gt;Free Software&lt;/a&gt; which you can install easily on a server, is highly configurable and consumes only little server resources.&lt;/p&gt;&#xA;&lt;p&gt;„What the hell should this be for?!“ you’re asking? Well, since I’m presenting ZNC, I can give you a few examples of the mightyness of this software:&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you’re leaving the channel, ZNC can set an individual away status and reply to anyone how’s calling you directly in the channel or in a query that you’re unavailable at the moment&lt;/li&gt;&#xA;&lt;li&gt;You can add multiple IRC networks with only one account and one port. Similar bouncers like psybnc are unable to do this. You can edit your networks separately, for example with different nicknames or away messages&lt;/li&gt;&#xA;&lt;li&gt;You don’t want to quit IRC even if you have to because the ongoing discussion is so interesting? No problem with ZNC. ZNC can buffer the channel chat and queries to you, so you can everything if you’re back again. This also helps if you had connection issues and come back a few minutes later – you’ll never miss anything again&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Well, these are only the basic functions. Below I added several others which have convinced me to keep using ZNC and nothing else. Of course, it’s Free Software (Apache 2.0 License) and it’s quite actively developed. If you have no server or no time to install something on it, you can also use one of the many &lt;a href=&#34;http://wiki.znc.in/Providers&#34;&gt;ZNC providers&lt;/a&gt; for free.&lt;/p&gt;&#xA;&lt;p&gt;If you like ZNC as much as I do, please consider &lt;a href=&#34;https://github.com/znc/znc&#34;&gt;helping them&lt;/a&gt; to improve the software or just &lt;a href=&#34;http://wiki.znc.in/ZNC:Site_support&#34;&gt;donate&lt;/a&gt; to keep the very useful wiki alive!&lt;/p&gt;&#xA;&lt;p&gt;Further cool functions you might find useful:&lt;/p&gt;&#xA;&lt;p&gt;Administration:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Installation is super-simple: Get the newest version, configure, make and make install. Then execute an configuration script which asks for the most important parameters while explaining them to you. Ready.&lt;/li&gt;&#xA;&lt;li&gt;Upgrade is very easy. Some days ago I upgraded from 0.2x to 1.2, a large version step. No problem at all, all configuration has been adapted&lt;/li&gt;&#xA;&lt;li&gt;Multi-user: You can set up an infinite amount of users per server/port, each with several networks.&lt;/li&gt;&#xA;&lt;li&gt;ZNC has a great webpanel which lets you administer everything. Of course, you can also do this directly in you IRC client if you’re connected&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Nerdy stuff:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To protect you from suprises, you can enable modules like fail2ban (to block password bruteforcers), ctcpflood or crypt (to chat encrypted with other znc users without having them to install an extra plugin or client)&lt;/li&gt;&#xA;&lt;li&gt;You can automatically change your nick if you’re going offline. For example with „username_offline“ you make clear that you’re definitely not available&lt;/li&gt;&#xA;&lt;li&gt;You can create custom CTCP replies. Try to write &lt;code&gt;/ctcp USERNAME version&lt;/code&gt; and you’ll get detailed information about his IRC client. With ZNC, you can simply overwrite the default reply and send something generic instead&lt;/li&gt;&#xA;&lt;li&gt;You can even get shell access through your IRC client if you enable the function. Dunno what’s the advantage of this but it’s cool, right? ;)&lt;/li&gt;&#xA;&lt;/ul&gt;</content:encoded>
    </item>
    <item>
      <title>Why free choice of routers is a must</title>
      <link>https://mehl.mx/blog/2014/why-free-choice-of-routers-is-a-must/</link>
      <pubDate>Tue, 14 Jan 2014 17:47:43 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/why-free-choice-of-routers-is-a-must/</guid>
      <description>&lt;p&gt;In my opinion, the latest NSA leaks reached a new level of boldness. Oh wait, maybe you are one of the people that keep saying “&lt;em&gt;Of course NSA is spying on all of us, but I’m safe: I use Tor/VPN, deleted my Facebook account, and I completely switched to &lt;a href=&#34;http://web.archive.org/web/20130928222506/http://blogs.fsfe.org/the_unconventional/2013/06/29/more-work-to-maintain-my-privacy/&#34;&gt;secure operating systems&lt;/a&gt;, so I got this going for me.&lt;/em&gt;” If so I congratulate you, these are important steps and I hope there will be more people like you.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In my opinion, the latest NSA leaks reached a new level of boldness. Oh wait, maybe you are one of the people that keep saying “&lt;em&gt;Of course NSA is spying on all of us, but I’m safe: I use Tor/VPN, deleted my Facebook account, and I completely switched to &lt;a href=&#34;http://web.archive.org/web/20130928222506/http://blogs.fsfe.org/the_unconventional/2013/06/29/more-work-to-maintain-my-privacy/&#34;&gt;secure operating systems&lt;/a&gt;, so I got this going for me.&lt;/em&gt;” If so I congratulate you, these are important steps and I hope there will be more people like you.&lt;/p&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/nsa-headwater-screen.jpg&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;NSA Headwater Implant&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/nsa-headwater-screen.jpg&#34;  /&gt;&#xA;          &lt;p&gt;NSA Headwater Implant&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;But as the introducting sentence states, the latest information of NSA’s mass surveillance goes much further than only spying in social networks and intercepting phone calls. &lt;strong&gt;This time, it’s about your home and your network itself&lt;/strong&gt;. To be concrete: It’s about your router located somewhere in your rooms. Internal, top secret classified presentations show that NSA is actively searching for &lt;a href=&#34;https://www.wired.com/2013/09/nsa-router-hacking/&#34;&gt;vulnerabilities in industry and home routers&lt;/a&gt; and is &lt;a href=&#34;http://www.afterdawn.com/news/article.cfm/2013/09/22/nsa_buys_zero_day_exploits_from_vupen&#34;&gt;buying exploits&lt;/a&gt; if needed. And if all of these steps aren’t enough, they just &lt;a href=&#34;http://www.spiegel.de/international/world/catalog-reveals-nsa-has-back-doors-for-numerous-devices-a-940994.html&#34;&gt;implant a backdoor chip&lt;/a&gt; granting full remote access.&lt;/p&gt;&#xA;&lt;p&gt;If you hear about an massively exploited vulnerability or a cooperating router vendor, I would expect you to switch the router or at least install updated/other firmware on the device. But what if you are not able to this because your Internet Service Provider (ISP) forces you to use his and no other device?&lt;/p&gt;&#xA;&lt;p&gt;“&lt;em&gt;That’s incredible!&lt;/em&gt;” you might think, but that’s the case in some countries and with some providers. They won’t give you your internet access credentials if you want to use a different device, or they simply use non-standard plugs and protocols. So you have a large group of people forced to use only one router model. We call this &lt;strong&gt;Compulsory Routers&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;ISPs&amp;rsquo; policies like this create many problems and some of those are&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;competition issues: If many ISPs do it like this, smaller competitors have no chance to sell their routers because they are not usable by any customer&lt;/li&gt;&#xA;&lt;li&gt;technical issues: You want to use IPv6, VoIP or other technologies and devices? Maybe your ISP does not want you to use them or only his own products&lt;/li&gt;&#xA;&lt;li&gt;security issues: If a large group of people are using only one router or one hardware vendor, and if this product/vendor is vulnerable, the whole mass is in danger. Maybe you heard this term in biology, but it’s also highly relevant in this case: &lt;strong&gt;monocultures&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;“&lt;em&gt;And what has this to do with the NSA stuff?&lt;/em&gt;” More than you might think. Imagine a country with 4 big ISPs and all with Compulsory Routers. In the best case after some years, there might be around 10 router models from 5 vendors in use in most households and smaller/middle-sized companies. You don’t have to be paranoid to know that this is an open invitation for intelligence agencies to cooperate with the vendors or create remote attack tools for the few used router models.&lt;/p&gt;&#xA;&lt;p&gt;If your router, the first device behind the connection jack in your wall, is compromised, your whole network is compromised as well, no matter how strong your encryption techniques or your passwords are. And we? We would just have to endure this because we cannot buy the technology we trust in and we cannot use alternative Free Software firmwares. So it’s self-evident that we as freedom loving people have to do something about this problem to secure our own IT infrastructure!&lt;/p&gt;&#xA;&lt;p&gt;Compulsory Routers are not only a technical, but also a political one. In Germany, we have a similar situation and until now it’s not clearly regulated what ISPs are allowed to enforce. Some great volunteers have worked together with Matthias and me on this issue for a longer period &lt;a href=&#34;https://blogs.fsfe.org/mk/status-of-compulsory-routers-in-germany/&#34;&gt;and we had remarkable success&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;But we’re still not done yet and there are many countries in which such policies are not forbidden or regulated yet. Maybe your’s is as well? If so or if you don’t know exactly, please &lt;a href=&#34;https://wiki.fsfe.org/Activities/CompulsoryRouters/&#34;&gt;read and contribute to our wiki entry&lt;/a&gt; where we wrote down many interesting background information, some argumentation guidelines, and tips how to stress the topic in media and public. If there are any questions, you can contact me anytime.&lt;/p&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Mounting a SFTP storage in GNU/Linux</title>
      <link>https://mehl.mx/blog/2014/mounting-a-sftp-storage-in-gnu/linux/</link>
      <pubDate>Mon, 13 Jan 2014 14:42:01 +0000</pubDate>
      <guid>https://mehl.mx/blog/2014/mounting-a-sftp-storage-in-gnu/linux/</guid>
      <description>&lt;p&gt;This (longer than expected) post explains how to transfer files securely between your device and an external storage. The first part may be useful for you if you only have little knowledge of terms like (S)FTP(S) and want to learn something about widely used technologies. The second part will help you to mount an external storage so you can manage all files as if they are on your local device and the third, fourth and fifth part will concentrate on easing the mounting process by the help of hostnames, Private/Public Keys and a shell script.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;This (longer than expected) post explains how to transfer files securely between your device and an external storage. The first part may be useful for you if you only have little knowledge of terms like (S)FTP(S) and want to learn something about widely used technologies. The second part will help you to mount an external storage so you can manage all files as if they are on your local device and the third, fourth and fifth part will concentrate on easing the mounting process by the help of hostnames, Private/Public Keys and a shell script.&lt;/p&gt;&#xA;&lt;p&gt;This guide will be very detailed and is also (and especially) suited for beginners. Maybe also some advanced users can learn something or give hints for improvements.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: With improving Bash skills and more time, I was able to heavily improve the script in the end. Have a look at my &lt;a href=&#34;https://src.mehl.mx/mxmehl/network-mount&#34;&gt;Git instance&lt;/a&gt; to download the latest version.&lt;/p&gt;&#xA;&lt;p&gt;But let’s be honest: All in all, this post will show you again, why Free Software, GNU/Linux and Open Standards are great, easy to use and why Windows users are to be pitied.&lt;/p&gt;&#xA;&lt;h2 id=&#34;short-excursus&#34;&gt;Short excursus&lt;/h2&gt;&#xA;&lt;p&gt;(Nearly) everybody knows FTP. FTP is a protocol which enables you to transfer files between your device and a remote space. Maybe you want to present your documents or images to visitors of your homepage and simply want to upload these files on your webspace. In most cases this could be done by the use of a seperate program like FileZilla.&lt;/p&gt;&#xA;&lt;p&gt;So far so good, but there’re several problems. Two of them:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/File_Transfer_Protocol#Security&#34;&gt;FTP is insecure&lt;/a&gt;. Period.&lt;/li&gt;&#xA;&lt;li&gt;Using an external program (and not your personal file manager) is really annoying if you want to edit the files very often. A realistic example: You have a complicated script running on your website which you’d like to edit in a graphical editor. Using an external client forces you to download the file, open it in your editor, save it and upload it again. Some FTP clients like FileZilla have the functionality to ease this pain in the a**, but trust me: after the twentieth reupload you want to toss your computer away&amp;hellip;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Now we know why FTP is insecure. So what alternatives do we have?&lt;/p&gt;&#xA;&lt;p&gt;There is FTPS – using the FTP protocoll in connection with SSL. Well, that sounds great because, you know, SSL is great to ensure the safety of your online banking and frightens away &lt;a href=&#34;https://en.wikipedia.org/wiki/Packet_analyzer&#34;&gt;sniffing script kiddies&lt;/a&gt;. Forget that. FTPS is only securing the authentication process, the transfer of all files remains in plain text. So if you upload a sensitive document, it is fairly easy to intercept it on different levels in the uploading/downloading process. There is also the fact that FTPS is horrible to implement, not very compatible, and not very smart designed.&lt;/p&gt;&#xA;&lt;p&gt;The best alternative in my opinion is &lt;a href=&#34;https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol&#34;&gt;SFTP&lt;/a&gt;  (you are confused by all the abbreviations now? Wait for it, it gets better). SFTP uses a SSH connection to build a safe tunnel between your device and the remote storage. SSH is very smart, widely used and on most servers running a &lt;a href=&#34;https://en.wikipedia.org/wiki/Free_software&#34;&gt;Free&lt;/a&gt; operating system it is preinstalled and needs no further configuration. SFTP enforces you to transfer your files fully encrypted through a secure channel.&lt;/p&gt;&#xA;&lt;p&gt;But how to use it? You can use clients like FileZilla but do you remember the first problem I mentioned? Correct, an external editor is not what suits the needs of someone who wants to work with his files comfortably.&lt;/p&gt;&#xA;&lt;h2 id=&#34;mounting-an-external-storage-with-ssh&#34;&gt;Mounting an external storage with SSH&lt;/h2&gt;&#xA;&lt;p&gt;This sounds more complicated than it really is. The theory behind it is very easy: You mount (link) a remote directory over SSH (a secure channel) in any desired directory on your machine. For instance, you can simply edit all files in &lt;em&gt;/home/user/remote/&lt;/em&gt; with your programs, but finally all changes will happen (nearly) instantly on your remote storage. This even works with watching a video file that is located on the server: Open it like a normal video file in a player like VLC and it behaves like it is locally on your PC (if your internet connection is fast enough, just test it!).&lt;/p&gt;&#xA;&lt;p&gt;The only prerequisite: You need a server/webspace/storage with full SSH access. Unfortunately many webhosters don’t provide SSH access. If you belong to the unlucky ones, I recommend you to look for alternatives – it is worth it! (below this post, I added a very small list of webhosting providers offering SSH access)&lt;/p&gt;&#xA;&lt;p&gt;Now we come to the technical part. For this post, following data is used. Most likely, this will look different in your case.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;SSH-Server: server1.net&#xA;Username on server: client&#xA;Home directory of user on server: /home/client&#xA;Username local machine: user&#xA;Local mount directory: /home/user/remote/server1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On your GNU/Linux, please assure that following programs are installed. Some of them (ssh-askpass, zenity) are only used in step IV and V:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;openssh-client, sshfs, ssh-askpass, zenity&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Now create a directory in which the remote storage should be mounted in. Don’t worry about the space on your hard disk: This directory is remote and there are only temporary files stored on your local device. In this example I’ll use &lt;em&gt;/home/user/remote/server1&lt;/em&gt;. It could also be &lt;em&gt;/fsfe/lol/wtf/nsa/&lt;/em&gt; if this directory would exist.&lt;/p&gt;&#xA;&lt;p&gt;Now, start a terminal/shell to fill in following commands as a normal user.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;ssh -p 22 client@server1.net&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;If asked for a password, fill in the password of ‚&lt;em&gt;client&lt;/em&gt;‚ (the webhoster should have given it to you). If you are now connected to the server1.net, you are just one step away from mounting it. Close the connection or terminal, open it again and type:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sshfs -p 22 client@server1.net: /home/user/remote/server1/ -o follow_symlinks&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;This command connects to ‚&lt;em&gt;server1.net&lt;/em&gt;‚ as the user ‚&lt;em&gt;client&lt;/em&gt;‚ using the SSH protocol over the standard &lt;em&gt;port&lt;/em&gt; 22. Then it mounts the home directory of ‚&lt;em&gt;client&lt;/em&gt;‚ on the local directory ‚&lt;em&gt;/home/user/remote/server1&lt;/em&gt;‚ which we created beforehand. Additionally we added the option ‚&lt;em&gt;follow_symlinks&lt;/em&gt;‚ so that links of the server work on our local machine as well. If you have a look at &lt;em&gt;/home/user/remote/server1&lt;/em&gt;, you should see the exact same content than in the home directory on your server or if you connect via FTP/SFTP. Congratulation! Now play around with it, try to edit, upload and download files.&lt;/p&gt;&#xA;&lt;p&gt;To unmount (speak: disconnect) the directory, type&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;fusermount -u /home/user/remote/server1&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Now you mount the home directory of ‚client‘. If you want to mount another directory on the server (e.g. &lt;em&gt;/home/client/exchange&lt;/em&gt;), use this modified command:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sshfs -p 22 client@server1.net:/home/client/exchange/ /home/user/remote/server1/ -o follow_symlinks&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;In the next step, we will make the connection and mounting more comfortable, even if you are handling with more than one server.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-hostnames&#34;&gt;Using hostnames&lt;/h2&gt;&#xA;&lt;p&gt;Now that you know how (and that) the system works, we will make it easier. Of course it is quite annoying to type in the whole server-address and port each time. Instead of &lt;em&gt;sshfs -p 22 &lt;a href=&#34;mailto:client@server1.net&#34;&gt;client@server1.net&lt;/a&gt;[…]&lt;/em&gt;, you can simply type &lt;em&gt;sshfs server1&lt;/em&gt;. How? Just open the SSH configuration file &lt;em&gt;/home/user/.ssh/config&lt;/em&gt; with you desired text editor and add:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Host server1&#xA;  HostName server1.net&#xA;  Port 22&#xA;  User client&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Save it and try to use this shortcut. It also works for normal SSH connection like ‚&lt;em&gt;ssh server1&lt;/em&gt;‚. For the &lt;em&gt;Host&lt;/em&gt; variable, you could use any name you can remember easily, for instance &lt;em&gt;privateserver&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-public-and-private-keys&#34;&gt;Using Public and Private Keys&lt;/h2&gt;&#xA;&lt;p&gt;Pretty smooth, isn’t it? Well, it gets even better! You have to admit that typing a password each time you connect is quite harrassing. This gets even worse if you are used to connect to many servers. On the one hand, you could use password managing tools&amp;hellip; or &lt;a href=&#34;https://en.wikipedia.org/wiki/Public-key_cryptography&#34;&gt;Public/Private key authentication&lt;/a&gt;! For those who don’t know much about it, let me say: This sounds terribly complicated, but you don’t have to understand it completely.&lt;/p&gt;&#xA;&lt;p&gt;For this guide, you only have to know: There are two keys (files). The one is private, you should never give it to anyone! It’s like a key to your safe, if someone achieves it, he can get everything that is secured in this safe. But the other file is public, you can give it to everyone if you want so. Now it gets a bit weird, so I try to make it as simple and abstract as possible.&lt;/p&gt;&#xA;&lt;p&gt;Let’s say, the public key is a chest that no one except the owner can open. Inside this chest, there is a supersecret word that no one except the owner knows. You put an exact copy of this chest on your server and each time you try to connect, you say „Hey, I’m the legitimate user of this server. Give me my chest, I will open it with my secret key and tell you, what the supersecret word is!“. The server will give you the chest (public key), you open it with your private key and tell the server the supersecret word. If you were right, the server lets you in.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This example is so ridiculously abstract that I had to laugh while writing it down. Every security expert, IT guy and cryptography scientist would knock me down for this but I hope it made you understand the principle of this very smart method. And if you ask yourself now „Why does the server know the supersecret word? Isn’t this insecure?“ or „Isn’t is insecure to send such a sensitive code word over the internet?“: You’re absolutely right! But be assured, that the public-key cryptography uses some awesome tricks to avoid security leaks like these and others. If you want to, read about it!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It is quite easy to make this system happen. Again we need a terminal to generate the two keys:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f&#34;&gt;cd&lt;/span&gt; ~/.ssh/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-keygen -t dsa&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This neat script asks a.) in which file you want to save the new keys. The standard is set to &lt;em&gt;/home/user/.ssh/id_dsa&lt;/em&gt; and I recommend this. Most programs automatically search for keys in this destination. In step b.) it asks you for a password. This is quite important because if someone achieves your private key, he still needs a password to use it. After this short procedure, you have two new files in &lt;em&gt;/home/user/.ssh&lt;/em&gt; – id_dsa and id_dsa.pub. As you can imagine, id_dsa.pub is your public key, the other is the secret one.&lt;/p&gt;&#xA;&lt;p&gt;Now we have to put the public key (chest) on the server we want to connect to. This could be done by a simple command:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;ssh-copy-id -i /home/user/.ssh/id_dsa.pub client@server1.net&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;By this, you automatically connect as a legitimate user to your server (with the password used in step II) and put the public key in the &lt;em&gt;/home/client/.ssh/authorized_keys&lt;/em&gt;. This file simply collects all public keys (chests) of users that are allowed to connect to the server. If a stranger tries to connect to your server but there is no chest his secret key belongs to, he of course cannot open the connection to your server.&lt;/p&gt;&#xA;&lt;p&gt;Now disconnect from your server and try to connect via &lt;em&gt;ssh server1&lt;/em&gt;. Your device should automatically search for your private key and open the connection with it. As you notice, you are still asked for a password. This is because you (hopefully) put a password on your private key (remember?). But after you typed in the password once, it should be saved for duration of your local session in a local keyring.&lt;/p&gt;&#xA;&lt;p&gt;If this is not the case or you want to make your configuration even better, add the following lines on the bottom of your &lt;em&gt;/home/user/.bashrc&lt;/em&gt; (or if you’re not using bash, the respective rc file of your shell):&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;alias ssh=&#39;ssh-add -l &amp;gt; /dev/null || ssh-add -t 7200; ssh&#39;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;By this, you say to your shell: „Everytime I type the command ’ssh‘, you should instead (alias) 1.) check if I already added my key to the local keyring. If not so (||), 2.) add my key to the keyring, but only keep it there for 7200 seconds (you can also keep this away or increase it). Only if you made this sure, use the command ssh to connect to my server“. Every command line program that uses ssh to connect to a server (and there are some, e.g. git, sshfs…) now uses this procedure – no matter if you close the terminal or lock the screen.&lt;/p&gt;&#xA;&lt;p&gt;Of course, this also works with sshfs to mount your remote storages. If you remember our first line to mount the server, we have a much shorter line now without any password request:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sshfs server1: /home/user/remote/server1/ -o follow_symlinks&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;And these steps were quite important for the next section where we will write a shell script to make it much more easier – and even graphical!&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-a-shell-script&#34;&gt;Using a shell script&lt;/h2&gt;&#xA;&lt;p&gt;Our setting is very smooth now, but it could still be improved. If you want to connect to many servers and don’t want to use your shell every time or don’t want to remember the HOSTs you used in your .ssh/config, you’re free to modify and use this shell script:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;### VARIABLES TO BE CHANGED ###&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Preconfigured HOSTs in ~/.ssh/config that should be used&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PRESSH&lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt;0&lt;span style=&#34;color:#666&#34;&gt;]=&lt;/span&gt;server1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PRESSH&lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#666&#34;&gt;]=&lt;/span&gt;server2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PRESSH&lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt;2&lt;span style=&#34;color:#666&#34;&gt;]=&lt;/span&gt;server3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Local directory where the remote storages should be mounted to&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;LOCALMOUNTDIR&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;/home/user/remote&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;### THE SCRIPT BEGINS HERE ###&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Add SSH key to local keyring if not already happened&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;function&lt;/span&gt; sshadd &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;ssh-add -l &amp;gt; /dev/null &lt;span style=&#34;color:#666&#34;&gt;||&lt;/span&gt; ssh-add&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Choose preconfigured HOST to mount&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;function&lt;/span&gt; mount &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;if&lt;/span&gt; ! &lt;span style=&#34;color:#b8860b&#34;&gt;SSH&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;zenity --list &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--height&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;300&lt;/span&gt; &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--text&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Please choose. Cancel to unmount drives.&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--title&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Choose SSH server&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--column &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Preconfigured SSH servers&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;PRESSH&lt;/span&gt;[*]&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;unmountquestion&#x9;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# If you press cancel, it should ask you to unmount all drives&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# If you double click on an entry, it gives &amp;#39;server1|server1&amp;#39; as result instead of &amp;#39;server1&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# This command cuts of everything after |&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#b8860b&#34;&gt;SSH&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;$(&lt;/span&gt;&lt;span style=&#34;color:#a2f&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#b8860b&#34;&gt;$SSH&lt;/span&gt; | awk -F&lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\|&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Make a local directory if not available&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt; ! -e &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$LOCALMOUNTDIR&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;/&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$SSH&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;mkdir -p &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$LOCALMOUNTDIR&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;/&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$SSH&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Command to mount actually&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;sshfs &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$SSH&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;: &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$LOCALMOUNTDIR&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;/&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$SSH&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;/ -o follow_symlinks &amp;amp;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;quitquestion&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# one more ssh server or quit?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Ask if all preconfigured SSHFS drives should be unmounted&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;function&lt;/span&gt; unmountquestion &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;zenity --question --text&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Unmount all preconfigured\nSSHFS drives now?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$?&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;unmount&#x9;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# unmount function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a2f&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Procedure to unmount all preconfigured SSHFS drives and exit program afterwards&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;function&lt;/span&gt; unmount &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;((&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; 0; i &amp;lt; &lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;${#&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;PRESSH&lt;/span&gt;[*]&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;}&lt;/span&gt;; i++&lt;span style=&#34;color:#666&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;fusermount -u &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$LOCALMOUNTDIR&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;/&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;PRESSH&lt;/span&gt;[&lt;span style=&#34;color:#b8860b&#34;&gt;$i&lt;/span&gt;]&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a2f&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;PRESSH&lt;/span&gt;[&lt;span style=&#34;color:#b8860b&#34;&gt;$i&lt;/span&gt;]&lt;span style=&#34;color:#b68;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34; unmounted.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Should another SSHFS storage be mounted?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;function&lt;/span&gt; quitquestion &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;zenity --question &lt;span style=&#34;color:#b62;font-weight:bold&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;--text&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;Mount another SSHFS storage?&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b8860b&#34;&gt;$?&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;&lt;span style=&#34;color:#a2f&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sshadd&#x9;&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# sshadd function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# Loop for endless mounts until stopped by unmount or unmountquestion&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;while&lt;/span&gt; :&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;mount&#x9;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;# mount function&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Save this script to some place (e.g. &lt;em&gt;/home/user/sftp-mount.sh&lt;/em&gt;) and make it executable (chmod +x /home/user/sftp-mount.sh). For example, you are now ready put a shortcut in your panel or on your desktop to make it easily accessible. Please note that zenity, sshfs and ssh-askpass should be installed.&lt;/p&gt;&#xA;&lt;p&gt;Please test the procedures written above on your servers and (if they have SSH access) webspaces. On my 4 webspaces and my vServer it works perfectly with my Debian Sid system. Please contact me or write in the comments if you have any problems or if some steps could be improved – nobody’s perfect :)&lt;/p&gt;&#xA;&lt;h2 id=&#34;appendix&#34;&gt;Appendix&lt;/h2&gt;&#xA;&lt;p&gt;I know following hosters that provide webspace with SSH access. This list is very short so please add more by writing in the comments!&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;uberspace.de (All plans, starting from 1,00€/mon, focussed on german residents) &amp;lt;– great hoster by the way!!&lt;/li&gt;&#xA;&lt;li&gt;OVH.com (&amp;gt;= Business Hosting, 5,94€/mon)&lt;/li&gt;&#xA;&lt;li&gt;HostGator.com (All plans, starting from 3,96$/mon)&lt;/li&gt;&#xA;&lt;li&gt;All-Inkl.com (&amp;gt;= Premium, 9,95€/mon)&lt;/li&gt;&#xA;&lt;li&gt;Hetzner.de (&amp;gt;= Level19, 19,90€/mon)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
    </item>
    <item>
      <title>Organising micro task emails in Thunderbird</title>
      <link>https://mehl.mx/blog/2013/organising-micro-task-emails-in-thunderbird/</link>
      <pubDate>Sun, 27 Oct 2013 23:12:55 +0000</pubDate>
      <guid>https://mehl.mx/blog/2013/organising-micro-task-emails-in-thunderbird/</guid>
      <description>&lt;p&gt;The title of this post sounds very significant but to be honest, it’s a small thing.&lt;/p&gt;&#xA;&lt;p&gt;Everybody has her/his/its own workflow regarding emails. For example me: I LOVE folders! When it comes to the crunch I probably would be able to organise my whole life into folders.&lt;/p&gt;&#xA;&lt;p&gt;Well, at least this is what I thought until I began my internship at &lt;a href=&#34;https://fsfe.org/&#34;&gt;FSFE&lt;/a&gt;. I was used to a high income rate (do you say so?) before but something changed: Normally I read my emails and if something’s important, I open a new task in my taskmanager or simply write it down. In the office I also read lot’s of emails and can put them easily in folders via filters (in Thunderbird and with qmail/maildrop on my mailserver), for example emails in mailing lists.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;The title of this post sounds very significant but to be honest, it’s a small thing.&lt;/p&gt;&#xA;&lt;p&gt;Everybody has her/his/its own workflow regarding emails. For example me: I LOVE folders! When it comes to the crunch I probably would be able to organise my whole life into folders.&lt;/p&gt;&#xA;&lt;p&gt;Well, at least this is what I thought until I began my internship at &lt;a href=&#34;https://fsfe.org/&#34;&gt;FSFE&lt;/a&gt;. I was used to a high income rate (do you say so?) before but something changed: Normally I read my emails and if something’s important, I open a new task in my taskmanager or simply write it down. In the office I also read lot’s of emails and can put them easily in folders via filters (in Thunderbird and with qmail/maildrop on my mailserver), for example emails in mailing lists.&lt;/p&gt;&#xA;&lt;p&gt;But now it is more often the case that by reading those emails, there are beginning some mini-tasks: Commit this &lt;a href=&#34;https://fsfe.org/contribute/translators/&#34;&gt;translated&lt;/a&gt; file on the server, answer these emails, send out that package to a &lt;a href=&#34;https://fsfe.org/fellowship/&#34;&gt;fellow&lt;/a&gt; (but not today, do it next Monday), and most importantly, book some restaurants for the General Assembly. You see, these are all small tasks, but they exist. In dozens. And I’m quite sure they will increase. But creating for each micro task a new task in my task manager (&lt;a href=&#34;http://gtgnome.net/&#34;&gt;Getting Things Gnome&lt;/a&gt; by the way) is overload as well.&lt;/p&gt;&#xA;&lt;p&gt;For that I’m a forgetful technocrat sometimes, I wanted to pre-empt any mistakes and searched for methods to mark/tag those emails when reading them. Afterwards it should always be possible to find these marked/tagged with one click. In short, I needed a &lt;a href=&#34;http://harrypotter.wikia.com/wiki/Remembrall&#34;&gt;Remembrall&lt;/a&gt;, that additionally tells me, what I exactly forgot.&lt;/p&gt;&#xA;&lt;p&gt;Dear ladies and gentlemen, here’s my odyssey of finding the perfect method for me:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Well, because I LOVE folders (did I ever mentioned that before?) I just thought of drag-and-dropping the emails I wanted to be able to find again in another folder like „To-Do“ or „To answer“. This has the disadvantage that the original email isn’t anymore where it has been before. An email belonging to a mailing list’s thread is away and this causes even more inorganisation. Dead End.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Okay, when moving emails is not suitable, why not copying them into separate folders? Well, this is possible but requires 2 to 4 mouse clicks in thunderbird (no, I don’t want to use another mail client) and includes the danger to copy(/move it in the wrong folder (I hate dropdown menus…). Dead End.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;For I’m a proud user of the calendar/task addon &lt;a href=&#34;https://www.mozilla.org/projects/calendar/lightning/&#34;&gt;Lightning&lt;/a&gt;, I have also the possibility to create tasks and events out of emails. But this also requires to much information for micro tasks and lacks the same problem as creating tasks in my GTG: it costs too much time and is overpowered.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Shame on all technical stuff, let’s to it the old way: writing it down on my notepad with my…does ANYONE have a pen here? And where the hell is my notepad by the way?! Dead End.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Yes, I finally found a solution which is quite simple but requires some searching. In Thunderbird you have the possibility to create virtual folders (Yeah, more folders!). In these folders, you can collect all emails that match specific criteria, similar to those of the „normal“ email filters for incoming mails. But as a first step one could simply tag or mark an email:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://mehl.mx/css/snap-gallery.css&#34; /&gt;&lt;figure &gt;&#xA;  &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;    &lt;a href=&#34;#fig1&#34;&gt;&#xA;      &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders1.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;        &lt;figcaption&gt;Tag an email in Thunderbird&lt;/figcaption&gt;&#xA;    &lt;/a&gt;&#xA;    &lt;div class=&#34;snap-lightbox&#34; id=&#34;fig1&#34;&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;        &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;          &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders1.png&#34;  /&gt;&#xA;          &lt;p&gt;Tag an email in Thunderbird&#xA;          &lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;      &lt;/div&gt;&lt;/div&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Each method has its advantages. The tags are quite nice because you can differentiate between (own) tags and you can simply press the corresponding number on the keyboard to tag the mail. The marking method does not have such features but on my mobile (K-9 Mail) I cannot tag an email but only mark it. So I’m able to save some mails for later work when I’m sitting in the train for example.&lt;/p&gt;&#xA;&lt;p&gt;No matter how you decide (I’m not quite sure as well what’s the best for me), it’s quite hard to find the emails if you have tagged them. Of course, if you look in the folder, you see colored mails or those with a star but to find them by hand in dozens of folder… good luck boy.&lt;/p&gt;&#xA;&lt;p&gt;I already mentioned virtual folders: You can open a virtual folder that lists all emails that match a (or more) special criteria which you can define. If you untag/unmark an email, it just disappears from the virtual folder, but still exists in the (now untagged/unmarked) way as before.&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;snap-gallery&#34;&gt;&#xA;  &#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig1&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders2.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Mark an email in Thunderbird&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig1&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders2.png&#34;  /&gt;&#xA;            &lt;p&gt;Mark an email in Thunderbird&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;span class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/span&gt;&#xA;            &lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig2&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders3.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Search for emails in folder&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig2&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders3.png&#34;  /&gt;&#xA;            &lt;p&gt;Search for emails in folder&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig1&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig3&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders4.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Give criteria to search for&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig3&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders4.png&#34;  /&gt;&#xA;            &lt;p&gt;Give criteria to search for&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig2&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig4&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig4&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders5.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Save found emails in a virtual folder&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig4&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders5.png&#34;  /&gt;&#xA;            &lt;p&gt;Save found emails in a virtual folder&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig3&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig5&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;  &#xA;  &lt;figure &gt;&#xA;    &lt;div class=&#34;snap-wrapper&#34;&gt;&#xA;      &lt;a href=&#34;#gal1-fig5&#34;&gt;&#xA;        &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders6.png&#34; class=&#34;snap-thumb&#34;/&gt;&#xA;          &lt;figcaption&gt;Choose folders to search in&lt;/figcaption&gt;&#xA;      &lt;/a&gt;&#xA;      &lt;div class=&#34;snap-lightbox&#34; id=&#34;gal1-fig5&#34;&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close&#34;&gt;&lt;/a&gt;&#xA;          &lt;div class=&#34;snap-lightbox-inner&#34;&gt;&#xA;            &lt;img src=&#34;https://mehl.mx/img/blog/blog_virtualfolders6.png&#34;  /&gt;&#xA;            &lt;p&gt;Choose folders to search in&#xA;            &lt;/p&gt;&#xA;          &lt;/div&gt;&#xA;          &lt;a href=&#34;#_&#34; class=&#34;snap-lightbox-close-button&#34;&gt;&lt;i class=&#34;snap-lightbox-x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;a href=&#34;#gal1-fig4&#34; class=&#34;snap-lightbox-prev&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;            &lt;a href=&#34;#gal1-fig6&#34; class=&#34;snap-lightbox-next&#34;&gt;&lt;i class=&#34;snap-lightbox-arrow&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;        &lt;/div&gt;&lt;/div&gt;&#xA;  &lt;/figure&gt;&#xA;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The images show you how to create this folder with filters. It is important to choose the folders to search in (image 4). Now I can mark/tag emails that should be processed in some way, and I can do this on my notebook as well as on my mobile. I hope, this method satisfies my needs for a while and I will give an update if I (or you?) find a better way. And if it helped you as well: you’re welcome :)&lt;/p&gt;&#xA;&lt;p&gt;What methods for (micro) task management do you use? Do the tools you use suit your needs?&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Sorry by the way that all screenshots show the German version of Thunderbird. I hope you could follow the steps.&lt;/em&gt;&lt;/p&gt;&#xA;</content:encoded>
    </item>
  </channel>
</rss>
