IntelliJ IDEA Conf steht an

IntelliJ IDEA wird 20 Jahre alt und um das entsprechend zu feiern veranstaltet JetBrains, die Firma hinter IDEA, eine Entwicklerkonferenz. Selbige ist aus gegebenem Anlass natürlich rein digital und gleichzeitig auch kostenlos. Die IntelliJ IDEA Conf findet vom 25. bis 26. Februar statt und bietet an beiden Tagen jeweils sieben Vorträge.
Anmelden kann man sich direkt auf der Konferenzseite, sodass man an das Event erinnert wird. Wer keine Zeit hat kann die Sessions auch später anschauen, denn selbige werden aufgezeichnet. Da ich täglich IDEA und Android Studio nutze, bin ich durchaus gespannt, welche Neuigkeiten es gibt und wo vielleicht noch Verbesserungen vorgenommen werden. Solltet auch ihr Interesse haben folgt einfach den Related Links.
Boehrsi.de - PNG Fallback wird entfernt

Seit Ende 2019 nutzt mein Blog WebP als Standard Bildformat. Allerdings biete ich parallel noch PNG als Format an, da bis vor kurzem vor allem Apples Safari bzw. macOS nicht in der Lage war WebP Bilder zu verarbeiten. Dies änderte sich mit einem der letzten größeren Updates und entsprechend ist nun der Zeitpunkt gekommen die Dateigröße meines Blogs massiv zu verringern.
Durch diesen dualen Ansatz musste ich logischerweise jedes Bild doppelt auf meinem Server ablegen. Konkret bedeutet dies bei mir ca. 6000, statt 3000 Bilder und ca. 850 MB Platzverbrauch, statt ca. 400 MB.
Die Umstellung sollte für die meisten Nutzer ohne jegliche Änderung vonstatten gehen, denn ein extrem großer Anteil meiner Leser ist bereits seit langem mit Browsern unterwegs die WebP unterstützen. Für die kleine Anzahl an Nutzern mit älteren Safari / macOS Versionen tut es mir wirklich leid. Aber der Overhead, die duplizierten Bilder und die extra zum dynamischen Umschalten genutzten JavaScript Snippets, sind etwas zu viel des Guten im Jahre 2021, wenn es lediglich darum geht Bilder optimiert darzustellen.
Die Umstellung wird im laufe des ersten Quartals 2021 durchgeführt. Sobald alles konkreter wird, wird es eine weitere News geben.
Postman - Version 8 erschienen

Erst vor wenigen Tagen schrieb ich über Postman und heute ist es schon wieder soweit. Grund dafür ist der Release der neuen Major Version 8.0. Die neue Version bringt eine komplett überarbeitete UI und eine vereinheitlichte Suche. Beides soll euch helfen schneller Dinge zu erledigen und zu finden.
Die neue UI, welche es natürlich auch im Dark Mode gibt, gruppiert und ordnet eure Inhalte besser an und erlaubt es euch verschiedene Bereiche der UI flexibel zu platzieren bzw. skalieren. Auf diese Art könnt ihr die UI gemäß euren Wünschen anpassen. Obwohl der Umbau durchaus umfangreich ist, konnte ich mich direkt wieder zurecht finden, insofern ist die Umgewöhnung also durchaus gut machbar. Die vereinheitlichte Suche soll euch auf einen Blick alle relevanten Informationen liefern, welche ihr dann gemäß euren konkreten Anforderungen filtern könnt.
Bis dato bin ich mit der neuen Version sehr zufrieden, auch wenn man natürlich bedenken muss, dass ich nur einen Bruchteil der verfügbaren Funktionen nutze. Entsprechend kann ich keine Meinung zum Gesamtbild abgeben. Allerdings habe ich nun zumindest angefangen mehrere Workspaces zu nutzen und ich habe verschiedene Einstellungen meinem Geschmack entsprechend angepasst. Wie sieht es bei euch aus, nutzt ihr auch Postman und seid ihr schon mit der neuen Version unterwegs.
Flutter Engage - Bald gibt es Neuigkeiten

