Multimedia Streaming im lokalen Netzwerk – Android und DLNA

Ich habe lange gesucht, wie ich auf meinem Galaxy Tab alle Filme und Serien, von meinem PC abspielen kann, ohne sie explizit auf mein Tab zu kopieren, da dies aufgrund des Speicherplatzes nie und nimmer gepasst hätte 😉

Ich habe unzählige Streaming Apps für den VLC Player ausprobiert und bin bei allen gnadenlos gescheitert, bis ich auf die Idee kam, es über den sogenannten „Digital Living Network Alliance“ (kurz DLNA) Service zu versuchen.

Dabei taten sich zwei Probleme auf:

  1. man braucht einen DLNA Server bzw. wie in meinem Fall eine geeignete Software, die auf dem PC einen DLNA Server einrichtet
  2. man braucht – falls nicht bereits auf dem Gerät installiert – eine passende App für die Verbindung mit dem DLNA
  3. der richtige Media Player auf dem Android, der das Streaming unterstützt

Fangen wir an mit Punkt 1:

Hier sind ein paar Programme aufgelistet, die ich (an)getestet habe, als DLNA Server (über Vorschläge und Kommentare zu den Programmen in den Kommentaren würde ich mich freuen):

  • TVersity: gibt es als Freeware oder Shareware (39$); nur für Windows; leicht einzurichten; m.M.n. etwas unübersichtlich
  • TVMOBiLi: Shareware (30 Tage unlimitiert streamen, danach begrenzt auf 10GB/Monat; lässt sich für 1,30€/Monat aufheben oder als Lifetime Lizenz für einmalig 26€); Server lässt sich auf Windows, Linux und Mac OS, sowie auf diversen NAS Systemen installieren; unterstützt AllShare; schönes Web-Interface mit vielen guten Verwaltungsmöglichkeiten; unterstützt Zugriff von außerhalb des Netzwerkes; Freundschaftssystem (lässt Daten unter Freunden austauschen?! Leider nicht die Möglichkeit es zu testen)
  • Serviio: komplett Freeware; lässt sich auf Windows, Linux und Mac OS installieren; lässt sich auf Deutsch umstellen; leider langsam bei der Aktualisierung der Medien-Datenbank
  • Twonky: Shareware (15€); für Windows, Linux und Mac OS; auf Windows allerdings sehr kompliziert und umständlich; meiner Meinung nach schlechte Ordnerstruktur

Für mich persönlich hat hier TVMOBiLi gewonnen. Ich werde die nächsten 30 Tage mal testen, wieviel GB ich so streame, ich denke mal, dass ich mit den 10 GB im Monat zurecht komme.

Kommen wir zu Punkt 2:

Hier gibt es zwei Möglichkeiten: Entweder ihr  habt bereits eine DLNA/AllShare App auf eurem Gerät (dies ist beim Samsung Galaxy S und dem Samsung Galaxy S2 zum Beispiel der Fall) oder ihr ladet euch im Market die geniale App „BubbleUPnP“ runter. Ich hatte auf meinem Galaxy S2 mit der AllShare App leider Probleme. Mit der BubbleUPnP klappt es aber auf dem Tab und dem S2 perfekt.
Nachdem man die App aus dem Market herunter geladen und installiert hat, kann man in den Einstellungen einen DLNA Server auswählen, von dem die Medien bezogen werden könnt. Ihr könnt also rein theoretisch auch mehrere DLNA Server im Netzwerk haben und dann immer vom Gewünschten wählen.
Kurzer Tipp für zwischendurch: Wenn euer Fernseher DLNA unterstützt, ihr einen Film auf eurem Handy/Tablet habt, könnt ihr mit dem Fernseher (wenn dieser im Netzwerk ist) vom Gerät auf dem BubbleUPnP installiert ist streamen. Diese App ist also ein DLNA Client so wie DLNA Server in einem. Ich habe die Server Funktion allerdings noch nicht getestet, da ich dazu nicht die technischen Möglichkeiten habe – man kann ja nicht alles haben 😉

Abschließend nun zu Punkt 3:

