Tech
Code, Tools & Tech-Notizen

Frisch optimiert: Wie diese Seite jetzt besser gefunden wird
Nach dem Relaunch war meine Seite für Suchmaschinen fast unsichtbar. Ich erkläre in einfachen Worten, was ich in drei Schritten optimiert habe – und warum jetzt erst mal Geduld gefragt ist.

Minecraft: Einen Dorfbewohner in seinem Bereich festhalten
Wie man mit ein paar Commands und einem Commandblock verhindert, dass ein Dorfbewohner ständig aus seinem Bereich wegläuft — Schritt für Schritt erklärt.

Neue Homepage online
Lange Zeit hab ich an meiner neuen Homepage gearbeitet und die letzten Tage nochmal richtig Gas gegeben, damit ich die endlich fertig bekomme. Und jetzt ist es…

Streaming mit Server-Sent Events (SSE)
Wie man mit Server-Sent Events einen kontinuierlichen Text-Stream vom Server zum Client schickt — der „Tipp-Effekt" bei KI-Chats, ganz ohne SignalR.

Größere Bilder in ComfyUI: ein Resizer für Z-Image Turbo und Flux.1-Dev
In den letzten beiden Beiträgen - erst Flux.1-Dev, dann Z-Image Turbo - kam am Ende jeweils ein Bild mit 1216x832 heraus. Das ist ganz nett, aber irgendwie eben…

Z-Image Turbo in ComfyUI: derselbe Aufbau, ein Bruchteil der Steps
Nachdem ich im letzten Beitrag einen kompletten Text-zu-Bild-Workflow für Flux.1-Dev von Grund auf zusammengesteckt habe, will ich heute ein zweites Modell…

Flux.1-Dev in ComfyUI: ein Workflow von Grund auf
In meinem Beitrag über meinen lokalen KI-Stack hatte ich ja schon kurz erwähnt, dass ComfyUI für mich die spannendste Spielwiese ist, wenn es um Bildgenerierung…

Lokale KI in Docker mit Ollama und ComfyUI
Nachdem ich jetzt ja eine rechte gute Grafikkarte mit 16GB Ram hab - eine Nvidia RTX 5070 Ti, über die ich ja bereits berichtet habe - kann ich endlich mal…
Neue Grafikkarte gekauft
Wer meinen Blog verfolgt, der erinnert sich vielleicht daran, dass ich vor knapp zwei Jahren meinen Rechner ordentlich aufgerüstet habe. Damals habe ich CPU,…

Rechner aufrüsten
Nach ca. 7 Jahren wurde es jetzt endlich mal Zeit, dass ich wieder ein bisschen Geld in die Hand nehme, um meine Hardware auf Vordermann zu bekommen. Ich könnte…
Docker unter Windows verwenden
Seit einiger Zeit verwende ich privat auf meinen verschiedenen Linuxsystemen Docker. Sei es für diverse Webseiten, Webapps, Mailserver, Minecraftserver etc. Das…
.NET Core WebAPI mit JWT Authentifizierung
Web-Anwendungen sind in aller Munde und damit auch die damit verbundenen Technologien. Eine Sache, um die man sich da dann immer kümmern muss, ist die…
Markdown in Linux Kommandozeile mit Docker
Vor ein paar Wochen hab ich in einem anderen Post gezeigt, wie man eine Markdown-Datei auf der Linux-Kommandozeile formatiert ausgeben kann. Ein Kollege hat…
Bash-Completion für ssh mit Hostnamen aus dem Nameserver
Da ich immer wieder sehr viel ausprobiere und diverse Services in meinem lokalen Netzwerk zur Verfügung stelle, muss ich auch immer wieder per SSH auf die…
Markdown in Linux Kommandozeile formatiert anzeigen
Mittlerweile schreib ich ja so ziemlich alles mit Markdown. Das hat einfach den Vorteil, dass ich keine aufwändigen Schreibprogramme brauche wie zum Beispiel…
DNS Server in Docker Container
Ich hab schon lange bei mir einen privaten Nameserver laufen. Das hat einfach den Vorteil, dass ich jedes Gerät problemlos mit einem Namen ansprechen kann und…
Mysql-Connection über SSH-Tunnel
In der Regel sichert man Mysql so ab, dass man über das Internet nicht direkt darauf zugreifen kann. Das passiert bereits in der Standard-Mysql-Konfiguration,…
Keymapping in MySql-Workbench ändern
Wenn man eigentlich ständig mit dem Microsoft Sql Server arbeitet, ist man es gewohnt, dass man Queries mit F5 ausführt. Jetzt hab ich aber ein Projekt, bei dem…
Bestehende Subversion-Repositories nach git konvertieren
Es geht weiter mit dem Projekt git. Dieses mal will ich vorhandene Subversion-Repositories nach git umziehen. Es gibt dazu bereits ein paar Anleitungen, aber…
Einen git-Server mit Rechteverwaltung durch gitolite aufsetzen
Seit Jahren verwende ich jetzt schon subversion als Versions-Verwaltung bin damit auch absolut zufrieden. Nie kam ich in eine Situation, dass ich an die Grenzen…
Selbstextrahierendes Archiv mit 7-Zip erstellen
Jeder kennt das Problem: man schreibt ein kleines Programm und wenn man sich einigermaßen an Programmierstrukturen hält, hat man schnell ein paar Dateien…
Attribute, Reflection und Vererbung
Ich arbeite ja sehr viel mit Reflection und nehme dafür auch desöfteren Attribute her, um Klassen näher spezifizieren zu können bzw. um per Reflection auf…
Remove Focus Rectangle
Wenn man ein GUI designed mit einer ListBox oder einer ListView unter Windows.Forms, gibt es immer eine Kleinigkeit, die mir unangenehm ins Auge sticht. Und…