Aktuell gibt es viel Bewegungen in der Flutter Welt. Viele Anbieter von Third-Party-Plugins bringen neue oder stabile Versionen ihrer Tools (z.B. Stream Flutter SDK 1.0.0 Beta open_in_new), aber auch von offizieller Seite gibt es Neuigkeiten. Denn am 03.03.21 findet die Flutter Engage Online Konferenz statt, welche scheinbar sehr interessante Informationen für uns bereithalten soll. Bei Interesse könnt ihr den Related Links folgen und euch für weitere Infos beim Newsletter anmelden.
Abseits von eventuell stabilen Flutter Releases mit Dart Null Safety open_in_new, hoffe ich persönlich auf eine stabile Version der Flutter Integration für den Desktop open_in_new und dort vor allem für Windows. Aktuell arbeite ich an diversen kleinen Tools die auf dem Desktop laufen und Flutter nutzen, entsprechend würde ich mich über einen Release Mode sehr freuen. Doch worum es genau geht und ob die Neuigkeiten kleiner oder vielleicht sogar noch größer ausfallen, werden wir wohl erst im März erfahren. Ich freue mich auf das Event und halte euch auf dem laufenden.
Boehrsi.de Blog Review 2020

Wie angekündigt wollte ich das letzte Jahr auch im Kontext meines Blogs Revue passieren lassen und dies tue ich hiermit. Denn 2020 war ein spezielles Jahr und auch hier im Blog gab es einige positive und negative Entwicklungen.
Alles in allem läuft der Blog technisch wieder rund. Gerade in der ersten Jahreshälfte war dies allerdings auf Grund von Serverproblemen leider häufiger nicht der Fall. Diverse kleinere Probleme und ein Hardwareproblem im Bereich der HDD sorgten teils auch für mehrtägige Komplettausfälle. Dinge die man natürlich verhindern will und mit ausreichend Aufwand auch könnte, aber am Ende muss das Kosten- / Nutzenverhältnis stimmen.
Abseits der Probleme im Bereich der Stabilität, bin ich weiterhin sehr froh über mein Static Website Setup via Hugo, welches durch die nun neu geschriebenen Kotlin Services ergänzt wird. Die Konvertierung von Java auf Kotlin, inklusive Umbauarbeiten, Aufräumarbeiten und Erweiterungen hat viel Spaß gemacht und die angekündigte Newssammlung zum Thema wird aktuell vorbereitet. Hier wird es für Interessierte also bald mehr geben.
Im Bereich Content konnte ich fast immer mindestens 5 Beiträge pro Woche veröffentlichen, was mein generelles Ziel ist. Entsprechend ist die Quantität durchaus gut, an der Qualität versuche ich aktuell zu arbeiten. Dies bedeutet das Beiträge mehr Tiefe und Inhalt haben sollen. Also z.B. eher ein Tutorial wie man etwas nutzt, statt einem reinen Erfahrungsbericht. Problem dabei ist natürlich der entsprechende Zeitaufwand. Hier versuche ich gerade einen passenden Mittelweg zu finden.
Meine Postman Basics

Über Postman habe ich bereits das eine oder andere Mal berichtet und heute möchte ich mein kleines Postman 1x1 mit euch teilen. Ich nutze Postman vor allem bei der Entwicklung von neuen APIs, um selbige schnell und einfach zu testen. Generell plane ich meine APIs und implementiere die ersten Calls, direkt gefolgt von ersten Postman Tests.
Zu Beginn erstellte ich dabei einfach wild Requests und gab Daten immer und immer wieder ein. Mit steigender Request Anzahl und häufiger auszuführenden Tests, wurde dies aber durchaus müßig. Um Arbeit zu erleichtern und das ohne großen Aufwand, erstelle ich diesen Beitrag, denn mit nur sehr wenig Aufwand kann Postman einem das Arbeiten mit APIs massiv vereinfachen.
Resizy - Entwicklung eingestellt

Im Rahmen meines Online-Frühjahrsputzes habe ich eines meiner letzten Legacy Java Projekte in Rente geschickt. Mein kleines Tool zum ändern von Namen und Größen von Bildern - Resizy genannt - war eines meiner letzten Java Tools und wurde zuletzt ohnehin wenig aktualisiert.
Ich nutzte das Tool meist um Batch Operationen auf Bildern durchzuführen, welche ich hier im Blog nutzen wollte. In der letzten Zeit brauchte ich das Tool selber sehr selten und auch von extern gab es wenig Interesse. Den Todesstoß für das Projekt gab es nun durch Build-Probleme. Denn aufgrund einer neuen Java Version lässt sich das Projekt nicht mehr ordentlich bauen.
Da ich Java ohnehin aktuell den Rücken kehre (Kotlin und Flutter / Dart ersetzen es) gab es für mich entsprechend nur wenig Motivation eine Trail and Error Problemsuche zu starten. Ob es einen kleinen Nachfolger z.B. in Flutter / Dart geben wird steht aktuell noch nicht fest, aber ausschließen will ich es nicht.
I'm a coder - Entwickler und gute Entwickler