Ich gebe zu, das Problem mag etwas verwirrend klingen, denn das Streaming übernimmt schließlich BubbleUPnP… oder doch nicht?
Sagen wir so: Nicht ganz. Es ist so, dass BubbleUPnP die Datei zur Verfügung stellt und auf das Gerät streamt. Damit aber der Gerätespeicher nicht voll geleiert wird und man nicht erst warten muss, bis die ganze Datei auf dem Gerät ist, wird immer nur ein bestimmter Buffer auf das Gerät gestreamt. Der Media Player, der zum Abspielen der Datei verwendet werden soll, muss also Dateien abspielen können, die nicht vollständig auf dem Gerät sind. Diese Eigenschaft erfüllt zum einen der Standard Video Player (angeblich) und zum anderen gibt es die ein oder andere App, die das kann. Da wir alle wissen, dass der Standard Video Player Mist ist, wende ich mich direkt den Apps zu. Hier ist noch zu wissen, dass das Android Gerät, welches ein Video abspielen soll, auch dessen Codec unterstützten muss. Als Beispiel: Das Galaxy Tab kann nur Filme bis 720p abspielen. Mein Galaxy S2 kann hingegen auch  1080p Filme abspielen. Das Meiste an Videoformaten könnt ihr (aktuell; VLC Player ist ja leider noch nicht für alle verfügbar) mit dem Dice Player (für Tegra 2 Geräte wird noch das Dice Player Plugin for Tegra 2 gebraucht) abspielen. Die App kostet (aktuell) 3,30€ – das ist zwar nicht wenig, lohnt sich aber auf jeden Fall! Die App verbraucht durch Hardwaredekodierung (alle anderen nutzen Softwaredekodierung) der Filme wesentlich weniger Strom und spielt, wie gesagt, auch alles super flüssig ab. Transformer 2 in 1080p als MKV über DLNA gestreamt waren auf dem Galaxy S2 kein Problem!

Ein schöner Nebeneffekt von den oben erwähnten DLNA Servern ist, dass ihr mit jedem DLNA fähigem Gerät (Samsung TVs, PS3, Xbox, Mac, etc.) darauf zugreifen könnt, ohne dass ihr euch einen zusätzlichen Media-Server kaufen/einrichten müsst.

HowTo: Installation von MySQL und PHP auf Ubuntu Server

In einer kleinen HowTo-Reihe zeigen wir euch, wie man eine WordPress Webseite mit Nginx auf Ubuntu Server beschleunigen kann. Die Installation von MySQL und PHP ist Teil 2 der Reihe.  MySQL und PHP sind ebenso einfach Installiert wie Nginx selbst.

MySQL-logo

[sws_divider_top]Fangen wir mit dem Einfacheren an: MySQL.

Ein einziger Befehl reicht aus im MySQL vollständig zu installieren:

$ sudo apt-get install mysql-server mysql-client

Theoretisch kann der MySQL Server jetzt schon gestartet werden. Ich möchte euch jedoch noch etwas über dessen Konfiguration erzählen. Ihr findet die Konfigurationsdatei unter [sws_highlight hlcolor=“fbfac7″]/etc/mysql/my.conf[/sws_highlight]. Diese kann mittels Dateieditor einfach geöffnet und editiert werden. Wie schon erwähnt, ist diese Konfiguration normalerweise ausreichend. Jedoch sollte man über folgende Einstellungen bescheid wissen:

datadir        = /var/lib/mysql

Im datadir werden die Datenbanken im Filesystem gespeichert. Sollte der Fall eintreten, dass der MySQL Server nicht mehr gestartet werden kann, könnt ihr hier die Daten retten. Dies geht leider nur wenn als Datenbankengine MyISAM gewählt wurde (Ist bei WordPress der Fall). Wurde eine andere Engine wie InnoDB gewählt, erfordert es Glück oder einen großen Aufwand diese Daten noch zu retten.

bind-address        = 127.0.0.1

Über die bind-address wird geregelt über welche IP Adresse der Server erreichbar ist. Standardmäßig steht diese Einstellung auf 127.0.0.1, sprich der Server ist nur von localhost erreichbar. Wählt ihr eure öffentliche Server IP so könnt ihr, wenn ihr euch das Recht eingeräumt habt, auch von extern zugreifen.

key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
query_cache_limit = 2M
query_cache_size = 32M

Mit diesen Einstellungen kann die meiste Performance aus dem Server geholt werden, oder auch vernichtet werden. Ihr könnt alle Cachegrößen und Verbindungen definieren. Ich werde jetzt nicht auf die Optimierung von MySQL eingehen, diese Einstellungen reichen aus, um einen korrekt arbeitenden MySQL Server zu betreiben. Wer möchte kann aber gern in der offiziellen Dokumentation nachschauen: Kapitel 7: Optimierung

[sws_divider_top]PHP-logoDie PHP Installation ist auch nicht viel schwerer. Da wir jedoch die aktuellste PHP Version benutzen wollen, müssen wir vorher noch neue Repositories eintragen, denn in den offiziellen Apt-Quellen ist noch eine ältere Version enthalten.

