Archive for the ‘General’ Category
VZ @ IPC und WebTech
Vom 15.11. bis zum 18.11. finden nächste Woche in Karlsruhe die International PHP conference und die Webtech Conference statt. VZ Netzwerke unterstützt diese Konferenzen als Silber Sponsor und ist mit einem Stand, vier Sessions und einer Keynote vertreten:

-
Push-Implementierung in der studiVZ iPhone App
Max Horváth, Steffen Irrgang
In dieser Session berichten wir, wie studiVZ die Push-Funktionalität auf der iPhone- und auf der Serverseite implementiert hat. Wir zeigen, wie der Client sich über das studiVZ-API anmeldet und über welche Architektur Push-Nachrichten auf dem iPhone landen. Dabei wird näher auf die AMQP-Queue-Infrastruktur von studiVZ eingegangen und gezeigt, welchen Fluss eine Benachrichtigung bei studiVZ durchlebt, bis sie auf dem iPhone eines Nutzers ankommt.16.11.2009 | 09:45 – 10:45
-
OAuth – ein offener Standard für die sichere Authentifizierung in APIs
Bastian Hofmann, Max Horváth, Andre Zayarni
In dieser Session widmen wir uns dem offenen Standard OAuth. Er wird für die sichere Authentifizierung in APIs genutzt. Wir zeigen, wie man OAuth implementiert und wieso es sinnvoll ist, Drittanwendungen über OAuth an die eigene API anzubinden. Außerdem gehen wir darauf ein, wie eine eigene Webapplikation mittels OAuth mit anderen Services verbunden werden kann.16.11.2009 | 14:30 – 15:30
-
OpenSocial in der Praxis
Sebastian Galonska, Bastian Hofmann
OpenSocial bietet vielfältige Möglichkeiten, die Funktionalität eines Social Networks zu erweitern. Dabei sind die Konzepte zur Entwicklung von Gadgets einfach zu erlernen. In dieser Session geben wir Einblicke, wie Gadgets für die VZ-Netzwerke, aber auch jeden anderen OpenSocial-kompatiblen Container, erstellt und veröffentlicht werden können. Dabei berücksichtigen wir auch Aspekte wie Skalierung und Sicherheit.17.11.2009 | 10:30 – 11:30
-
Best Practices bei der Entwicklung von öffentlichen APIs
Steffen Irrgang, Max Horváth, Andre Zayarni
In dieser Session soll praxisnah erörtert werden, welche Fallstricke und vor allem welche Best Practices in Bezug auf die Entwicklung von öffentlichen APIs zu beachten sind. Dabei konzentrieren wir uns auf RESTful Web Services sowie auf den offenen Authentifizierungsstandard OAuth.17.11.2009 | 16:30 – 17:30
-
Keynote: Bugfree, agil und überhaupt
Jodok Batlogg
In his keynote Jodok will highlight some insights on studiVZ. How important are agile processes? Is studiVZ really bugfree or is there a need for a bugtracking system? Why should one additional line of SQL require 10 additional servers and how can good profiling save you 20 of them?
18.11.2009 | 11:45 – 12:30
DevHouseBerlin
Today you have the last chance to get your hands dirty! Our friends at Box119 open their doors for DevHouseBerlin.
DevHouseBerlin is a fun-packed weekend of hacking and sharing knowledge. The Box119 office is open for a weekend and invites hackers of all sorts to join us working on projects, sharing code and ideas and just hanging out among fellow geeks.
DevHouseBerlin is highly influenced by the SuperHappyDevHouse:
SuperHappyDevHouse is a non-exclusive event intended for creative and curious people interested in technology. We’re about knowledge sharing, technology exploration, and ad-hoc collaboration. Come to have fun, build things, learn things, and meet new people. It’s called hacker culture, and we’re here to encourage it.
VZ is happy to provide you with first class Spreeschnittchen Catering. Enjoy!
VZNetzwerke für Android verfügbar
Endlich ist es soweit, die mobile Variante der VZNetzwerke – studiVZ, meinVZ und schülerVZ – ist seit gestern im Android Market kostenlos verfügbar.
Über den mobilen Browser gelangt man direkt über folgende Links zur entsprechenden Anwendung im Market:
market://search?q=pname:net.studivz.android.studivz
market://search?q=pname:net.studivz.android.meinvz
market://search?q=pname:net.studivz.android.schuelervz
Die derzeitige Version 1.0b verfügt unter Anderen über folgende Funktionen:
- Buschfunk
- Lesen und schreiben von Nachrichten
- Anzeigen der Freundesliste
- Anzeige der letzten Besucher
- Gruscheln
Die erste Version stellt somit die wesentlichen Funktionen bereit und wird nun zügig mit weiteren Features, wie sie bereits von der normalen Web-Oberfläche bekannt sind, erweitert.
Bis dahin freuen wir uns natürlich über jegliches Feedback zu den Anwendungen.
mckoy – [m]em[c]ache [k]ey [o]bservation [y]ield
We wanted to speed up our web-applications by alleviating our database-loads. So we decided to use the distributed memory object caching system, memcached. Due to the many requests of our memcached-systems (about 1.5 million requests per second), we built a tool (called mckoy), which is capable to perform statistics and debugging information about all memcache-requests in our network.
mckoy is a memcache protocol sniffer (based on pcap library) and statistics builder. It automatically detects and parses each key (and its value) and memcache-api methods. At the end of the sniffing session, the results are used to build the statisticis. mckoy was written to analyse our web application and its usage of memcache-api in PHP. For example: We wanted to know how many set() and get() methods were invoked in a given time. Based on these results, we had to make changes to improve the usage of memcache-api for PHP. You can run mckoy on any UNIX based systems. It was tested on many *BSD and Linux systems. mckoy is licensed under GPLv3 and completely published as opensource project!
You can run mckoy in various modes (see manpage!). For example, if you want to sniff pattern “foobar” for all memcache-api methods and with live capturing, use:
mckoy -i <interface> -e “port 11211″ -m 5 -k foobar -v
And this is, how it looks like:

