x264 OpenCL Patch

Seit Frühling diesen Jahres kursiert im Netz ein OpenCL Patch für die freie H.264 Encoding Bibliothek x264. Dieser Patch erweitert den x264 Codec so, dass teile davon auf die GPU ausgelagert werden. Damit kann theoretisch ein beträchtlicher Geschwindigkeitsvorteil erreicht werden. Leider wird bisher nur die „Lookahead“-Funktion auf die GPU ausgelagert, das meiste läuft immer noch auf der CPU ab.

Ob das jetzt individuell einen Vorteil bringt muss jeder selbst ausprobieren. Schade, dass in den vier Jahren seit der veröffentlichung der OpenCL Spezifikation, sowenig in diesem Bereich passiert ist.  Ich finde, dass die Entwicklung in diesem Bereich noch viel schneller vonstatten gehen sollte.

Ich hab diesen Patch mal für Mac OS X angepasst. Er kann entweder hier als Patch, oder auf GitHub als vollständiges Repository heruntergeladen werden.

patch_commit_2f86f63cc183

Flattr this!

Alternatives EduRoam WLAN an der Uni Magdeburg [Update]

Die Uni Magdeburg hat ein neues WLAN. Sie beteiligt sich wie viele weitere Unis auf der ganzen Welt am EduRoam. Da EduRoam auf 802.1X Authentifizierung basiert heißt das vorallem eins: Goodbye VPN-Client! Hallo automatischer Login!

Wie immer gibt es natürlich mal wieder keine Information wie man das einrichtet oder das es überhaupt da ist. Zumindest habe ich keine Gefunden. Also wieder selbst ran:

Allgemein:

Der Benutzername sollte folgende Form haben:

[URZ-Login]@ovgu.de oder
[URZ-Login]@uni-magdeburg.de

[Update:] Um das noch einmal zu präzisieren. Loggt ihr euch im Cisco VPN mit mmueller ein, lautet der Benutzername mmueller@ovgu.de. Nicht max.mueller@ovgu.de oder max.mueller@st.ovgu.de.

iPhone:

Folgenden Link anklicken und somit die Mobileconfig für das „eduroam“ installieren. Dann noch Benutername und Passwort eingeben und schon sollte es funktionieren.

eduroam.mobileconfig eduroam.mobileconfig Version: 0.1
6.9 KiB 3707 Downloads Details...

Mac:

[Update]: Evtl. geht es auch durch einfaches anklicken mit anschließender Benutzername und Passwort eingabe. (Nicht getestet)

Für den Mac habe ich ein kleines Video gemacht. Ich hoffe man versteht es.
Die benötigten Zertifikate:

EduRoam Zertifikate Zertifikate.zip
3.0 KiB 831 Downloads Details...

Android:

Windows 7:

Soll es wohl einfach durch Verbinden  und anschließendes eingeben der Zugangsdaten gehen.

Ich bin an weiteren Anleitungen für andere Betreibssysteme sehr interessiert. (Ubuntu, Windows 7, Vista, XP, Android, Nokia)

Flattr this!

Mac OS X 10.6 VPN Passwort speichern

Seit 10.6 nutze ich die in Mac OS X integrierte VPN-Lösung um mich mit dem WLAN meiner Uni zu verbinden. Mit dem Cisco VPN Client konnte ich es damals noch mit einem Trick umgehen jedes mal das Passwort eingeben zu müssen. Jetzt habe ich auch eine Möglichkeit für den nativen Client gefunden.

Das Script basiert in Teilen auf Code von Corey Gilmore

Es handelt sich um ein AppleScript, welches man nur in den eingebauten „Scripteditor“ von Mac OS X kopieren muss. Es gilt natürlich bezüglich gespeicherter Passwörter, was ich hier schon gesagt hab und das was Corey in seinem Artikel auch schreibt:

Disclaimer

This is not endorsed or recommended by Apple, Cisco or RSA, and is quite possibly in violation of your corporate policies, especially if you store your PIN in the file.

Die Variablen „thePassword“ und „Uni VPN“ muss man sich natürlich noch individuell anpassen. Anschließend als Skript oder Programm speichern und z.b. ins Dock ziehen. Fertig!

Verbindet man das ganze noch mit SleepWatcher so wie hier kann man sich sogar automatisch beim aufwachen aus dem Ruhezustand verbinden, fast als wäre man im heimischen WLAN.

Achtung bei nicht deutsch lokalisiertem OS muss man „theText“ durch den entsprechenden Text des Passwortdialoges ersetzen (Der der im Screenshot zu sehen ist).

Flattr this!

[Update] Notenspiegel rechner

