GitHub Universe - Das Programm steht fest

In ziemlich genau zwei Wochen, nämlich vom 08. bis 10. Dezember, findet das GitHub Universe Event statt und ihr könnt euch bereits jetzt euren Programmplan zusammenstellen open_in_new. Bei Interesse könnt ihr aus einem der drei Tracks Developer, Enterprise und University wählen. Eine bunte Auswahl an Vortragenden zu verschiedensten Themen im GitHub Kosmos gibt es. Solltet ihr im Open Source Bereich unterwegs sein oder einfach nur hin und wieder mit Git arbeiten, dürfte ein Blick ins Programm des Events nicht schaden.
Unter anderem könnt ihr euch zum Thema Security und GitHub Actions informieren, was für GitHub Nutzer sehr interessant sein dürfte. Ich habe zuletzt angefangen meine ersten GitHub Actions zu nutzen und bin sehr zufrieden. Ich werde mir das Event auf jeden Fall näher anschauen und werde mir wohl am Wochenende mein Programm zusammenstellen. Wie sieht es bei euch aus, seid ihr auf GitHub aktiv und interessiert euch GitHub Universe?
Dart Null Safety Beta erschienen

In den letzten Monaten arbeitete ich sehr aktiv mit Kotlin und Dart, aus diesem Grund bin ich sehr froh das Dart im Bereich Null Safety vorankommt. Seit wenigen Tagen ist Null Safety in Dart als Beta Feature verfügbar und kann genutzt werden. Dafür muss das genutzte Dart Environment auf mindestens 2.12 gesetzt werden, weitere Infos dazu gibt es in der offiziellen Dart Dokumentation open_in_new. Für alle die mit dem Thema nicht Ad-Hoc etwas anfangen können, im unteren Teil der News gibt es ein schönes kleiner Videos, welches Null Safety schnell und einfach erklärt.
Mir wird dieses Feature, sobald es stabil verfügbar ist und alle Plugins aktualisiert wurden, definitiv helfen besseren Code zu schreiben. Zu diesem Schluss komme ich auf Grund meiner Erfahrungen mit Java und Kotlin. Denn während man in Java Null einfach so nutzen kann, ist Kotlin strikter und wirft schon bei der Implementierung wesentlich mehr Fehler, sodass man den Code sicher und sauber schreiben kann.
Initial ist an viele stellen ein Umdenken nötig, gerade in langen Ketten von Methodenaufrufen ist man vielleicht etwas genervt und ein paar Abläufe müssen vielleicht sogar generell überdacht werden, aber am Ende lohnt es sich. Die Menge an Null Pointer Exceptions, wie man sie aus Java kennt, verschwindet quasi sofort. Der Code erlaubt es dem Entwickler generell mehr Annahmen zu treffen und sich bezüglich der Werte von Variablen sicher sein zu können. Es muss nur noch einmal über das Für und Wider von Null für eine bestimmte Variable nachgedacht werden, danach hilft einem die IDE.
Wichtig ist abschließend, das Feature als Hilfe anzunehmen und es zu verwenden, denn es überall erzwungen zu überschreiben macht nicht nur das Feature an sich nutzlos, sondern auch den Code fehleranfällig und einfach gesagt schlechter. Und das will ja keiner, denn ein guter Entwickler kümmert sich um seinen Code und ein guter Entwickler will sauberen und performanten Code.
Flutter Complete Reference - Der Guide zum Flutter lernen

Es gibt viele Wege um etwas zu lernen und ich persönlich finde im Kontext von Programmiersprachen vor allem echte Beispiele und damit verbunden eine gute Dokumentation sehr wichtig.
Solltet ihr Interesse an Flutter haben und ein umfangreiches Kompendium (auf englisch) suchen, inklusive Beispielen und diversen weiteren Informationen, verpackt in eine große Reise quer durch das Flutter Universum, dann solltet ihr euch vielleicht mal Flutter Complete Reference ansehen.
Ich selbst kam leider noch nicht dazu mir das Buch, welches digital und als gedruckte Variante verfügbar ist, anzuschauen, aber die Bewertungen auf z.B. Amazon klingen vielversprechend. 35 € für die Kindle Variante und ca. 49 € für das gedruckte Buch werden verlangt, was für ein umfangreiches Lehrbuch absolut in Ordnung ist wie ich finde.
Ich persönlich lerne selten mit Büchern, aber ich kenne viele die gerne einen konkret definierten Weg gehen und mit der Flutter Complete Reference könnte ich mir vorstellen, kann man dies gut umsetzen. Die Webseite zum Buch ist übrigens auch sehr schön gemacht. Es gibt diverse Beispiele, Ressourcen, eine kleine Vorschau und sogar ein Quiz. Vor allem letzteres finde ich sehr unterhaltsam und durchaus fordernd. Alle Amazon Links sind Affiliate- / Partner-Links die meinen Blog unterstützen.
Google Developer Profiles Beta