Was macht eigentlich einen guten Entwickler aus? Über viele Punkte kann man hier sicherlich streiten, aber nach diversen Gesprächen mit Kollegen und befreundeten Softwareentwicklern, habe ich den einen oder anderen Punkt zusammengetragen, bei dem wir uns einig waren. Hierbei sollte vorab erwähnt werden, dass diese Liste natürlich nicht vollständig ist.
Beginnen möchte mit der guten alten Annahme, dass weniger Code immer besser ist, was definitiv nicht der Fall ist. Natürlich sollte man unnötigen Code vermeiden, aber manchmal ist es besser ein paar Zeilen extra zu schreiben, die klar machen warum eine Abfrage geschieht, statt unklare Konstrukte einfach so stehen zu lassen. In solchen Fälle erstelle ich lieber eine gut benannte Methode, spare mir Kommentare, halte den Code in einem wartbaren Zustand und füge entsprechend einige Zeilen extra hinzu. So wenig wie möglich, aber so viel wie nötig, um alles verständlich und wartbar zu halten.
Neu ist immer besser und Never change a running system, zwei Sprüche die bestimmt schon jeder Entwickler mal gehört hat. Beide entsprechen zum Teil der Wahrheit, sollten aber immer hinterfragt werden.
Ersterer ist meist der Einstieg, um ein neues Framework oder eine neue Library zu nutzen, was oft spannend ist, aber nicht immer sinnvoll. Hier sollte man wohlüberlegt handeln und sich nicht von coolen Buzzwords blenden lassen. Auch neue Techniken sollten grundlegend zu bestehenden Ansätzen und Konzepten passen und vom gesamten Team getragen werden.
Auf der andere Seite steht das Gegenteil, denn Never change a running system ist gerne die maskierte Aussage “das haben wir schon immer so gemacht, das ändern wir doch jetzt nicht mehr”. Vor allem als Entwickler der lange in einem Bereich mit bestimmten Techniken gearbeitet hat, sollte man trotzdem immer ein offenes Ohr für neue Ideen haben. Denn nur weil man Senior Developer o.ä. ist, heißt dies nicht das ein neuer Junior nicht vielleicht gute Ideen hat. Auch hier gilt abwägen ist wichtig, aber zuhören und offen sein sollte man immer.
I'm a coder - 2020 Lessons Learned

Man lernt nicht aus. Ein Satz den man oft hört und der tatsächlich auch meistens der Wahrheit entspricht. An dieser Stelle möchte ich ein paar Punkte, die ich aus dem letzten Jahr mitgenommen habe, mit euch teilen. Diese betreffen mich dabei meist persönlich und könnten entsprechend nicht auf euch zutreffen, aber ich glaub das eine oder andere ist vielleicht auch allgemein ein häufigeres Problem.
Eine Sache ist für mich das Nein sagen, welches ich gerne zu oft und zu schnell tue. Vor allem wenn von extern Anfragen oder Ideen kommen, egal ob zu konkreten Implementierungen oder aber zu neuen Frameworks, bin ich schnell in einer Abwehrhaltung. Generell bin ich zwar weiterhin der Meinung, dass es besser ist erst Nein zu sagen und später doch noch eine Lösung für ein Problem zu finden, als andersherum, aber hin und wieder sollte man ein paar mehr Gedanken investieren, bevor man vorschnell antwortet. An dieser Schwäche meinerseits versuche ich in 2021 weiter zu arbeiten.
Meine Programmiersprache des Jahres 2020

In 2020 habe ich viel programmiert, egal ob privat oder beruflich und nachdem ich mit Java, Dart, Kotlin, JavaScript und Go den einen oder anderen Ausflug in verschiedene Programmiersprachen unternommen habe, möchte ich heute meinen Favoriten mit euch teilen.
Meine Sprache des Jahres 2020 ist Kotlin. Gründe dafür sind neben den modernen und sicheren Konzepten, vor allem die Verständlichkeit der Konzepte. Dabei geht es nicht darum das die Sprache an sich sehr einfach verständlich ist, sondern wie gesagt um die Konzepte und Ideen hinter Entscheidungen. Es gibt wenige Dinge in der Kotlin Welt die ich nicht nachvollziehen kann und Dinge deren Grundlage ich verstehe nutze ich gerne.
Kotlin selbst ist als relativ junge Sprache durchsetzt mit dem Besten aus bewehrten Konzepten, ergänzt durch neue Ideen und Entscheidungen. Letzteres führt zu einer besseren Syntax und sichererem Code. Erstes erlaubt es z.B. mir als Java Entwickler relativ einfach einzusteigen. Dazu gehört auch das man quasi alle vorhandenen Java Libraries im Kotlin Kontext nutzen kann.