Für das Hisqis Informationssystem der Uni Magdeburg habe ich ein kleines Javascript Bookmarklet geschrieben um den Notendurchschnitt automatisch auszurechnen. Einfach den nachfolgenden Link „Notenrechner“ in den Bookmarks speichern auf die HisQis Seite unter Notenspiegel gehen und das Bookmarklet anklicken.
Da das Hisqis keine API zur Verfügung stellt, kann ich nicht Garantieren, das es nach einer Neugestalltung noch funktioniert. Mit der aktuellen Webseite funktioniert es bei mir aber. [Stand März 2010]

[Update 14:02] Irgendwie hat mir das WordPress for iPhone den Link kaputt gemacht. Ist jetzt korrigiert

Notenrechner

Flattr this!

Firefox gegen den HTML5 Video Tag

Schöner neuer Standard dieses HTML5. Versucht man endlich Video in HTML Seiten zu standardisieren und der Flash seuche einhalt zu gebieten. Verzweifelt aber an irgendwelchen Patenstreitigkeiten mit den verwendeten Codecs.

Unabhängig von der ideologischen Diskussion dahinter (Stichwort :“Freies“ Ogg Theora gegen „böses“ H.264), möchte ich einfach nur eine Videodatei kodieren, hochladen und speichern.

Für was entscheidet man sich jetzt?
Safari und Chrome spielen H.264 im HTML5 video tag ab. Der Flashplayer spielt ebenfalls H.264 und ist der kleinste gemeinsame Nenner für alle Browser. Der Internet Explorer (obwohl er meine Entscheidung nicht beeinflusst) spielt gar nix ab, kann aber immerhin mit Flash umgehen. iPhone, iPod und viele Handys spielen H.264. Nur der Firefox macht da nicht mit und spielt nur Ogg Theora.
Hinzu kommt noch, dass eigentlich alle Programme auf dem Mac nach H.264 exportieren können und der Codec auch wesentlich effizienter ist.

Also rein aus praktischer Sicht, ist einfach H.264 im MP4 Format der klare Gewinner. Das Problem ist nur, verwendet man das HTML5 Videotag mit H.264 Video, macht der Firefox die grätsche und zeigt ein schwarzes X an. Für Browser die HTML5 nicht unterstützen kann man einfach einen alternativ Code hinterlegen. Doch der Firefox unterstützt das Video tag, nur nicht in diesem Format.

Für diese „Ausnahmebehandlung“ hab ich einen bischen JavaScript Code geschrieben. Es prüft ob es sich um einen Firefox handelt und ersetzt alle „<video>“-Tags durch beliebigen anderen ersatz Code.

Bitte „PLACE YOUR ALTERNATE FLASH PLAYER HERE“ durch den eigenen Flash Videoplayer ersetzen.

<script>
if(navigator.userAgent.search(/Firefox/)!=-1){
	var videoSource, id=0;
	while((el=document.getElementsByTagName('video')).length){
		for(i=0; i < el[0].attributes.length; i++){
			if(el[0].attributes[i].nodeName == "src"){
				videoSource = el[0].attributes[i].nodeValue;
			}
		}
		el[0].parentNode.removeChild(el[0]);
		document.write("PLACE YOUR ALTERNATE FLASH PLAYER HERE");
		id++;
	}
 
}
</script>

Flattr this!

Core Location Maps

Core Location Maps

Mit Snow Leopard hat Apple die Core Location API eingeführt. Diese ermöglicht es einfach die aktuelle Position des Geräts zu lokalisieren.

Ich habe dazu einfach mal eine nette Oberfläche gemacht, die die aktuelle Position auf einer Google Maps Karte darstellt. Da zur Ortung unter anderem auch WLAN genutzt wird funktioniert dies auf jedem Mac mit WLAN.

Zusätzlich hab ich noch das automatische Updateframework „Sparkle“ integriert, was mir einfache Updates ermöglicht.

Wie immer gilt:
Vorhandene Fehler, Anmerkungen oder Verbesserungsvorschläge bitte an mich oder in die Kommentare.

(Aktuelle Version 1.02)

Core Location Maps (440kb Mac OS X Universal Binary) nur 10.6 Snow Leopard

Keine Haftung für etwaige Schäden.

Flattr this!

FritzBoxReconnect

Fritzboxreconnectapp

Ich habe mal wieder ein kleines Mac OS X Programm geschrieben. Es ermöglicht eine einfache Verbindungstrennung und anschließendes wiederherstellen der Internetverbindung. Besonders Praktisch bei Seiten die einen mit der aktuellen IP nicht mehr reinlassen. Funktioniert leider aktuell nur mit Fritz!Boxen. Ich weiß leider nicht ob es auch mit anderen Routern funktioniert.

 

