Resizy - Update mit Multithreading geplant

Resizy ist eines meiner kleinen privaten Software Projekte. Konkret handelt es sich um ein Tool zur einfachen Bearbeitung der Größe von vielen Bildern. Diese Batch-Bearbeitung habe ich in Form eines kleinen Java Programms mit GUI umgesetzt und immer mal wieder etwas optimiert. Nun steht seit längerem mal wieder ein größeres Update an, welches Multithreading Unterstürzung bringen wird. Dabei haben erste Tests gezeigt, dass ca. 1800 Bilder anstatt in ca. 32 Sekunden, nun in etwas mehr als 8 Sekunden verarbeitet werden können. Dies kann je nach Größe und Menge der Bilder natürlich variieren, aber ein Geschwindigkeitsgewinn sollte in quasi jedem Fall mit mehr als nur einem Bild auftreten. Im Prinzip ist der Code fertig, aber ich möchte diesen Release gerne nutzen um die Code-Base im allgemeinen etwas auf Vordermann zu bringen. Anschauen kann man sich den aktuellen stand bereits auf GitHub, für den Release fehlt allerdings noch ein wenig Feinschliff. Alle weiteren Informationen gibt es in den Related Links und falls es fragen gibt, einfach direkt in den Kommentaren melden.
Droidcon 2016 - Mein allgemeines Fazit

Es war meine erste Droidcon, welche vor etwas mehr als zwei Wochen stattfand und ich habe die Zeit genossen. Unterwegs war ich mit einem Kollegen von der Arbeit, was ich definitiv empfehlen kann, denn so kann man Abends bei dem einen oder anderen Bier den Tag Revue passieren lassen. Doch nun zu meinem allgemeinen Feedback, denn zu den jeweiligen Talks gibt es weitere News bis zum Ende der Woche. Es war interessant, anstrengend und ich habe definitiv einiges mitgenommen was ich mir an neuen Dingen anschauen will. Dazu gehören komplett neue Ansätze, interessante Libraries und natürlich auch neue Sachen die durch den Android Nougat Release bald verfügbar sein werden. Denn für letzteren steht bereits jetzt eine umfangreiche Preview für Entwickler open_in_new zur Verfügung. Nach zwei Tagen merkt man dann aber auch, dass man ausreichend Informationen versucht hat aufzunehmen und man langsam nicht mehr aufnahmefähig ist. Trotzdem hatte ich bereits direkt nach dem Event Lust mit dem einen oder anderen was ich dort gesehen und gehört habe herumzuspielen. Interessierte können im folgenden übrigens alle Sessions in Audio-Form und einige auch in Video-Form nachholen, falls sie nicht vor Ort sein konnten.
- Droidcon 2016 - Audio Recordings open_in_new aller Sessions
- Droidcon 2016 - Video Recordings open_in_new von Stage 1
GitHub Pages - GitHub Projekte einfach in Szene setzen

Falls ihr ein GitHub Projekt betreibt und dieses einfach in Szene setzen wollt, solltet ihr euch GitHub Pages mal näher ansehen. Den Dienst gibt es schon recht lange, nur ich kam bis dato nicht in die Verlegenheit ihn wirklich zu kennen. GitHub Pages ermöglicht euch direkt in eurem Git und unter direkter Bereitstellung einer passenden Domain, die Erstellung einer Homepage für das Projekt. Dabei könnt ihr selber Dinge schreiben und entwickeln oder z.B. wie ich die README.md importieren und eines der vorhandenen Template-Designs wählen. Heraus kommt die Präsentationsseite open_in_new für mein kleines Tool Resizy. Meiner Meinung nach ist dies eine wirklich gute Möglichkeit um Projekte oder auch Personen / Organisationen zu präsentieren und gleichzeitig den Aufwand für den Nutzer möglichst gering zu halten. Wie sieht es bei euch aus, habt ihr diesen Dienst schon einmal genutzt und was haltet ihr allgemein davon?
FileSize - Version 3.0 ist online