$ sudo echo "deb http://ppa.launchpad.net/nginx/php5/ubuntu lucid main" >> /etc/apt/sources.list
$ sudo echo "deb-src http://ppa.launchpad.net/nginx/php5/ubuntu lucid main" >> /etc/apt/sources.list

Wenn wir das erledigt haben starten wir auch schon die Installation:

$ sudo apt-get install php5 php-pear php5-dev php5-suhosin php5-mysql libpcre3-dev php5-cgi

Dieser Befehl installiert die neue Version von PHP, zusätzlich wird noch PEAR installiert. Mit PEAR können offizielle PHP Pakete wie apc oder memcache nachinstalliert werden. Für eine Nachinstallation muss PHP kompiliert werden, dafür installieren wir das PHP Dev Paket gleich mit. Dazu kommen dann noch der Suhosin Patch, MySQL Unterstützung, Abhängigkeiten und der CGI Modus…

Die Installation wird etwas länger dauern als bei Nginx und MySQL.

Da wir PHP über FastCGI anbinden wollen, müssen wir die PHP Worker noch spawnen, die geschieht über den Befehl:

$ php-cgi -b 127.0.0.1:9000

Alle PHP Worker lauschen nun auf Port 9000, damit man das nicht jedes mal neu eingeben muss, gibt es im Nginx Wiki ein simples Linux-Style-Start-Script:

#!/bin/bash
BIND=127.0.0.1:9000 # Eure Worker werden hier lauschen
USER=www-data # Bitte den selben Nutzer angeben wie in Nginx, default ist www-data
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000

PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0

start() {
 echo -n "Starting PHP FastCGI: "
 start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
 RETVAL=$?
 echo "$PHP_CGI_NAME."
}
stop() {
 echo -n "Stopping PHP FastCGI: "
 killall -q -w -u $USER $PHP_CGI
 RETVAL=$?
 echo "$PHP_CGI_NAME."
}

case "$1" in
 start)
   start
 ;;
 stop)
   stop
 ;;
 restart)
   stop
   start
 ;;
 *)
   echo "Usage: php-fastcgi {start|stop|restart}"
   exit 1
 ;;
esac
exit $RETVAL

Speichert Script am besten unter [sws_highlight hlcolor=“fbfac7″]/etc/init.d/[/sws_highlight] mit dem Namen [sws_highlight hlcolor=“fbfac7″]php-fcgi[/sws_highlight], dann könnt ihr ganz einfach einen Autostart einrichten:

$ sudo update-rc.d php-fcgi defaults

Nun fehlen nur noch apc und memcache:

$ sudo pecl install memcache
$ sudo pecl install apc

Die Installation sollte eigentlich korrekt ablaufen, es kann aber passieren, dass PEAR eure php.ini nicht findet, wenn das der Fall ist, einfach diese Zeilen in die Datei [sws_highlight hlcolor=“fbfac7″]/etc/php/cgi/php.ini[/sws_highlight]eintragen:

extension=memcache.so
extension=apc.so

Da sind wir auch schon fertig!  Im nächsten Kapitel werde ich euch zeigen wie ihr alles zusammenklebt, PHP als FastCGI Anwendung im Nginx bereitstellt und wie man Nginx richtig konfiguriert.

[sws_divider_top] Teil 0: Einführung
Teil I: Installation der aktuellen Nginx-Version auf Ubuntu
Teil II: Installation von MySQL und PHP
Teil III: Nginx konfigurieren und PHP als FastCGI bereitstellen
– Alternativ: PHP-FPM Installieren und bereitstellen (folgt !)
Teil IV: Nginx für WordPress optimieren

Wissenshungriges Windows 8 – Verbesserung der Software oder fehlender Datenschutz?

Windows 8 ist in einer Developer Preview verfügbar und kann von interessierten Benutzern, sowie Entwicklern heruntergeladen werden. Ich habe mir die aktuelle Version in virtueller Umgebung installiert und euch zwei Screenshots aus der Installation gemacht, denn Microsoft würde gerne so einiges von euch wissen wollen.

Wie schon Windows Phone 7, so möchte auch Windows 8, in der Developer Preview, einige Informationen abgreifen, die zur Verbesserung der Software, des Marktplatzes, der Anwendungen und so weiter beitragen sollen.

Die Einstellungen im Überblick:

