Hauptseite

Aus NOBAQ

Wechseln zu: Navigation, Suche
Willkommen auf der Homepage von Niki Hammler
Mein neues Weblog

電気01.nobaq.net. - Testbericht einer IP Steckdosenleiste

14:50, 4. Jun. 2009

Seit längerer Zeit habe ich nach einer Lösung gesucht um Geräte ferngesteuert ein- und auszuschalten. Das Prinzip hört sich relativ simpel an: Man nehme eine Hand voll Relais, einen Treiberbaustein, dazu einen billigen Mikrocontroller mit passendem C-Programm - fertig. Ganz so einfach ist es aber leider nicht, wenn das ganze dann auch noch per IP ansprechbar sein soll und einigermaßen professionell aufgebaut sein soll. Also habe ich mich auf die Suche nach fertigen Produkten gemacht - die leider alle sehr teuer sind. Prinzipiell soll die Leiste folgende Dinge erledigen:

  • Bei Absturz eines Geräts (hauptsächlich Server) soll ein einfacher reboot über Internet möglich sein
  • Viele meiner Computer und Komponenten benötigen viel Strom im kW-Bereich. Da wäre es toll wenn ich sie einfach kurzzeitig nach Bedarf aus- und einschalten könnte.

mehr...


Migration auf Software RAID1 mit SATA

15:30, 1. Mai 2009

Nachdem der Festplattenspeicherplatz auf meinem Server langsam aber doch zu Neige ging habe ich mich entschlossen gleich auf SATA umzurüsten und ein RAID1 aufzusetzen. Das ist bei den heutigen Festplattenpreisen kein Problem mehr. Ich erhoffe mir dadurch einerseits erhöhte Performance (durch SATA und den neuen Platten) und andererseits erhöhte Ausfallsicherheit.

Hier beschreibe ich nun, wie ich mein altes System (PATA) auf das neue SATA-Software RAID System migriert habe. Bemerkenswert: Fast die gesamte Migration konnte ich von unterwegs mit ssh in einer screen-Session durchführen. Lediglich zum Einbau des SATA Controllers und der Platten musste ich den Server besuchen.

mehr...


ZendFramework Pager

18:38, 15. Jul. 2008

Ein oft wiederkehrendes Problem bei Webseiten ist ein sogenanntes "Paging": Von einer Tabelle mit 1000 Zeilen sollen nur 10 auf einer Seite dargestellt werden und der Rest durch "Blättern" mit "vor" und "zurück" zugänglich sein. Die normale Herangehensweise in PHP ist es zusätzlich zur normalen Abfrage (durch LIMIT begrenz), ein SQL Statement mit "SELECT COUNT(*) ... GROUP BY" zu erstellen. Der Nachteil dabei ist aber, dass zwei Abfragen benötigt werden, und die eigentliche Datenabfrage umgeändert werden muss. Ist die ursprüngliche Abfrage sehr komplex (z.B. Nested Sets, Verknüpfungen mit temporären Tabellen) ist diese Methode sehr komplex.

Meine Lösung für ZendFramework beschreibe ich hier.

mehr...


Siegenthaler bound verständlich erklärt

10:07, 10. Jun. 2008

Bei Streamciphers in der Kryptographie ist es sehr wichtig, einen Keystream zu erstellen, der möglichst wenige Rückschlüsse auf den verschlüsselten Plaintext zulässt. Da eine Streamcipher eine Erweiterung der Vernam-Cipher ist, wird dabei der Plaintext einfach mit dem Ciphertext addiert (modulo 2):

CT = PT \oplus KS

Damit die Cipher sicher ist, soll der Keystream KS ein paar nette Eigenschaften haben:

  • Der Keystream soll wie Rauschen aussehen, das bedeutet die Autokorrelation soll sehr niedrig sein
  • Die lineare Komplexität \mathcal{L} der Folge soll möglichst hoch sein, damit die Folge eine möglichst hohe Periode hat
  • Die Folge soll von nicht-linearen Funktionen erzeugt werden (d.h. von keinem (reinen) LFSR) oder zumindest von einer Kombination aus nichtlinearen Funktionen, da für jede lineare Kombination aus LFSRs mit Berlekamp-Massey in O(np) eine alternative Darstellung als LFSR gefunden werden kann die höchstens so hoch ist, wie die LFSRs zusammen.

Siegenthaler hat 1984 gezeigt dass diese Anforderungen zum Teil im Widerspruch stehen. Da ich nach langem Suchen keine schöne Erklärung zum Siegenthaler bound, der correlation immunity und dem nonlinear order gefunden habe, versuche ich hier selbst eine verständliche Erklärung.

mehr...


Weblog mit Mediawiki

16:15, 31. Jan. 2008

Seit fast 2 Jahren habe ich nun Artikel in Form von Weblogs veröffentlicht. Zuerst habe ich ein selbstgeschriebenes Weblog verwendet, dann BLOG::CMS und dann Wordpress. Aber keines der Systeme konnte mich zufriedenstellen weshalb ich auf MediaWiki umgestiegen bin, weil die Syntax sehr einfach ist und man vor allem Sourcecode schnell und unkompliziert integrieren kann.