Ich habe in der letzten Zeit mal wieder etwas an meiner “Aufräum-App” FileSize gearbeitet und gestern eine neue Version veröffentlicht. Diese sollte mittlerweile für alle Nutzer bei Google Play verfügbar sein. Die App im allgemeinen erlaubt euch große Dateien auf eurem Smartphone zu finden und diese dann entsprechend zu entfernen. Somit könnt ihr mit wenig Aufwand Platzfresser auswendig machen und von eurem Phone werfen. Konkrete Änderungen beziehen sich vor allem auf das UI und die UX der App. Es ist nun möglich eine Mehrfachauswahl in der Scan-Ansicht durchzuführen, sodass das Aufräumen noch einfacher durchzuführen ist. Zusätzlich wurde das Interface im Bezug auf die Material Design Guidelines weiter optimiert und diverse Optimierungen unter der Haube wurden vorgenommen. Die komplette Changelog gibt es im unteren Teil der News und den Link zur App findet ihr in den Related Links.
Weekly Coding Question - Gute oder schlechte Libraries

Libraries gibt es viele, sogar sehr viele. Diverse klingen extrem interessant und hilfreich. Doch wie gut sind sie, wie stabil und verlässlich funktionieren sie und sollte man sie in produktiven Apps verwenden? Diese Frage stelle ich mir aktuell immer mal wieder, vor allem da ich mich zur Zeit aktiv bezüglich neuen Android Libraries umschaue. Teilweise für konkrete Anwendungsfälle und teilweise einfach weil sie interessant klingen. Mir fällt es dabei, abseits von den großen und bekannten Libraries, allerdings sehr schwer zu entscheiden was gut ist und was nicht. Natürlich kann ich selber in den Quellcode schauen, denn ich bin meistens auf GitHub unterwegs. Dafür fehlt allerdings meistens die Zeit und manchmal auch das Wissen. Was also tun wenn man über eine gute Idee stolpert, aber nicht weiß wie gut sie implementiert und durchdacht ist? Ich selbst teste dann meistens etwas und schaue grundlegend in den Code, doch das kostet besagte Zeit. Habt ihr bessere Ansätze oder Ideen bezüglich diesem Thema? Ich würde mich über Kommentare freuen.
FileSize - Update Fortschritt

FileSize ist eines meiner ersten richtigen Android Projekt und wird aktuell weiterhin gepflegt. Ich arbeite zur Zeit an einer generalüberholten Version. Diese ändert extrem viele Dinge im Kern der App und macht sie dadurch stabiler und schneller. Außerdem setzte ich auf neuere Android GUI Komponenten (Stichwort: RecyclerView anstatt ListView). Dadurch wirkt die UI wesentlich klarer strukturiert und verschiedene Animationen verdeutlichen den Ablauf der App. Diverse Toasts werden durch Snackbars ersetzt und diverse Fehler werden behoben. Mit diesem Teil des Updates bin ich nun so gut wie fertig. Was bedeutet das ich mich den wirklichen Features für den Nutzer zuwenden kann. Dabei plane ich die Suche nach bestimmten Dateitypen zu implementieren und eine Mehrfachauswahl für Dateien soll eingebunden werden. Ob dies alle Features sind oder ob ich selbige noch abändere wird sich zeigen. Fakt ist das ich das Update relativ bald veröffentlichen will und dementsprechend irgendwann einen Feature Freeze brauche und einen Test beginnen kann. Sofern alles nach Plan läuft wird es das Update Ende Mai geben, dann mit allen genannten Funktionen und vielleicht noch etwas mehr. Weitere Informationen zu diesem kleinen Projekt von mir gibt es in den Related Links.
JPA Diagram Editor mit Eclipse Mars nutzen

