Alternativen zu Adobe Tools

Adobe hat eine große Sammlung von Produkten, welche mitunter gut, aber eben auch teuer sind. Möchte man kein Abo, nur einzelne Produkte oder offenere Lösungen und Formate, dann sind Alternativen vermutlich der einzige Weg. Alternativen gibt es tatsächlich einige und es gibt auch diverse Listen die selbige zusammentragen, aber eine Liste, die ich sehr umfangreich und gut gepflegt finde, möchte ich heute mit euch teilen.
Die Adobe Alternatives Liste open_in_new ist auf GitHub zu finden, wird von KenneyNL gepflegt und auch die Community kann mithelfen. Solltet ihr kostenlose oder kostenpflichtige Tools für die Bearbeitung von Medien jeglicher Art suchen, dann dürfte ein Blick in diese Liste nicht schaden. Kenney ist mir bekannt da er extrem gute Assets im Kontext der Spieleentwicklung erstellt und selbige kostenlos an die Community weitergibt. Schaut gerne mal auf der Webseite von Kenney open_in_new vorbei und unterstützt seine Projekte bei Interesse.
Dart - Linux Binaries unter Windows erstellen

Im Rahmen meines BoehrsiTweetHub Projekts stolperte ich über das Problem, dass unter Windows gebaute Dart Binaries nicht unter Linux ausgeführt werden können. Diese Problematik ist auch auf GitHub als Issue open_in_new festgehalten und ich finde es spannend das ich darüber nicht schon viel früher gestolpert bin. Doch glücklicherweise war es trotz dessen durchaus einfach die gewünschte Binary zu erzeugen. Einen kleinen Guide findet ihr im unteren Teil der News. Sofern ihr Fragen, Ergänzungen oder ähnliches habt, meldet euch gerne in den Kommentaren.
BoehrsiTweetHub - RSS und GitHub Updates automatisch auf Twitter teilen

Ende des letzten Monats erhielt ich die Information das IFTTT open_in_new leider die Twitter Integration für kostenlose Accounts deaktiviert. Ein Grund dafür dürfte sicherlich sein das die Twitter API selbst nun kostenpflichtig ist, sobald eine größere Anzahl an Requests benötigt wird. Was auch immer der konkrete Hintergrund dieser Entscheidung ist, für mich war klar das ein kostenpflichtiger Account nicht in Frage kommt. Denn auch wenn ich meine Blog Beiträge gerne via Twitter weiterleite, so ist meine Reichweite dort durchaus beschränkt und dafür Geld zu bezahlen würde sich einfach nicht lohnen.
Allerdings bin ich nun mal Softwareentwickler, habe einen Server und falls mal etwas nicht funktioniert überlege ich natürlich selber eine Lösung zu entwickeln. Schnell gedacht und tatsächlich auch schnell gemacht, denn am letzten Wochenende implementierte ich meine eigene Twitter Posting Lösung. Selbige unterstützt neben konfigurierbaren RSS Feeds nun auch GitHub Releases.
Raffle Companion - Erster Release

Bereits Ende letzten Jahres wollte ich mein kleines Gewinnspiel Tool Raffle Companion für die Allgemeinheit verfügbar machen, doch wir wissen ja alles wie gut Pläne manchmal funktionieren. Nun hat es aber endlich geklappt und meine erste Windows App ist im Microsoft Store verfügbar open_in_new. Warum im Microsoft Store kann man nun fragen. Die Antwort ist relativ einfach, denn auf diesem Weg erhalte ich eine sichere, signierte und installierbare Version meines Tools, ohne umfangreiche jährliche Kosten für Zertifikate. Außerdem ist es einfach die App zu installieren und zu verwalten. Ich werde für die nächsten Releases prüfen ob ich zusätzlich ein simples ZIP Archiv anbieten kann, welches dann z.B. via GitHub verfügbar ist.
Patchday - Device Marketing Names aktualisiert

