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.
Weekly Coding Question - Neue Techniken ausprobieren - ReactiveX

Eine neue Weekly Coding Question ist da und dieses mal soll es um neue Techniken gehen, die einfach so gut erscheinen, dass man sich direkt einen Einsatzzweck suchen will. Mir ist in diesem Kontext ReactiveX über den Weg gelaufen. Falls euch ReactiveX nichts sagt, im Prinzip ist es eine Möglichkeit, um mit diversen Sprachen asynchrone Programmierung auf eine optimierte und nachvollziehbare Art durchzuführen. Dabei wird das bekannte Observer Pattern open_in_new angepasst und mit Ansätzen des Iterator Pattern open_in_new und einigen Dingen aus der Funktionalen-Programmierung open_in_new kombiniert. Heraus kommen sogenannte Streams, welche Überwacht werden können und je nach Event reagiert das Programm. Dabei wir nicht das eigentliche Programm nicht geblockt und auch während der weiteren Event-Verarbeitung, in eigenen Threads, kann auf weitere Ereignisse reagiert werden. Die Rückmeldung erfolgt erst nach Bearbeitung des eigentlichen Ereignisses. Klingt grundsätzlich gar nicht so “neu”, doch wenn man sich das ganze ansieht und die Technik + Umsetzung versteht, bekommt man finde ich Lust es direkt zu nutzen. Vor allem wenn man die Möglichkeit der Manipulation der Streams selbst konkreter betrachtet. Ich werde es auf jeden Fall für mein kleines Bildbearbeitungs-Tool Resizy nutzen, denn es arbeitet auf vielen Bildern und durch eine quasi Parallelisierung dieser Aufgabe, kann alles massiv beschleunigt werden. Außerdem bietet sich dies bei einem solchen Programm an, da die Bearbeitung eines einzelnen Bildes unabhängig von allen anderen Bildern ist und es somit nicht zu Problemen kommen kann. Doch auch weitere Einsatzzwecke sind denkbar, vor allem weil ReactiveX unter anderem mit Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy und JRuby genutzt werden kann. Was sagt ihr zu diesem Ansatz und kanntet ihr ihn schon oder habt ihn sogar schon eingesetzt?
Weekly Coding Question - less oder Sass

Mit ein wenig Verspätung erscheint heute die zweite Coding Question (ich sollte mir vielleicht den Zusatz “Weekly” noch einmal durch den Kopf gehen lassen). Aber wie auch immer, hier nun mein zweiter Beitrag zu Dingen, die mich im Coding Bereich beschäftigten. Dieses Mal geht es um CSS und um genauer zu sein, um Präprozessoren für Cascading Style Sheets. Was diese machen ist recht einfach, sie ermöglichen euch CSS Code hoffentlich besser und schneller zu schreiben. Dabei bekommt ihr neue Möglichkeiten, erweitert die “Sprache” also quasi und bekommt am Ende trotzdem normalen und überall nutzbaren CSS Code. Dies geschieht durch die Verarbeitung durch z.B. Sass oder less, was meinem Empfinden nach die größten Präprozessoren im CSS Bereich sind. Nun nutze ich CSS für meine Homepage und dies wird sich in der nächsten Zeit wohl auch nicht ändern. Also stelle ich mir die Frage, wie ich die Erstellung meines CSS Codes optimieren kann.
Adobe Color - Einfach die richtigen Farben finden

Wenn man Dinge entwickelt, egal ob eine App, eine Homepage oder sonst etwas, gibt es häufig auch eine grafische Oberfläche. Geht es euch nun wie mir (ihr seid so kreativ wie ein Stein), dann habt ihr sicherlich auch häufig Probleme mit den GUI Elementen und wo diese am besten, wie positioniert werden. Und selbst wenn man dies dann hinbekommt bleibt die Frage, welche Farbgebung wäre angebracht und welche Farben kann man zusammen nutzen? Hier hilft Adobe Color, was im Prinzip eine Homepage ist, welche es euch ermöglicht Farben zu wählen. Dabei ist es egal ob ihr ähnliche oder komplementäre Farben sucht, diverse Filter können gewählt werden und der Output der Farben ist in diversen Formen möglich. Diverse Farbsammlungen von anderen Nutzern können eingesehen werden und sofern ihr über eine Adobe CC ID verfügt, könnt ihr die Daten auch speichern. Ich selber habe dies nicht getestet, aber gerade um z.B. schnell eine hellere Abstufung meiner Homepage Hauptfarbe zu finden, ist dieser Dienst extrem praktisch und vor allem kostenlos und ohne weiteren Aufwand nutzbar. Falls ihr also Farben braucht, schaut euch die Seite mal an.