Falls ihr mit JPA (Java Persistence API open_in_new) in euren Java Projekten arbeitet, dürfte der JPA Diagram Editor für euch interessant sein. Er ermöglicht die Visualisierung und Manipulation von Beziehungen und dem Aufbau eurer Entities. Ich brauche ihn für mein aktuelles Java Server Projekt, allerdings auch nur zur Visualisierung. Denn die eigentlichen Entities, die Beziehungen und was es sonst noch alles in diesem Bereich gibt, mache ich doch lieber selber. Schließlich spielt Spring dort auch eine Rolle und ich möchte die spezifischen Annotations nutzen, anstatt automatisch generierte, welche vielleicht nicht immer passen. Doch nun zum eigentlichen Thema, der Nutzung des JPA Diagram Editors mit der aktuellen Eclipse Version (Mars). Denn dies geht, zumindest für die GUI Komponente und die Visualisierung, nicht wenn man es einfach über die Software-Verwaltung installiert. Denn das Plugin und die Libraries dahinter sind aktuell noch in der Entwicklung. Nach längerer Suche habe ich im Eclipse Forum open_in_new aber eine Lösung entdeckt. Der Bug open_in_new allgemein ist übrigens bekannt und wird auch schon bearbeitet. Im unteren Teil findet ihr die kurze Anleitung zur Lösung des Problems.
Neues Projekt - Java Server via Spring Boot

Vor einiger Zeit hatte ich es bereits erwähnt, nun habe ich während meines Urlaubs endlich die ersten Schritte gewagt. Denn nach ersten Erfahrungen mit Spring Boot und Java Servern auf der Arbeit, habe ich nun ein größeres privates Projekt gestartet. Was es konkret wird kann ich aktuell leider noch nicht sagen, aber zumindest welche Techniken, Software-Grundlagen und Frameworks ich nutze, kann ich schon einmal vorstellen. Dieses Projekt ist auch der Grund warum ich aktuell etwas weniger News schreibe als sonst, da es doch die eine oder andere Stunde meiner Freizeit frisst.
Coding Guidelines - Google Java Style

Über Coding Guidelines schreibe ich in letzter Zeit häufiger, da sie wichtig sind und hin und wieder auch mal das eine oder andere Ärgernis mit sich bringen. Doch alles in allem sollte man sich, wenn auch selbst definiert, an eine Art von Coding Guidelines halten. Dabei wäre es natürlich ideal, wenn man nicht alleine gemäß den gewählten Regeln schreibt, vor allem wenn man mit anderen zusammenarbeitet oder sogar ein Open Source Projekt betreibt oder unterstützt. Auf der Arbeit wurde ich auf die Google Java Style Guidelines hingewiesen, die angenehm kompakt und übersichtlich sind. Ich persönlich werde mir selbige mal umfangreich zu Gemüte führen und könnte mir vorstellen, dass sie dem einen oder anderen von euch auch helfen könnten.
SerServAlyzevalyze - Release Version 2.0

Vor einiger Zeit habe ich in meiner Status News zu den aktuellen Projekten auch meine erste App Servalyze erwähnt. In diesem Kontext wies ich darauf hin, dass es erst einmal nichts neues für diese App geben wird. Doch als ich sie mir nochmal anschaute, fielen mir ein paar Dinge auf die mich wirklich störten, sodass ich doch noch einmal Hand anlegen musste. Dabei habe ich gleich meine neu erlernten Fähigkeiten eingesetzt und die App nicht nur um Funktionen erweitert, sondern auch grundlegend aufgeräumt, von Bugs befreit und etwas schneller, sowie robuster gegen Fehler gemacht. Die kompletten Release Notes gibt es im unteren Teil der News. Falls auch ihr Interesse an einer kleinen App für Server (IP / Domain) oder Web (HTTP) Monitoring habt, so schaut euch die App einfach mal an. Die nötigen Links gibt es in den Related Links und falls ihr Fragen, Wünsche oder ähnliches habt, ruhig direkt unter der News in den Kommentaren melden.

