I’m guilty… I lost my keys… so here is a list of my current PGP Keys:

  • KurzGedanke@pm.me E7E7B4EA
    • C593 DD46 1D18 1A37 E0A4  5715 F328 3F0B E7E7 B4EA
  • thore.jahn@pm.me 8D0AE8A8
    • 868E 62A0 99AF 54BF 1FD3  C61B 09F5 F16E 8D0A E8A8
  • thore.d.jahn@studmail.w-hs.de 92ED93ED
    • 0369 B97F A3B1 8BCD FB25  8466 411B BDF7 92ED 93ED

Click on the Key ID to download the key directly.

If you don’t trust this blog (don’t trust this blog) please look up the keys at your trustworthy keyserver.


Das Bochumer Rathaus von außen.

Seit über einem Jahr steht eine Amazon Alexa in dem Rathaus von Bochum. Aufmerksam bin ich darauf über einen derWesten1 Artikel geworden. Wie sich natürlich rausstellt, sind nicht alle Menschen darüber so begeistert wie es eingehend erwartet worden ist. Und das kann ich sehr gut verstehen.

Grundsätzlich finde ich die Idee von einem Smart Speaker in einem Rathaus ganz cool. Es ist öffentlich, jeder kann ihn nutzen und wieder ein kleiner schritt zur Digitalisierung. Aber... warum Amazon? Warum ein Echo? Klar, es ist komfortable. Aber warum Werbung für ein Unternehmen machen und gar noch eins dessen Ethik recht fragwürdig ist. Dazu kommt noch natürlich die Frage nach dem Datenschutz und was der kleine Dot so alles tolles mithört. Ich würde zumindest nicht wollen, dass meine Gespräche, die ich im Flur eines Rathauses führe von einem Weltkonzern mitgehört werden. Diese können nämlich durchaus sensitive Informationen enthalten.

Dabei gibt es doch Alternativen wie Mycroft AI 2, welche Open Source sind und von haus aus schon Datenschutzfreundlicher sind. Die Bochum Marketing GmbH Argumentiert:

Für die Stadtwerber ist die Zielsetzung klar: „Wer einmal entdeckt hat, dass Alexa Antworten zu Bochum liefert, und den Mehrwert erkennt, der wird sich auch daheim daran erinnern und diesen Kanal nutzen“, so Marketing-Chef Schiefelbein.

Aber was Argumentiert dagegen zweispurig zu Fahren und sowohl die Alexa neben dem Mycroft laufen zu lassen? Ein Backend für den Alexa Skill wird wohl geben.

Um zu schauen ob zum Beispiel zweispurig möglich wäre, habe ich eine FragDenStaat3 gestellt um zu Erfahren, was die Kosten der Aufstellung waren und was die Folgekosten sind, die Echo-Dots zu warten.4

Jetzt heißt es auf die Antwort der Stadt Bochum warten und während dessen im Rathaus zu schweigen.

Rathaus Bild CC BY-SA Frank Vincentz


Es ist Tag 1. Es ist Tag 2 … es ist Tag 4 und der Congress ist für die meisten Menschen um. Doch.. was kommt danach? Tag 5? Tag 6? Ich wusste es nicht. Weihnachtsfeiertage und der Congress haben diese unangenehme Eigenschaft das Zeitgefühl komplett zu zerschießen. Das ist durchaus sehr angenehm, aber durchaus auch schwierig wieder zu finden wenn man sich nicht aktiv dafür entscheidet. Long Story Short: Ich habe einfach mal Vorlesungen verpasst, weil ich der festen Überzeugung war es wäre Mittwoch und nicht Donnerstag. Das war gar nicht mal so angenehm. Aus der Frustierheit überkam mich die Idee meines Lebens. Ich schreibe einen Mastodon Bot.

What The Day?

Screenshot des WhatTheDay botsin.space Accounts

What the day? ist ein Mastodon Bot der alle zwölf Stunden, jeweils um 08:00 Uhr und 20:00 Uhr den Aktuellen Wochentag, das Datum und die Uhrzeit postet. Er ist Open Source und man kann ihn auf GitHub finden.

Wie ist er geschrieben?

Ich war sehr überrascht wie einfach es ist Mastodon Bots in Python zu schreiben. Im Grunde nutze ich zwei Librarys. Ein mal mastodon.py und schedule. Mastodon.py ist einfach eine Python API Wrapper für Mastodon und das hier all der Code den es benötigt um einen Post zu verfassen.

def post():
    '''
    Login for Mastdon and tooting a toot with the current weekday, date and time.
    '''
    weekday = time.strftime('%A')
    dateDMY =time.strftime('%d/%m/%Y')
    clock = time.strftime("%X")

    mastodon = Mastodon(
        api_base_url = 'https://botsin.space/',
        access_token = cred.accessToken
    )
    mastodon.log_in(
        cred.email,
        cred.password,
    )
    mastodon.status_post('Today is {}, the {} and it is {} o\'clock!'.format(weekday, dateDMY, clock), visibility='unlisted')