Bis heute blieb jedoch die Frage, wie ich möglichst unkompliziert eine "Weblog"-Sektion in Mediawiki erstellen kann, die sich ähnlich verhält wie die in WordPress (oder eines anderen Weblogs): In einer Liste sollen Beiträge, chronologisch sortiert aufscheinen und jeweils nur eine Vorschau angeboten werden. Nach einem Klick auf "Weiter" soll der gesamte Artikel erscheinen. Dinge wie RSS oder Kommentare sind nicht wichtig für mich.

mehr...


Etc mit SVN verwalten

01:30, 29. Jan. 2008

Ausgangspunkt war die Suche nach einer Möglichkeit, /etc unter eine Versionskontrolle, vorzüglicherweise Subversion zu bekommen:

http://lists.debian.org/debian-devel/2005/02/msg00495.html

Meine Anleitung ist stark daran angelehnt.

Ich möchte das Repository aber nicht lokal haben, sondern per dav_svn auf einem Server.


mehr...


Compaq Rack 9000

18:01, 28. Jan. 2008

Nach relativ langem Suchen habe ich einen größeren (42HE) 19" Schrank gefunden. Glücklicherweise ist es sogar ein realtiv gut erhaltener Serverschrank mit allen Teilen (Türen, Seitenteile etc.) viel Zubehör und auf Rollen. Da es ein Serverschrank ist, bedeutet dies, dass er sowohl vorne und hinten zwei Profilschienen hat und durch die große Tiefe auch große Server hineinpassen...

mehr...


2001:7b8:3cd:200::1

15:52, 21. Jan. 2008

2001:7b8:3cd:200::1 - was soll das sein? Es ist eine IPv6 Adresse! Und zwar nur eine meiner gewaltigen 1 208 925 819 614 629 174 706 176 (2^80) statischen IP Adressen aus dem neuen Internet der neuen Generation.

Lange hat mich IPv6 überhaupt nicht interessiert aber im Jänner hab ich es dann doch gewagt und mir einen Tunnel bei http://www.sixxs.net bestellt.

Nach der Überprüfung meiner Daten war der Tunnel sofort eingerichtet. Zum Glück habe ich ebenfalls eine statische IPv4 Adresse, so kann ich bequem das Protokoll "6in4" (IP Protokoll 41) verwenden und muss nicht lästige Lösungen zurückgreifen die meine IP Adresse überwachen und den Tunnel umschreiben. Weiters hatte ich das Glück, dass ich es auf Anhieb geschafft habe bei meinem Speedtouch 546i das IP Protokoll 41 weiterzuleiten. So brauchte ich mich auch nicht mit irgendwelchen "windigen" UDP-Tunnel-"Lösungen" herumschlagen. Meine Installation beschreibe ich in diesem Artikel

mehr...


Gratis Internet (3): DNS Tunnel unter Windows

13:07, 21. Jan. 2008

Der letzte Teil des Beitrags beschäftigt sich mit dem Clientzugriff unter Windows. Während ich im Artikel Gratis Internet (1): Australien, DNS- und ICMP-Tunnel bzw. Gratis Internet (2): DNS Tunnel und auth. NS mit einer statischen IP ausführlich erklärt habe, wie man einen DNS Tunnel unter Linux aufbauen kann erkläre ich hier nun die Vorgehensweise für Windows. Wieso? Wenn man unterwegs ist und in die Situation kommen sollte, einen DNS Tunnel zu benötigen ist die Wahrscheinlichkeit sehr hoch, dass man einfach nur ein Windows zu Verfügung hat. Deswegen erweitere ich hier gleich meine Anforderungen:

  • Der Client soll unter Windows (ab NT) funktionieren
  • Der Client soll keine Administratorrechte benötigen
  • Der Client soll nicht installiert werden müssen
  • Der Client soll nicht unnötig viele Libraries erfordern
  • Der Client soll möglichst klein sein (wenige MB), sodass man ihn bequem auf einem USB Stick mitnehmen kann

Obwohl ich nicht mehr geglaubt habe dass ich alle diese Anforderungen erfüllen kann, ist es mir dann doch gelungen...

mehr...


Gratis Internet (2): DNS Tunnel und auth. NS mit einer statischen IP

13:01, 21. Jan. 2008

Ich komme nun zum zweiten Teil meines Artikels: Der Serverendpunkt für einen DNS Tunnel. Wie in Gratis Internet (1): Australien, DNS- und ICMP-Tunnel beschrieben ist, ist dies mit ozymandns einfach, wenn man einfach eine statische IP Adresse hat auf der noch kein DNS Server authoritiv tätig ist. Ist dies aber der Fall, so gibt es einige Hürden zu überwinden....

mehr...





Special Thanks to

Persönliche Werkzeuge