Device Marketing Names - Kotlin im Maven Central Repository
Wie vor einigen Tagen angekündigt bin ich aufgrund von wiederkehrenden Problemen mit Jitpack zu Maven Central gewechselt. Dies beinhaltete Jira Accounts und Tickets, DNS Einträge, einige Änderungen am Code und das Verstehen diverser neuer Abläufe und Tools.
Dafür gibt es nun aber Device Marketing Names – Kotlin in der Version 0.4.0 via Maven Central. Ein weiterer schöner Nebeneffekt ist der neue Package Name, welcher nun de.boehrsi:devicemarketingnames
lautet. Alle neuen Version der Device Marketing Names – Kotlin Library werden in Zukunft via Maven Central verteilt. Einen Migration Guide für bestehende Nutzer gibt es via GitHub open_in_new.
Das eigentliche Deployment ist in Zukunft nicht wesentlich aufwendiger als zuvor, lediglich die initiale Einrichtung war durchaus komplex. In diesem Bereich half mir der Blog Beitrag von Stream.IO open_in_new sehr. Weitere Maven Central Projekte sollten ebenfalls einfacher von der Hand gehen, da ich zum einen den Ablauf nun kenne und zum anderen auch einige Dinge aus dem aktuellen Projekt wiederverwendet kann.
Jitpack Ausfall - Umzug ins Maven Central Repository gestartet
Seitdem ich Libraries für Android entwickle nutze ich Jitpack, da es einfach zu nutzen ist und gut funktionierte. Dies galt sowohl für das Veröffentlichen neuer Versionen, wie auch für das Einbinden der Library als Entwickler. Doch leider hat sich im Laufe dieses Jahres die Verfügbarkeit der Jitpack Services stark verschlechtert. Dies gilt sowohl für das Bauen neuer Versionen, wie auch für die Verfügbarkeit der eigentlichen Server zum bereitstellen der Libraries. Das Resultat sind erst später verfügbare Updates oder gar die komplette Nichtverfügbarkeit von Libraries. Letzteres ist genau jetzt der Fall open_in_new und das bereits seit diversen Stunden, ohne das bis dato mir bekanntes Feedback irgendeiner Art von Jitpack selbst kommuniziert wurde.
Ich habe aus diesem Grund damit begonnen den wesentlich komplizierten Weg über das Maven Central Repository zu gehen. Die ersten Schritte der Migration sind bereits getan und ich hoffe spätestens in der Tagen nach Weihnachten den Umzug abschließen zu können. Ab diesem Zeitpunkt werden meine Android Libraries (“device-marketing-names-kotlin” ) dann signiert über das Standard Repository für Android Libraries verteilt, was hoffentlich zukünftig eine bessere Stabilität und noch einfachere Nutzbarkeit für Entwickler bedeutet.
Material Symbols für Boehrsi.de
In den letzten Tagen habe ich mal wieder ein paar kleine Updates am Blog vorgenommen. Vor allem im Über Bereich habe ich die Darstellung der Bilder und Logos optimiert. Global gab es aber auch Änderungen, denn ich habe mein Icon Set gewechselt.
Zuvor war ich mit den durchaus guten Material Icons open_in_new unterwegs, nun habe ich auf die neuen Material Symbols open_in_new gewechselt. Beide Sets werden von Google als Font zur Verfügung gestellt und die Umstellung war für mich extrem einfach. Lediglich die eingebundene Font und die Basis CSS Klasse musste ich austauschen. Da ich einige CSS Klassen von der Basisklasse ableite, welche dann die Größe und die Positionierung definieren, war der Rest quasi schon gegeben.
Ich bin ein Freund davon alles unter einem Dach zu haben, entsprechend nutze ich das lokale Hosting der Icon Font, wie hier beschrieben open_in_new. Die neuen Icons wirken etwas leichter und gliedern sich besser in das Design meines Blogs ein.
Falls ihr die Icons auch nutzen wollt folgt einfach den Related Links. Dort gibt es nicht nur Informationen für die Nutzung im Web, auch die Plattformen Android und iOS werden bedient. Für Flutter gibt es die Material Symbols zur Zeit leider noch nicht, dies soll sich aber noch ändern.
Humble Mobile Development und Hacking Bundles
Den Großteil meines Wissens im Bezug auf Softwareentwicklung habe ich mir initial selber beigebracht. Wenn ihr ähnliches vorhabt oder aber euer Wissen im Bereich Softwareentwicklung vertiefen wollt, dann schaut euch doch mal die folgenden zwei Bundles an.
Das Humble Tech Book Bundle: iOS, Android, and Flutter: Mobile Development ist nur noch etwas mehr als zwei Tage lang verfügbar und bietet euch bis zu 19 Bücher und Videos zum Thema Mobile Development. Die erste der drei verfügbaren Stufen ist bereits ab 1 € freigeschaltet und alle Inhalte gibt es ab 18,16 €. Unter anderem bekommt ihr Managing State in Flutter Pragmatically, Swift Cookbook und Kickstart Modern Android Development with Jetpack and Kotlin. Eine sehr aktuelle Sammlung von Inhalten zum Thema Mobile Development, welche definitiv einen Blick Wert ist.
Falls ihr eher in Richtung IT Security oder Hacking gehen wollt, dann ist vielleicht das Humble Tech Book Bundle: Hacking by No Starch Press etwas für euch. Hier habt ihr noch entspannte 16 Tage Zeit das Bundle zu erwerben. Vier Stufen, mit einer Preisspanne von 1 € bis 29,07 €, gibt es. Insgesamt könnt ihr 18 Bücher erhalten und mit dabei sind z.B. The Practice of Network Security Monitoring, Cyberjutsu, Black Hat Python, 2nd Edition und Designing Secure Software. Ein sehr spannendes Thema, welches in einer immer digitaleren Welt gefühlt immer relevanter wird.
Alle weiteren Informationen und die Links zu den Bundles findet ihr wie gewohnt in den Related Links.
Hugo Launch Configurations für VSCode
Ich nutze bekanntermaßen Hugo also Lösung für meinen Blog und für diverse weitere Webseiten. Entwickeln tue ich meine Webinhalte in VSCode und dort habe ich während des Debuggings einfach auf der Kommandozeile in der IDE Hugo gestartet. Doch natürlich geht dies einfacher, denn es gibt in VSCode die Möglichkeit durchaus einfach Launch Configurations zu erstellen.
Eine Launch Configuration könnt ihr dann im Run and Debug Tab direkt starten. Die standardmäßig ausgewählte Configuration könnt ihr sogar einfach via F5 ausführen. Dadurch spare ich mir beim Erstellen von Beiträgen und Entwickeln von Webseiten jedes Mal auf neue etwas Zeit und dafür musste ich lediglich die folgenden Schritte ausführen.
Kleine Designverbesserungen für Boehrsi.de
Vor einem Monat erfolgte der Release von Version 8.6 des Blogs und heute gab es noch ein paar Nachbesserungen. Vor allem im Bereich Farben und Konsistenz bezüglich Material 3 wurden Optimierungen vorgenommen. Dies sollte die Lesbarkeit verbessern und dafür sorgen das die Webseite noch etwas mehr wie aus einem Guss wirkt. Ebenfalls angepasst wurde das Formular für die Kommentar, welches bis dato etwas spärlich behandelt wurde.
Geholfen hat mir bei diesem Update eine weiteres Mal das bereits erwähnte Tool Material Theme Builder open_in_new, welches aktualisiert und erweitert wurde. Dort sieht man nun auch eine Vorschau für einzelne Elemente der UI und ein Export des erstellten Themes für Android, Flutter und das Web ist möglich. Ein sehr praktisches Tools, welche auch ohne großes Vorwissen genutzt werden kann.
BeansJam 2022
Game Jams sind anstrengende, aber extrem unterhaltsame und lehrreiche Events, so kann ich zumindest auf meiner Vergangenheit berichten. Neben dem Global Game Jam open_in_new habe ich und auch schon bei einigen Ludum Dares open_in_new teilgenommen und nun gibt es mal wieder den BeansJam. Veranstaltet von den Rocket Beans open_in_new könnt ihr vom 11. bis 13. November versuchen innerhalb von 48 Stunden ein Spiel auf die Beine zu stellen. Das Thema des Jams wird am 11. November um 20 Uhr bekanntgegeben und dann geht es auch direkt los. Einige Teams der Beans werden ebenfalls teilnehmen.
Ein schönes Event, bei welchem ich vielleicht auch teilnehme, sofern es mir die Zeit erlaubt und es sich im Kontext der Entwicklung meines Spiels sinnvoll integrieren lässt. Sollte ich nicht teilnehmen, werde ich das Ganze aber auf jeden Fall in Stream Form verfolgen. Wie sieht es bei euch aus, interessieren euch derlei Events?
Meine Projekte - Fokus auf Game Development
Dem häufigen Leser des Blogs dürfte aufgefallen sein, dass die Menge an Update-News zu meinen eigenen Projekten im Oktober drastisch zugenommen hat. Konkret habe ich alle meine aktuell laufenden Projekte aktualisiert und zusätzlich die jeweiligen Aufwände für Releases minimiert. Grund dafür ist mein geplanter Fokus im Bereich der Softwareentwicklung für die nächsten Monate.
Ich habe bereits häufiger erwähnt das ich im Bereich Spielentwicklung aktiv werden will und selbiges habe ich nun auch umgesetzt. Doch aufgrund des Umfangs und der neu zu lernenden Dinge in diesem Projekt, muss ich sehr fokussiert an diesem arbeiten. Entsprechend bleibt weniger Zeit für meine Apps, Libraries, Services und Webseiten. Da diese aber nicht in Sachen Qualität leiden sollen, habe ich alles auf den neusten Stand gebracht und die Hürde für schnelle und unkomplizierte Releases reduziert. Somit kann ich alles nötige neben dem GameDev Projekt erledigen und es bleibt hoffentlich nichts auf der Strecke. Das bedeutet übrigens nicht, dass es gar keine neuen Features oder ähnliches für die anderen Projekte gibt, denn hin und wieder werde ich Abwechslung brauchen.
Alles in allem bin ich gespannt, ob das GameDev Projekt am Ende etwas nutzbares hervorbringen wird, doch das wird sich erst in der Zukunft zeigen. Ich werde in den kommenden Tagen und Wochen hier im Blog anfangen über das Projekt konkret zu berichten, sodass ihr wisst in welche Richtung es gehen wird.
GitHub - Dependabot & Dependency Graph Support für Dart
Ich nutze GitHub für quasi alle meine Open Source Projekte open_in_new und selbige sind gerne mal in Dart geschrieben. Für Dart fehlte bis dato leider Support für Dependabot und den Dependency Graph. Dies hat sich nun geändert und zusätzlich wurde auch die Advisory Database für Dart freigeschaltet.
Durch Dependabot open_in_new erhaltet ihr die Möglichkeit mit wenig Aufwand eure integrierten Abhängigkeiten automatisiert auf Aktualität und Sicherheit zu prüfen. Gleichzeitig gibt es mit der Advisory Database open_in_new eine große Sicherheitsdatenbank, die gemeinsam mit der Community gepflegt wird. In diesem Kontext können sicherheitsrelevante Fixes privat diskutiert und behoben werden, bevor sie mit der Allgemeinheit geteilt werden. Der Dependency Graph open_in_new gibt euch Informationen darüber welche Pakete ihr nutzt und wer wiederum eure Library verwendet. Durchaus hilfreich in verschiedenen Situationen.
Das Setup ist sehr einfach und kann im jeweiligen Security
Tab eines Projektes aktiviert werden. Ich habe selbiges für alle meine Dart Projekte mal direkt durchgeführt und auch schon die ersten Library Updates basierend auf den Hinweisen des Dependabot durchgeführt. Dies gestaltet sich extrem einfach, denn es werden direkt via Merge integrierbare Pull-Requests erstellt. Sofern ihr GitHub Projekte nutzt, egal ob in Dart oder einer anderen Sprache, werft doch mal einen Blick in den Security Tab, dort gibt es mitunter sehr praktische Funktionen.
Material Theme Builder - Material Design Themes erstellen
In der letzten Zeit habe ich häufiger über Material Design Version 3 berichtet. Sowohl mein Blog, wie auch die Tessa App nutzen Material Design und entsprechend auf die dortigen Farbkonzepte. Doch eine gute Farbzusammenstellung zu finden ist gar nicht so einfach. Deswegen freue ich mich sehr, dass es ein kleines Web-Tool direkt von Google gibt, wo man sich derartige Farbkonzepte erstellen und direkt mit Vorschau anzeigen lassen kann.
Der Material Theme Builder erstellt basierend auf eurer Farbauswahl ein dunkles und helles Theme und generiert eine Vorschau in einer Beispiel App. Letzteres ist vor allem hilfreich, um sich besser vorstellen zu können wie die Themes später wirken. Neben etwaigen dedizierten Design Tools und komplexer Software, ist dieses kleine Web-Tool für mich eine praktische und schnell nutzbare Alternative um Themes zu erstellen.