Die ersten drei Variablen, weekday, dateDMY und clock dienen hier jeweils dazu den aktuellen Wochentag, Datum und Uhrzeit zu bekommen. Dadrunter findet die Anmeldung bei Mastodon statt, wobei cred.$ auf ein weiteres .py file verweist um meine Anmeldedaten aus Git raus zu halten. Bei mastodon.status_post() ist das Argument visibility='unlisted' noch relevant, da es eher ungerne gesehen wird, wenn Bots auf die Lokale Timeline poste. Auch wenn mein Bot auf https://botsin.space/ läuft, möchte ich mich dieser “guten Sitte” anschließen.

def main():
    '''
    Runs the schedule for the toots at 8 o'clock and 20 o'clock.
    '''
    schedule.every().day.at('08:00').do(post)
    schedule.every().day.at('20:00').do(post)
    while True:
        schedule.run_pending()
        time.sleep(1)


if __name__ == "__main__":
    main()

Der letzte abschnitt ist die main Funktion mit der schedule library, die auch recht eingäning zu lesen und zu nutzen ist.

Im Grunde habe ich hier also einen funktionieren Mastodon Bot in knapp 40 Zeilen. Wenn das mal keine Motivation ist, selber einen zu schreiben, dann weiß ich auch nicht.

Zum Schluss läuft der Bot auf einem Raspberry Pi der hier bei mir Zuhause steht. Da ich von Docker und systemd nicht all die große Ahnung habe, habe ich mich bei diesem Ask Ubuntu Eintrag bemüht und den Befehl nohup gefunden, womit der Bot nun ganz gemütlich im Hintergrund läuft. Leider werde ich bei einem Neustart des Pi den Bot ebenfalls Neustarten müssten. Vielleicht investiere ich da mal ein wenig in Docker oder systemd.

Falls ihr noch Fragen dazu habt, könnt ihr mich gerne auf Mastodon kontaktieren. kurzgedanke@chaos.social

Ansonsten wünsch ich euch noch viel Spaß beim eigenen Bot schreiben und um das aktuelle Datum nicht zu vergessen folgt @whattheday@botsin.space!


Die Geschichte von Version 1

Das erste Design von kurzgedanke.me ist mittlerweile ca. ein Jahr alt. Es war das erste goHugo Theme, welches ich mit meinen eigenen Händen geschrieben habe. Ich war lange sehr stolz darauf, aber nach der Zeit haben sich einige Design-Schwächen aufgetan. Gar nicht mal so sehr in der Strukturierung der Website, sondern mehr auf der farblichen Ebene. Dazu kam, dass ich kurzgedanke.me als einen “schlichten” und “schnellen” Blog geplant hatte. Mit jedem einzelnen CSS und Javascript verschwand vor allem die Schnelligkeit. Am Ende war es Bootstrap, jQuery, HighlightJS, OpenDyslexic, Source Code Pro von Google und eigenes Javascript zum Wechseln der Themes. Eigentlich eine ganz schöne Menge und gerade durch meinen eigenen, zugegeben nicht ganz perfekten, Theme Changer dauert es für die ersten meaningful Builds eine Weile.

Design Entscheidungen bei Version 2

Ein Screenshot von KurzGedanke.me

Die Design-Entscheidungen von kurz-hugo-v2 ist dieselbe wie bei der Version 1. Es soll schnell und schlicht sein. Ich schreibe meinen Blog nicht für Werbung, sondern für meinen Content. Und der soll im Vordergrund stehen.

Farben

Zu Beginn stand eine Farbwahl auf dem Plan, das war ja schließlich mein eigener und größter Kritikpunkt an Version 1.

Ich entschied mich also für Folgendes:

$white-bg: #FDFFFC;
$blue-link: #507B8E;
$purple-link: #53375C;
$gray-highlight: #46494C;
$text-black: #020100;

Was wohl am ehesten auffällt ist, dass schwarz und weiß kein 100 % schwarz und weiß sind. Dies kommt noch ein wenig aus meiner 3D Design- und Bildbearbeitungszeit. Im wahren Leben gibt es kein 100 % weiß oder schwarz und ich finde den Anblick davon ein wenig angenehmer, als wenn ich auf einen strahlend weißen Bildschirm schauen. Und das, obwohl die Abweichungen so minimal sind.

Die anderen Farben sind alle durch einen Online-Generator entstanden, da ich es mir nicht zugetraut habe, selber eine komplette Palette zu erstellen. Gerade aber mit dem lila und blau bin ich sehr zufrieden, da es meiner Meinung nach perfekt in die Schlichtheit reinpasst.

Layout

Mit dem Layout kommt mein zweiter Ansatzpunkt:

No more navigation bar!

