Update: Cloud Downloader 2.9.5

Cloud Downloader 2.9.5Nur ein kurzes Status-Update. Seit heute gibt es den Cloud Downloader in der Version 2.9.5. Wie die Versionsnummer schon ahnen lässt, enthält der Sprung von 2.9 zu 2.9.5 nur kleinere Änderungen.
Neue Features sind in dem aktuellen Release nicht enthalten. Dafür habe ich an der Stabilität des gesamten Programms gearbeitet und den ein oder anderen Bug behoben.
Die aktuelle Version findet ihr wie immer im Hauptartikel zum Cloud Downloader über nachfolgenden Link.
Zum Download: Cloud Downloader 2.9.5

Steganographie mit PHP – Dateien in Bildern verstecken

Steganographie mit PHPIn diesem Artikel wollen wir uns mit dem Thema Steganographie beschäftigen und ein kleines Beispiel in PHP implementieren. Denn mit PHP lassen sich längst nicht “nur” Webseiten erstellen oder Formulare umsetzen, was mit Sicherheit auch jeder versierte PHP-Programmierer größerer Webagenturen bestätigen wird.
Neben Funktionen zur Textverarbeitung bringt PHP auch Methoden zur Bildbearbeitung sowie zur Manipulation auf Bit- und Byte-Ebene mit. Und eben diese wollen wir uns heute zunutze machen. Doch bevor es mit dem Coding losgeht, gibt es noch einen kurzen Einstieg in das Thema Steganographie.
Steganographie ist keine Kurzschrift
Wie der Titel bereits angekündigt hat, geht es heute um Steganographie, die Kunst Informationen oder Wissen in einem Trägermedium zu verstecken. Wikipedia definiert Steganographie wie folgt:
Die Steganographie (auch Steganografie) ist die Kunst oder Wissenschaft der verborgenen Speicherung oder […]

Analyse eines Javascript Poker Hand Evaluators

Poker in JS, Bits und BytesNachdem wir uns dem Thema Poker schon in einigen C#-Tutorials (siehe 1, 2, 3, 4) angenommen haben, wollen wir heute den Blick in Richtung Javascript lenken. Und wenn ich sage Javascript, dann meine ich das auch so. Bibliotheken wie jQuery (die dieser Tage viel zu oft fälschlicherweise mit Javascript gleichgesetzt werden) lassen wir heute aus dem Spiel. Doch was genau wollen wir heute eigentlich erstellen?
Im heutigen Artikel wollen wir noch einmal das Thema “Hand Evaluator” beackern. Also jenes Thema, welches wir an dieser Stelle schon in C# umgesetzt haben. Für alle, die den letzten Artikel nicht gelesen haben oder mit C# nichts anfangen können, noch einmal schnell die Zusammenfassung, was ein Poker Hand Evaluator ist und wozu er genutzt […]

Best Practice: 1 und 0 nach true und false konvertieren in Javascript

1 und 0 zu true und false in JavascriptHeute mal nur einen ganz kurzen Beitrag. Es gibt sicherlich viele Wege 0 und 1 in Javascript nach true und false umzuwandeln.
Folgender Weg, den ich heute gesehen hab, dürfte aber wohl der kürzeste und auch eleganteste sein. Zudem klappt er nicht nur für Integer-Werte, sondern auch für die String-Repräsentationen von 0 und 1.
Sowas verbuche ich hier immer unter “Programmierperlen”…
0 und 1 nach true und false
Um die Integer 0 und 1 nach Boolean zu konvertieren, genügt es den Not-Operator doppelt einzusetzen.

var thisIsFalse = !!0; //false
var thisIsTrue = !!1; //true

Warum das funktioniert? Nehmen wir folgendes Beispiel. 1 ist ein valider Wert und somit true. Wenn wir nun !1 schreiben, dann negieren wir das […]

How to: Poker Hand Evaluator in C# implementieren

Pokerhand Evaluator CsharpDas Thema Poker habe ich nun schon in dem ein oder anderen C#-Artikel als Aufhänger genommen, um tiefer in verschiedene Programmierthematiken einzusteigen. So gab es bereits einen Artikel zur Bildanalyse, einen zur Berechnung der Gewinnwahrscheinlichkeit und einen, in dem die beiden eben genannten kombiniert wurden.
Alle drei Artikel haben eines gemeinsam. Sie basieren auf einer Bibliothek, die ermitteln kann, welche Pokerhand in einem direkt Vergleich der Gewinner ist. Solch eine Bibliothek nennt man auch “Hand evaluator”, da sie zwei Pokerhände evaluieren kann. Und genau hier wollen wir heute ansetzen.
In diesem Artikel wollen wir Schritt für Schritt eine eigene C#-Bibliothek zum Vergleich zweier Pokerhände erstellen. Hierzu arbeiten wir uns nach und nach zum Ziel. Beginnen werden wir mit den Datenstrukturen für Spielkarten […]