String, der Performance Killer
Ich hab es ja schon oft gehört und gelesen, dass mit Strings vorsichtig sein soll, wenn es um das Thema Performance geht, aber ich muss ehrlich zugeben, dass…
Kleiner Performance Messer
Auf Grund meines letzten Posts, möchte ich schnell noch eine kleine Klasse zeigen, mit der ich die verbrauchte Zeit einer Aktion schnell ausgeben kann.…
Logging in die Ereignisanzeige
Für ein Tool hab ich kürzlich ein Logging in das Windows-EventLog benötigt. Natürlich gab es dazu auch ein paar Anforderungen. 1) Das Logging muss jederzeit…
Verwende ich Windows oder Linux?
Kürzlich bin ich gefragt worden, ob ich privat Windows oder Linux verwende. Natürlich Windows... oder? Naja. Um so länger ich darüber nachdenke, desto weniger…
Default Value bei Enumerations
Wenn man mit Enumerations arbeitet, ist es immer ganz praktisch, wenn man weiß, wie die DefaultValues funktionieren bzw. wie man diese beeinflusst.…
String To Enum
Bleiben wir gleich bei den Enums und bauen wir unsere statische Klasse "EnumerationsHelper" aus dem letzten Beitrag noch ein bisschen aus, um einen Enum aus einen String zu erstellen. Für was kann man das brauchen? Also ich benötige diese Funktion (oder eine Abart davon) relativ häufig, wenn ich eine XML-Datei in ein Objekt umwandeln will.
yield return - Optimierte Rückgabefunktionen
Kürzlich trat mal die Frage auf, was das Schlüsselwort "yield" bewirkt. Meine Antwort darauf war grob so: " Es werden Werte für einen IEnumerable erst…
Überschriebene Property sicher mit Reflection auslesen
Ich bin kürzlich wieder einmal über ein kleines Problem gestoßen. Es kommt ja immer wieder mal vor, dass man Properties per Reflection auslesen muss oder noch…
Konfiguration einer .NET Anwendung
Es herrschen immer wieder Unklarheiten darüber, wie das mit der app.config unter .NET genau funktioniert. Dabei gibt es eigentlich nur ein paar Sachen die man…
Delphi: I call you by your name - dynamische Prozeduraufrufe
Bisher hab ich eigentlich nur Artikel über C geschrieben. Und das obwohl ich arbeitstechnisch die meiste Zeit mit Delphi programmiere. Und da ich kürzlich dabei…
Immer diese Warnungen
Folgendes Beispiel: Ich habe ein Interface, das von zwei Klassen benutzt werden kann. Einmal eine Klasse zum Editieren eines Objekts und einmal eine Klasse die…
Application.Exit() statt this.Close() im FormLoad?
Eigentlich ein Thema, das mich schon lange nicht mehr betroffen hat, aber ich muss da heute mal darauf zu sprechen kommen, da ich in einem anderen Blog eine recht unschönen Beitrag zu diesem Thema gefunden habe.
Paging mit SQLServer
Immer wieder benötigt an eine Möglichkeit, um nur eine bestimmte Anzahl von Datensätzen zu selektieren. Man hat zum Beispiel eine Liste in der die Daten nur bei…
Singleton Pattern
Es ist wieder einmal an der Zeit ein einfaches Pattern genauer zu durchleuchten. Das Singleton Pattern... Ich denke, es ist eines der einfachsten Pattern…
Convert T to ...
Es ist immer wieder ein leidiges Problem, wenn man eine generische Methode geschrieben hat und den Wert darin in einen speziellen Type konvertieren will. Auch…
Echte Zufallszahlen mit C#
Random ist nicht gleich Random. Das ist das einzige, das klar ist. Ich denke in jeder Programmiersprache gibt es eine Funktion zum erstellen von Zufallszahlen.…
Lamda Expressions
Jetzt muss ich mal ein bisschen was zusammenschreiben zum Thema Lamda Expressions. Seit die Lamdas mit .NET 3.0 eingeführt wurden, nehme ich sie regelmäßig her,…
Erste Eindrücke von Windows 8
So. Gerade hab ich mir die Windows 8 Developer Preview installiert und natürlich gleich mal ein bisschen rumgeklickt. Grundsätzlich sieht das Ding ja ganz gut…
Microsoft-Minute
Einen Artikel in der Art hab ich ja auf meiner alten Homepage schon einmal geschrieben… Nein. ich wiederhole mich nicht, sondern ich ärgere mich nur immer wieder über die gleichen Sachen.
Von Konstruktoren und Destruktoren
Ein Anfänger-Thema? Irgendwie schon. Dennoch kommt die Frage immer wieder, in welcher Reihenfolge was aufgerufen wird. Ich kenne ehrlich gesagt niemanden, der…
WPF: Vollbild-Anwendung ohne Titelleiste
Mit XAML kann man angeblich alles so designen, wie man will. Die Vielzahl der Möglichkeiten erschlägt einen auch gerade zu. Dennoch gibt es immer wieder Sachen,…
Welcher .NET Reflector?
Mittlerweile hat es sich ja schon rumgesprochen, dass der allseits bekannte .NET Reflector von Red Gate nicht mehr kostenlos ist und man die Trial Version nur…
Usability: Scrollbare Elemente
Immer wieder fällt mir auf, dass zwar sehr viel über Usability gesprochen wird, aber ganz einfache Sachen, die bei Programmierung mit Win32-Sprachen üblich…
Dependecy Injection mit Castle Windsor Container
Castle Project bietet mit seinem MicroKernel eine sehr gute kostenlose Möglichkeit für den einfachen Einsatz von einem InversionOfControl Container und dem Einsatz von Dependency Injection.