Melvins Live auf dem Hellfest ;)
THE MELVINS live at Hellfest 2011 from Hellfest on Vimeo.
Was will man da noch sagen …
Varolo Weltweit
Vor langer Zeit hatte ich einmal von Varolo berichtet und dann festgestellt, dass es nur in Amerika verfügbar ist. Nun ist es Weltweit möglich bei Varolo mitzumachen.
Keiko Matsui – Deep Blue
In letzter Zeit war die von mir vorgestellte Musik eher düster und bedrückend. Deshalb gibts hier einen wunderschönen Musiktipp zum Träumen. Einfach wunderschön
SeeYou Online Änderungen
So wie SeeYou Online aktuell ist, wird es zu sehr falsch verstanden. Viele vergleichen das eigentliche Portal mit anderen etablierten Seiten. Dies geht aus dem Webinar von Gestern hervor. SeeYou Online möchte sich diesem Vergleich noch nicht stellen, weshalb es nun als “Investoren-Netzwerk” kommuniziert werden soll. Um das Projekt weiter zu verbessern geht SeeYou Online extrem auf die User ein, wie ich es noch bei keinem anderen Netzwerk gesehen habe.
Hier eine Liste mit den besprochenen geplanten Änderungen für SeeYou Online:
- Die Startseite soll nochmals komplett umgekrempelt werden. Die aktuelle Seite ist einfach zu überladen. Die neue Seite soll möglichst minimal gehalten sein und nur die wichtigsten Informationen bereithalten. Dazu wurde ein Ansatz mit verschiedenen Ausführungen auf dem Webinar gezeigt der wirklich deutlich besser ist, als die momentane Seite.
- Das Video, dass SeeYou Online erklärt soll kürzer werden und sich auch mehr am “Investoren-Netzwerk” ausrichten. Als ein Investoren Netzwerk will SeeYou Online gesehen werden (solang kein konkurrenzfähiges Portal steht), als eine art Volksinvestition in der die User gemeinsam etwas aufbauen, wodurch sie am Ende profitieren.
- Mitglieder die nur am eigentlichen Portal interessiert sind, sollen nicht mehr mit dem halben Portal abgespeist werden, sondern auf eine Warteliste gesetzt werden. Dann werden Sie informiert, wann es soweit ist und bekommen kein falsches Bild.
- Investoren sollen nun auch mit einem Monatlichen Beitrag einsteigen können. Dieser kostet aber ein wenig mehr, als wenn man für ein Jahr im vorraus bezahlt.
- Der Marketingplan soll vereinfacht werden. Um alle 9 Ebenen freizuschalten sollen nun keine 6 direkten Premium Mitglieder notwendig sein, sondern nur 3.
- Der vorerste Schwerpunkt Flirtportal soll zu Freundesnetzwerk und Geschäftskontakte verschoben werden.
Jetzt bei SeeYou Online anmelden
(Unabhängiger Vertriebspartner von SeeYou Online)
Wetten mit Spaß
Welche Art zu wetten macht eigentlich am meisten Spaß? Wetten kann man ja auf jeden Sport und es gibt eingefleischte Fans für Fußballwetten, für American Sports, für Eishockey und andere Wintersportarten sowie für Pferderennen. Der Spaß wird im Wesentlichen durch die Höhe des Einsatzes bestimmt, sagen die einen, die anderen sagen, dass es darauf ankommt, wie knapp der Ausgang sein kann und das variiert je nach Sportart zum Teil erheblich.
Audiovisueller Weltuntergang: Laibach – B Mashina
Laibach ist ja eine Musikgruppe die leicht falsch verstanden wird. Doch was diese Gruppe bietet sollte jeden überzeugen. Harte treibende Beats, eine gigantische industrielle Atmosphäre, eine riesen Kreativität, Aussagekraft, klassische Arrangements, mega Chöre und vieles vieles mehr.
Das folgende Video mit der Musik von Laibach ist von dem Künstler Chris Roth. Zusammen ergibt sich ein audiovisuellen Weltuntergang mit Ohrwurmcharakter.
LAIBACH – B MASHINA from Chris Roth on Vimeo.
Betfair API mit Java und Netbeans (Teil3) – Anleitung/Tutorial – Alle Märkte auflisten
Hier im dritten Teil des Tutorials zur Betfair API Programmierung mit Java und Netbeans zeige ich euch wie ihr alle Märkte von Betfair auslesen und auflisten könnt. Voraussetzung für dieses Tutorial ist, dass ihr den Login zur Betfairseite bereits hergestellt habt. Wie das genau geht, hab ich bereits im zweiten Teil des Tutorials beschrieben.
Das Arbeiten mit der Betfair API läuft immer nach dem selben Schema ab. Wenn ihr das Konzept einmal raus habt, könnt ihr nach herzenslust verschiedene Funktionen ausprobieren. Zuerst wird immer eine Anfrage/Request erstellt, dem wir den Header unserer Loginsession übergeben. In diesem Header ist eine Zeichenkette (Session Token) die eine identifikation für unseren aktuellen Login darstellt. Diese Zeichenkette sollte wir immer aus der vorherigen Abfrage übernehmen. In der API Dokumentation können wir sehen, welche Daten wir dem Request noch anfügen müssen. Ist der Request erstellt senden wir diesen über den entsprechenden Webservice an die Betfairseite und erhalten eine Rückgabe/Respone die wir dann auswerden können.
Eine kleine Anmerkung vorweg. Der Array wird bei im Beispielcode am Anfang mit vorgegebener Größe erstellt. Das ist nicht gerade schön und sollte noch so verändert werden, dass dieser erst nach Ermittlung der notwendigen Größe erstellt wird. Es sind ca. 10.000 Märkte auf Betfair. Zum ausprobieren sollte es also auch mit meinem Codebeispiel klappen.
Hier also der Java Code mit dem wir alle Märkte auf Betfair erfragen:
// Ergebnisarray
String[][] output = new String[20000][20];
// Felder Beschriftung
final int MARKETID = 1;
final int MARKETNAME = 2;
final int MARKETTYPE = 3;
final int MARKETSTATUS = 4;
final int EVENTDATE = 5;
final int MENUPATH = 6;
final int EVENTHIERARCHY = 7;
final int BETDELAY = 8;
final int EXCHANGEID = 9;
final int ISO3COUNTRYCODE = 10;
final int LASTREFRESH = 11;
final int NUMMBEROFRUNNERS = 12;
final int NUMMBEROFWINNERS = 13;
final int TOTALAMOUNTMATCHED = 14;
final int BSPMARKET = 15;
final int TURNINGINPLAY = 16;
// Exchange Service
BFExchangeService_Service bFExchangeService_Service = new BFExchangeService_Service();
BFExchangeService bFExchangeService = bFExchangeService_Service.getBFExchangeService();
// Get Markets
GetAllMarketsReq getAllMarketsReq = new GetAllMarketsReq();
com.betfair.publicapi.types.exchange.v5.APIRequestHeader newHeader = new com.betfair.publicapi.types.exchange.v5.APIRequestHeader();
newHeader.setSessionToken(sessionToken);
getAllMarketsReq.setHeader(newHeader);
GetAllMarketsResp getAllMarketsResp = bFExchangeService.getAllMarkets(getAllMarketsReq);
if (getAllMarketsResp.getErrorCode().equals(GetAllMarketsErrorEnum.OK)) {
// Market Data
String marketData = getAllMarketsResp.getMarketData();
String[] splitMarkets = marketData.split(":");
int i = 0;
for (String part1 : splitMarkets) {
String[] splitMarket = part1.split("~");
int j = 1;
for (String part2 : splitMarket) {
output[i][j] = part2;
j++;
}
i++;
}
// Beispielanwendung
// Suchen nach Pferderennen im Menüpfad:
CharSequence suche = "Pferdergennen";
for (String[] test : output) {
if (test[MENUPATH] != null) {
if (test[MENUPATH].contains(suche)) {
System.out.println("Marktid: " + test[MARKETID]);
}
}
}
} else {
System.out.println("Get All Markets Error: " + getAllMarketsResp.getErrorCode());
}
Am Anfang lege ich finale Variabeln fest die mit ihrem Namen bestimmte Eigenschaften der Märkte repräsentieren. Dies dient einzig und alleine zur besseren Übersicht für den Programmierer. Seht euch dazu Table 13-3: marketData in der Betfair API Dokumentation an.
Als nächstes erstelle ich mir den entsprechenden Webservice über den ich die GetAllMarkets Anfrage an den Betfairserver senden werde. Dies geschiet auf die selbe weise wie beim Login, nur dass hier der Exchange Service und nicht der Global Service angesprochen wird. Bei einer komplexeren Anwendung könnt ihr die beiden Service an einem zentralen Punkt erstellen und immer wieder darauf zugreifen.
Danach erstelle ich eine GetAllMarkets Anfrage. Dieser muss nur der Header übergeben werden, der wie schon erwähnt den Session Token beinhaltet. Also erstell ich mir einen neuen Header und weise ihm den SessionToken zu. Den Session Token bekommt ihr von der letzten Antwort des Servers. Also zum Beispiel:
sessionToken = loginResp.getHeader().getSessionToken();
Ich erstelle hier im Beispiel einen neuen Header, da der Loginheader einen anderen Typ hat. Ansonsten müsste es auch gehen, den Header aus der Loginantwort zu übernehmen.
Es folgt die eigentlich Anfrage nach dem oben beschrieben Schema. Wie beim Login wird Antwort anhand des Error Codes geprüft.
War die Anfrage erfolgreich bekommen wir mit der Methode getMarketData() aus der Antwort einen elend langen String der alle Märkte mit Trennzeichen(Delimiter) getrennt enthält. Zuerst splitte ich im Beispiel die einzelnen Märkte auseinander und dann die einzelnen Informationen zu den Märkten und speichere das ganze in dem vorbereiteten Array. Jetzt hab ich einen Array bei dem der erste Wert als eine Art ID genutzt wird, und ein weiterer Zähler der die einzelnen Informationen zu den Märkten anspricht. Wir können nun also mit den einzelnen anfangs angelegten Variabeln bequem und gezielt die verschiedenen Eigenschaften der Märkte aufrufen.
Im Code findet ihr ein kleines Anwendungsbeispiel, das alle Märkte nach dem Wort Pferderennen im Menüpfad durchsucht und deren ID ausgibt:
// Beispielanwendung
// Suchen nach Pferderennen im Menüpfad:
CharSequence suche = "Pferdergennen";
for (String[] test : output) {
if (test[MENUPATH] != null) {
if (test[MENUPATH].contains(suche)) {
System.out.println("Marktid: " + test[MARKETID]);
}
}
}
Nun könnt ihr nach herzenslust die Märkte Filtern und mit der MarktID weiter auf den Markt eingehen, was ich in einem späteren Tutorial zur Betfair API Programmierung erläutern werde.
World’s End Girlfriend – Les Enfants du Paradis
Es ist wieder an der Zeit, euch Musik vorzustellen. Les Enfants du Paradis ist ein absolutes Meisterwerk (neben vielen anderen) von Katsuhiko Maeda, ein wahrliches Musikgenie aus dem asiatischen Raum. Klassik gemischt mit moderner Elektro und Rockmusik.
Aleart Besuchertausch: Bis zu 50 Besucher pro Bettellinkaufruf
Aleart Besuchertausch Aktion !
Ich möchte euch auf die aktuelle Aktion beim Aleart Besuchertausch hinweisen. Pro Bettellinkaufruf gibt es bis zu 50 Punkte was bis zu 50 Besuchern entspricht. Die Aktion ist zeitlich begrenzt. Wer auf der Suche nach effizenter und qualitativer Werbung ist, der sollte die einmalige Gelegenheit nutzen, bevor die Aktion ausläuft.
Betfair API mit Java und Netbeans (Teil2) – Anleitung/Tutorial – Bei Betfair Einloggen
Hier im zweiten Teil des Tutorials zeig ich euch, nachdem ihr Netbeans für die Betfair Programmierung scharf gemacht habt, wie ihr euch über die API bei Betfair einloggen könnt.
In der Theorie wird das ganze so aussehen: Wir stellen über einen Webservice eine Anfrage (Request), der wir Informationen wie Username und Passwort mitgeben, und erhalten dann eine Antwort (Response) vom Betfair Server.
Am Ende sieht der Code wie folgt aus, um einen einfachen Login auszuführen:
public static void main(String[] args) {
// Logindaten
String username = "derhetzge";
String password = "topsecret484";
int productId = 82;
// Webservice erstellen
BFGlobalService_Service bFGlobalService_Service = new BFGlobalService_Service();
BFGlobalService bFGlobalService = bFGlobalService_Service.getBFGlobalService();
// Anfrage/Request erstellen
LoginReq loginReq = new LoginReq();
loginReq.setPassword(password);
loginReq.setProductId(productId);
loginReq.setUsername(username);
// Anfrage über Webservice stellen, Antwort/Response entgegennehmen
LoginResp loginResp = bFGlobalService.login(loginReq);
// Antwort auswerten
if (loginResp.getErrorCode().equals(LoginErrorEnum.OK)){
System.out.println("Login erfolgreich");
} else {
System.out.println("Login fehlgeschlagen: "+loginResp.getErrorCode());
}
}
Der erste Block Logindaten sollte jedem der schon ein bisschen mit Java gearbeitet hat klar sein. Hier weisen wir die Logindaten verschiednen Variabeln zu. Die Produkt Id 82 brauchen wir um Betfair mitzuteilen, dass wir die kostenlose API verwenden möchten.
Im nächsten Schritt wir dann ein Webservice erstellt, über den wir unsere Anfragen an den Betfair Server senden.
BFGlobalService_Service bFGlobalService_Service = new BFGlobalService_Service(); BFGlobalService bFGlobalService = bFGlobalService_Service.getBFGlobalService();
Wir müssen zuerst wissen, welchen Webservice (Exchange oder Global) wir brauchen. Dazu reicht ein Blick in die offizielle API Dokumentation (Login). Hier finden wir auch die Information, was wir der Anfrage mitgeben müssen und was wir als mögliche Antwort bekommen.
Um den Service dann zu erstellen müssen wir erst einen Service_Service erstellen, der dann via Methode den eigentlichen Service erstellt. Klingt seltsam, ist aber so (keine Ahnung, fragt mich nicht).
Dann erstellen wir eine Anfrage und weisen mit den vorgegebenen Set-Methoden die notwendigen Informationen (siehe API Dokumentation) zu.
// Anfrage/Request erstellen LoginReq loginReq = new LoginReq(); loginReq.setPassword(password); loginReq.setProductId(productId); loginReq.setUsername(username);
Noch ist die Anfrage nicht an den Betfair Server gestellt worden. Deshalb tun wir das jetzt und nutzen hierzu die entsprechende Methode des Webservices. Die Rückgabe speichern wir uns in einer Variable um sie im nächsten Schritt auswerten zu können:
// Anfrage über Webservice stellen, Antwort/Response entgegennehmen LoginResp loginResp = bFGlobalService.login(loginReq);
und dann die Auswertung:
// Antwort auswerten
if (loginResp.getErrorCode().equals(LoginErrorEnum.OK)){
System.out.println("Login erfolgreich");
} else {
System.out.println("Login fehlgeschlagen: "+loginResp.getErrorCode());
}
Die Auswertung ist hier im Beispiel recht einfach gehalten. Wir schauen einfach ob der Fehlercode OK entspricht. Alle Fehlercodes können ebenfalls in der Dokumentation eingesehen werden.
Wenn ihr das Script nun ausführt, mit euren entsprechenden Logindaten, sollte die Meldung “Login Erfolgreich” in der Ausgabe von Netbeans erscheinen. Damit seit ihr dem eigenen Betfair Bot oder Software wieder ein kleinen Schritt näher.
Hetzge gräbt aus: Dot Valley
Ein spielchen aus der alten guten Zeit. So eine Art Blockman, nur eben mit Steinen, aus der Draufdransicht ?! und eben noch ein paar andere Sachen
. Wer wollte nicht schon immer mal nach Schätzen graben. Bei Dot Vally könnt ihr die Schaufel, Dynamit und sogar Bomben auspacken, um Diamanten zu sammeln. Um ins nächste Level zu gelangen müssen alle Diamanten aus dem Erdreich geholt werden. Das gestaltet sich Anfangs noch recht einfach, da man sich durch weiche Erde gräbbt. Doch fast jedes Level hält neue Überraschungen parat. Schon im zweiten Level stösst man auf Steine die dem kleinen Bergarbeiter das Ende bereiten können, wenn Sie einem auf den Kopf fallen. … und dann gibts da ja noch Monster, Lava, Feuerbälle, Diamantautomaten, Förderbänder u.v.m. .
Tipp: Um nicht immer von Vorne anfangen zu müssen, muss man sich nur immer den Levelname merken und kann diese als Cheatcode ( im Menü F2 ) verwenden um wieder in das entsprechende Level zu gelangen.
Dot Valley ist ein faszinierendes und kniffliges Spiel, das mich nicht nur fasziniert hat, als ich klein war.
Dot Valley Download
SeeYou Online aktuell
Ich möchte euch hier ein Update zu SeeYou Online geben.
Das Anmeldesystem von SeeYou Online wird immer besser
Inzwischen wurde die Anmeldeseite überarbeitet, funktioniert aber immer noch nicht so wie es von den Betreibern und vielen Usern erwartet wird. Deshalb wird die Seite nochmals überarbeitet und demnächst aktualisiert. Darauf bin ich sehr gespannt, da schon das erste Update einen großen Schritt in die richtige Richtung war.
Ein klein wenig Kritik
Ein wenig schade finde ich, dass die kostenlose Mitgliedsschaft für das eigentliche Portal momentan wirklich keinen Sinn macht. Es ist zwar so geplannt und wird auch offen kommuniziert, dass es momentan auch nicht darum geht, aber wenn man als User Nachrichten bekommen kann, diese sich wegen der kostenlosen Mitgliedsschaft aber nicht öffnen lassen, dann ist das schon frustrierend.
Anmelden bei SeeYou Online kostet nichts
Dafür sind die entwicklungen des Vertrieblichen teils bei SeeYou Online umso erfreulicher. Hier wird gebastelt und gewerkelt und das sehr schlüssige Konzept immer weiter umgesetzt. Die kostenlose Anmeldung lohnt sich, denn wenn man dabei ist, kann man auch in der kostenlosen Mitgliedsschaft loslegen und die Entwicklung von SeeYou Online beobachten.
(Unabhängiger Vertriebspartner von SeeYou Online)
Betfair API mit Java und Netbeans (Teil1) – Anleitung/Tutorial – Netbeans einrichten
Hier der wie angekündigt erste Teil zur Anleitung “Betfair API mit Java und Netbeans” in dem ich euch erklären werde wie ihr die Entwicklungsumgebung Netbeans für die Betfair API fit macht. Wenn ihr Netbeans noch nicht auf eurem Rechner installiert habt, könnt ihr es euch auf folgender Seite kostenlos herunterladen:
http://netbeans.org/downloads/ (Java, ca.214MB)
Nach der installation von Netbeans müsst ihr ein neues Projekt anlegen ( File -> New Project -> Categorys: Java, Projects: Java Application ) und diesem dann mittels WSDL Dateien mitteilen wie euer Java Programm mit der Betfair API kommunizieren soll. Dazu geht ihr wie folgt vor:
Ladet euch folgende WSDL Dateien herunter:
- https://api.betfair.com/exchange/v5/BFExchangeService.wsdl
- https://api.betfair.com/global/v3/BFGlobalService.wsdl
Geht wieder in das File Menü, diesmal aber New File. Wählt im sich öffnenten Menü die Kategory Web Services aus und als Datei Typ Web Service Client.
Nach einem Klick auf Next wählt ihr Local File aus und klickt auf Browse um einen Dateimanager zu öffnen in dem ihr zuerst die eine WSDL Datei und dann mit dem komplett selben Vorgang die andere in euer Projekt ladet.
- Achtung: Wenn ihr die Dateien in dem Dateimanager nicht findet, dann wählt eventuell als Dateityp “Alle Dateien” aus oder gebt in das Feld für den Dateinamen “*.xml” um nach den Dateien zu Filtern.
Sind beide Dateien in das Projekt geladen, müssen wir unser Programm, das wir schreiben wollen nur noch darauf hinweisen wo sich die geladenen Dateien, bzw. die daraus generierten Packages befinden.
Das machen wir jetzt mal ganz “dirty” indem wir einfach alles Importieren (folgenden Code zwischen dem Package Befehl und der Main Klasse):
import com.betfair.publicapi.types.exchange.v5.*; import com.betfair.publicapi.types.global.v3.*; import com.betfair.publicapi.v3.bfglobalservice.*; import com.betfair.publicapi.v5.bfexchangeservice.*;
Damit sind alle Vorbereitungen abgeschlossen und wir können im nächsten Tutorial zur Betfair API und Netbeans damit beginnen uns bei Betfair über die API einzuloggen.
Musik macht spaß (2): Rick K. & The Allnighters – Epic Drummer
Da es schon im letzten Musikbeitrag um Musik die Spaß macht,setz ich nun noch einen drauf. Im folgenden Video von Rick K. & The Allnighters macht der Schlagzeuger die Show.













