Skip to content

Archiv fuer den Monat März, 2012

29
Mrz

Wiedermal im Kino gewesen!

In letzter Zeit war ich ja gar nicht mehr oft im Kino. Nach langer Zeit war ich aber dann mit meiner Freundin doch wiedermal. Was wir uns angesehen haben? „Türkisch für Anfänger“. Hmm…
Wir haben ja auch die Serie zu Hause und zugegeben, die ist eigentlich gar nicht mal so schlecht. Also hab ich mich breitschlagen lassen und somit haben wir uns den Film eben angesehen.
Der war eigentlich ganz Lustig. Nur etwas unrealistisch. Aber welcher Film ist das denn nicht?

Morgen kommt dann vermutlich meine bestellte Ausgabe von „Game of Thrones“ und zwar die limitierte Erstauflage mit Fotobuch – hoffe ich zumindest. Bestellt hab ich am 1. Februar. Nachdem Amazon aber auch keine Mail geschickt hat, dass diese nicht mehr verfügbar ist bin ich mal zuversichtlich.
Ich lese ja zurzeit die entsprechenden Bücher. Momentan beim zweiten Band. Leider gehts nicht ganz so schnell voran weil ich halt eben nicht immer so viel Zeit habe um zu lesen. Der dritte Band steht aber auch schon bereit. Die erste Staffel der Serie habe ich eigentlich auch schon gesehen. Werde mir die aber bestimmt nochmal ansehen (v. a. dann in BluRay :-)), das Buch wurde dabei ziemlich gut verfilmt. Bis auf ein paar Kleinigkeiten wie meistens halt.

25
Mrz

Er läuft wieder!