Ich wollte es schlicht haben. Eine große, dicke, vollgestopfte NavBar, die mit über den Bildschirm schwebt, ist nicht schlicht. Das geht natürlich ein wenig auf die Navigation und ich habe auch noch keine gute Idee, wie ich da etwas einbauen kann, was zum restlichen Design passt und nicht “drauf geklatscht wirkt”. Bis dato sind die unsichtbaren Tags die einzige Möglichkeit, durch den Blog zu suchen.

Das Layout der Blog Einträge gefällt mir schon sehr so, wie es ist, hier muss ich nur noch an dem CSS arbeiten und vor allem an der Responsiveness dessen. Aber auch das kriege ich noch hin - allerdings ist CSS nicht meine allergrößte stärke. g

Technologien

Nicht nur die Farben und das Layout sind geschrumpft, sondern auch die Technologien, die ich nutze.

Von Bootstrap (in der minified Version 127kb) bin ich auf Milligram umgestiegen, welches in der minified Version nur 7kb hat. Plus normalize.css, welches für Milligram notwendig ist, kommen wir damit auf ingesamt 14kb. Das sind 113kb weniger als ein Bootstrap allein. Leider bin ich durch den ‘Theme Changer’ immer noch auf jQuery angewiesen, allerdings mit der voranschreitenden Browser-und Javascript-Technologie ist das das nächste, welches ich gerne loswerden möchte.

Auch wenn die Zahlen in Zeiten des Gigabit-Internets und Edge auf dem Land recht klein klingen, bedeuten diese am Ende des Tages doch Millisekunden, welche erheblich wahrnehmbar sind.

Die Font opendyslexic.org ist als von mir extern geladene Schriftart die Einzige. Der Rest des Blogs nutzt die Georgia Font Family, welche vor allem aus dem Buchdruck bekannt ist und insbesondere auf Geräten mit einer hohen Pixeldichte wunderschön aussieht und ein Buch-Feeling vermittelt.

Cyberpunk

KurzGedanke.me in seinem schwarz und neonpinken Cyberpunk-Theme

Als großer Freund des Cyberpunks war es für mich nur einen kurzen Weg entfernt zu der Entscheidung: “Es muss ein Cyberpunk-Theme geben!”

Inspiration dafür kam dann von der Mastodon Instanz computerfairi.es, bei der ich mir dann die ein oder andere Farbe geklaut habe, welche ich dann auf meinem normalen Dark-Theme aufbaute. Ich weiß bis heute nicht, ob ich dieses Theme selber benutzen möchte, aber irgendwie reizt es mich und meinem inneren Cyberpunk doch schon sehr.

Fazit

Dafür, dass ich kein Designer und auch kein Web-Designer bin, finde ich, dass ich hier etwas abgeliefert habe, wo ich für mich persönlich stolz drauf sein kann. Weitere Arbeiten werden auf jeden Fall folgen und davon gibt es noch recht viele.

Falls du dir anschauen möchtest, was genau ich hier fabriziert habe, findest du das goHugo Theme auf GitHub unter einer MIT License: kurz-hugo-v2

Wahrscheinlich hast du so gar noch Ideen oder Verbesserungsvorschläge für diesen Blog. Diese kannst du mir gerne auf Mastodon mitteilen: chaos.social/@KurzGedanke

Ansonsten wünsche ich dir noch viel Spaß auf kurzgedanke.me!

Lade diesen Artikel als .pdf herunter


Wir alle ❤️ Emojis! Auch wir Menschen am Mac lieben sie, aber für diese war es eine lange Zeit ein Krampf die lieblings Smileys zu benutzen.

Ein animiertes .gif welches das auftauchen des Emoji Pickers zeigt.

Aber hier seht ihr die Erlösung zu all euren Emoji Problemen:

control (^) + command (⌘) + space (␣)

In Schrift bedeutet das, man drückt control, command und space gleichzeitig.

Dazu noch mal eine kleine Illustration, wo sich die Tasten auf der Tastatur befinden.

Eine MacBook Pro 16/16 Tastatur, dessen Control, Commmand und Spacebar rot umkreis sind.

Nun… aber was passiert wenn man diese Tastenkombination drückt? Es öffnet sich der so genannter Emoji-Picker. In diesem kann man seine Lieblings Emojis auswählen, oder gar danach suche. Vor allem für MacBook Pro 1617 Nutzer*innen die in iMessage stundenlang über die Touch Bar streifen um das passende Emoji zu finden erhört das sehr Lebensqualität.

Ein weitere Vorteil besteht darin, dass nicht nur Emojis darin zu finden, sondern auch Mathe Symbole oder andere Symbole die man vielleicht ab und zu im täglichen Leben braucht. Wie das ™ - Symbol.

Ein Screenshot des Emojis Pickers, welches verschiede Mahte Symbole zeigt.

Mit diesem kleinen Trick sollte die Liebe zu Emojis und oder ungebräuchlichen Symbolen auf jeden fall befriedigt sein.