Let’s Encrypt Zertifikate und Apache Reverse Proxy

Solltet ihr auf eurem Server Web-Services betreiben, die über einen Reverse Proxy von Apache angebunden sind und ihr wollt eure HTTPS-Only-Domains trotzdem automatisiert via Let’s Encrypt schützen lassen, dann könnte euch die folgende kleine mod_proxy Direktive vielleicht helfen.
Vorab kurz ein paar Worte zu meinem Setup. Ich habe einige Subdomains für selbst geschriebene Web-Services, die ich nur via HTTPS ansprechen möchte (automatische 3xx Weiterleitung für alle HTTP Requests). Für HTTPS Requests habe ich daher via mod_proxy die entsprechenden Weiterleitungen festgelegt, um die jeweiligen Web-Services via Apache Reverse Proxy verfügbar zu machen. Die SSL Zertifikate gibt es via Let’s Encrypt.
Nun kollidiert dieses Setup aber mit der automatischen Erneuerung von Let’s Encrypt Zertifikaten. Grund dafür ist der notwendige Zugriff des Let’s Encrypt Toolings auf den .well-known
Ordner.
Droidcon 2021 - Videos der Sessions / Events online anschauen

Die Droidcon dürfte den meisten Android Entwicklern ein Begriff sein und auch wenn ich dieses Jahr kein vor Ort Event besucht habe, so möchte ich natürlich trotzdem die mitunter sehr guten Inhalte der Platform erwähnen. Denn die meisten Droidcon Talks werden hochgeladen, sodass man sie auch bequem von zu Hause ansehen kann.
Egal ob Droidcon Berlin, London oder San Francisco, eine Übersicht aller Videos aus dem letzten Jahr findet ihr in den Related Links. Außerdem gibt es auch eine Reihe von Webinaren für euch. Viel Android Content für die Feiertage würde ich sagen.
I'm a coder - Java ist so böse...

Ich bin Softwareentwickler und ich nutze Java. Laut Twitter müsste ich mich nun schlecht fühlen, doch überraschenderweise ist dies gar nicht der Fall. Doch warum schreibe ich so etwas überhaupt? Im Rahmen der als Log4shell open_in_new bekannten Sicherheitslücke, in der weit verbreiteten Java Library Apache Log4j 2 open_in_new, gab es natürlich auch diverse verallgemeinerte undifferenzierte Aufrufe Java zu verteufeln. Dabei will ich vorab klarstellen das Java bei weitem nicht das Allheilmittel für die Probleme der Softwarewelt ist, aber eben auch nicht die grundlegende Quelle all dieser.
Flutter 2.8 erschienen

Bereits vor ein paar Tagen erschien eine neue Flutter Version. Das Framework hat nun die Versionsnummer 2.8 auf dem Stable Channel. Damit einher geht ein Update der Programmiersprache Dart auf die Version 2.15.
Dieses Update fokussiert sich auf die Performance des Frameworks und dabei vor allem auf Optimierungen im Mobile Bereich. Weniger Speicherverbrauch, flüssigere grafische Abläufe und ähnliche Dinge sollen durch das Update möglich werden. Außerdem ist die Anbindung an Firebase und die Google Cloud verbessert worden. Dadurch sollen Entwickler schneller mit den genannten Backend Lösungen arbeiten können.
Ebenfalls spannend ist, dass die 2D Game Engine Flame, welche auf Flutter aufsetzt, auch einen Versionssprung gemacht hat. Hier hat man nun die stabile Version 1.0 veröffentlicht, was interessierte Spieleentwickler vielleicht spannend finden. Die Engine ist modular aufgebaut und ich selber plane sie mir im kommenden Jahr mal näher anzusehen.
Generell bringt die neue Flutter Version wenige sichtbare Änderungen, aber dies ist auch gar nicht nötig. Nicht jeder Release muss neue Inhalte bringen, denn ein Framework muss allem voran eine solide und performante Basis schaffen. Damit können wir Entwickler dann unsere Aufgaben erfüllen und Apps entwickeln. Ich selbst habe bereits seit einiger Zeit auf der Version 2.8 gearbeitet, da ich seit längerem auf dem Beta Channel unterwegs bin. Bis dato sind mir keine Nachteile oder Probleme aufgefallen. Insofern sollte einem Update eher wenig im Wege stehen.
Planmäßige Serverwartung mit kurzer Ausfallzeit

Innerhalb der nächsten ein bis zwei Stunden kann es zu kurzzeitigen Ausfällen des Servers und der darauf laufenden Dienste kommen. Grund dafür ist ein planmäßige Wartung meinerseits. Im Rahmen selbiger werden eine Reihe von Updates an Kernsystem vorgenommen und einige Konfigurationen angepasst. Damit verbunden ist mindestens ein Neustart des Servers.
Ich gehe von einer Ausfallzeit von wenigen Minuten aus, sodass es den meistern Nutzern gar nicht auffallen sollte. Sollte es zu Probleme o.ä. kommen, findet ihr wie gewohnt alle weiteren Informationen auf meiner Status Seite open_in_new.
Update - 12.12.2021 - 17:15 Uhr
Die Wartung wurde erfolgreich durchgeführt und alle Systeme sind jetzt wieder aktiv.
GitHub Wrap - Euer Jahresrückblick