Solltet ihr in der Android oder Google Welt unterwegs sein, könnte euch vielleicht interessieren das Google scheinbar auch an Entwickler Profilen arbeitet. Also eine kleine Seite über euch selbst, wo ihr zeigen könnt was ihr entwickelt habt, welche Tools ihr gerne nutzt und welche Techniken relevant für euch sind.
Im Rahmen der Google.dev Plattform könnt ihr bereits Informationen zu verschiedenen Themen einholen oder mittels Codelabs und Tutorials neues lernen. Verbunden damit könnt ihr Badges erhalten und zeigen das ihr euch mit einer Technologie auskennt. Diese Informationen und einige weitere werden dann in eurem Profil hinterlegt. Das Ganze befindet sich derzeit in der Beta Phase. Bei Interesse folgt einfach den Related Links, um euer Profil zu erstellen oder etwas neues zu lernen.
Flutter Build Probleme beheben - Failed to transform libs.jar

Derzeit stolpere ich hin und wieder, vor allem aber nach dem Ausführen von flutter clean
, über den Fehler Failed to transform libs.jar. Dieser weist konkreter entweder auf debug\libs.jar
oder profile\libs.jar
hin.
Dieses Problem ist durchaus nervig, weil es jegliche Release Builds blockiert. Beheben lässt es sich zum Glück aber relativ einfach, denn je nach vorangegangener Fehlermeldung müsst ihr einfach nur den passenden Build ausführen, welcher die fehlenden Dateien generiert.
# Falls der Fehler debug\libs.jar referenziert
flutter build apk --debug
# Falls der Fehler profile\libs.jar referenziert
flutter build apk --profile
Es ist durchaus möglich das ihr beide Befehle nacheinander ausführen müsst, weil beide Dateien fehlen, achtet also genau auf die Fehlermeldung. Generell hoffe ich, dass das Flutter / Gradle / Android Studio Team die Problematik zeitnah in den Griff bekommt, denn solche Bugs klauen einem gerne die eine oder andere Entwicklungszeit.
Flutter Vikings Konferenz

Es gibt mal wieder die eine oder andere spannende Neuigkeit im Flutter-Land. Selbige möchte ich euch natürlich nicht vorenthalten und entsprechend hier der Hinweis auf die kostenlose Flutter Vikings Konferenz.
Vom 17. bis 19. November findet die Konferenz statt, entsprechend dem aktuellen globalen Zustand natürlich rein digital. Die Tickets sind kostenlos und mit wenigen Klicks landen sie in eurer Inbox.
Es gibt ein umfangreiches Lineup, z.B. mit dem BloC Entwickler Felix Angelov und auch die Agenda steht bereits. Die genauen Informationen findet ihr auf der Website, die in den Related Links hinterlegt ist. Sollte euch das Thema Flutter interessieren, kann ich euch nur empfehlen mal einen Blick auf das Event zu werfen, ich werde dies auf jeden Fall tun.
Mein Weg zum "richtigen" CSS Framework

Vor ein paar Tagen wurde ich in den Kommentaren gefragt wie ich zu Bulma kam, bzw. wie ich es im Vergleich zu anderen Frameworks sehe. In diesem Kontext vorweg schon einmal die Information, ich habe mir die Frameworks allgemein und oberflächlich angeschaut, kam zu Bulma und mache dort nun meinen ersten kompletten Tests, inklusive Implementierung.
Daraus ergibt sich, dass ich die anderen Frameworks bis dato noch nicht aktiv genutzt habe und meine Aussagen hier auf meinen Ersteindrücken basieren. Für mich waren in diesem Rahmen vor allem die folgenden Punkte relevant, bzw. bildeten die Anforderungen.
Statusseite für Boehrsi.de

