Hi Leute,
wenn ihr das hier lesen könnt, dann war der Serverumzug von Hetzner in das neue Rechenzentrum erfolgreich und wir sind wieder vollständig erreichbar!
Mein Blog in dem ich euch die wunderbare Welt von /dev/urandom näher bringe.
Hi Leute,
wenn ihr das hier lesen könnt, dann war der Serverumzug von Hetzner in das neue Rechenzentrum erfolgreich und wir sind wieder vollständig erreichbar!
Da ich grade mal Lust hatte Marc (virtualmarc) ein bisschen zu ärgern habe ich eines seiner kleinen Projekte nachgebaut.
Hier erst einmal das Original:
Das Teil ist ein sehr simples Blinklicht mit zwei LEDs.
Als ersten Teil meines fiesen Planes habe ich das ganze einmal nachgebaut, das sah dann so aus:
Den Quelltext möchte ich euch hierfür jedoch nicht extra aufschreiben, es ist eigentlich der gleiche wie in den Beispielen nur halt mit Poti und zwei LEDs…
Als ich das ganze so blinken gesehen habe dachte ich mir.. das kann noch nicht alles sein.. da müssen mehr LEDs dran.. ja so ergab sich letztendlich eine Zahl von acht LEDs…
Da es viel zu umständlich wäre acht LEDs einzeln anzusprechen und jedes mal mit nem eigenen Delay usw zu versehen hab ich nat. mit Schleifen gearbeitet. Das ganze läuft dann so ab das die LEDs einzeln nacheinander aufleuchten. Sobald man den Knopf drückt wird der Vorgang beendet und das eigentliche Blinken bzw Laufen fängt an. Ein weiterer Druck auf den Knopf startet das Setup wieder.
In dem Programm ist ein kleiner Fehler enthalten den man auch im Video sehen kann: Beim erneuten einstellen der LEDs bleiben LEDs über dem gewählten Bereich aktiv wenn diese vorher aktiv waren (die grüne die die ganze zeit über leuchtet und die rote die kurz beim erneuten einstellen aktiv bleibt).
Hier der Quelltext, die Schaltung müsst ihr euch selbst denken..:
int startpin=2;
int count=0;
int potipin=0;
int button=12;
void setup(){
pinMode(button,INPUT);
while(1){
count++;
pinMode(count+startpin-1,OUTPUT);
digitalWrite(count+startpin-1,HIGH);
delay(1000);
if(digitalRead(button)) break;
}
for(int i=startpin;i<startpin+count;i++){
digitalWrite(i,HIGH);
}
delay(1000);
}
void loop(){
if(digitalRead(button)) break;
for(int i=startpin;i<startpin+count;i++){
for(int j=startpin;j<startpin+count;j++){
if(i==j){
digitalWrite(j,HIGH);
}else{
digitalWrite(j,LOW);
}
}
delay(analogRead(potipin));
}
}
In der Nacht vom 03.05.2010 auf den 04.05.2010 zieht der Rootserver von uns vom Hetzner Rechenzentrum 9 in Nürnberg zum Datacenterpark in Falkenstein um.
Der Server wird in der Nacht für ein paar Stunden nicht erreichbar sein.
Der Server wird nach dem Umzug von dem Mitarbeitern von Hetzner Online wieder hochgefahren, es kann allerdings sein, das einige Dienste nicht automatisch mit dem Systemstart starten. Deswegen kann es z.B. bei Game- und Voiceservern einige Stunden dauern, bis wir diese manuell gestartet haben!
Wenn ihr einen fehler bekommt vonwegen
“Deprecated: Assigning the return value of new by reference is deprecated in /blogs/admin.php on line 169″
dann wendet einfach folgenden patch auf eure Installation an:
wenn ihr auf dem server exec-rechte habt könnt ihr auch folgendes php-script benutzen:
wenn ihr eine komplett neue installation machen wollt könnt ihr auch einfach folgendes paket verwenden:
Hab heute meine Sensorleiste “gehackt” weil das Kabel zu kurz war..