Windows 8 Developer Preview - Datenschutz Teil 1
Windows 8 Developer Preview - Datenschutz Teil 1
Windows 8 Developer Preview - Datenschutz Teil 2
Windows 8 Developer Preview - Datenschutz Teil 2
  • Informationen über die Webinhalte an Microsoft senden um den Windows Store zu verbessern
  • An Microsofts SpyNet teilnehmen und Infos senden um verdächtige Software und Malware besser erkennen zu können
  • Standortdaten übermitteln, wenn man Anwendungen nutzt, die auf diese Zugreifen können oder solche verarbeiten können
  • Am Microsoft „Customer Experience Improvement“ (CEI) Programm teilnehmen
  • In Verbindung mit dem CEI die Windows Hilfe verbessern
  • Apps erlauben, auf Basis des Names und Benutzerbildes, personalisierten Content zu liefern
  • Apps Zugriff auf die Standortdaten geben

Alle diese Einstellungen sind standardmässig aktiviert! Ich gehe davon aus dass man diese Datenübermittlung automatisch abnickt, wenn man die „Express“-Einstellungen in der Installation auswählt. Gesehen habe ich diese Optionen da ich die Installation benutzerdefiniert durchgeführt habe.

Natürlich helfen alle diese Dinge ein Softwareprodukt und damit verknüpfte Dienste zu optimieren, gerade in der Entwicklungsphase. Es ist allerdings davon auszugehen dass diese Einstellungen bestehen bleiben und es in die finale Version, irgendwann in 2012, schaffen werden. Nicht jeder Benutzer möchte Zugriff auf all diese Informationen gestatten, daher soll an dieser Stelle auf die Einstellungen hingewiesen sein.

Wie steht ihr zum allgemeinen Datenhunger unter dem Deckmantel der Optimierung des Benutzererlebnisses?

HowTo: Installation der aktuellen Nginx-Version auf Ubuntu

Nginx ist recht einfach installiert. Ich gehe hier von einem (frischen) Ubuntu aus. Um ein produktives High Performance System aufzubauen nimmt man am besten Ubuntu 10.04 Lucid Lynx LTS Server Version, da es die Variante mit 5 Jahren Support ist. Ich werde hier nicht erwähnen wie man Nginx selbst kompiliert, es geht rein um eine Installation aus den Apt Repositories. Loggt euch auf euren Server ein und los gehts! Dieses HowTo ist so aufgebaut, dass ihr Schritt für Schritt mitmachen könnt.

Das Nginx in den eingetragenen Repositories ist meist nicht ganz aktuell, deswegen tragen wir die nginx.org Quellen in Apt ein:

$ sudo echo "deb http://nginx.org/packages/ubuntu/ lucid nginx" >> /etc/apt/sources.list
$ sudo echo "deb-src http://nginx.org/packages/ubuntu/ lucid nginx" >> /etc/apt/sources.list

Damit die Änderungen übernommen werden reicht ein simples:

$ sudo apt-get update

Nun haben wir die aktuelle Grundlage für den Nginx Server. Die Installation ist nur noch einen Befehl entfernt:

$ sudo apt-get install nginx

Fertig! Für die Installation muss an sich noch kein Aufwand betrieben werden. Alle Konfigurationsdaten sind in [sws_highlight hlcolor=“fbfac7″]/etc/nginx[/sws_highlight] zu finden. Dort findet ihr die Datei [sws_highlight hlcolor=“fbfac7″]nginx.conf[/sws_highlight] sowie die beiden Ordner [sws_highlight hlcolor=“fbfac7″]sites-enabled[/sws_highlight] und [sws_highlight hlcolor=“fbfac7″]sites-available[/sws_highlight]. In der Datei nginx.conf befinden sich die Grundeinstellungen des Servers, dort wird definiert, dass alle Dateien aus sites-enabled geladen werden sollen. Aktive Seite haben wir in unserem Fall mit einem symbolischen Link zum Ordner sites-available verknüpft. Das ist mit folgendem Befehl schnell gemacht:

ln -s /etc/nginx/sites-available/nodch.de /etc/nginx/sites-enabled/nodch.de

Nginx ist sehr einfach zu Konfigurieren, wenn ihr möchtet könnt ich euch die Syntax der Konfiguration gerne schon einmal anschauen. Ich werde später genau auf die Konfiguration eingehen, also erst einmal weiter mit der Installation von MySQL und PHP.

[sws_divider_top]

Teil 0: Einführung
Teil I: Installation der aktuellen Nginx-Version auf Ubuntu
Teil II: Installation von MySQL und PHP
Teil III: Nginx konfigurieren und PHP als FastCGI bereitstellen
– Alternativ: PHP-FPM Installieren und bereitstellen (folgt !)
Teil IV: Nginx für WordPress optimieren

Von Patentklagen und verschlafenen Chancen – Wiederholt Apple seine eigene Geschichte?

