feat: make types and languages selectable

This commit is contained in:
2026-02-12 23:48:38 +01:00
parent e0ac3820dc
commit 807fd9cdf9
46 changed files with 248 additions and 178 deletions

View File

@@ -2,6 +2,7 @@
title: "{{ replace (replaceRE "^[0-9]{4}-[0-9]{2}-" "" .Name) "-" " " | title }}"
date: {{ now.Format "2006-01-02" }}
categories:
- blog
- english
- deutsch
tags:

View File

@@ -3,6 +3,7 @@ title: Organising micro task emails in Thunderbird
date: 2013-10-27T23:12:55+00:00
aliases: organising-micro-task-emails-in-thunderbird
categories:
- blog
- english
tags:
- email
@@ -13,11 +14,11 @@ tags:
The title of this post sounds very significant but to be honest, its a small thing.
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.
Well, at least this is what I thought until I began my internship at [FSFE](https://fsfe.org/). I was used to a high income rate (do you say so?) before but something changed: Normally I read my emails and if somethings important, I open a new task in my taskmanager or simply write it down. In the office I also read lots 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.
But now it is more often the case that by reading those emails, there are beginning some mini-tasks: Commit this [translated](https://fsfe.org/contribute/translators/) file on the server, answer these emails, send out that package to a [fellow](https://fsfe.org/fellowship/) (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 Im quite sure they will increase. But creating for each micro task a new task in my task manager ([Getting Things Gnome](http://gtgnome.net/) by the way) is overload as well.
For that Im 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 [Remembrall](http://harrypotter.wikia.com/wiki/Remembrall), that additionally tells me, what I exactly forgot.
Dear ladies and gentlemen, heres my odyssey of finding the perfect method for me:
@@ -37,7 +38,7 @@ Dear ladies and gentlemen, heres my odyssey of finding the perfect method for
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 Im able to save some mails for later work when Im sitting in the train for example.
No matter how you decide (Im not quite sure as well whats the best for me), its 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.
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.
{{< gallery >}}

View File

@@ -3,6 +3,7 @@ title: Mounting a SFTP storage in GNU/Linux
date: 2014-01-13T14:42:01+00:00
aliases: /blog/2014/mounting-a-sftp-storage-in-gnu-linux
categories:
- blog
- english
tags:
- bash
@@ -47,10 +48,10 @@ The only prerequisite: You need a server/webspace/storage with full SSH access.
Now we come to the technical part. For this post, following data is used. Most likely, this will look different in your case.
```
SSH-Server: server1.net
Username on server: client
Home directory of user on server: /home/client
Username local machine: user
SSH-Server: server1.net
Username on server: client
Home directory of user on server: /home/client
Username local machine: user
Local mount directory: /home/user/remote/server1
```
@@ -87,9 +88,9 @@ In the next step, we will make the connection and mounting more comfortable, eve
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 _sshfs -p 22 client@server1.net[…]_, you can simply type _sshfs server1_. How? Just open the SSH configuration file _/home/user/.ssh/config_ with you desired text editor and add:
```
Host server1
HostName server1.net
Port 22
Host server1
HostName server1.net
Port 22
User client
```
@@ -109,7 +110,7 @@ Lets say, the public key is a chest that no one except the owner can open. In
It is quite easy to make this system happen. Again we need a terminal to generate the two keys:
```bash
cd ~/.ssh/
cd ~/.ssh/
ssh-keygen -t dsa
```
@@ -141,86 +142,86 @@ And these steps were quite important for the next section where we will write a
Our setting is very smooth now, but it could still be improved. If you want to connect to many servers and dont want to use your shell every time or dont want to remember the HOSTs you used in your .ssh/config, youre free to modify and use this shell script:
```bash
#!/bin/bash
### VARIABLES TO BE CHANGED ###
# Preconfigured HOSTs in ~/.ssh/config that should be used
PRESSH[0]=server1
PRESSH[1]=server2
PRESSH[2]=server3
# Local directory where the remote storages should be mounted to
LOCALMOUNTDIR=/home/user/remote
### THE SCRIPT BEGINS HERE ###
# Add SSH key to local keyring if not already happened
function sshadd {
ssh-add -l > /dev/null || ssh-add
}
# Choose preconfigured HOST to mount
function mount {
if ! SSH=$(zenity --list \
--height=300 \
--text="Please choose. Cancel to unmount drives." \
--title="Choose SSH server" \
--column "Preconfigured SSH servers" \
${PRESSH[*]}); then
unmountquestion # If you press cancel, it should ask you to unmount all drives
fi
# If you double click on an entry, it gives 'server1|server1' as result instead of 'server1'
# This command cuts of everything after |
SSH=$(echo $SSH | awk -F\| '{ print $1 }')
# Make a local directory if not available
if [ ! -e "$LOCALMOUNTDIR"/"$SSH" ]; then
mkdir -p "$LOCALMOUNTDIR"/"$SSH"
fi
# Command to mount actually
sshfs "$SSH": "$LOCALMOUNTDIR"/"$SSH"/ -o follow_symlinks &
quitquestion # one more ssh server or quit?
}
# Ask if all preconfigured SSHFS drives should be unmounted
function unmountquestion {
zenity --question --text="Unmount all preconfigured\nSSHFS drives now?"
if [ "$?" = "0" ]; then
unmount # unmount function
else
exit 0
fi
}
# Procedure to unmount all preconfigured SSHFS drives and exit program afterwards
function unmount {
for ((i = 0; i < ${#PRESSH[*]}; i++))
do
fusermount -u "$LOCALMOUNTDIR"/"${PRESSH[$i]}"
echo ""${PRESSH[$i]}" unmounted."
done
exit 0
}
# Should another SSHFS storage be mounted?
function quitquestion {
zenity --question \
--text="Mount another SSHFS storage?"
if [ "$?" = "1" ]; then
exit 0
fi
}
sshadd # sshadd function
# Loop for endless mounts until stopped by unmount or unmountquestion
while :
do
mount # mount function
#!/bin/bash
### VARIABLES TO BE CHANGED ###
# Preconfigured HOSTs in ~/.ssh/config that should be used
PRESSH[0]=server1
PRESSH[1]=server2
PRESSH[2]=server3
# Local directory where the remote storages should be mounted to
LOCALMOUNTDIR=/home/user/remote
### THE SCRIPT BEGINS HERE ###
# Add SSH key to local keyring if not already happened
function sshadd {
ssh-add -l > /dev/null || ssh-add
}
# Choose preconfigured HOST to mount
function mount {
if ! SSH=$(zenity --list \
--height=300 \
--text="Please choose. Cancel to unmount drives." \
--title="Choose SSH server" \
--column "Preconfigured SSH servers" \
${PRESSH[*]}); then
unmountquestion # If you press cancel, it should ask you to unmount all drives
fi
# If you double click on an entry, it gives 'server1|server1' as result instead of 'server1'
# This command cuts of everything after |
SSH=$(echo $SSH | awk -F\| '{ print $1 }')
# Make a local directory if not available
if [ ! -e "$LOCALMOUNTDIR"/"$SSH" ]; then
mkdir -p "$LOCALMOUNTDIR"/"$SSH"
fi
# Command to mount actually
sshfs "$SSH": "$LOCALMOUNTDIR"/"$SSH"/ -o follow_symlinks &
quitquestion # one more ssh server or quit?
}
# Ask if all preconfigured SSHFS drives should be unmounted
function unmountquestion {
zenity --question --text="Unmount all preconfigured\nSSHFS drives now?"
if [ "$?" = "0" ]; then
unmount # unmount function
else
exit 0
fi
}
# Procedure to unmount all preconfigured SSHFS drives and exit program afterwards
function unmount {
for ((i = 0; i < ${#PRESSH[*]}; i++))
do
fusermount -u "$LOCALMOUNTDIR"/"${PRESSH[$i]}"
echo ""${PRESSH[$i]}" unmounted."
done
exit 0
}
# Should another SSHFS storage be mounted?
function quitquestion {
zenity --question \
--text="Mount another SSHFS storage?"
if [ "$?" = "1" ]; then
exit 0
fi
}
sshadd # sshadd function
# Loop for endless mounts until stopped by unmount or unmountquestion
while :
do
mount # mount function
done
```

View File

@@ -3,6 +3,7 @@ title: Why free choice of routers is a must
date: 2014-01-14T17:47:43+00:00
aliases: why-free-choice-of-routers-is-an-unnegotiable-must
categories:
- blog
- english
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: 'I love ZNC because #ilovefs'
date: 2014-02-14T05:00:14+00:00
url: /blog/2014/i-love-znc-because-ilovefs
categories:
- blog
- english
tags:
- chat

View File

@@ -3,6 +3,7 @@ title: Wirklich sichere WhatsApp Alternativen
date: 2014-02-21T09:41:54+00:00
aliases: wirklich-sichere-whatsapp-alternativen
categories:
- blog
- deutsch
tags:
- chat

View File

@@ -3,6 +3,7 @@ title: Guter E-Mail-Stil
date: 2014-05-19T12:56:12+00:00
aliases: guter-e-mail-stil
categories:
- blog
- deutsch
tags:
- chat
@@ -11,7 +12,7 @@ tags:
---
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.
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.
## Der Erstkontakt
@@ -21,7 +22,7 @@ Sollte man derjenige sein, der eine E-Mail versendet, sind bereits einige Dinge
### Betreff
Der Betreff ist das erste, was der Empfänger erhält und auch das, an was er sich bei weiterer Kommunikation erinnert.
Betreffe wie "Echt wichtig!", "Das könnte dich interessieren", ":-)" oder "Es geht um die Webseite ``http://example.com`` 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".
### Adressierung
@@ -40,7 +41,7 @@ Viele E-Mail-Clients bieten an, E-Mails in HTML zu verfassen. HTML ermöglicht e
### Umbruch
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.
Dadurch wird verhindert, dass Leute mit sehr breiten Bildschirmen elends lange Zeilen haben, was den Lesefluss erschwert.
### Stil
@@ -50,7 +51,7 @@ Sollte eigentlich selbstverständlich sein, aber leider sieht man viel zu oft E-
## Antworten
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.
Prinzipiell sollte man immer auf *Antworten* in seinem Mailprogramm drücken und nicht etwa eine neue E-Mail mit neuem Betreff verfassen.
### Betreff
@@ -65,59 +66,59 @@ Beim Antworten gibt es in puncto Betreff nur zwei Regeln:
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 [TOFU](https://de.wikipedia.org/wiki/TOFU) (Text oben, Fullquote unten). Zwei aus der Wikipedia abgeleitete Beispiele, die das verdeutlichen:
```
Lieber Oskar,
das stimmt doch gar
nicht. Richtig ist 4.
Ich hätte gerne einen Bierkrug.
Gruß
Max
--Ursprüngliche Nachricht--
Von: Oskar
[mailto:oskar@example.net]
Gesendet: Sonntag, 24.
Dezember 2006 12:00
An: Max
Betreff: (kein Betreff)
Lieber Max,
eines wollte ich Dir schon
immer einmal sagen - das
habe ich mich bisher bloß
nicht getraut. Es lässt
mir aber einfach keine
Ruhe, deshalb muss es nun
heraus:
2 + 2 = 5
Wie jedermann weiß.
Außerdem fahre ich bald nach Mallorca,
soll ich dir was mitbringen?
Beste Grüße
Lieber Oskar,
das stimmt doch gar
nicht. Richtig ist 4.
Ich hätte gerne einen Bierkrug.
Gruß
Max
--Ursprüngliche Nachricht--
Von: Oskar
[mailto:oskar@example.net]
Gesendet: Sonntag, 24.
Dezember 2006 12:00
An: Max
Betreff: (kein Betreff)
Lieber Max,
eines wollte ich Dir schon
immer einmal sagen - das
habe ich mich bisher bloß
nicht getraut. Es lässt
mir aber einfach keine
Ruhe, deshalb muss es nun
heraus:
2 + 2 = 5
Wie jedermann weiß.
Außerdem fahre ich bald nach Mallorca,
soll ich dir was mitbringen?
Beste Grüße
Oskar
```
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"):
```
Lieber Oskar,
Oskar schrieb:
> 2 + 2 = 5
das stimmt doch gar
nicht. Richtig ist 4.
> Außerdem fahre ich bald nach Mallorca,
> soll ich dir was mitbringen?
Ich hätte gerne einen Bierkrug.
Lieber Oskar,
Oskar schrieb:
> 2 + 2 = 5
das stimmt doch gar
nicht. Richtig ist 4.
> Außerdem fahre ich bald nach Mallorca,
> soll ich dir was mitbringen?
Ich hätte gerne einen Bierkrug.
Gruß Max
```
@@ -134,16 +135,16 @@ Auch Weiterleitungen sind ein wichtiger Bestandteil des E-Mail-Systems. Bekommt
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:
```
Hallo Peter,
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.
Gruß
Julian
----- Weitergeleitete Nachricht -----
...
...
Hallo Peter,
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.
Gruß
Julian
----- Weitergeleitete Nachricht -----
...
...
```
## Fazit

View File

@@ -3,6 +3,7 @@ title: Birthday Calendar with ownCloud via CalDAV
date: 2014-09-17T22:56:46+00:00
aliases: birthday-calendar-with-owncloud-via-caldav
categories:
- blog
- english
tags:
- email

View File

@@ -3,6 +3,7 @@ title: Setting Openstreetmap as default in Thunderbirds contacts
date: 2014-09-28T10:40:42+00:00
aliases: setting-openstreetmap-as-default-in-thunderbird-contacts
categories:
- blog
- english
tags:
- email

View File

@@ -3,6 +3,7 @@ title: My internship at FSFE
date: 2014-10-24T10:39:54+00:00
aliases: my-internship-at-fsfe
categories:
- blog
- english
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: Freie Kommunikation ist die Essenz des Menschseins
date: 2014-11-10T13:15:19+00:00
aliases: freie-kommunikation-ist-essenz-des-lebens
categories:
- blog
- deutsch
tags:
- chat

View File

@@ -3,6 +3,7 @@ title: Sharing is caring my Git instance
date: 2014-11-28T17:16:50+00:00
aliases: sharing-is-caring-my-git-instance
categories:
- blog
- english
tags:
- server
@@ -10,11 +11,11 @@ tags:
---
Some days ago I noticed another time that I have far too little knowledge about Git.
„Time to change that!“, I thought and set up [my own Git instance][1] and also installed gitweb for better usability.
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.
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!
Some noteworthy projects Im (a bit) proud of:
@@ -27,7 +28,7 @@ Some noteworthy projects Im (a bit) proud of:
Any questions, ideas or improvements? Please contact me!
### Update 26.02.2016
I washed away the quite basic gitweb instance and moved to Gogs. Heres [why and how][6]. Links to the project may have changed because of that (and Im too lazy to change them here).
[1]: https://src.mehl.mx

View File

@@ -5,6 +5,7 @@ aliases:
- next-station-tanzania
- naechste-station-tansania
categories:
- blog
- english
tags:
- tanzania

View File

@@ -3,6 +3,7 @@ title: Yourls URL Shortener for Turpial
date: 2015-01-24T01:58:32+00:00
aliases: yourls-url-shortener-for-turpial
categories:
- blog
- english
tags:
- chat
@@ -21,19 +22,19 @@ And maybe you also know [Turpial][2], a Twitter client for GNU/Linux systems (I
Turpial already offers some link shorteners but not Yourls. But we can add it manually. To do so, open the file `/usr/lib/python2.7/dist-packages/libturpial/lib/services/url/shortypython/shorty.py` as root. Now add the following somewhere between the already existing shorteners
```py
# Yourls
class Yourls(Service):
def shrink(self, bigurl):
resp = request('http://YOUR_DOMAIN/yourls-api.php', {'action': 'shorturl', 'format': 'xml', 'url': bigurl, 'signature': 'YOUR_SIGNATURE'})
returned_data = resp.read()
matched_re = re.search('(http://YOUR_DOMAIN/[^"]+)', returned_data)
if matched_re:
return matched_re.group(1)
else:
raise ShortyError('Failed to shrink url')
yourls = Yourls()
# Yourls
class Yourls(Service):
def shrink(self, bigurl):
resp = request('http://YOUR_DOMAIN/yourls-api.php', {'action': 'shorturl', 'format': 'xml', 'url': bigurl, 'signature': 'YOUR_SIGNATURE'})
returned_data = resp.read()
matched_re = re.search('(http://YOUR_DOMAIN/[^"]+)', returned_data)
if matched_re:
return matched_re.group(1)
else:
raise ShortyError('Failed to shrink url')
yourls = Yourls()
```
Just replace `YOUR_DOMAIN` and `YOUR_SIGNATURE` 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 `f51qw35w6` ([more about passwordlessAPI][4]). You can retrieve your signature on your Yourls Admin page via *Tools*.

View File

@@ -3,6 +3,7 @@ title: I love Taskwarrior, therefore I love Free Software
date: 2015-02-14T12:05:42+00:00
aliases: i-love-taskwarrior-therefore-i-love-free-software
categories:
- blog
- english
tags:
- bash

View File

@@ -3,6 +3,7 @@ title: In The End Freedom Is What Matters
date: 2015-02-25T02:03:04+00:00
aliases: in-the-end-freedom-is-what-matters
categories:
- blog
- english
tags:
- routerfreedom
@@ -24,5 +25,5 @@ In these cases **software privacy is of little use**. Its about regulations,
This, dear friend, is the reason why I volunteer for the FSFE and therefore also for privacy.
---
¹ Means software which you are allowed to use for every purpose, which everybody can inspect, modify and redistribute

View File

@@ -3,6 +3,7 @@ title: Erste Eindrücke aus Tansania
date: 2015-04-14T08:05:07+00:00
aliases: erste-eindruecke-aus-tansania
categories:
- blog
- deutsch
tags:
- tanzania

View File

@@ -3,6 +3,7 @@ title: 'Nächster Halt: Endstation.'
date: 2015-05-20T08:04:10+00:00
aliases: naechster-halt-endstation
categories:
- blog
- deutsch
tags:
- germany

View File

@@ -3,6 +3,7 @@ title: Technology and Free Software in Tanzania
date: 2015-05-08T07:34:19+00:00
aliases: technology-and-free-software-in-tz
categories:
- blog
- english
tags:
- tanzania
@@ -39,7 +40,7 @@ However, I was able to convince my students that in the case of Free Software mo
## Misconception III
Ive 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 dont understand it will rather be left behind.
I thought in Tanzania its 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 its 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.
## Reality III

View File

@@ -3,6 +3,7 @@ title: splitDL Downloading huge files from slow and unstable internet connec
date: 2015-06-26T15:59:03+00:00
aliases: splitdl-downloading-huge-files-from-slow-and-unstable-internet-connections
categories:
- blog
- english
tags:
- bash

View File

@@ -3,6 +3,7 @@ title: Weiterer Teilerfolg beim Routerzwang
date: 2015-07-22T06:48:01+00:00
aliases: weiterer-teilerfolg-beim-routerzwang
categories:
- blog
- deutsch
tags:
- routerfreedom
@@ -19,7 +20,7 @@ Die [Free Software Foundation Europe][1] und alle Freunde Freier Software, Verbr
> **Kurzinfo: Was ist Routerzwang?**
>
> 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.
>
>
> Routerzwang beschäftigt die FSFE [seit dem Januar 2013][2], die öffentlich in vielen Anhörungen und im Hintergrund Stellung bezogen hat. Mehr Informationen über das Thema auf [unserer ausführlichen Übersichtsseite][3].
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 [verkürzte Textversion][4] und in der [vollen Audioversion][5] (5:48) auf der Webseite des Deutschlandfunks zu finden. So sagt etwa der Pressesprecher von Tele Columbus, einer der wenigen Befürworter des Routerzwangs:

View File

@@ -3,6 +3,7 @@ title: German Government wants authorities to advertise PDFreaders
date: 2015-09-19T17:27:20+00:00
aliases: german-government-wants-authorities-to-advertise-pdfreaders
categories:
- blog
- english
tags:
- fsfe

View File

@@ -3,6 +3,7 @@ title: I love Free Software (Apps)
date: 2016-02-14T09:00:18+00:00
aliases: i-love-free-software-apps
categories:
- blog
- english
tags:
- chat

View File

@@ -3,6 +3,7 @@ title: Switching my code from gitweb to Gogs
date: 2016-02-26T17:05:18+00:00
aliases: switching-my-code-from-gitweb-to-gogs
categories:
- blog
- english
tags:
- tools

View File

@@ -3,6 +3,7 @@ title: 'Getting oldschool, oder: Wie ich uncool wurde'
date: 2016-03-28T13:39:45+00:00
aliases: getting-oldschool-oder-wie-ich-uncool-wurde
categories:
- blog
- deutsch
tags:
- chat

View File

@@ -3,6 +3,7 @@ title: Der Routerzwang fällt Und was bringt mir das?
date: 2016-07-30T11:02:38+00:00
aliases: der-routerzwang-faellt-was-bringt-mir-das
categories:
- blog
- deutsch
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: Erste Testgeräte für Routerfreiheit versendet
date: 2016-08-08T09:11:51+00:00
aliases: erste-testgeraete-fuer-routerfreiheit-versendet
categories:
- blog
- deutsch
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: FrOSCon 2016 Ein Rückblick
date: 2016-08-26T13:57:48+00:00
aliases: froscon-2016-ein-rueckblick
categories:
- blog
- deutsch
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: Endgerätefreiheit testen Es sind wieder Router verfügbar!
date: 2016-09-23T09:23:09+00:00
aliases: endgeraetefreiheit-testen-es-sind-wieder-router-verfuegbar
categories:
- blog
- deutsch
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: „Schluss mit dem Routerzwang“ Radiosendung im Deutschlandfunk
date: 2016-09-01T16:44:26+00:00
aliases: schluss-mit-dem-routerzwang-radiosendung-im-deutschlandfunk
categories:
- blog
- deutsch
tags:
- routerfreedom

View File

@@ -3,6 +3,7 @@ title: Freie Software Definition in Dortmund
date: 2016-10-13T17:22:16+00:00
aliases: freie-software-definition-in-dortmund
categories:
- blog
- deutsch
tags:
- fsfe

View File

@@ -3,6 +3,7 @@ title: Build FSFE websites locally
date: 2016-11-13T23:00:44+00:00
aliases: build-fsfe-websites-locally
categories:
- blog
- english
tags:
- bash

View File

@@ -3,6 +3,7 @@ title: OpenRheinRuhr 2016 A report of iron and freedom
date: 2016-11-09T21:55:53+00:00
aliases: openrheinruhr-2016-a-report-of-iron-and-freedom
categories:
- blog
- english
tags:
- report

View File

@@ -5,6 +5,7 @@ type: post
date: 2017-02-14T07:30:51+00:00
url: /blog/2017/i-love-astroid-ilovefs
categories:
- blog
- english
tags:
- email

View File

@@ -3,6 +3,7 @@ title: 'Idee: Wiki zu gesellschaftspolitischen Positionen von Prominenten'
date: 2017-05-29T10:15:45+00:00
aliases: idee-wiki-zu-gesellschaftspolitischen-positionen-von-prominenten
categories:
- blog
- deutsch
tags:
- policy

View File

@@ -3,6 +3,7 @@ title: FSFE Planet has been refurbished
date: 2019-02-11T10:33:11+00:00
aliases: fsfe-planet-has-been-refurbished
categories:
- blog
- english
tags:
- fsfe

View File

@@ -3,6 +3,7 @@ title: 'Protect freedom on radio devices: raise your voice today!'
date: 2019-03-01T15:09:56+00:00
aliases: protect-freedom-on-radio-devices-raise-your-voice-today
categories:
- blog
- english
tags:
- fsfe

View File

@@ -2,6 +2,7 @@
title: The 3rd FSFE System Hackers hackathon
date: 2019-10-22
categories:
- blog
- english
tags:
- fsfe

View File

@@ -2,6 +2,7 @@
title: I love the hidden champions
date: 2020-02-14
categories:
- blog
- english
tags:
- ilovefs

View File

@@ -2,6 +2,7 @@
title: System Hackers meeting - Lyon edition
date: 2020-03-31
categories:
- blog
- english
tags:
- fsfe

View File

@@ -2,6 +2,7 @@
title: "The power of git-sed"
date: 2020-07-28
categories:
- blog
- english
tags:
- tools

View File

@@ -2,6 +2,7 @@
title: "Docker2Caddy - An automatic Reverse Proxy for Docker containers"
date: 2022-04-25
categories:
- blog
- english
tags:
- tools

View File

@@ -2,6 +2,7 @@
title: "Seafile Mirror - Simple automatic backup of your Seafile libraries"
date: 2023-09-22
categories:
- blog
- english
tags:
- python

View File

@@ -2,6 +2,7 @@
title: "INWX DNS Recordmaster - Manage your DNS nameserver records via files in Git"
date: 2024-11-07
categories:
- blog
- english
tags:
- python

View File

@@ -20,20 +20,35 @@
<div class="metadata-page">
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Languages:</em>
<em>Type:</em>
</div>
<div class="col-xs-9 col-md-10">
<a class="label label-success {{if not $selection}}active{{end}}" href="/blog">All</a>
{{ range $name, $taxonomy := .Site.Taxonomies.categories }}
{{- range $name, $taxonomy := .Site.Taxonomies.categories }}
{{- if in (slice "english" "deutsch") $name }}{{ continue }}{{ end }}
<a class="label label-success {{if eq $name $.Title}}active{{end}}" href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}">
{{- humanize $name -}}
</a>
{{- end -}}
{{- end }}
</div>
</div>
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Tags:</em>
<em>Language:</em>
</div>
<div class="col-xs-9 col-md-10">
<a class="label label-success {{if not $selection}}active{{end}}" href="/blog">All</a>
{{- range $name, $taxonomy := .Site.Taxonomies.categories }}
{{- if not (in (slice "english" "deutsch") $name) }}{{ continue }}{{ end }}
<a class="label label-success {{if eq $name $.Title}}active{{end}}" href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}">
{{- humanize $name -}}
</a>
{{- end }}
</div>
</div>
<div class="row">
<div class="col-xs-3 col-md-2 text-right">
<em>Tag:</em>
</div>
<div class="col-xs-9 col-md-10">
<a class="label label-success {{if not $selection}}active{{end}}" href="/blog">All</a>

View File

@@ -17,14 +17,25 @@
{{ .Date.Format "2 January 2006" }}
</div>
</div>
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Type:</em>
</div>
<div class="col-xs-9 col-md-10">
{{- range .Params.categories }}
{{- if in (slice "english" "deutsch") . }}{{ continue }}{{ end }}
<a class="label label-success" href="/categories/{{ lower . }}">{{ title . }}</a>
{{- end }}
</div>
</div>
<div class="row vertical-align">
<div class="col-xs-3 col-md-2 text-right">
<em>Tags:</em>
</div>
<div class="col-xs-9 col-md-10">
{{ range .Params.tags }}
<a class="label label-success" href="/tags/{{ lower . }}">{{ . }}</a>
{{- end -}}
{{- range .Params.tags }}
<a class="label label-success" href="/tags/{{ lower . }}">{{ title . }}</a>
{{- end }}
</div>
</div>
<div class="row vertical-align">