Ja. Ich habe ja heute meinen Rechner formatiert und neu aufgesetzt. Naja eigentlich nicht den Rechner, sondern den Laptop an dem meistens eigentlich mein Dad sitzt. So, jetzt ist das System wieder „jungfräulich“ und es wurden nur die wichtigsten Programme installiert. Da der Rechner aber seit geraumer Zeit doch immer ziemlich lange braucht bis Programme geladen sind, bzw. bis er vollkommen gestartet ist, bin ich durch den Fehler gestern doch etwas skeptisch geworden.
Vielleicht hat ja die Festplatte doch nen Schuss weg. Also Speedfan runtergeladen. Zwei Werte davon sind Rot markiert (ach wie gut, dass ich mich mit den S.M.A.R.T überhaupt nicht auskenne. Okay ich könnte mich ein bisschen reinlesen, dazu habe ich aber im Moment eigentlich keine Lust. Jedenfalls hab ich mir dann auch von DELL so ein Diagnosetool runtergeladen, welches gerade auf der Startseite angepriesen wurde. Da ich gerade ein paar Treiber brauchte bin ich also zufällig „darübergestolpert“.
Also hab ich mir das Ding mal runtergeladen um zu sehen was das Teil sagt. Bis auf den üblichen Zeug mit Registry kann optimiert werden usw. kommt auch ein Punkt vor welcher besagt „Eine oder mehrere Festplatten weisen Anzeichen physikalischer Fehler auf!“.

Hmm. Vllt. sollte ich doch mal eine kleine 2,5″ Festplatt mit 250 oder 300GB Speicher kaufen und das Teil tauschen um zu sehen was passiert. Mal sehen vllt. mach ich das auch noch. Bis dahin heißt es aber: Keine kritischen oder wichtigen Daten auf den Laptop!

So, jetzt widme ich mich wieder ein wenig dem zweiten Band von „Das Lied von Eis und Feuer“. Freu mich auch schon auch meine Collectors Edition der ersten Staffel in BluRay. Auch wenn ich die erste Staffel schon gesehen habe. Werde die mir aber auf jeden Fall nochmal ansehen. Die Umsetzung der Serie ist sehr gut gelungen.

Wünsche allen noch einen schönen Sonntag!

25
Mrz

*GRML*

Gestern ist mein Vater mit dem Laptop ein wenig im Internet gesurft – was ja an und für sich nichts ungewöhnliches ist. Nachdem er zu mir sagt ich soll mal kurz schauen, nehm ich mir den Laptop. Antivir hat einen Trojaner gefunden. Okay, ich klicke auf „Entfernen“. Alles gut denk ich mir, doch plötzlich tauchen ca. 50 Meldungen auf, mit angeblich defekten Sektoren der Festplatte. Auch eine Meldung sagt mir, dass meine Festplatte angeblich kaputt ist. Es bietet sich auch gleich ein Scan an, welcher besagt, dass meine Festplatte die Geschwindigkeit um 20% reduziert hat.
Anscheinend haben die Ramriegel laut dem „Analysetool“ auch über 80°C und ein paar andere Probleme wurden natürlich auch gefunden. Das Tool, welches mein System da geprüft hat, schaut sehr nach Microsoft aus. Teilweise war ich mir nicht sicher, ob dieses wirklich von dort kommt oder nur ein Trick ist.
Ein Button stimmt mich dann doch sehr Skeptisch – darauf wird nämlich angepriesen, dass man doch die Vollversion des entsprechenden Programmes kaufen soll. Also hab ich ein bisschen gegooglet und tatsächlich gibt es einen entsprechenden Trojaner…

Lade mir gerade eine Knoppix Live CD herunter mit der ich dann den Laptop starten werde. Mal sehen ob wichtige Daten drauf sind und diese ggf. sichern. Danach wird das Teil neu aufgesetzt. Sicher ist sicher. Dem ganzen entfernen der Viren mit einem Programm trau ich nämlich immer nicht so recht. Lieber gleich neu aufsetzen und gut ists. Ein bisschen nervig find ichs zwar schon, dass ich jetzt heute wieder den Laptop neu installieren muss aber hilft ja nicht…

Ich frag mich zwar immer noch wies der Trojaner auf den Rechner geschafft hat, denn mein Vater ist ja eigentlich nur im Internet gesurft… Aber Ok…

21
Mrz

Gar nix los!

Nachdem hier im Blog in letzter Zeit wiedermal gar nix los war wirds wiedermal Zeit für einen Eintrag denk ich mal 😉

Also was gibts eigentlich so neues? So viel fällt mir da eigentlich gar nicht ein. Wie vor ner Weile schon erwähnt hab ich ja mittlerweile angefangen die Buchserie „Das Lied von Eis und Feuer“ zu lesen. Den ersten Band habe ich mittlerweile durch, mit dem zweiten habe ich gerade angefangen und der dritte steht auch schon zu Hause (war ein Geburtstagsgeschenk meiner Freundin).

Meine Idee zu meinem Projekt „MedienVerwaltung“ mit Last.fm-Schnittstelle wurde schon umgesetzt. Zumindest der Großteil. Ein paar Sachen muss ich noch testen und erweitern. Allerdings habe ich in letzter Zeit wieder nicht so viel Zeit da rum zu Programmieren. Naja, ehrlich gesagt, Zeit eigentlich schon. Aber durch einen Arbeitskollegen bin ich jetzt auf „Star Wars: The Old Republic“ gestoßen und Zocke dieses zur Zeit ein wenig. Man kennt auch, dass bei dem Game Bioware dahintersteckt, die Story ist nämlich wirklich gut gemacht.

Achja und der Urlaub ist auch schon gebucht. Zumindest für nächstes Jahr. Anstifter war meine Freundin. Eigentlich bin ich ja gerne zu Hause in unserm guten alten Deutschland. Ich bin nicht so der Typ der immer irgendwohin muss und schon gar nicht in andere Länder. Naja jetzt fliegen wir nächstes Jahr für 7 Tage in die Türkei (Rundreise in Kapadokien). Okay, das hört sich schon einigermaßen interessant an…
Ich lass mich mal überraschen wies wird. Bis jetzt haben wir ja noch Zeit.

6
Mrz

Bild in Hex-String umwandeln

Heute gibt es ein kleines Codesnippet, welches zeigt, wie man ein Bild im C++-Builder in einen Hexadezimalen String umwandeln kann, um es z. B. so in einer Datenbank zu speichern.

Dazu müssen wir das Foto in einen TStringStream laden (eigentlich wird dabei nur die Länge das DataStrings benötigt). Da ich in meinem Beispiel das Bild sowieso schon als TMemoryStream habe, caste ich diesen einfach:

FotoStream; // -> enthält das Foto
TStringStream* strStream = new TStringStream(); // Neuen TStringStream erzeugen
strStream->LoadFromStream(FotoStream); // Den MemoryStream in einen StringStream laden

Der Rest ist eigentlich auch ganz einfach, wenn man weiß wie man es machen muss. Das ganze funktioniert wie folgt:

strStream->Seek(0, 0); // Ganz am Anfang des StringStream positionieren
byte *b;
b = new byte[strStream->DataString.Length()] // Neues Byte-Array mit der Laenge des DataStrings des StringStreams erzeugen
FotoStream->Read(b, strStream->DataString.Length()); // Den gesamten Stream in das Byte-Array schreiben
int z = strStream->DataString.Length(); // Die laenge des DataStrings abspeichern

// Das Byte-Array Byteweise durchlaufen
String strHex = "";
for(int i = 0; i < z; i++)
{
     // Jedes Byte einzeln in einen Hexwert umwandeln
     strHex += IntToHex(b[i], 2);
}

// Zum Schluss das Byte-Array wieder freigeben
delete b;

Nachdem der Code ausgeführt wurde befindet sich in strHex der Hexadezimale String des Fotos. Wichtig ist, dass die länge des DataStrings vorher abgespeichert wird und nicht in der Schleife jedesmal auf „DataString->Length()“ abgefragt wird, das braucht nämlich verdammt viel Zeit!

Viel Spaß damit 😉

5
Mrz

Last.fm API – Die erste Verbindung!

Nachdem ich ja eigentlich den ganzen Freitagnachmittag damit verbracht habe mein Programm mit Last.fm zu verbinden, möchte ich ein kleines HowTo schreiben, wie ihr euer Programm auch verbinden könnte. Ich arbeite dabei mit C# von Microsoft.

Um überhaupt auf die last.fm API zugreifen zu können, müsst Ihr euch für einen entsprechenden Account registrieren, das könnt Ihr hier machen.
Sobald das geschehen ist könnt Ihr loslegen.

Als erstes die Klassen die eingebunden werden müssen:

using System.Net; // Für WebRequest und WebResponse
using System.IO;  // Für Streams
using System.Xml; // Zum auslesen von XML-Dateien/Streams
using System.Security.Cryptography; // Zum erstellen von MD5 Hashcodes

Der erste Schritt ist nun einen „token“ zu erzeugen. Das funktioniert relativ einfach:

// Anfrage an den Server schicken
WebRequest req = WebRequest.Create("http://ws.audioscrobbler.com/2.0/?method=auth.gettoken&api_key=xxxxxx"); // xxxxxx ist euer entsprechender api_key
// Antwort "abfangen"
WebResponse res = req.GetResponse();

Die Antwort des Servers kann nun in einen Stream gespeichert werden. Aus diesem wird der enthaltene String ausgelesen, welcher im Endeffekt eine XML-Datei mit den benötigten Informationen ist.

// Stream aus der Antwort des Servers in einen Stream umwandeln und daraus den String auslesen
Stream dataStream = res.GetResponseStream();
StreamReader sr = new StreamReader(dataStream);
String strAntwort = sr.ReadToEnd();

// Den String in ein XML-Objekt laden und den "token" auslesen
XmlDocument xml = new XmlDocument();
xml.LoadXml(strAntwort);
XmlNode node = xml.SelectSingleNode("/lfm/token");
String strToken = node.InnerText;

Nun da der Token erzeugt ist, kann euer Programm mit dem jeweiligen Benutzerkonto verknüpft werden. Dabei reicht es den Browser mit eurem api_key und dem token aufzurufen:

// Startet den Standardbrowser mit der entsprechenden URL
System.Diagnostics.Process.Start("http://www.last.fm/api/auth/?api_key=xxxxxx&token=" + strToken);

Wurde das Programm für das Benutzerkonto des Users freigegeben, können wir einen Session-Key erzeugen. Dieser hat in seiner Gültigkeit keine Limitierung (im Gegensatz zum token, der nach 60 Minuten abgelaufen ist) und sollte am besten irgendwo im Programm abgespeichert werden (Datenbank, Ini-Datei, …), da dieser für bestimmte API-Aufrufe benötigt wird.

Als erstes muss die api_sig (=Signatur) erstellt werden. Dies ist ein MD5-Hashcode aus mehreren Parametern:

// Der api_key, die methode die aufgerufen wird (getSession), der token und zum Schluss euer "Secret", welches ihr beim api_key in eurem Account findet
String strSignatur = "api_keyxxxxxxmethodauth.getSessiontoken" + strToken + "yyyyyy"; // yyyyyy steht für euer Secret
strSignatur = BitConverter.ToString(md5Hasher.ComputeHash(Encoding.Default.GetBytes(strSignatur))).Replace("-", "");

Nun haben wir die Signatur. Damit sind wir schon fast am Ziel. Wir müssen uns nur noch den Sessionkey erzeugen lassen:

// API aufruf
req = WebRequest.Create("http://ws.audioscrobbler.com/2.0/?method=auth.getSession&api_key=xxxxxx&api_sig=" + strSignatur + "&token=" + strToken);
res = req.GetResponse();

// Wie schon vorher die Antwort wieder in ein XML-Objekt laden
dataStream = res.GetResponseStream();
sr = new StreamReader(dataStream);
strAntwort = sr.ReadToEnd();
xml.LoadXml(strAntwort);
node = xml.SelectSingleNode("/lfm/session/key");
// Sessionkey
String strKey = node.InnerText;
node = xml.SelectSingleNode("/lfm/session/name");
// Username
String strUsername = node.InnerText;

Den Sessionkey könnt Ihr nun irgendwo abspeichern. Ebenso den Usernamen (kann ja nicht schaden). Mit dem Sessionkey könnt Ihr nun Methoden aus der API aufrufen, welche ebendiesen benötigen (um z. B. bestimmte Informationen aus dem entsprechenden User-Account zu Filtern).

Viel Spaß damit 🙂

4
Mrz

Wo ist das Wochenende?

Diese Frage stell ich mir schon wieder. Am Freitag nach der Arbeit wollte ich ein wenig zocken und ein bisschen „Das Lied von Eis und Feuer“ lesen. Zum Zocken bin ich aber irgendwie nicht gekommen.
Ich habe ein wenig an meinem Projekt rumprogrammiert und mich auch gleich ans Werk gemacht meine Idee mit Last.fm umzusetzen.
Um halb 3 hab ich also angefangen, gegen 7 war dann Schluss. Immerhin funktioniert mittlerweile die Verbindung zu Last.fm und auch das holen von Informationen hab ich hinbekommen 🙂

Gestern haben wir dann noch ein wenig meinen Geburtstag, der am Montag war „nachgefeiert“. Im Prinzip waren ein paar Verwandte da und Abends kam dann noch mein Kumpel mit seiner Freundin mit denen wir noch einen Film geguckt haben.

2
Mrz

Version 0.3 Beta!

Habe wiedermal ein wenig was an meiner Medienverwaltung getan! Leider habe ich festgestellt, dass in der letzten Version ein kleiner Bug vorhanden war. Aufgrund von diesem konnte man das Programm nicht starten weil die Datenbank nicht erzeugt wurde. Dieser Bug wurde jetzt behoben. (Ihr könnt mir auch gerne im Downloadbereich einen Kommentar hinterlassen, sollte euch soetwas mal auffallen). Betroffen war nur jemand, der das Programm das erste mal gestartet hatte.

Was ist neu?
Eigentlich nicht viel. Was hinzugekommen ist, ist ein Maske zum hinzufügen von Titeln zu einem Album. Dazu müsst Ihr ganz einfach nur auf ein Album Doppelklicken und schon erscheint eine Maske in der die Titel erfasst werden können.

Was ist als nächstes geplant?
Bis auf ein paar Kleinigkeiten, die ich bei Gelegenheit noch einmal einbauen möchte habe ich ein gute Idee (denke ich :-)). Und zwar habe ich vor, dass zu den Titeln über Last.fm die Anzahl ermittelt wird wie oft ebendieser schon abgespielt wurde – natürlich muss man dazu ein last.fm-Konto besitzen. In einem zweiten Schritt möchte ich auch versuchen, evtl. die Titel des Albums automatisch zu ermitteln. Darum muss ich mich aber noch kümmern. Jetzt les ich mich erstmal ein wenig in die last.fm-API ein.