• Windows 11 Dev Drive aufsetzen

    Schnellere Build-Zeiten, wer will das nicht? Genau das verspricht das Windows 11 Dev Drive. Ein (auf Wunsch virtuelles) Dateisystem, das im Build-Prozess weniger Dateien kopiert, und mehr mit Links arbeitet.

  • Nachlese - Domain Modelling Made Functional von Scott Wlaschin

    Scott Wlaschins Buch “Domain Modelling Made Functional. Tackle Software Complexity with Domain-Driven Design and F#” stand schon lang auf meiner Leseliste. Weil es immer wieder empfohlen wurde in Talks oder Artikeln. F# als Programmiersprache hat mich aber immer wieder davor zurückschrecken lassen, es endlich zu lesen. Im Nachhinein war das unnötig. Bis auf den let! Operator (mit Ausrufezeichen), war das Meiste sehr gut nachvollziehbar, wenn man von C# kommt.

  • Nachlese - Code that fits in your Head von Mark Seemann

    Ich habe Mark Seemanns Buch “Code that Fits in your Head” gelesen und fand das Buch lesenswert. Mark Seemann immer den (für mich) nötigen Kontext mitliefert und orthodoxe Regeln (z. B. die Regel “keine Tests von internen Methoden”) in Frage stellt, wenn es Sinn macht. Das Buch ist sicher kein direktes Einsteigerbuch, weil es einen Überflug über viele Themen liefert und auch spannende Gedanken platziert, ohne das Grundwissen in den verschiedenen Themen.

  • Rückblick: Dot Net Day Franken 2023

    Am Freitag war es endlich so weit. Nachdem ich eigentlich schon 2020 auf die Konferenz wollte (da war doch was…), hat es dieses Jahr endlich geklappt und ich war zwei Tage auf dem dotnet day Franken. Zwei Tage auf einem Tag? Das ging, weil Freitag “nur” der Workshop-Tag war und Samstag der Haupttag mit den Vorträgen war.

  • Powershell in schön (2023er Version)

    Das hier ist ein Update eines alten Posts, aber letztlich wieder eine schamlose Kopie von Scott Hanselmans Beschreibung, wie man die Shell hübsch macht.

  • Functional C# 10 (eigentlich 11) auf Pluralsight

    Nachdem ich gerade mit dem YouTube Kanal von Amichai Mantinband sozusagen die beste Serie des Jahres gekührt habe, kommmt jetzt der beste “Film”. Es ist der Plural Sight Kurs Functional C# 10 von Zoran Horvat. Der Kurs kam im November 2022 heraus. Warum er C# 10 und nicht C# 11 heißt, ist mir ein Rätsel. Davon abgesehen fand ich den Kurs sehr erfrischend, einfach weil Zoran eine wahnsinnig tolle Erzählstimme hat. Noch nie habe ich einen so mitreißenden Videokurs gesehen. Normalerweise schaue ich mir die Kurse auf 2-facher Geschwindigkeit an, das war hier viel zu schnell. Zum einen spricht Zoran schnell, zum anderen war die Informationsdichte (angenehmerweise) sehr hoch.

  • Domain-Driven-Design am praktischen Beispiel

    Zum Bücher lesen und Blogposts schreiben fehlt mir im Moment leider die Zeit und Energie. Genug Futter zum Nachdenken und Ändern meines Programmierstils liefert mir aber Amichai Mantinband auf seinem YouTube-Kanal. Die Videos sind alle klasse, aber besonders hervorheben möchte ich die Reihe Clean Architecture & DDD Tutorial.

  • Nachlese - Software Systems Architecture 2. Auflage von Nick Rozanski und Eoin Woods

    “Endlich fertig!” Das waren meine ersten Gedanken, als ich das letzte Kapitel dieses Buches gelesen hatte. Schon vor dem Kauf hätte mir klar sein können, dass es hier detailliert zugeht: 600 Seiten zum Thema Architektur ist für die Art von Projekten, die ich aktuell bearbeite, evtl. doch etwas hochgegriffen. Aber vermutlich waren die guten Amazon-Reviews und die Tatsache, dass es bei Addison-Wesley erschienen ist, Grund genug mich bei der Suche nach Büchern zum Thema Architektur für dieses Buch zu entscheiden.

  • Nachlese - Design It. From Programmer to Software Architect von Michael Keeling

    Design it! Von Michael Keeling ist ein Rundumschlag zum Thema Softwaredesign. Der Fokus liegt auf dem Prozess, wie man zu einem guten Design kommt. Deswegen werden Designs selbst kaum diskutiert. Hierfür schlägt der Autor vor, dass man sich eine eigene Pattern-Basis entwickeln sollte, mit deren Hilfe man seine häufig vorkommenden Probleme löst. Mit Entwicklung ist hier die Auswahl bestehender Muster und punktueller Anapassung gemeint als einer vollständigen Neuentwicklung (“all design is redesign”).

  • Child-Objekt aus Parents erzeugen - mit Records

    Ziel: Klassen um Werte erweitern

    Ab und an kommt es vor, dass man eine Klasse um einzelne Attribute erweitern möchte, aber diese Erweiterung nicht für alle Einsatzzwecke gebraucht werden. Jetzt gibt es mehrere Möglichkeiten:

    1. Eine Child-Klasse ableiten, die die jeweiligen neuen Attribute enthält
    2. Eine Wrapper-Klasse, die ein Objekt der ursprünglichen Klasse hält, sowie die neuen Attribute
    3. Eine komplett eigenständige Klasse und ein Mapping zwischen beiden Klassen (gerne in Verbindung mit AutoMapper)
  • Nachlese - Grokking Simplicity von Eric Normand

    Eric Normands Buch “Grokking Simplicity” habe ich über CASE Podcast gefunden. Der Pitch „Functional Programming in einer Standard-Sprache“ (im Buch Javascript) hat mich sofort gefangen. Da es mich genau dort abholt, wo ich stehe. Auf F# werden wir in der Arbeit „nicht mal eben so“ umsteigen, aber funktionaler Programmieren wollen wir schon. Die Vorteile liegen für uns auf der Hand: Bessere Testbarkeit, einfacher zu parallelisieren und der Code wird meiner Meinung nach auch verständlicher (insbesondere weil weniger State existiert, den man im Kopf behalten muss). Das Buch versprach also genau das zu erklären, was wir sowieso machen wollten. Ohne zu wissen, wie weit wir da kommen. Wenn das keine Spannung ist?!

  • Nachlese - Implementing Domain Driven Design von Vaughn Vernon

    Der Anhang hat mich mit dem Buch versöhnt. Das Kapitel „Aggregates and Event-Sourcing“, das scheinbar nur ein Anhang geworden ist, weil es ein Kapitel eines anderen Autors ist, war nach meinem Empfinden deutlich einfacher zu verstehen und las sich flüssiger. Ob es am Thema lag und daran, dass C# statt Java verwendet wurde, mag ich nicht zu sagen. Für meinen Geschmack waren die Beispiele und auch die Abbildungen deutlich besser in den Text integriert als im Rest des Buches.

  • Nachlese - Righting Software

    Auf das Buch “Righthing Software. A Method for System and Project Design” von Juval Löwy bin ich über seinen Podcastauftritt im Software Engineering Radio gestoßen. Da es leider schon fast zwei Jahre her ist, dass die Episode herauskam, das Buch erst einige Zeit auf meiner Wunschliste verbrachte und anschließend noch mal genau so lang auf’s gelesen werden wartete, bekomme ich die Motivation leider nicht mehr zusammen.

  • Partial Screensharer - Nur einen Teil eines Bildschirms in Videokonferenzen teilen

    Leider haben nicht alle meine KollegInnen große Bildschirme, so dass ich über Teams eigentlich immer gezwungen bin, einzelne Fenster zu teilen anstatt meines ganzen Bildschirms. Ansonsten sehen die KollegInnen ohne UltraWide-Bildschirm nur eine Briefmarke und können nichts erkennen. Möchte man bei einer Präsentation zwischen verschiedenen Programmen hin- und herspringen ist das ein einziges Ärgernis: nach Teams wechseln, neues Fenster teilen, zurück in dieses Fenster wechseln… das stört den Arbeitsfluss und damit die Unterhaltung erheblich.

  • Nachlese - Praxisbuch Usability und UX (2. Auflage)

    Als Full-Stack-Entwickler für Geschäftsanwendungen mit Hang zum Backend ist mein Interesse an Datenbanken größer als an Frontend-Frameworks. Trotzdem ist es mein Anspruch, wenigstens ansehnliche und vor allen Dingen praktische Frondends zu entwickeln. Mein Wunsch bestand also darin im Bereich Frontend meine Grundlagen zu verbessern, und mit wenig Aufwand etwas bessere Frontends zu entwerfen und um klassische Fehler zu vermeiden. Meine Wahl viel auf “Praxisbuch Usability und UX (2. Auflage)” von Jens Jacobsen und Lorena Meyer. Der Klappentext klang vielversprechend:

  • Autor mehrerer Fachartikel ;)

    Mein zweiter Artikel wurde in der dotnetpro veröffentlicht und damit bin ich dann ganz offiziell Autor mehrerer Fachartikel. Dieses Mal geht es um die PDF-Erzeugung mit PuppeteerSharp und PagedJs.

  • Ich bin jetzt Fachartikel-Autor :)

    Seitdem die neue dotnetpro am Montag 21.6.2021 erschienen ist, darf ich mich, dank dieses Artikels, als Fachartikel-Autor bezeichnen. Ab nächstem Monat dann sogar als “Autor mehrerer Fachartikel” ;)

  • Windows 10 Login-Screen direkt zeigen

    Nach 6 Jahren gab es endlich mal wieder einen neuen Laptop (einen Schenker Core 15 AMD (2021)), danke der Nachfrage ;) ). Was zur Folge hatte, dass ich auch mal wieder ein Windows 10 neu einrichten musste. Und da waren sie wieder: Die schönen (aber zeitraubenden) Bilder vor dem Login-Fenster. Diese kann man mittels Registry-Schlüssel abschalten. Entweder den folgenden Code in einer .reg-Datei speichern und diese ausführen, oder direkt diese Registry-Datei herunterladen.

  • Visual Studio (und Resharper) mit RAMDISK beschleunigen

    UPDATE am 14.06.2021: Mittlerweile habe ich die RAM-Disk wieder gelöscht. VS ist dadurch leider deutlich instabiler geworden.

  • Windows Terminal für Git einrichten

    Ich lese Scott Hanselmans Blog schon länger. Meistens läuft es unter “interessant”, aber es ist nichts, was mich direkt in meiner Arbeit verändert.

  • Jekyll als Blogplattform

    Es ist vollbracht! Das Blog läuft nun mittels Jekyll und nicht mehr auf Wordpress. Ausschlaggebend dafür war, dass ich Texte lieber direkt als Markdown schreibe. Der Gedanke sie hinterher noch mal händisch ins Wordpress zu fummeln und die Tatsache, dass ich Wordpress vom Umfang gar nicht brauche, haben mich immer wieder davon abgehalten mal kurz was zu schreiben. Das wird jetzt hoffentlich besser :)

  • Tabellen aus Bildern (in PDFs) extrahieren

    Ein Problem, was mich alle paar Monate trifft, ist die Extraktion von Tabellen aus Bildern in PDF-Dokumenten. Wenn man Glück hat, sind die Tabellen als Text im PDF hinterlegt. Dann ist die Extraktion mit vielen Tools leicht erledigt. Dafür nutze ich immer Tabula, weil ich eigentlich keine Lust habe, meine PDFs in einen Online-Service zu werfen, wobei das bei öffentlichen PDFs auch egal wäre.

  • Meine Visual Studio Plugins

    Wer kennt das nicht. VS neu installiert und schwupps sind alle Plugins weg. Deshalb (und auch als Werbung für die tollen Plugins) hier eine Liste der von mir genutzten Plugins inkl. kurzer Beschreibung, warum auch du diese brauchst:

  • Schneller zum Bug (besonders bei Async/Await Muliti-Threading)

    Bis heute morgen war einer meinen größten Schmerzen beim Debugging von WPF-Anwendungen die Suche nach dem eigentlichen Problem. Sobald asynchrone Aufrufe dabei waren, erreichte mich die Fehlermeldung mit ziemlicher Sicherheit weit weg von der eigentlichen Ursache.

  • Ein Command oder Powershell direkt aus dem Explorer im aktuellen Verzeichnis starten

    Ich dachte ja, mich könnte der Explorer in Windows 10 nicht mehr überraschen, aber dann war da dieses Video von der Build-Konferenz in der der Präsentator erst mit Strg + L in die Adressleiste wechselte und cmd eingab. Ergebnis:

    Es öffnet sich ein Command-Prompt in genau dem Verzeichnis, das gerade geöffnet ist.

  • Capslock einen Sinn geben: Alt Gr (rechte Alt-Taste) ummappen

    Auf Anregung des Anwendungsentwickler-Podcasts ersetze ich mein 8-Fingersystem gerade durch echtes Zehnfingerschreiben mittels Tipp10.com.

  • Tiny Tiny RSS auf Uberspace 7 einrichten

    Update 10.09.2021: Ich bin nun zu FreshRSS gewechselt, weil TinyTinyRSS nun einen Dokker-Container erfordert. Für FreshRSS gibt es im UberspaceLab eine tolle Anleitung

  • Word Templates mit OpenXML befüllen (Teil 2): Bilder einfügen, umlaufende Bilder, Bilder entfernen

    Im ersten Teil ersten Teil habe ich gezeigt, wie man mittels OpenXML und Inhaltssteuerlementen (Content Controls) Word-Templates direkt befüllen kann. In diesem Teil geht es darum, wie man optionale Teile löschen kann und mit (nicht vorhandenen) Bildern umgehen löschen.

  • Word-Templates mit OpenXML SDK befüllen (Teil 1)

    Die Aufgabe klang leicht: Die bisher mittels Document-Schnittstelle umgesetzte Erzeugung von Word-Dokumenten aus Datenbankwerten neu implementieren im Rahmen eines WPF-Projekts. Die Learnings und meine Umsetzung findet ihr hier.

    Zielsetzung: mit OpenXml SDK Word-Dokumente auf Basis eines Word-Templates erstellen

  • MSDN und Docs.Microsoft immer auf Englisch anzeigen

    Komplizierte Texte lese ich lieber auf deutsch als auf englisch, weil es doch etwas schneller und weniger anstrengend ist. Allerdings nur, wenn die Übersetzung auch wirklich gut ist. Für die automatischen Übersetzungen von MSDN und anderen Microsoft-Webseiten gilt das leider nicht.

subscribe via RSS