Blog kompromenttiert

28 08 2010

Die Überschrift sagt alles denke ich. Hmpf.



Der Phoenix und so

25 08 2010

Liebes Online-Web-2.0-Diaryalike-Blog,

lange warst du verwaist. Aber jetzt möchte ich dich mal wieder ein bisschen mit Leben füllen.

In den nächsten Tagen wird zunächst ein bisschen an deinen Innereien rumgeschraubt, Funktion und Optik auf einen vernünftigen Stand gebracht.

Danach wird es hier hoffentlich ein paar neue Projekte, Ideen und Visionen geben.



Rock am Ring 2008

25 08 2010

Hier mein verwaister Festivalbericht aus dem Jahre 2008. Musste jetzt irgenntwie mal raus.
Lesen »



XML RPC mit Qt 4.6 und OpenSSL

9 03 2010

In einem Projekt möchte ich mit Qt auf die XML Rpc Schnittstelle von Sipgate Team zugreifen.

Nach meiner Internetrecherche hat sich folgendes herrausgestellt:

  • Qt bringt keine eigene XML Rpc Librarys mit. SOAP ist mit Qt übrings kein Problem.
  • Mit geringem Aufwand lässt sich aus den Qt Modulen QtNetwork und QtXML eine eigene XML RPC Lib zusammenschustern.
  • Sebastian Wiedenroth und Karl Gratz haben uns mit LibMaia schon einen Großteil der Arbeit abgenommen.
  • Für meine Zwecke musste ich nurnoch einige Anpassungen vornehmen (SSL und Auth)

Vorraussetzungen

Ich entwickele unter Windows 7 mit VS2005. Eine Anleitung zu Qt und VS2005 findet man bei Ferhat Akgün.

Qt mit OpenSSL Support kompilieren

Nachdem OpenSSL installiert ist müssen wir Qt mit OpenSSL Support backen. Dazu rufen wir configure zusätzliche mit folgenden Flags auf:

-openssl -I pfad_zu_openssl_includes -L pfad_zu_openssl_libs

Bei mir sieht das so aus:
configure -platform win32-msvc2005 -no-qt3support -qt-sql-odbc -qt-sql-sqlite -qt-zlib -qt-libpng -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib -qt-sql-mysql -opensource -I C:\mysql-5.1.44-win32\include -L C:\mysql-5.1.44-win32\lib\opt -l libmysql

LibMaia