Apple Newton (Bild:  Ralf Pfeifer auf de.wikipedia)
Apple Newton (Bild: Ralf Pfeifer auf de.wikipedia)

Der folgende Artikel ist ein Gastbeitrag von Bernd B.:

Ist noch jemand unter Euch, der Apple aus den 80zigern kannte? Es waren die Zeiten von C64, Amiga und Atari, Windows dümpelte in Version 2.x umher. Damals machte ein Witz die Runde – er war glaube ich in der Byte abgedruckt, leider kann ich ihn nicht mehr so schön wiedergeben – der heute fast noch aktueller ist als damals:

„Ich habe ein nicht mehr ganz neues Haus mit Fenstern drin, die dringend gestrichen werden müßten, vor dem Haus steht eine Mülltonne und in meinem Keller gibt es Mäuse. Irgendwann wird mich Apple wegen der Mäuse, Fenster und Mülltonne verklagen.“

Heute sind die Zeitungen wieder voll von Apple und Gerichtsprozessen. Aber was hat Apple damals mit den Prozessen erreicht? An die Gewinne der frühen 80ziger anknüpfen können? Marktanteile sichern? Technologische Führung sicherstellen? Leider nein: wir konnten den Niedergang des technischen Avangardisten verfolgen, der letzlich nur von der finanziellen Notinfusion durch Hauptkonkurrenten Microsoft gestoppt wurde.

Was war damals der Grund für den Niedergang? Ich bin kein Analyst oder Technik-Augur. Ich kann nur einen Blick zurückwerfen und nachdenken, was mich und andere bewogen haben mag, keine Apple-Geräte zu kaufen. Machen wir dazu eine kleine Reise durch die Computerwelt der 70ziger bis heute:

Apple hatte dem Apple II Erweiterungssteckplätze mitgegeben und damit große Erfolge gefeiert. Es bildete sich ein Ökosystem von vielen Lieferanten und Bastlern um die Geräte herum. Je mehr Erweiterungen es gab, umso beliebter wurde der Apple II. Das ging so weit, dass sich IBM gezwungen sah, das Slot-Konzept in seinen ungeliebten PC zu übernehmen. Aber was macht Apple? Jobs läßt den Mac konstruieren als radikalen visionären Gegenentwurf. Ein abgeschlossenes System ohne jegliche Erweiterungsmöglichkeit, ja sogar mit dem Anspruch es nicht erweitern zu brauchen (dürfen?). Ein Mac ist seinem Anwender genug wie er ist!

Waren es aber nicht damals wie heute die Nerds, die mit ihrer Technikbegeisterung und ihrem Spieltrieb die Geräte erst benutzbar und für die Massen interessant machen? Der Markt bewegte sich zügig zu den PCs, vor allem den „100%-IBM-kompatiblen“, hin. IBM immer noch in der irrigen Annahme, dass dieses Spielzeug bald wieder in der Bedeutungslosigkeit verschwinden würde, geht nicht gegen die Cloner vor. Eine Erweiterung nach der nächsten entsteht um den PC. Der Markt um den PC bewegt sich mit rasanter Geschwindigkeit. Auch auf der Software-Seite. Inspiriert von den brillianten Ideen der Apple-Techniker versucht man dem PC Schritt für Schritt ein wenig Mac-Charme einzuhauchen (naja, ein wenig Ehre gebührt da auch Amiga und Atari, die ebenfalls im Strudel der PCs in den Abgrund gesaugt werden). Apples Reaktion darauf ist: Angst. Man klagt. Aber dem Ansturm des PC-Marktes ist man nicht gewachsen. Vor Gericht wird der eine oder andere Sieg errungen, auf dem Markt verliert man aber Tag für Tag Boden. Apple versucht erneut mit Innvoation und avangardistischen Produkten gegenzuhalten, produziert beeindruckende Geräte: hat jemand von Euch mal einen Newton in der Hand gehalten? Eine Revolution für jeden, der damals die Termine und Kontakte aus seinem Lotus Organizer gerne mobil gesehen hätte.

iOS 5 - Notification Center (Bild: Apple.com)
iOS 5 - Notification Center (Bild: Apple.com)

Und heute? Die iPods wurden als ganz nette Design-Gadgets für Yuppies erfolgreich, nachdem Apple seinen Ruf als avangardistischer Hersteller mit den stylischen iMacs und iBooks wiederbelebt hatte. Aber mit dem iPhone gelang Apple dann der Paukenschlag: ein Telefon ohne Tastatur oder Wählscheibe! Das sollte funktionieren? Heute wissen wir: das geniale war weniger das Telefon in dem Gerät als der Rest davon. Und der Markt reagierte. Google pumpt erhebliche Resourcen in ein ähnliches, bereits laufendes Projekt und bringt Android. Was macht Apple diesmal? Man reagiert wie vor 25 Jahren und versucht die ungeliebten Konkurrenten mit Klagen im Schach zu halten.