Auch wenn ich aktuell eher nicht so fit bin, eine kleine News zum Ende der Woche muss noch sein. Denn letztes Wochenende habe ich im Rahmen meiner Tests mit dem Bulma CSS Framework eine kleine Status Website für den Blog erstellt. Für mich persönlich ist es wichtig, dass neue Dinge die ich teste mit sinnvollen Testcases oder Projekten verbunden sind und eine ordentliche Statusseite wollte ich schon lange erstellen.
Solltet ihr also Informationen zum Status des Blogs, den Services oder meinem aktuellen News-Schedule wollen, dort hinterlege ich alles. Außerdem gibt es dort auch den Link zu meinem Live-Monitoring. Den Link zur Statusseite open_in_new findet ihr ebenfalls auf der About Seite hier im Blog.
Das ganze liegt natürlich nicht auf meinem Server, denn dann wäre die Seite ja nicht erreichbar wenn es mal Probleme gibt, was durchaus ironisch für eine Statusseite wäre. Die Website liegt bei GitHub und wird dort auch automatisiert gebaut. Aktuell führe ich Updates manuell On-Demand durch, aber eine weitere Automatisierung wäre denkbar, falls benötigt. Zum gesamten Setup und dem Deployment werde ich noch ein paar Worte in einer extra News-Sammlung verlieren, da das Thema meiner Meinung nach durchaus interessant ist und mir die ganze Aktion einigen Spaß gemacht hat.
Abschließend noch ein paar Worte zu Bulma. Mithilfe des CSS Frameworks konnte ich schnell eine durchaus hübsche Website erstellen, die responsive ist und zugleich einfach wartbar. Ich bin weiterhin durchaus zufrieden und überlege zur Zeit welche größeren Projekte ich privat mit Bulma umsetzen könnte.
I'm a coder - Code Quality != true

Software kann in sehr unterschiedlichen qualitativen Zuständen sein. Manchmal startet man bei Null und kann alles frisch und gut entwickeln, mal übernimmt man eine betagte Legacy Software und manchmal findet man eine gut dokumentierte und gepflegte Software zum weiterentwickeln vor.
Sowohl in privaten, wie auch in professionellen oder Open Source Projekten findet man diese verschiedenen Typen und diverse Abstufungen von selbigen, zum guten und zum schlechten. Ich war bis dato meist an frischen Projekten beteiligt, wo ich die Architektur mit definierte und die Konzepte tiefgehend Verstand. Bereits laufende Projekte betreute ich ebenfalls, meist aber nicht extrem tiefgehend oder aber die Projekte waren durchaus gut strukturiert und verständlich.
Mit diesen Ansätzen und den entsprechenden Aufgaben konnte ich gut umgehen, doch aktuell stehe vor einer neuen Herausforderung, die meiner Meinung nach eine Erwähnung wert ist. Denn als Entwickler wird man über selbige früher oder später stolpern und man sollte auch mit dieser umgehen können.
Es geht um Software die gewachsen ist, über lange Zeit und vielleicht nicht die Liebe und Zuneigung erfahren hat die sie sollte. Software die einen manchmal mit der Stirn runzeln lässt und manchmal möchte man das Keyboard liebevoll in viele kleine Teile zerschmettern.
Bulma CSS Framework - Mein erstes Fazit

Ich interessiere mich neben der App-Entwicklung bekanntlich auch für die Erstellung von Webseiten, wie vielleicht dieser Blog zeigt. Generell arbeite ich gerne mit wenig externen Abhängigkeiten in diesem Bereich, doch manchmal sollte man ja auch etwas neues ausprobieren.
Mit einem Kollegen zusammen erstelle ich hin und wieder kleinere Webprojekte und zuletzt haben wir uns entschieden, auch in diesem Bereich auf den Static Site Generator Hugo zu wechseln. Zur Vereinfachung der Layout-Entwicklung wurde vorgeschlagen ein CSS Framework zu nutzen, worauf ich aus oben genannten Gründen erst einmal skeptisch reagierte. Nach diversen Reviews und Test entschieden wir uns aber Bulma eine Chance zu geben und bis dato bin ich durchaus zufrieden.
Bulma ist ein CSS Framework, welches diverse Basis Komponenten, Layout Strukturen und kleinere Elemente liefert. Das ganze ohne unnötiges JavaScript, dafür aber modular und direkt mittels einer einzelnen CSS Datei nutzbar. Für mich persönlich war ebenfalls wichtig, dass man vorhandene Komponenten ohne großen Aufwand anpassen kann. Auch hier steht Bulma nach meinen ersten Tests sehr gut da. Denn ich lud mit lediglich die neuste Version herunter, welche diverse SASS Dateien beinhaltet, importierte selbige mit einer Zeile in meiner SASS / SCSS Datei und überschrieb die gewünschten Variablen. Diese Variablen, wie auch fast alles andere, sind extrem gut dokumentiert, was ein massiver Pluspunkt im Vergleich zu einigen anderen CSS Frameworks ist.
Bis dato probierte ich vor allem mit kleineren Projekten herum und ein umfangreicher Test mit einem sehr komplexen Custom Layout steht noch aus, doch zur Zeit bin ich sehr zufrieden mit Bulma als CSS Framework. Habt auch ihr schon mit CSS Frameworks gearbeitet und wenn ja, was nutzt ihr am liebsten?