Vor ein paar Tagen habe ich bereits über generelle Statistiken für euer GitHub Profil berichtet. Doch wie sieht es mit einer kleinen Jahreszusammenfassung aus? Schön aufbereitet, kurz und knapp zusammengefasst und das Ganze mit nur wenigen Klicks.
GitHub Wrap will euch genau das liefern. Einfach euren Username eintragen und schon erhaltet ihr eine Übersicht, wie euer Jahr 2021 auf GitHub so aussah. Falls euch derartige Informationen interessieren, folgt einfach den Related Links. Als Beispiel habe ich mal meine Statistik hier hinterlegt open_in_new, falls sich jemand dafür interessiert.
Flutter - Entwickler Umfrage Q4 2021

Schon wieder ist ein viertel Jahr vergangen und das Flutter Team fragt nach eurem Feedback. Selbiges kann im Rahmen einer kurzen Umfrage – ich habe ca. 5 Minuten gebraucht – abgegeben werden. Feedback dieser Art mag in manchen Umgebungen unterzugehen, aber im Flutter Kontext fühle ich mich zumindest gehört und kann jedem Entwickler in diesem Bereich nur empfehlen diese paar Minuten zu investieren.
Nur mit Feedback von aktiven Entwicklern können sich Sprachen und Frameworks aktiv in eine Richtung entwickeln die für euch relevante Änderungen bringt. Entsprechend ist der Kosten / Nutzen aufwand relativ gering, wenn man bedenkt das ihr hier mehr oder weniger direkten Einfluss auf die Basis eures Daily Doings nehmen könnt.
Den Link zur Umfrage findet ihr wie gewohnt in den Related Links. Bei Fragen oder Anregungen meldet euch gerne in den Kommentaren.
GitHub Statistiken - Einfach und schnell Account-Statistiken erstellen

GitHub ist eine der bekanntesten Plattformen, wenn es um die Verbreitung von Open Source Projekten geht. Auch ich habe dort einige Projekte open_in_new und helfe bei einigen anderen Projekten mit. Nun möchte man vielleicht gerne mal zeigen was man geschafft hat und woran man arbeitet.
Dafür gibt es ein kleines Tool, ebenfalls via GitHub, welches euch schön aufbereitete Statistiken liefert und das quasi ohne Aufwand. https://github-readme-stats.vercel.app/api?username=boehrsi open_in_new zeigt z.B. Statistiken zu meinem Profil an, es ist keine Anmeldung o.ä. nötig. Konfigurierbar ist das Ganze auch noch und neben Statistiken zu euren Leistungen, gibt es auch Daten zu euren meistgenutzten Sprachen. Falls ihr Interesse an derartigen Statistiken habt, folgt einfach den Related Links. Dort findet ihr das Repository sowie alle weiteren Informationen zur Nutzung.
Device Identifiers - Android und iOS Gerätenamen Mappings

Im Rahmen meiner Mitarbeit an den Flutter Plus Plugins open_in_new gab es die Anfrage die Produktnamen / Marketing-Namen für Android und iOS Geräte ausgeben zu können. Da dieser Use Case vermutlich eher für eine kleine Anzahl von Entwicklern wichtig ist, wurde entschieden diese Funktionalität nicht direkt in die Plus Plugins zu integrieren.
In diesem Bereich gibt es zwar schon Lösungen, aber einige basieren auf nativen Android / iOS Libraries und einige benötigen eine SQLite Library. Diese Anforderungen gefielen mir nicht, da man am Ende lediglich ein Mapping vom Gerätemodel auf den Produktnamen braucht. Das Model kann relativ einfach ausgelesen werden (z.B. via dem Flutter Plugin device_info_plus open_in_new) und alles weitere kann nicht nur ausschließlich auf der Dart Ebene erledigt werden, sondern das auch mit relativ einfachen Mitteln.
Am Ende braucht man wie oben erwähnt einfach nur eine Map der Daten, welche die Übersetzung von Model zu Name ermöglicht. Dies zu programmieren ist natürlich trivial, auch wenn man auf Dinge wie Lazy Loading achten sollte. Das Problem ist hier einen korrekten und möglichst vollständigen Datensatz zu haben.
Flutter - Einfache Navigation mit go_router

Navigation in Apps ist ein wichtiges Thema, denn auch wenn die Flows relativ simpel erscheinen, so gibt es mit Deep-Links, dem Handling von Fehlern und generell konditionalen Abläufen viele Dinge die die Navigation verkomplizieren können.
Im Flutter Kontext hat man darüber hinaus noch das Problem mobile Plattformen, Desktopsysteme und auch das Web bedienen zu wollen. Um hier alle zufrieden zu stellen wurde mit Navigator 2.0 open_in_new ein umfangreiches, aber auch sehr komplexes Konstrukt erschaffen. Selbiges ermöglicht es quasi alles umzusetzen was man möchte, aber dafür muss man auch für mitunter simple Abläufe etwas tiefer in die Code-Trickkiste greifen.
Damit der geneigte Entwickler aber nicht verzweifelt, wurde von einem der Flutter Product Manager mit go_router ein Flutter Package entwickelt, welches die Nutzung von Navigator 2.0 vereinfachen aber nicht einschränken soll. Ich plane aktuell das Package für laufende und kommende Projekte einzusetzen, denn erst Recherchen stimmen mich sehr zuversichtlich. Ich selbst hatte bis dato noch nicht viele Probleme mit der Navigation, aber einfach waren die Abläufe meist auch nicht und vor allem im Bereich Deep-Links könnte ich meine Apps sicherlich noch optimieren.