Auch dieses Mal wieder ist es das offene System, das die Nerds und Technikbegeisterten hinter sich weiß, das schneller wächst und den Anwendern mehr Freiheitsgrade bei der Auswahl der Hard- und Software läßt. Werden dieses Mal Apples Klagen und Patentstreitereien den Markt aufhalten? Damals hat es Apple vielleicht vor dem Orkus der Geschichte bewahrt, im Gegensatz zu Atari und Amiga, die nicht so streitlustig waren. Die Ausgangssituation für Apple mag diesmal sogar deutlich besser sein – als umsatzstärkstes IT-Unternehmen noch vor Microsoft. Aber der Markt ist in starker Bewegung und das erscheint mir nicht unbedingt vorteilhaft für Apple.

Hat Apple aus seiner eigenen Geschichte etwas gelernt oder wiederholt sich diese gerade wieder? Ich frage mich, warum geht Apple nicht den Weg des Erfolges seiner Konkurrenten: man könnte iOS an willige Cloner lizensieren. Natürlich hatte Apple in der Vergangenheit erhebliche Vorteile durch die Kontrolle von Soft- und Hardware. Man denke nur an die ersten Intel-MacBooks, die die PC-Konkurrenz nicht nur bei der Akkulaufzeit vorführten. Aber warum nicht etwas neues probieren und das Hardware-Geschäft den anderen überlassen oder zumindest mit ihnen teilen? Microsoft ist damit zum Giganten geworden, IBM hat es das Überleben gesichert und HP begibt sich gerade auf selben Pfad. Google hat’s noch nie anders probiert.

Was meint Ihr? Wäre das eine Chance oder eher Fluch für Apple? Würdet Ihr ein dann mögliches Huawei-iOS-Gerät kaufen?

Dieser Artikel wurde als Gastartikel unter https://nodch.de/gastartikel eingereicht, Autor und eventuell vorhandene Webseite des Autors ist im Beitrag vermekt. Vielen Dank für diese Einsendung!

Windows 8 Developer Preview als Download verfügbar

Microsoft präsentierte eine erste Preview zu Windows 8 auf der hauseigenen Entwicklerkonferenz Build in Anaheim.

Windows 8 Lockscreen (Bild: Microsoft)
Windows 8 Lockscreen (Bild: Microsoft)

So setzt Windows 8 auf Windows 7 auf, mit den Features und der Optik aus Windos Phone 7. Die sogenannten Metro Style Apps bestimmen das neue Windows und lassen sich wie die Tiles in WP7 auf dem Desktop anordnen.

Im Rahmen der Build wurde bereits bekannt dass es eine Developer Preview von Windows 8 zum Download geben wird.

Ab sofort ist diese Version in 32 und 64 Bit online und zum Download verfügbar. Darüber hinaus gibt es noch eine 64 Bit Version inklusive der Entwickler-Tools:

  • 64-bit Windows Developer Preview
  • Windows SDK for Metro style apps
  • Microsoft Visual Studio 11 Express for Windows Developer Preview
  • Microsoft Expression Blend 5 Developer Preview
  • 28 Metro style apps including the BUILD Conference app

Alle Versionen kommen als ISO-Image und dienen als erster Einblick in das kommende Windows. Einige Funktionen, die auf der Build präsentiert wurden, fehlen noch, zum Beispiel der Windows Story oder die Windows Live App. In den kommenden Wochen und Monaten sollen weitere Funktionen und Treiber über das Online Update zur Verfügung stehen, man wolle damit den neuen Updatemechanismus demonstrieren, schreibt Steven Sinofsky im MSDN Blogbeitrag.

Die Developer Preview ist keine Betaversion und nicht für den produktiven Einsatz gedacht, der Fokus liegt auf der Vorschau der API und Entwickler-Tools für die Metro Style Apps.

Den Download findet man unter dev.microsoft.com.

WordPress Webseite mit Nginx auf Ubuntu Server beschleunigen

Das Internet wird jeden Tag größer und schneller, und jede Webseite oder jedes Blog, das eine hohe Reichweite hat kennt das Problem: Der Traffic zwingt irgendwann den Server in die Knie. Nun steht man vor der Wahl: Hat man die finanziellen Mittel, besorgt man sich neue Hardware, denn je besser ein WebServer ist, umso mehr Anfragen kann er gleichzeitig bearbeiten. Zusätzlich kann man auch die WebSeite optimieren, also CSS Dateien zusammen fassen, Bilder in Sprites packen und wenn möglich sogar Javascript zusammentun, beziehungsweise auslagern und statischer Content kann mit einer Cache-Zeit von über 30 Tagen ausgestattet werden. Nur was ist, wenn all das absolut nicht mehr klappt?