Unfortunately, there are some known bugs. :) For example: An SIGSEGV will encounter when ^C is sent from user. Also, we noticed that mckoy isn’t able to handle memcached-1.2.8 <= 1.4.* correctly. These bugs will be fixed in the next version as soon as possible! For the next version I also planned to build in udp and binary support.
You can offcially download mckoy from:
http://www.lamergarten.de/releases.html
or
http://sourceforge.net/projects/mckoy/
cheers.
Da Guckst Du – Hingucker auf dem Profil
Der Nächste Schritt in Richtung Google Gadget Integration auf unserer Plattform ist abgeschlossen. Und wir haben ein neues Baby, den “Hingucker”.
Ab jetzt kann jeder Benutzer seinen Lieblingshingucker aus einer Gruppe auf sein eigenes Profil entführen.
Wir beginnen mit dem 11Freunde Hingucker (StudiVZ/MeinVZ).
Viel Spaß!

Google Gadgets – Jetzt auch bei uns
Ein wenig Schweiß und Fleiß war schon vonnöten, doch seit heute sind wir mit den ersten Gadgets online. Basierend auf dem Google-Gadget Standard haben wir die Möglichkeit geschaffen, dynamische Inhalte von Drittanbietern in unsere Gruppenseiten einzubinden.
Unser besonderer Dank gilt hier Chris Chabot von Google, der die Basis des von uns eingesetzten Shindig Servers entwickelt hat. Natürlich waren noch einige studiVZ-spezifische Anpassungen notwendig. Unter Anderem haben wir zusätzlich zum Standard den “Group”-View eingeführt, der speziell für die Anzeige von Gadgets in Gruppen optimiert ist. Auch müssen Anbieter von Gadgets nicht mehr um die Last auf ihren Servern bangen, denn dank intelligenter Verteilung der statischen Inhalte auf unserer CDN Farm, ist die Verfügbarkeit der Inhalte gewährleistet.
Wir befinden uns noch in der Beta-Phase, weitere Funktionalitäten werden folgen. Ihr dürft also gespannt sein ;)
Die ersten Fussballverein-Gadgets in Kooperation mit Bild.de könnt ihr in den folgenden Gruppen bewundern:
studiVZ
- FC Bayern
- Borussia Dortmund *BVB 09*
- Schalke 04
- Hertha BSC Berlin 1892 e.V.
- Werder Bremen
- HSV
- 1. FC Köln
- Bayer 04 Leverkusen
- HANNOVER 96 – Mein Verein
- VfL Wolfsburg
- VfB Stuttgart
- Eintracht Frankfurt
- TSG 1899 Hoffenheim
- FC Energie Cottbus
- VFL.Borussia Mönchengladbach 1900 e.V.
- I ♥ DSC ARMINIA BIELEFELD
- VfL Bochum
- KSC
schülerVZ
- FC Bayern München – FCB
- FC Bayern München
- Borussia Dortmund
- FC SCHALKE 04
- SV Werder Bremen
- HSV
- Hertha BSC Berlin
- 1. FC Köln
- Bayer 04 Leverkusen
- Hannover 96 Fanclub
- VfL Wolfsburg
- VfB Stuttgart
- Eintracht Frankfurt
- TSG Hoffenheim
- FC Energie Cottbus
- Borussia Mönchengladbach
- Arminia Bielefeld
- VfL Bochum 1848
- KSC
meinVZ
- FC Bayern
- Borussia Dortmund *BVB 09*
- Schalke 04
- Hertha BSC Berlin 1892 e.V.
- Werder Bremen
- HSV
- 1. FC Köln
- Bayer 04 Leverkusen
- HANNOVER 96 – Mein Verein
- VfL Wolfsburg
- VfB Stuttgart
- Eintracht Frankfurt
- TSG 1899 Hoffenheim
- FC Energie Cottbus
- VFL.Borussia Mönchengladbach 1900 e.V.
- I ♥ DSC ARMINIA BIELEFELD
- VfL Bochum
- KSC
Google sowie das Logo sind ein eingetragenes Zeichen von Google Inc.
Vorsicht: Ominöse studiVZ Toolbar enthält Trojaner
Dem geneigten Leser dieses Blogs braucht man es vielleicht nicht zu sagen. Ist er doch technisch interessiert und weiß genau um die Gefahren, die irgendwelche zwielichtigen Internetseiten und Programme mit sich bringen können.
Dennoch. Aus aktuellem Anlass wollen wir auch an dieser Stelle eindringlich vor der Browser Extension, Toolbar und sogenannten Symbolleiste “StudiVZ die Studenten Commuity Toolbar” warnen, die einen Trojaner mit Backdoor-Mechanismus enthält und persönliche Daten wie z.B. das studiVZ Passwort des Nutzers auszuspähen versucht. Sie ist nicht von uns. Das erkennt man u.a. daran, dass es nicht einmal ein Impressum oder sonstigen offiziellen Bezug zu uns gibt.
Da studiVZ selber [bis dato] kein Anbieter von Toolbars ist, mit keinem Toolbar-Betreiber kooperiert oder solche bewirbt, raten wir unseren Nutzern dringend davon ab, Toolbars zu installieren, die mit dem Namen studiVZ werben. Um Sicherheitslücken zu vermeiden, raten wir unseren Mitgliedern den regulären Weg zu gehen, d.h. mit einem Webbrowser direkt unsere Netzwerke zu besuchen.
Natürlich sollten eine Antivirus- und Firewall-Software auf jedem PC zur Basisausstattung gehören. Letztlich schützt aber auch der gesunde Menschenverstand und ein stets eindringlicher Blick, bevor man sich irgendeine Software installiert.
Siehe auch…
http://www.heise.de/security/StudiVZ-Toolbar-mit-Backdoor-in-Umlauf-Update–/news/meldung/132420
http://www.avertlabs.com/research/blog/index.php/2009/02/10/trojan-bundles-legit-social-network-toolbar-with-backdoor/
PHP Bug by Design
Check the following code snippets. They use square bracket syntax to index data in an array and a string.
$array = array(1,2,3);
print $array[0];
>> 1
print $array['foo'];
>> Notice: Undefined index: foo
$string = '123';
print $string[0];
>> 1
print $string['foo'];
>> 1
If you access a non existing index in an array you will be notified about a non existing index and NULL is returned. That’s fine so far. But what if you’re doing the same with a string? Is a string an array of characters as you might expect?
Unfortunately not in PHP. A string is a string and accessing a non existing index in a string is a different thing. PHP obviously converts the string index “foo” into an integer since strings have only numerical indices. Casting “foo” into integer is 0 and the character at position 0 is returned – without any notice. A string is not an array of characters.
As you may read here http://bugs.php.net/bug.php?id=44914 this is also fine for the creators of PHP. For me, I’m sorry, it’s a reason to stop using PHP (if I could at least). Implicit type casts in PHP are a story on its own and notoriously leading to subtle and hard to find bugs. But this one is beyond belief.
The only way to protect you from a catastrophe is to check at any and every usage of arrays if you really have an array. Type hint arrays. Use is_array() excessively. Write thousands of tests.
Better choice – use a well designed programming language. A better supported at least.
Rechenzentrum
Vor Kurzem war unser Operations Team zu einem Workshop in unserem Rechenzentrum bei Telefónica o2 Germany, in dem unsere Server stehen, zu Besuch. Nach drei Stunden Fahrt mit der Deutschen Bahn (6 Uhr aufstehen ist wirklich das Schlimmste was es gibt), sind wir sogar pünktlich angekommen.
In Gütersloh bzw. Verl angekommen, ging es auch gleich mit dem vollen Programm los. Besichtigung der zentralen Stromeinspeisung (ein Ring mit 8 Megawatt Leistung), Spannungswandler bei denen die Kupferleiter fast dicker als mancher Arm sind, riesige Dieselaggregate, Batterien für die Überbrückung bis die Generatoren anlaufen. Angeblich dauert es auch nur 30 Sekunden bis alle Generatoren auf der gleichen Phase laufen und die Spannung umgeschalten wird.
Dann ging es weiter unter die Erde, hunderte lärmende Server, Storage-Systeme, Lastverteiler und tausende Kabel. Bei der Ordnung wünscht man sich, das hinter dem heimischen Schreibtisch die gleiche Ordnung bei den Kabeln herrscht, aber das bleibt wohl bis in alle Ewigkeit ein Wunschtraum.
Außerdem haben wir dort noch ein paar Schränke voll mit Festplatten, die vor allem die Fotos speichern und ausliefern (das folgende Foto ist ein rekursives Foto, denn es enthält sich selbst). Das ist schon ziemlich beeindruckend, wie die Lichter an den Platten blinken, weil draußen tausende Leute Bilder anschauen. Normalerweise sehen wir nur die Zahlen auf dem Bildschirm. Aber kubikmeterweise Technik, die riesig Lärm und Abwärme produziert, zeigt noch viel deutlicher, dass auf den Plattformen einiges los ist.
Wir haben das Gebäude nicht verlassen, ohne einen “Gruschel mich!”-Aufkleber auf eine Blende in einem Rack zu kleben. So sehen nun auch andere RZ-Besucher, dass wir da waren.
Where the studiVZ developers blog
Hier ist er: Der/das studiVZ developer blog.
Wieso? Weshalb? Warum?
Der/das Blog lebt und wird sich ständig weiter entwickeln.
Das passt gut zu uns Entwicklern.
Viel Spaß!


















