ClearlyDefined - Open Source Metadaten einheitlich definieren

Open Source Software ist eine feine Sache. Zum einen kann man gemeinsam etwas erschaffen und zum anderen können andere mit der eigenen Arbeit selbst vorankommen. Gemeinsam schafft man hier einiges, sofern alles innerhalb von gewissen Rahmenbedingungen strukturiert ist. Doch genau diese Struktur zu finden ist nicht immer leicht. Ein Aspekt davon ist z.B. wo eigentlich der Source Code eines Open Source Projekts liegt, welche Lizenz genutzt wird und welche Autoren genannt werden müssen. Diese Dinge sind wichtig bei der Nutzung von Open Source, denn nur wenn man sich an die Regeln hält, wofür man selbige eben kennen muss, kann alles funktionieren. Aus diesem Grund gibt es mit ClearlyDefined nun einen Ansatz der hier helfen will. ClearlyDefined ist ein Projekt der Open Source Initiative open_in_new (OSI) und hat als Ziel Hilfestellungen und Ansätze zu geben, um erwähnte Metadaten bereitzustellen, nutzbar zu machen und vor allem klar zu definieren. Dadurch soll das miteinander effizienter werden und der Overhead wird reduziert. Ich selbst werde meine Open Source Bemühungen gemäß dem Projekt veröffentlichen. Zu beachten ist, ClearlyDefined ist aktuell noch in der Entstehungsphase.
Android Studio - NoSuchMethodError für Dependencies

Die meisten Android Entwickler arbeiten sicherlich mit der einen oder anderen Library, welche sie als Abhängigkeit via Gradle einbinden. Die Abhängigkeiten können dabei über Repositories via Internet verfügbar sein oder als lokale Dateien. Änderungen an Repository Dependencies bekommt Android Studio dabei relativ gut mit, problematisch wird es aber mit Änderungen an lokalen Libraries, z.B. wenn man für sich oder seine Firma Funktionalität gekapselt hat und es für eben solche ein Update gab. Ich hatte in der letzten Zeit häufiger das Problem, dass ich das Projekt via Gradle auf der Kommandozeile bauen konnte, aber Android Studio den aktualisierten Code nicht kannte. Ich versuche vieles, invalidierte Caches und baute Projekte neu. Alles in allem reicht aber einfach in der Gradle View “Refresh all Gradle projects” zu wählen. Die Gradle View erreicht ihr indem ihr ganz rechts oben in Android Studio den Gradle Reiter wählt. Klickt dort dann auf das Refresh Symbol und alle Sources sollten aktualisiert werden.
Droidcon 2018 - Ticket-Vorbestellung

Ende Juni ist es wieder soweit und die Droidcon steht in Berlin an. Bereits in die zehnte Runde geht die Konferenz und auch ich werde vermutlich wieder mit dabei sein. Solltet auch ihr Interesse haben, schaut am besten bis zum 28. Februar auf der Website vorbei. Denn dies ist die Deadline für die günstigeren Super Early Bird Tickets. Ich war bereits 2016 vor Ort und habe die Zeit sehr genossen. Letztes Jahr machte ich lediglich eine Pause, da das Event mit meiner Hochzeit kollidierte. Das genaue Datum ist der 25-27. Juni 2018.
Awesome List - Tipps und Tricks zu diversen IT Themen

Vor ein paar Wochen schrieb ich über ein paar CSS Pro-Tipps. In diesem Zuge stieß ich auf die Awesome Lists. Eine Sammlung von Tipps und Tricks auf GitHub. Thematisiert wird quasi alles, von Plattformen wie Android, über theoretische Talks, bis hin zu Backendthemen, z.B. aus dem Bereich Docker, gibt es alles. Über 20 Kategorien, mit jeweils diversen Unterbereichen gibt es zu entdecken. Egal woran ihr im Bereich Softwareentwicklung oder IT generell interessiert seid, die Chancen stehen gut, dass es hier das eine oder andere zu entdecken gibt. Ich selbst kam nur kurz dazu etwas zu stöbern, werde dies aber in den nächsten Tagen noch etwas vertiefen. Solltet ihr etwas Interessantes finden, würde ich mich über einen Hinweis in den Kommentaren freuen.
Annotation Processing in Android Studio aktivieren

Android Studio ist die erste Wahl für Android Entwickler und Annotation Processing ist eine Funktion auf die ebenfalls viele setzen. Dies ist generell kein Problem, doch unter Android Studio kann es zu nervigen Meldungen kommen, sobald man z.B. das Lombok Plugin nutzt. Besagte Nachtrichten weisen dann daraufhin, dass man Annotation Processing aktivieren müsse damit Lombok funktioniert. Das Problem ist, das Setting ist nicht wie in IntelliJ direkt verfügbar. Ihr könnt unter File / Other Settings / Default Settings / Build, Execution, Deployment / Compiler / Annotation Processors den Standard für folgende Projekte einstellen, doch in aktuellen Projekten wird die Meldung weiterhin erscheinen. Welche nebenbei erwähnt falsch ist, denn auch wenn diese Funktion nicht explizit in Android Studio aktiviert ist, funktioniert sie.
Humble Book Bundle: Mobile App Development by Packt