Es ist mal wieder Zeit für neue Versionen meiner Device Marketing Names Libraries für Android und Flutter. Die heute neu erschienenen Versionen (Dart / Flutter Version 0.6.5 open_in_new und Kotlin Version 0.4.4 open_in_new) bringen eine frische Gerätedatenbank, Aktualisierungen der Abhängigkeiten und kleinere Anpassungen mit sich. Die Gerätedatenbank stammt wie immer von meinem Device Identifiers Tool, welches ebenfalls vor kurzem aktualisiert wurde. Es hat im Rahmen des 0.5.0 Releases einige Build Optimierungen und Aktualisierungen von Abhängigkeiten erhalten.
Die Installation der jeweiligen Updates sollte unkritisch sein und unkompliziert von statten gehen. Wer sich genauer informieren will, kann dies wie immer direkt in den jeweiligen GitHub Repositories tun. Folgt dafür einfach wie gewohnt den Related Links. Falls es Fragen gibt können selbige gerne direkt hier in den Kommentaren gestellt werden.
Devlog #2 - Project Space - Initiales Tooling

Heute geht es weiter mit meinem zweiten Game Devlog. Dieses Mal geht es um meine ersten Versuche Dinge umzusetzen und auszuprobieren. Dabei liegt der Fokus vor allem auf meinem initial genutzen Tooling. In der ersten Jahreshälfte 2022 erstellte ich Mockups und versuchte meine vage Idee zu konkretisieren. Dabei arbeitete ich viel analog, einfach auf Papier. Grund dafür war vor allem die Flexibilität ohne Tooling schnell Kleinigkeiten zu visualisieren. Später wechselte ich auf mein gutes altes Rocket Book open_in_new, denn hier habe ich die Freiheit analog zeichnen und schreiben zu können, kann aber gleichzeitig alles schnell und einfach digitalisieren.
Patchday - Device Marketing Names aktualisiert

In den letzten Tagen habe ich meine geplanten monatlichen Updates für meine Device Marketing Names Libraries vorbereitet. Nach etwas mehr Arbeit als gedacht konnte ich selbige nun online stellen und somit sind Version 0.6.3 open_in_new Device Marketing Names - Dart / Flutter und Version 0.4.3 open_in_new Device Marketing Names - Kotlin verfügbar.
Im Dart / Flutter Bereich gab es die gewohnten Updates von Abhängigkeiten und natürlich einen frischen Datensatz, welcher von meinem Device Identifiers Tool geliefert wird.
Die Kotlin Library war dieses Mal etwas mehr Aufwand, da sich mit Gradle 8 open_in_new und dem Android Gradle plugin (AGP) 8 open_in_new einige Dinge geändert haben. Durch diese Breaking Changes musste ich unter anderem die Einbindung von Jacoco open_in_new für die Auswertung der Tests umbauen und auch der Release Flow, welcher über das maven-publish Plugin realisiert wird, musste angepasst werden. Auch wenn das Ganze etwas aufwendiger war als gedacht, kann ich nun direkt auf das offizielle Jacoco Plugin setzen, der Release Flow wurde vereinfacht und einige Stellen im Code sind nun besser strukturiert. Diese Änderungen sollten sich für Nutzer der Library nicht bemerkbar machen, hier dürfte lediglich der aktualisierte Datensatz sichtbar werden.
Unzuverlässige Tests sind ein Problem