In diesem Tutorial will ich euch zeigen wie ihr in PHP mit Sessions umgeht.
Zuerst einmal: Was sind Sessions überhaupt ?
Sessions sind (frei übersetzt) Sitzungen. Das heisst man kann die Benuzer voneinander unterscheiden. Jeder Benutzer bekommt eine Session-ID die solange hält bis er den Browser schliesst oder die Sitzung auf dem Server ausläuft, das dauert jedoch eine ganze Weile und die Sitzung wird bei jedem Aufruf aktualisiert wobei das “Timeout” nach hinten verschoben wird. PHP wertet die Session-IDs automatisch aus und gibt uns eine neue “Globale” Variable die den stolzen Namen $_SESSION (Array) trägt.
Um eine Session zu starten muss man vor jeglicher Ausgabe in der PHP-Datei den Befehl “session_start()” verwenden. Ab dem Moment wird die $_SESSION Variable geöffnet. Man kann jetzt mit dieser Variable umgehen wie mit jedem anderen Array auch. Sinnvoll ist es z.B. Benutzername und/oder Passwort in dieser Variable zu hinterlassen so das man sich nach einem Login frei auf der Seite bewegen kann.
Sessions werden in so ziemlich allen Web-Anwendungen (darunter auch WordPress, b2evo, Drupal usw..) verwendet. Meist wird eine Kombination von Cookies und Sessions verwendet wobei die Cookies einen dauerhaften Login verwirklichen können und die Sessions nur für das aktuelle zuständig sind.
Zum Abschluss noch ein kleines Beispiel bei dem ein sehr sehr simpler Login verwirklicht wird:
<?php
session_start();
if($_GET[passwort]==”hackme”){
$_SESSION[logged_in]=1;
}
if($_SESSION[logged_in]==1){
echo “Hallo User”;
}else{
echo “Log dich bitte ein, Danke”;
}
?>
Zuerst wird man nur “Log dich bitte ein, Danke” sehen aber sobald man das Passwort “hackme” einmal übergeben hat erscheint solange bis die Sitzung ausläuft “Hallo User”.
Ich habe mir, da ich ziemlich viele Festplatten rumliegen habe die mir für den Dauerbetrieb einfach zu laut sind, ein externes Dock für 3,5″ und 2,5″ SATA-Festplatten gekauft.
Optisch wirkt das Gerät schonmal in Ordnung. Es ist nicht der Brüller aber es stört auch nicht, jedoch fällt im Betrieb der blau leuchtende OTB (One Touch Backup) Button auf.
Ich habe das Gerät über eSATA an meinen PC angeschlossen. Es gab nichts großartig zu erkennen da eSATA ja direkt mit der Platte verbunden ist. Den Strom bekommt die Festplatte von einem externen Netzteil. Das ganze funktioniert wunderbar und alle meine SATA festplatten (auch die 2,5″er) passen perfekt hinein und funktionieren als wären sie direkt im PC verbaut. Die Geschwindigkeit unter eSATA ist eigentlich nur auf den SATA chipsatz des Motherboards begrenzt (Standardmäßig sollten die so etwa bis zu 3GB/s unterstützen. Über USB sieht das ganze dann schon etwas anders aus hier bekommt man maximale Datenraten von 480Mbit/s (60MB/s) das wären bei meinen Platten immerhin fast 30 MB/s Verlust daher benutze ich eSATA.
Das Gerät hat einen 6-Port USB Hub und einen OTB-Button die ich leider nicht benutzen kann (wegen eSATA). Ich kann euch jedoch sagen das die USB-Anschlüsse über das externe Netzteil mit Strom versorgt werden, so kann man ruhig auch mehrere Stromfresser an das Dock anschliessen. Laut Hersteller kann man auswählen welche Verzeichnisse / Festplatten über den OTB-Button gesichert werden sollen. Eventuell kann man USB und eSATA gleichzeitig anschliessen aber da ich weiß wie empfindlich so ein Festplatten-Controller ist lass ichs lieber sein. Im Handbuch wird auch immer das Wort “oder” verwendet.
Fazit: Das Gerät ist durchaus zu empfehlen jedoch hätte ich in meiner Situation eins ohne USB wählen sollen da ich jetzt 6 nicht angeschlossene USB-Ports und eine leuchtende OTB-Taste auf dem Schreibtisch habe die über eSATA nicht funktioniert.
Abschließend noch ein paar Bilder: