Images von X-Box 360 Spielen unter Linux entpacken

Mittels eines netten Hacks kann ich Spiele per USB Stick oder FTP auf die X-Box kopieren. Dafür muß jedoch das Image korrekt extrahiert werden. Dafür benötigt man das Tool extract-xiso (Achtung – Link geht zu Sourceforge).

Nun mit

extract-xiso -x fallout-3-game-of-the-year.iso

entpacken und im Anschluss kopieren

Kodi: Fehlende Videos identifizieren

Ich stehe des öfteren vor der Problematik, daß die Scraper in Kodi neu hinzugefügte Filme und Serien nicht finden kann. Der Ablauf um dies zu beheben ist immer der gleiche:

  1. Videos die nicht in der Library sind identifizieren
  2. umbenennen
  3. Library updaten und zurück zu Schritt 1 bis alles in der Library ist.

Um das ganze ein wenig bequemer zu gestalten und sinnloses Bewegen zwischen TV und Rechner zu vermeiden mache ich das auf der Kommandozeile.

Benötigte Programme

Falls nicht vorhanden muß sqlite3 installiert sein. Kodi läuft bei mir über OSMC auf dem Rasberry Pi 2 – da gibt es apt-get :):

sudo apt-get install sqlite3

je nach OS wird das anders installiert.

Fehlende Videos finden

Im gut organisierten Kodi Wiki findet man zwar einen Befehl samt cut Anweisung der aber eher schlecht als recht bei mir arbeitet. Abhilfe schafft ein Script aus gleicher Quelle bei dem die Pfade ein wenig angepasst werden müssen. Ich habe eine weitere Variable reingetan um das ganze zu vereinfachen:

#!/bin/bash
#
# Kodi Orphans and Widows
# v1.1
#
# created by BaerMan for XBMC-community
# includes improvements from deathinator
# This script may be used for any purposes.
# You may change, sell, print or even sing it
# but you have to use it at your own risk!
#
# This script is ugly and may under certain circumstances crash your
# computer, kill your cat and/or drink your beer.
# Use it at your own risk!
#
# This script searches for media files (actually video files only) and
# checkes for
# 1) files that are not in the library
# 2) files that are in library only
# 3) entries in the library that are 'stacked' ones
 
# To Do:
#
# * examine wether a path is marked as defined content or excluded from
# scanning (strContent=None)
# * rewrite the whole thing in python
 
# Discussion and latest version:
# http://forum.kodi.tv/showthread.php?t=62058
# http://wiki.xbmc.org/?title=Linux-Script_To_Find_Not_Scraped_Movies
 
################
### Settings ###
################
#enter the path to your homedirectory
HOMEDIR="/home/osmc"
### Full path to the video-database ; may be absolute (preceeded by a
### slash "/") or relative form the current directory
DBPATH="${HOMEDIR}/.kodi/userdata/Database/MyVideos*.db"
 
### Filenames for results and intermediate data
### You may change these to any name and place you like but beware not to
### overwrite or delete files you may still need
PREFIX="${HOMEDIR}/xbmc_"
DBPATHLIST="${PREFIX}db_path.lst"
DBFILESLIST="${PREFIX}db_files.lst"
FINDLIST="${PREFIX}find.lst"
DIFFLIST="${PREFIX}diff.lst"
DBONLYLIST="${PREFIX}db-only.lst"
FSONLYLIST="${PREFIX}fs-only.lst"
STACKEDLIST="${PREFIX}db-stacked.lst"
 
### Programs used ; either absolute path or command only if path to the
### binary is in variable $PATH ; each command may be extended by optional
### arguments - refer to the specific manpage for details
SQLITECMD="sqlite3" ; FINDCMD="find" ; SORTCMD="sort"
GREPCMD="grep" ; RMCMD="rm" ; UNIQCMD="uniq"
DIFFCMD="diff -a -b -B -U 0 -d"
 
#######################################
### Changes within the working code ###
#######################################
 
### There is a list of suffixes, that we will search for. You may add,
### delete or modify any entry to fit your needs, but respect the
### correct escaping of newlines
 
### We don't want to descent into subdirectories as they are usually
### represented by their own path-entry in the database. Deep scans would
### lead to multiple hits on the same file. But if for some reason not all
### path elements are represented in the database, you may find and delete
### the following string and force $FINDCMD to look into all subdirectories
### in any given path
### "-maxdepth 1"
 
####################
### working code ###
####################
${RMCMD} ${DBPATHLIST} ${DBFILESLIST} ${FINDLIST} ${DIFFLIST} ${STACKEDLIST} ${FSONLYLIST} ${DBONLYLIST} 2>/dev/null
${SQLITECMD} -list -separator '' ${DBPATH} \
 "select strPath from path order by strPath;" \
  | ${SORTCMD} > ${DBPATHLIST}
${SQLITECMD} -list -separator '' ${DBPATH} \
 "select strPath, strFilename from path, files where path.idPath = files.idPath order by strPath, strFilename;" \
  | ${SORTCMD} > ${DBFILESLIST}
IFS='
'
for fPATH in $(<${DBPATHLIST}) ; do
    ${FINDCMD} ${fPATH} -maxdepth 1 \( \
 -name '*.avi' -o \
 -name '*.divx' -o \
 -name '*.iso' -o \
 -name '*.m2v' -o \
 -name '*.mkv' -o \
 -name '*.mp4' -o \
 -name '*.mpeg' -o \
 -name '*.mpg' -o \
 -name '*.ogm' -o \
 -name '*.vob' \
    \) | ${SORTCMD} >> ${FINDLIST}
done
unset IFS
${DIFFCMD} ${FINDLIST} ${DBFILESLIST} | ${GREPCMD} -v "^@@" | ${GREPCMD} -v [+-]\\{3\\} | ${SORTCMD} -k 1.2 | ${UNIQCMD} -s 1 > ${DIFFLIST}
${GREPCMD} ^+ < ${DIFFLIST} | ${GREPCMD} -v '://' | ${GREPCMD} -v '^+/$' > ${DBONLYLIST}
${GREPCMD} ^- < ${DIFFLIST} > ${FSONLYLIST}
${GREPCMD} "stack:///" < ${DIFFLIST} > ${STACKEDLIST}
${RMCMD} ${DBPATHLIST} ${DBFILESLIST} ${FINDLIST} ${DIFFLIST} 2>/dev/null

Wer noch keine Erfahrung mit Bash Skripten hat sollte im wirklich schön geschriebenen Ubuntuusers Wiki Artikel nachschauen.
Das Skript legt 3 Files in Deinem Homeverzeichniss an:

  • xbmc_db-only.lst
  • xbmc_db-stacked.lst
  • xbmc_fs-only.lst

Interessant ist die Datei xbmc_fs-only.lst dort wird aufgelistet was nicht in der Library ist.

Videos umbenennen

Ich suche eigentlich nur nach Typos und versuche die Naming Conventions von Kodi einzuhalten

Library updaten

Um die Befehle aus diesem Beitrag auszuführen mußt Du per SSH auf der Kiste sein und die Http-Api aktiviert haben. Bei mir läuft das nicht auf Port 9191 wie im Wiki sondern auf Port 8080.

 curl --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "mybash"}' -H 'content-type: application/json;' http://localhost:8080/jsonrpc

Produktiver unter Mac OS arbeiten

Seit ca. 3 Monaten bin ich dazu gezwungen mit einem, wenn nicht gar dem bizarrsten Computer zu arbeiten der mir je untergekommen ist, einem Apple Macintosh mit OS X Yosemite.

Die Bedienung über Tastatur ist recht gewöhnungsbedürftig, da die für mich sehr wichtigen Tasten Pos1, Ende und Entf nicht vorhanden sind. Eine externe Macintosh Tastatur bringt zwar die Entf. Taste mit, dafür verhalten sich die Tasten Bild auf und Bild ab (auf der Laptop Tastatur auch nicht vorhanden) sehr merkwürdig. Auch ist der Anschlag der Tasten für meinen Geschmack zu kurz. Mit einer gewöhnlichen PC Tastatur kommt man schon ein wenig weiter. Leider ist die sogenannte Apfel Taste dann auf die Windows Taste gelegt welche leider häufig verwendet werden will. Der Workaround besteht darin die Sondertasten anders zu belegen. Dafür muß man in die Einstellung der Tastatur (Apfel + Space -> Leertaste) die Sondertasten umbelegen. Ein weiterer Vorteil ist, daß Kombinationen wie Apfel + C oder Apfel + V der Vergangenheit angehören.

Bildschirmfoto 2015-06-01 um 14.51.57

Ein weiteres unglaubliches Ärgernis ist die Apple Magic Mouse, die erste Maus, die Schmerzen in meiner Hand verursacht hat. Das Gerät ist sehr schön anzusehen jedoch viel zu flach für meine Bedürfnisse: die Hand muß extrem flach auf das Gerät gelegt werden. Geklickt wird nicht mit der Fingerkuppe sondern durch herunterdrücken des kompletten Fingers. Für meinen Geschmack fehlt auch die mittlere Maustaste, aber darüber lässt sich streiten. Die Maus kann jedoch problemlos durch eine normale PC Maus ersetzt werden.

 

Neben besagter Maus von Logitech habe ich mir noch eine Tastatur von Lenovo (Affiliate Link zu Amazon) zugelegt. Das Gerät hat – warum auch immer – keinen Numblock, dafür einen Trackpoint sowie alle bei Apple fehlenden Tasten.

 

Hier noch ein paar Impressionen:

 

DSC_0039
Alternative Maus von Logitech in stylischem Apple weiß
DSC_0038
PC Tastatur mit Trackpoint von Lenovo

Jenkins – Authentifizierung mit jenkins-cli.jar

Momentan konfiguriere ich mir einen Jenkins CI Server für private PHP Sachen. Da ich das nicht alle Tage mache schreibe ich mir hakelige Sachen oder Dinge die ich recherchieren mußte hier für das nächste mal nieder. Ich werde den Server primär zum Ausführen von Unit-Tests, dem Erzeugen von Dokumentation und Softwaremetriken nutzen. Eventuell hänge ich noch ein Deployment dran.

Eine schöne Anleitung für die PHP Projekte gibt es hier. Wenn man den Server per Kommandozeile steuern möchte – um z.B. Plugins zu installieren – muß man sich per SSH Key authentifizieren.

Hier die Konfiguration auf der Kommandozeile + Webinterface im Schnelldurchgang:

1. jenkins-cli.jar besorgen

Von der Seite http://yourserver.com/cli runterladen – der Eintrag im Jenkins Wiki zu dem Thema ist auch sehr nützlich

2. Key erzeugen

ms@jenkins:~$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ms/.ssh/id_rsa): id_rsa_jenkins_cli
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_jenkins_cli.
Your public key has been saved in id_rsa_jenkins_cli.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx ms@jenkins
The key's randomart image is:
+--[ RSA 4096]----+
| cxxxxxxxxxxx    |
| xxxxxxxxxxxx    |
| xxxxxxxxxxxx    |
|   xxxxxxxxxx    |
|     xxxxxxxx    |
|       x         |
|                 |
|                 |
|                 |
+-----------------+
ms@jenkins:~$ mv id_rsa_jenkins_cli* .ssh/

3. Public Key im Jenkins Webinterface eintragen

Die Url lautet https://yourserver.com/me/configure

ms@jenkins:~$ cat .ssh/id_rsa_jenkins_cli.pub

4. Beim Aufruf von jenkins-cli.jar den Pfad zum Key mit -i mitgeben.

ms@jenkins:~$ java -jar jenkins-cli.jar -i .ssh/id_rsa_jenkins_cli -s http://localhost/jenkins install-plugin checkstyle cloverphp crap4j dry htmlpublisher jdepend plot pmd violations warnings xunit
Installing checkstyle from update center
Installing cloverphp from update center
Installing crap4j from update center
Installing dry from update center
Installing htmlpublisher from update center
Installing jdepend from update center
Installing plot from update center
Installing pmd from update center
Installing violations from update center
Installing warnings from update center
Installing xunit from update center

Nginx Maintenance Mode konfigurieren

Ab und an muß man eine Website aufgrund von Konfigurations- oder Wartungsarbeiten abschalten. Idealerweise zeigt man in diesem Zeitraum eine nette Meldung, daß gerade an der Seite gebastelt wird. Damit Administratoren, Entwickler, Tester usw. trotzdem auf der normalen Seite landen muß die Konfiguration von Nginx in /etc/nginx/sites-available/ angepasst werden.

    # ---- more -----
    location / {
        index index.php;
 
        #Maintenance Mode
	#Enter your public ip and uncomment the lines below
        #if ($remote_addr != 127.0.0.1) {
        #      return 503;
        #}
        #Maintenance Mode
 
        try_files $uri $uri/ /index.php?$args;
 
	#redirect the maintenance.html
        rewrite ^/maintenance\.html / permanent;
    }
 
   error_page 503 @maintenance;
   location @maintenance {
        rewrite ^(.*)$ /maintenance.html break;
   }
   #---- more -----

Zuerst die lokale IP eingeben – einfach zu ermitteln mit

curl ifconfig.me

und die # vor dem IF Statement auskommentieren. Alle User mit einer anderen IP werden nun auf die Datei maintenance.html (sollte im Document Root liegen). Wenn die Wartungspause beendet ist wird die Url /maintenance.html auf / weitergleitet.

Sportwetten im Internet – Zeitvertreib oder ernsthafter Job?

Wenn man sich mit seinem Leben beschäftgt, und vielleicht auch ab und an im Fernsehen Berichte über Auswanderer verfolgt, stellt man sich vielleicht öfter die Frage, was das Leben noch zu bieten hat. Arbeiten bis 65 bzw. 67, um dann mit einer mickrigen Rente in einer kleinen Wohnung zu hocken? Wem dieser Gedanke nicht so behagt, der sollte sich Gedanken über alternative Verdienstmöglichkeiten machen. Und über den Arbeitsort, denn wer sagt denn, dass man in einem Büro sitzen muss, um zu arbeiten? Dank des Internets haben sich in den letzten Jahren zahlreiche Möglichkeiten aufgetan, Geld online zu verdienen. Dafür benötigt man nicht mehr als einen PC und eine gute Internetverbindung. Und das kann man heutzutage nahezu überall finden.

Download
Quelle: http://pixabay.com/de/strand-sommer-hotel-insel-meer-194108/

 

 

Die klassische Sportwette und ihre Entwicklung Sportwetten gibt es schon seit langem, aber erst im 20. Jahrhundert etablierte sich das Wettsystem, das wir heute kennen. Es begann im England, dem Mutterland des Fußballs ebenso wie der Pferde- und Hunderennen. Und auf letztere setzte man in England zuerst, bevor sich das klassische Fußballtoto entwickelte, das unsere Großväter spielten. Und diese Entwicklung hat sich weltweit fortgesetzt, sodass man heute auf nahezu alle Sportereignisse in zahlreichen Ländern setzen kann. Den Amerikaner interessiert die Bundesliga sicherlich weniger, dafür kennt er sich bestens mit Baseball oder American Football aus. Im arabischen Raum stehen Pferde und Kamele im Mittelpunkt des Interesses und in Westeuropa ist es der Fußball, der alle in seinen Bann zieht. Daher ist hier auch das Angebot an Sportwetten auf Fußballergebnisse besonders groß. Und hier tut sich die Möglichkeit auf Geld zu verdienen. Denn im Gegensatz zu Casino- und anderen Glücksspielen, bei denen alles vom Zufall abhängt, kann man bei Fußball- bzw. Sportwetten sein Fachwissen einsetzen und so Risiken vermeiden. Zahlreiche Anbieter von Sportwetten, z.B. http://de.sportingbet.com/, bieten neben den Sportwetten auch zahlreiche Informationen und jede Menge Unterhaltung. Außerdem liefert auch das Internet so viele Informationen, wie man sich nur wünschen kann. So kann man sich einen ausgezeichneten Überblickverschaffen und Muster und Spielstrategien kennen lernen.

http://pixabay.com/de/notebook-laptop-arbeit-pc-computer-405755/
http://pixabay.com/de/notebook-laptop-arbeit-pc-computer-405755/

 

Das Besondere an Online-Sportwetten

Anbieter von Online-Sportwetten tun viel, um den Wettvorgang zu einem Ereignis werden zu lassen. Bei Sportingbet.com gibt es z.B. eine Verknüpfung zum Online-Casino, sodass man nach getaner Arbeit, sprich nach dem Platzieren einer Sportwette, noch eine Runde zocken kann. Um dies zu versüßen, verschenkt der Anbieter z.B. Freispielrunden, wenn man eine Sportwette platziert. Außerdem stehen virtuelle Sportveranstaltungen zur Verfügung, auf die man rund um die Uhr wetten kann. Wenn man also ein kleines Startkapital hat, von dem man erst einmal leben kann, besteht die Möglichkeit, die Koffer zu packen und an einem schönen Flecken dieser Erde ein neues Leben zu beginnen. Man muss nur bereit sein, sich tatsächlich sehr intensiv mit der gewählten Sportart zu beschäftigen und alle Informationen, die man erhält, sorgfältig auszuwerten. Auch die Höhe der Einsätze und die Häufigkeit, mit der Wetten platziert werden, muss diszipliniert überwacht werden, damit kein böses Erwachen folgt. Aber wenn man dies berücksichtigt, ist dies vielleicht der richtige Schritt in ein neues Leben.

Keepass unter Mac OSX nutzen

Das Schicksal schnürt einem jedem ein merkwürdiges Päckchen. So muß ich jetzt beruflich einen Computer mit Mac OS benutzen. Um Passwörter mit Keepass 2 auf diesem System verwalten zu können benötigt man entweder das orginale Programm, Mono und XQuartz oder die Implementierung für Mac (MacPass) von Michael Starke für MacOs.  Ersteres hat den Nachteil, dass sich die GUI nicht wirklich gut in das System integriert. MacPass dagegen muß nur ausgecheckt und mit XCode gebaut werden.

MacPass scheint dateikompatibel mit Keepass zu sein und schaut sehr nett aus – vielen Dank.

DNS für Entwickler

Als Webentwickler gerät man schnell in die Problematik das geschriebene Markup auf Tablets, Telefonen, TV Geräten usw. zu prüfen.  Ich schreibe eigentlich immer an mehreren Projekten gleichzeitig und löse das durch Subdomains auf localhost. Klappt auch ganz gut, aber spätestens wenn ich in oben genannte Situation komme oder ein Kollege nen Blick von seiner Maschine drauf werfen will wird es schnell doof.  Ein Dienst der Aussagen wie „Geh auf http://dev.michael.irgendwas!“ ermöglicht muß her.

In meinem Fall lautet die Lösung dnsmasq – ein im Vergleich zu bind9 sehr einfach zu konfigurierender DNS Dienst.

Dnsmasq löst dev.michael.office bis michael.office auf. Das dev erledigt meine Maschine. Das hat den Vorteil, daß man nicht für jede neue Subdomain und jeden neuen Entwickler die Config anpassen muß.

Zuerst wird im Router ein weiterer DNS Server eingetragen – in einem meiner Fälle ein Raspberry Pi. Auf der Kiste wird nach der Anleitung im Ubuntuusers Wiki dnsmasq installiert.

Die Konfiguration ist wirklich simpel.

Zuerst in der /etc/hosts auf dem dnsmasq server die domains auflösen

#......
#Ip                         Domainname             Machine 
192.168.0.105               dns.office		   this
192.168.0.104	            michael.office         michael's machine
192.168.0.104	            hans.office            hans machine

Um alle Domains die hintendran oder davor hängen (kommt auf die Leserichtung an:-) ) muß noch eine Regel erstellt werden.

Die Konfiguration meiner Kiste auf dem dnsmasq server

pi@funkybert ~ $ cat /etc/dnsmasq.d/thinkpad 
address=/.thinkpad.home/192.168.0.104

Der Rest der Domain wird lokal aufgelöst:

ms@w530 ~ $ cat /etc/hosts
 
#.........
127.0.1.1 dev.michael.office

 

Zum Debuggen ist das Tool dig sehr zu empfehlen.

ms@w530 ~ $ dig michael.office

Zeigt wie die Domain aufgelöst wird.

ms@w530 ~ $ dig michael.office @192.168.0.105

Zeigt wie die Domain von dem DNS Sever unter 192.168.0.105 aufgelöst wird.

Gaming Apps, Android vs. iOS

android

Bild von JD Hancock 

Es ist die alles entscheidende Frage, wenn man sich ein Smartphone oder Tablet kauft. Für welches mobile System entscheide ich mich bloß, Android oder iOS? Wer sich ganz neu orientieren will und vielleicht bisher einfach noch kein Mobilgerät besessen hat, steht vor der Qual der Wahl. Wer hingegen vorher schon eines der zwei Systeme ausprobiert hat, bleibt meist auf derselben Seite. Die Fronten sind verhärtet, jeder lobt das in die Höhe, wovon er selber überzeugt ist. Das hilft denjenigen, die ernsthaft vor der Wahl stehen, jedoch nicht im Geringsten. Deshalb sollte man sich als zukünftiger Nutzer darüber klar werden, welcher Bereich einem am wichtigsten ist.

Wer gerne spielt und dafür jede Menge Apps herunterladen möchte auf seinem neuen Gerät, sollte doch zum Beispiel einmal versuchen, die zwei Systeme auf diese Frage hin zu überprüfen. Heute kann man ja bereits Spiele aus den unterschiedlichsten Bereichen finden und auf das Smartphone oder Tablet laden, so dass man zu jeder Zeit und von überall aus seinem Lieblingsspiel nachgehen kann. Glücksspielseiten wie Coral oder 32Red beispielsweise bieten entsprechende Apps für beide Systeme an, dann wären da noch beliebte Quizspiele oder Geschicklichkeitsvarianten. Leider hat der Nutzer im Voraus meist nicht die Gelegenheit, beide Systeme auszuprobieren und zu gucken, mit welchem es sich besser spielen lässt. Spielen Sie online bei 32Red, doch erkennen, wie es sich bei iOS oder Android spielt, werden Sie erst, wenn Sie das Gerät besitzen.

So muss man sich vor dem Kauf zumindest darüber informieren, welche Spiele denn überhaupt für welches System im Angebot sind. Online Casinos und gängige Gaming Optionen sind im Grunde fast alle für iOS sowie Android zu haben. Allerdings gibt es auch hier Ausnahmen und wenn man sich erst für ein System entschieden hat, steht man am Ende vielleicht dumm da, weil gerade dieses nicht von dem Anbieter der ersten Wahl zur Verfügung gestellt wird. Wenn es um exklusive Spiele geht, dann ist tatsächlich zu erkennen, dass der App Store für die iOS Variante mehr zu bieten hat. Im Vergleich zu Android Spielen, die fast alle auch für iOS zu haben sind, gibt es eine ganze Reihe an Möglichkeiten, die eben wirklich nur für das iPhone oder iPad angeboten werden. Das wäre möglicherweise ein Grund dafür, sich für iOS zu entscheiden.

Was die Anzahl der Spiele im Allgemeinen betrifft, sind beide Systeme mit über einer Million aktiven Apps auf fast demselben Stand. Von diesen sind fast 25 Prozent Spiele-Apps für jede Plattform. Was die Qualität betrifft, so muss man sich auf die Bewertungen der Spieler verlassen. iOS Nutzer vergaben hier in der Vergangenheit in den Bewertungen höhere Punktzahlen, also durchschnittlich viereinhalb Sterne von fünf möglichen. Android Nutzer hingegen haben bei den meistgespielten Apps eine Durchschnittsbewertung von vier Sternen abgegeben. Beide Systeme schneiden insofern aber enorm gut ab mit nur geringen Unterschieden. Vielleicht muss man sich also an anderen Punkten orientieren, zum Beispiel dem Sicherheitsaspekt, oder sich einfach ins kalte Wasser stürzen und sich in eine der zwei Blasen begeben. Dann gehört man bald wahrscheinlich auch zum Fanclub des einen oder anderen.