Nachdem wir uns ein Checkout von LibMaia besorgt haben (svn co https://svn.frubar.net/svn/libmaia/trunk/) kompilieren wir das ganze mit

qmake && nmake

Ich empfehle, einen Unterordner wie 3rdparty im Qt Verzeichnis (in der Ebene ,in der auch die Ordner mit eueren Qt Versionen liegen) zu erstellen und dort 3rd-Party Libs wie LibMaia abzulegen.

Macht euerem Projekt jetzt den Include Path mit den Headern sowieso euerem Linker den Include Path mit den Libs und im speziellen maia.lib bekannt. (Wenn ihr wollt könnt ihr natürlich auch die *.h und *.cpps von LibMaia direkt euerem Projekt hinzufügen und euch den vorherigen Schritt sparen)

Frisch ans Werk

Weist zunächst Qt an, die Module QtNetwork und QtXml mitzuladen.

Erstellt jetzt eine Klasse die folgende Slots enthält:

public slots:;
void myFaultResponse(int, const QString &);
void myResponse(QVariant&);

Diese werden benötigt, um auf die asynchronen Antworten der XML RPC API zu reagieren.

In euerer .cpp inkludiert ihr “maiaXmlRpcClient.h”. Ich werde jetzt meinen ersten Testcode benutzen, um euch das weitere vorgehen zu erklären:


#include "xmlrpc.h"
// Client Includes
#include "maiaXmlRpcClient.h"
xmlrpc::xmlrpc(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags)
{
ui.setupUi(this);
// API Url. Kann auch pro Call übergeben oder mit rpcClient->setUrl gesetzt werden.
QUrl targetUrl = QUrl("https://api.sipgate.net/RPC2");
targetUrl.setUserName("euere@sipgate.kontaktdaten");
targetUrl.setPassword("euerpasswort");
// Erstellt den Client. Der zweite Parameter ist ein QObjekt als Parent für die automatische
// Objektzerstörung, wie bei Qt üblich
MaiaXmlRpcClient* rpcClient = new MaiaXmlRpcClient(targetUrl, this);
// Ein erstellen, wie von der Sipgate Api für ClientIdentify verlangt
QVariantMap clientArgs;
clientArgs["ClientName"] = QString("AWinKD Sipgate Plugin");
clientArgs["ClientVersion"] = QString("0.1");
clientArgs["ClientVendor"] = QString("Steffen Görtz");
// In ein packen
QVariantList args;
args << clientArgs;
// Methode samurai.ClientIdentify ausführen und Antwort sowieso Errormethode connecten
rpcClient->call("samurai.ClientIdentify", args,
this, SLOT(myResponse(QVariant&)), this, SLOT(myFaultResponse(int, const QString &)));
}
void xmlrpc::myFaultResponse(int errorCode, const QString &errorMsg) {
qDebug() << "Fehler (" << errorCode << ") :" << errorMsg;
}
void xmlrpc::myResponse(QVariant &response) {
;
}



Ben Howard

30 01 2010

Donnerstag bei One Shot Not nach Tracks gesehen.



Techporn zum Wochenende

29 10 2009
  • Ein militärischer Roboter namens “Big Dog” von Boston Dynamics:

  • Ein voll funktionsfähiges, an Tieren bereits erprobtes Kunstherz:

kunstherz.png



The Slew – It’s All Over

10 10 2009



Qt – Über Ordner und Resourcen iterieren

2 10 2009

Wer in Qt schnell über eine Verzeichnisstruktur iterieren will, der nutzt dazu QDirIterator.
Die Qt Dokumentation meint dazu:

 QDirIterator it("/etc", QDirIterator::Subdirectories);
 while (it.hasNext()) {
     qDebug() << it.next();
 
     // /etc/.
     // /etc/..
     // /etc/X11
     // /etc/X11/fs
     // ...
 }

Nichts besonders, sowas kann heutzutage jedes Framework – und Java von Haus aus.

Jetzt wirds awesome: QDirIterator greift nicht direkt auf das Dateisystem zu (Architekturbedingt macht das bei einem plattformunabhängigen Framework auch keinen Sinn), sondern über Ableitungen von QAbstractFileEngineIterator. Und so ermöglicht QDirIterator auch den Zugriff auf in die Applikation kompilierte Resourcen:

QDirIterator it(":/subitems");
 while (it.hasNext()) {
     qDebug() << it.next();
 
    // :/subitems/globe.png
    // :/subitems/pin.png
    // :/subitems/light_bulb.png
     // ...
 }

Awesome!



Warum Videoüberwachung Gewaltexzesse nicht verhindern kann

15 09 2009

Dieser SpiegelOnline-Artikel fast ziemlich präzise zusammen, warum Videoüberwachung keine Straftaten verhinderen kann und entlarvt damit die immer wiederkehrenden Forderungen nach eben dieser, vor allem der CDU/CSU, als nutzlos.

Es dauerte nicht lange, da verfiel die Politik in altbekannte Forderungen. Der bayerische Innenminister Joachim Herrmann verlangte härtere Gesetze und rief die Bahn auf, mehr für die Sicherheit auf Bahnhöfen zu tun. Der CSU-Politiker sagte am Montagmorgen im rbb-Inforadio: “Ich fordere von der Deutschen Bahn klipp und klar, dass alle S-Bahn-Stationen ebenso wie die U-Bahnhöfe mit Video-Überwachungseinrichtungen ausgestattet werden.”Fachleute wie der Berliner Wissenschaftler Eric Töpfer halten das für wenig hilfreich. “Videokameras werden Gewalttaten wie in Solln nicht verhindern können. Zur Abschreckung dieser meist jugendlichen, völlig irrational handelnden Täter taugen sie nicht.” Die Forderungen der Politik seien “ein in Zyklen wiederkehrendes Ritual, das die Illusion eines Allheilmittels schaffen soll”, so der Politologe, der am Zentrum Technik und Gesellschaft der TU Berlin forscht, zu SPIEGEL ONLINE.

Seine Kollege Nils Zurawski, der sich im Hamburger Institut für kriminologische Sozialforschung mit dem Thema Videoüberwachung befasst hat, hält den Big-Brother-Ansatz ebenfalls für verfehlt: “Das Problem ist auch: Es schauen einfach zu wenige Leute zu. Selbst wenn die Kameras einen Übergriff einfangen, sieht das häufig niemand”, sagte der Soziologe. Die Sicherheitszentralen seien einfach zu schlecht besetzt. Die Bahn betreibt nach eigenen Angaben zurzeit 3200 Kameras in Deutschland.

In Aachen engagiert sich die Piratenpartei aktiv für die Abschaffung jeglicher unnützer Überwachungseinrichtung im öffentlichen Raum. Mehr Informationen dazu findet man: Piratenpartei Aachen – ÜberwAACHEN.



Late of the Pier – Focker

15 09 2009

Ist schon älter, aber im moment höre ich es rauf und runter. Intro und Outro rocken!