Ich bin durchaus ein Freund von Tests in der Softwareentwicklung, auch wenn ich sie ehrlicherweise zu selten nutze. Für mich persönlich ist wichtig wie und wofür man Tests einsetzt, denn einige Arten sind meiner Meinung nach nicht unbedingt das Gelbe vom Ei. Doch über das generelle für und wieder von verschiedenen Testarten möchte ich an dieser Stelle nicht sprechen, denn dafür bräuchte man eine komplette News-Sammlungen und würde vermutlich trotzdem die Hälfte nicht ausreichend betrachten.
Heute möchte ich auf einen Punkt eingehen der alle Arten von Tests mitunter extrem weniger relevant machen kann. Das Thema ist die Unzuverlässigkeit von Testergebnissen. Also Tests die manchmal funktionieren und dann doch wieder nicht und insofern bei der Auswertung unklare Ergebnisse generieren. Diese False Positives und False Negatives sorgen im Laufe der Zeit dafür, dass die Ergebnisse immer weniger ernst genommen werden und somit das Risiko besteht valide Probleme nicht zu erkennen.
Das Risiko derartiger Probleme ist sehr unterschiedlich und stark abhängig von der Art der Tests. Bei Unit Tests dürften solche Probleme eher selten auftreten, da man hier ja in sich geschlossene und lokale Funktionen testen soll. So umfangreicher der Test Flow, so problematischer wird das Ganze allerdings. Auch die Menge an externen Tools und involvierter Software und Hardware beeinflusst die Häufigkeit dieser Problematik maßgeblich. Wenn also Unit Tests eher selten Probleme in diesem Bereich haben, sind End to End Tests oder UI Tests eher anfällig für selbige.
Checklisten in der IT - Mein Fazit nach einem Jahr

Vor einiger Zeit beschrieb ich meinen relativ simplen, aber durchaus praktischen Umgang mit Checklisten. Diese Listen nutze ich nun seit mehr als einem Jahr für die Releases meiner Libraries im Android und Flutter Bereich und auch für App Releases.
Während ich einige meiner Libraries fast monatlich aktualisiere und somit “im Flow bin”, sind vor allem App Releases seltener. Insbesondere hier helfen mir die Checklisten nichts zu vergessen und sie machen mich sogar schneller, da ich einem roten Faden folgen kann. Zuletzt habe ich das beim Release der aktuellen Version der Tessa App gemerkt.
Generell ist es meiner Meinung nach hier egal welches Tooling man nutzt, wichtig ist etwas zu finden was sich schnell und einfach in die eigenen Flows integriert und dadurch eine Hilfestellung zu Abläufen und dem Fortschritt bietet. Denn dann ist eine Checkliste keine zusätzliche Arbeit, obwohl man sie ja pflegen muss, sondern eine nützliche Hilfestellung.
Falls ihr wiederkehrende komplexere Aufgaben habt, kann ich euch nur empfehlen mal einen Blick auf das Thema Checklisten zu werfen. Egal ob Softwareentwicklung, Server-Wartung oder Backups, ein roter Faden hat noch keinem geschadet und ein paar Haken sind wirklich schnell gesetzt. Solltet ihr bereits Checklisten einsetzen, würde mich euer Tooling und eure Herangehensweise sehr interessieren und über Kommentare würde ich mich sehr freuen.
Tessa App Version 2.2 veröffentlicht

Vor wenigen Stunden gab es mal wieder ein geplantes Update für die Tessa App. Ich versuche aktuell meinen „ein mal pro Quartal„ Release-Zyklus einzuhalten und bis dato funktioniert dies meist ganz gut.
Update 2.2.0 bringt ein überarbeitetes User Interface im Kontaktbereich und einen dedizierten Eintrag für die Statistik in der Hauptnavigation. Zuvor war der Statistik-Bereich nur indirekt erreichbar, was meiner Meinung nach eher unpraktisch war. Damit einher geht eine Änderung in der Kalenderansicht, welche die Anzeige der primären Aktivitätskategorie des jeweiligen Monats besser hervorhebt und dem Nutzer die Möglichkeit gibt schnell die dazugehörigen Aktivitäten zu überfliegen. Ebenfalls neu ist die Möglichkeit lokale Backups zu erstellen. Zuvor war es möglich seine Backups z.B. an Google Drive zu senden, was weiterhin eine Option ist, nun kann allerdings auch ein lokaler Geräteordner gewählt werden.