Wie immer gilt: Vorhandene Fehler, Anmerkungen oder Verbesserungsvorschläge bitte an

mich oder in die Kommentare.

Keine Haftung für etwaige Schäden.

(Aktuelle Version 0.82)

FritzBoxReconnect.dmg (860kb Mac OS X Universal Binary)

Flattr this!

ZFS Speicher Pool unter Ubuntu erstellen

zfs_feature_2

Quelle: http://opensolaris.org/os/features/

Wie ich bereits geschreiben hatte, hab ich mir jetzt ein ZFS Pool aufgesetzt. Mehrere Gründe haben mich dazu bewogen. Ein reines RAID System wäre für mich nicht in frage gekommen, da es zum einen zu unflexibel ist, das heißt man kann Platten nicht einfach nachschieben wenn einem der Speicher ausgeht (zumindest nicht ohne Tricks). Außerdem ist man bei einem RAID entweder auf sauteure Hardware Controller angewiesen die meißt immer schlecht in einen Laptop passen. Man ist dann auf den Computer angewiesen. Geht der Controller kaputt, sind meist auch die Daten futsch.
Alternative wäre noch nen Software RAID gewesen, aber auch da ist man auf ein spezielles Betriebssystem festgelegt.

ZFS hat also in diesen Bereichen nur Vorteile.
Die ganzen anderen tollen Features muss ich  ja hier nicht nochmal runterbeten, unterstreichen aber noch die Vorteile.

Das ZFS betreibe ich im Moment an einem alten Laptop mit Ubuntu 8.10 und dem im letzten Artikel vorgestellten Fantec Gehäuse. Ich betreibe das ganze unter Ubuntu (Linux), da ein MacMini leider kein eSATA hat und ich auch Mac OS X nicht so als Server OS sehe. FreeBSD und Solaris find ich auch schwierig, da ich nicht das ganze OS nur wegen des Filesystems umstellen möchte. Immerhin laufen an dem Teil noch Scanner, Drucker, AFP-Fileserver und einige andere Sachen die unter FreeBSD und Solaris für mich schwieriger einzurichten wären. Hat man aber die möglichkeit eines der anderen Betriebssysteme einzusetzten wäre das empfehlenswert.

Mit ZFS unter Linux ist das nur leider so eine Sache mit den Lizenzen. Da ZFS unter der CDDL und Linux unter der GPL steht kann ZFS leider nicht direkt in den Kernel integriert werden. Doch zum Glück gibt es ja FUSE mit dem sich das ganze sehr leicht installieren lässt (auf kosten von etwas Performance).

Für die installation habe ich hier einen kleinen Wiki Artikel erstellt

http://wiki.ubuntuusers.de/Baustelle/ZFS

Nachdem man zfs-on-fuse stehen einem die wichtigsten Features von ZFS auch schon zur verfügung.

Bevor man nun aber den ZFS Pool aufsetzt sollte man die Platten (oder Flashspeicher) vorher noch mit einer Partitionstabelle ausstatten. Das ist wichtig, damit das Betriebssystem weiß, das es sich um eine formatierte Platte handelt und nicht versehentlich wichtige Daten überschreibt.

Ich habe mich für die GPT entschieden da ich damit nicht in die begrenzung von 2TB der MBR Partitionierten reinfalle und ich die Platten eh nur an Betriebssystemen verwende die mit der GPT Tabelle umgehen können.

Dazu unter Mac OS X  für alle Platten:

diskutil partitiondisk /dev/diskX GPTFormat ZFS %noformat% 100%

wobei X durch die Laufwerke zu ersetzten ist.

Anschließend kann man den Pool relativ einfach mit

zpool create tank raidz /dev/disk1s2 /dev/disk2s2 ... /dev/disk4s2

erstellen. Wichtig ist auch hier die richtigen Platten auszuwählen und immer die zweite Partition zu nehemen.
Das wars eigentlich auch schon.

zpool status

Zeigt den Status des Pool an und weist auf Checksummenfehler hin

df -h

Zeigt die Größe und den freien Speicherplatz aller Dateisysteme an.

Wird der Speicher mal knapp ersetzt man einfach die  kleinste Platte mit

zpool replace tank /dev/alteplatte /dev/neueplatte

Anschließend kopiert das ZFS alle Daten von der einen Platte auf die andere und hängt die alte aus dem System raus. Dabei dürfte das System sogar abstürzen (aufm Mac noch experimentell und führt daher oft zu Kernelpanics) ohne das dabei Datenverlust entsteht.

Anschließend steht der neue Speicherplatz zur Verfügung.

P.S.: Mit spindown kann man seine USB, Firewire oder sonsteige Platten auch noch bei nichtgebrauch abschalten.

Flattr this!