Ich schreibe recht selten über die Humble Book Bundles, da sie sehr häufig nicht meinen favorisierten Thematiken entsprechen. Doch das aktuelle Bundle passt perfekt zu mir und meinem Blog. Aus diesem Grund schlage ich vielleicht sogar zu. Das Bundle hört auf den Namen Humble Book Bundle: Mobile App Development by Packt und bietet genau das. Diverse Bücher zum Thema App Entwicklung. Android und iOS werden bearbeitet, inklusive der IDEs und auch Kotlin und Swift sind ein Thema. Dazu gibt es noch einiges zu Cross Plattform Entwicklung und React Native. Über 20 Bücher gibt es für maximal 15 Dollar, wer weniger bezahlen will kann aber auch eine darunter liegende Stufe wählen. Schaut auf jeden Fall mal rein wenn euch das Thema ebenfalls interessiert, noch ca. zwölf Tage verbleiben. Alle Humble Bundle Links sind Affiliate- / Partner-Links die meinen Blog unterstützen.
Firefox Version 58 erschienen

Seit wenigen Tagen ist Firefox 58 per Auto-Update verfügbar. Diese Version bringt weitere Performance Verbesserungen mit sich, vor allem durch Optimierungen beim Grafik-Rendering und JavaScript Caching. Firefox Screenshots wurde um eine direkte Copy to Clipboard Funktion erweitert und ist nun ebenfalls im privaten Modus verfügbar. Unter Android ist nun Progressive Web App Support gegeben und die Einstellung für die Sync Funktion wurden erweitert. Die Bookmark Verwaltung kann nun Fullscreen erfolgen, FLAC Content kann abgespielt werden und die Status Bar kann angepasst werden. Zusätzlich gibt es auf allen Plattformen natürlich die obligatorischen Bugfixes und Security Fixes.
Gitea - Erfolgreiche Migration und mein Setup

Wie bereits angekündigt war es mein Plan komplett auf Gitea zu migrieren, von zuvor Gitlist. Dies habe ich nun getan und ich bin wirklich zufrieden. Es gab wenig zu tun, allem voran weil die Installation aus dem herunterladen einer Binary open_in_new besteht. Der Rest der Einrichtung erfolgt dann über das Webinterface, was sogar für die Migration der bereits auf dem Server befindlichen Repositories gilt. Sehr praktisch und einfach, lediglich ein paar manuelle Schritte musste ich durchführen.
Ein paar CSS Pro-Tipps

Egal welches Frontend man nutzt, CSS ist immer mit dabei. Es gibt mittlerweile sehr viele Wege eine Website zu erstellen und das ist auch gut so, doch zum stylen kommt man um CSS (eventuell mit Präprozessor) nicht herum. Aus diesem Grund wollte ich eine Liste von Tipps mit euch teilen, welche ich bei GitHub gefunden habe. Ich habe von dort z.B. eine Komma-Separierte-Liste via CSS gefunden, welche ich für meinen neuen Blog nutze. Diverse weitere konkrete Tipps findet ihr dort ebenfalls. Wenn ihr nach allgemeinen Hinweisen und Tutorials sucht, solltet ihr euch allerdings eine andere Quelle suchen (z.B. auf w3schools.com open_in_new), da die Tipps in diesem Repository relativ spezifisch bestimmte Probleme angehen.
Arbeiten mit der Android WebView

Ich arbeite sowohl in meinen privaten Projekten, wie auch professionell, mit der Android WebView. Dabei hat sich eine gewisse Hass-Liebe entwickelt. Denn zum einen bietet die WebView eine gute und schnelle Möglichkeit HTML Content anzuzeigen und das direkt im Umfeld der eigenen App. Auf der anderen Seite sollte man aber auch einige Dinge beachten. Dazu gehört unter anderem: Niemand fasst den Draw-Cycle der WebView an, das Layout der WebView gehört einzig und allein der WebView, die WebView akzeptiert kein / sehr wenig anderes Scroll-Handling und verschiedene Android Versionen haben verschiedene WebViews und dies muss man einfach akzeptieren. Die Liste geht weiter und im Allgemeinen sollte man einfach versuchen der WebView nicht in ihre internen Abläufe zu springen. Ich tue dies hin und wieder trotzdem und muss meine Gehirnwindungen dann durchaus malträtieren, um vielleicht eine Lösung zu finden.