Dies ist uns passiert, die Besucherzahlen liefen stabil nach oben und Google hat uns sehr gut platziert. Um genau zu sein auf Platz 1 der Newskategorie „Technik/Wissenschaft“, direkt in der Schlagzeilenübersicht auf der news.google.de Startseite,  was zwar wirklich toll war, nur lieferte uns Google in diesem Moment mehr als 250 Anfragen … pro Sekunde. Unser sowieso schon angeschlagener Apache2 brach gnadenlos zusammen, ohne das wir was tun konnten. Der ganze Spaß wiederholte sich noch 2 mal und wir versuchten herauszufinden warum. Ich muss dazu sagen, dass unser Server mit 2 CPUs ausgestattet ist und über 8 GB RAM verfügt und außer nodch.de nichts anderes auf der Hardware lief. Wir kamen relativ schnell zu dem Entschluss, dass Apache schuld ist. Der Server stand permanent unter Dauerlast, der Arbeitsspeicher jedoch fühlte sich unnütz. Man sollte sich also genau fragen wo Flaschenhälse sind: Hardware, Software oder die Serversoftware.

Wir haben uns dazu entschieden Apache abzusetzen und durch Nginx (gesprochen: „Engine X“) zu ersetzen. Nginx bezeichnet sich selbst als „high performance web server“ der effektiver als Apache arbeitet und dabei sogar weniger Speicher verbraucht. Installation, Einrichtung und Gebrauch sind ebenso einfach wie bei Apache.

Gängige Apache Konfigurationen sehen in der Regel immer gleich aus:

Es läuft ein Apache2 Server in mehreren Instanzen, PHP und MySQL Modul sind einkompiliert und werden als Extension geladen. Es werden vhosts definiert und größtenteils werden per .htaccess Datei spezifische Einstellungen vorgenommen.

Genau da liegt das Problem: Ist beispielsweise PHP mit einkompiliert, wird PHP bei jedem Request an den Server geladen, was unter dem Strich enorm Ressourcen nutzt. Apache wertet außerdem .htaccess Daten mit jedem Request neu aus. Jeder kann sich selbst zusammenreimen was passiert wenn da mehr als 100 Anfragen pro Sekunde reinkommen und die Hardware eher normal ist. 🙂

Nginx ist im Vergleich zu Apache jetzt nicht das Torschlagargument, aber die Unterschiede sind schon deutlich. Grade wenn es um statischen Content geht, ist Nginx um einiges schneller als Apache. PHP wird in Nginx per FastCGI angebunden, was den Vorteil hat, dass die PHP Worker gespawnt im System liegen und nur auf Arbeit warten. Nginx kann so konfiguriert werden, dass PHP nur ausgeführt werden soll, wenn es denn auch nötig ist. Apache mit FastCGI zu verwende ist zwar auch möglich, nur nutzen das leider die Wenigsten.

Ich möchte euch in einer kleinen HowTo-Reihe die Einrichtung von Nginx auf Ubuntu zeigen und erklären wie die verborgene Performance der Hardware optimal genutzt werden kann. Dabei beziehe ich mich auf eine WordPress Installation. Ich persönlich bin Begeistert vom enormen Performancesprung von nodch.de, den wir mit dieser Konfiguration erreichen konnten.

Wie das alles im Detail funktioniert, installiert und eingerichtet wird, wollen wir euch natürlich nicht vorenthalten!

[sws_divider_top]

Teil 0: Einführung
Teil I: Installation der aktuellen Nginx-Version auf Ubuntu
Teil II: Installation von MySQL und PHP
Teil III: Nginx konfigurieren und PHP als FastCGI bereitstellen
– Alternativ: PHP-FPM Installieren und bereitstellen (folgt !)
Teil IV: Nginx für WordPress optimieren

Ich versuche übrigens jeden Tag mindestens einen Artikel zu Reihe zu veröffentlichen.

Nach Telekom und Vodafone gesellt sich nun O2 zu den iPhone 5 „Vorbestellern“

O2 - Falls sich wieder einmal etwas ändert (Screenshot: O2 Webseite)
O2 - Falls sich wieder einmal etwas ändert (Screenshot: O2 Webseite)

Telekom und Vodafone bieten bereits, oder planen es, im Falle von Vodafone, ihren Kunden die Möglichkeit eine Vorbestellung für das kommende Apple iPhone 5 zu tätigen.

Mit der Vorbestellung sollen die Vorbesteller bevorzugt behandelt werden und die Provider wissen über die Nachfrage bescheid. Nun reiht sich Telefonica O2 ein und bietet den eigenen Kunden eine speziell eingerichtete Webseite, auf der man sich für den „Smartphone-Infoservice“ anmelden kann.

O2 wird über den Newsletter Produktstarts neuer Smartphone rechtzeitig ankündigen, eine konkrete Vorbestellung für das iPhone 5, wie es die Telekom ermöglicht ist dies jedoch nicht.

Die Anmeldeseite für den Smartphone-Infoservice findet man unter: http://www.o2online.de/handy/smartphone-news/

Die Webseite steht allen Interessierten Kunden offen, egal ob man bereits O2-Kunde ist, oder nicht.

 

 

Update der Android Facebook App bringt erweiterte Privatsphäreneinstellung

Mit dem aktuellen Update der offiziellen Facebook App für Android, erhält diese die Möglichkeit die auf der Webseite gesetzten Privatsphäreneinstellungen zu nutzen. Statusupdates können ab sofort für die definierten Gruppen/Listen freigegeben werden und müssen nicht öffentlich gepostet werden.

Facebook Android 1.7.0 Newsfeed
Facebook Android 1.7.0 Newsfeed
Facebook Android 1.7.0 Privatsphäre
Facebook Android 1.7.0 Privatsphäre

Die neue Version trägt die 1.7.0 als Bezeichnung und ist über den Android Market verfügbar. Neben direkten Links zur Veröffentlichung von Fotos, des eigenen Status‘ und Chek-Ins, die nun direkt aus der Startansicht, bzw. aus dem Newsfeed heraus möglich sind, gibt es einige Änderungen, die im offiziellen Changelog nachzulesen sind:

Neue Funktionen in dieser Version:

  1. Vereinfachung des Teilens von Inhalten
  2. Verbesserung der „Teilen“-Funktion durch Hinzufügung von Privatsphäre-Einstellungen für Beiträge und der Übereinstimmung mit deinen Einstellungen auf der Webseite
  3. Markierung von Freunden und Orten in Beiträgen
  4. Neues Design der Pinnwände in Profilen und Gruppen
  5. Verbesserungen und Änderungen:
  6. Verbessertes Durchstöbern von Fotos
  7. Markierung von Freunden in Fotos
  8. Verbesserung der Leistung und Stabilität

iPhone 5, die Katze im Sack, nun auch bei Vodafone zur Registrierung

Das iPhone 5 ist bisher zwar ein Gutes, aber nicht mehr als ein Gerücht, vor allem was die technischen Daten anbetrifft. Trotzdem startete die Telekom bereits am vergangenen Montag und bietet interessierten Kunden, die sich für ein iPhone der neusten Generation interessieren, aber nicht mehr auf das aktuelle iPhone 4 zurückgreifen wollen, Vorbesteller Tickets an.

Apple iPhone 4 (Foto: Apple.com)
Apple iPhone 4 (Foto: Apple.com)

Diese „Reservierung“ soll die vermerkten Kuden ganz vorne in der Schlange stehen lassen und dass es auch beim iPhone 5, oder iPhone 4 S/GS oder wie auch immer es tatsächlich heissen wird,  eine solche geben sollte, steht ausser Frage. Da das kommende iPhone, das erste neue iPhone ist, das nicht unter exklusiver Vermarktung der Telekom auf den Markt kommen wird, schickt sich nun auch Vodafone an, seinen Kunden eine Registrierung für den iPhone 5 Verkaufsstart anzubieten. Bald solle eine eigene Webseite für das iPhone 5 online gestellt werden, auf der die Kunden sich für das neue Gerät vormerken lassen können. Telefonica O2 äussert sich zwar auch dazu, erwähnt allerdings bisher nichts von einer Möglichkeit der Reservierung, nur dass man sich auf das neue Smartphone freue.

Natürlich wird das neue iPhone für Smartphone Interessenten ein heisses Eisen werden, aber ohne technische Daten blind zu reservieren? Es gibt doch nur zwei Möglichkeiten, entweder ist die Reservierung/Vorbestellung verbindlich und ich kaufe die Katze im Sack, oder sie ist nur Marketingmittel und bedeutet gar nichts, dann kann man sich das auch sparen.

Was sagt ihr, schnell Reservierung, Vorbestellung, Premientickt oder wie auch immer es geschimpft wird, abkassieren?