Pendulum @ Glastonbury

Da die fünf Australier von Pendulum ihren Sound von Hold Your Colour zu In Silico ziemlich geändert haben, nahm mich gestern Wunder, wie das nächste Werk der Rock/D’n'B-Truppe klingen würde.

Ich war enttäuscht.
Immersion soll das neue Album heissen, und auf ihrem Preview hört sich das neue eher nach einem Abklatsch von “Slam” und “Through The Loop” an, zusammengemixt mit ein paar House/Dance/Trance-Parts.
… und als Anhänger der eher hässlicheren Musik muss ich mich da wohl nun nach was anderem umsehen.

Aber was soll’s, sie haben ja genug altes Zeugs gemacht, daran kann man sich auch erfreuen.
Was ich mit “Trance-Abklatsch” meine, kann man vielleicht an folgendem Video erkennen, wobei ich sagen muss, dass sie sich wenigstens am Ende (etwa ab 4:15) wieder einigermassen fangen können:

voller Grösse

Aber wie gesagt – irgendeine Streetparade wäre mittlerweile eine geeignetere Plattform für die fünf.
Da freue ich mich mehr über das neue Eluveitie-Album.

AyeKore alpha release

In diesem Artikel hatte ich bereits von meinem Projekt AyeKore erzählt.

Zugegebenermassen, das alpha release ist ein klein wenig hochgestochen, da es noch bei Weitem noch nicht als Release taugt. Doch für mich ist es bereits ein Riesenerfolg, wenn sich der Quellcode ohne Fehler kompilieren lässt. Wenn das kompilierte Programm dann auch nocht tut, was es soll, ist es mir doch sicher ein Alpha-Release wert.

So sah übrigens der erste Compile-Versuch aus:

… vielleicht versteht man mich jetzt.

AyeKore ist in folgender Hinsicht auch sonst einmalig:

  • Noch nie habe ich mit lediglich ein paar Boolean-Arrays den Prozessor für mehrere Sekunden auf die Hälfte auslasten können…
  • … und wohl kaum einer hat jemals C++-Header-Dateien noch brutaler als Funktions-, Namespace- und Klassendefinitionen missbraucht als ich.

Wie gesagt: Alpha.
Das UI ist noch äusserst hässlich; AyeKore-Progrämmchen müssen zur Zeit noch direkt in den AyeKore-Quellcode reingeschrieben werden (von Neumann würde sich im Grab umdrehen – von wegen “programmierbarer Prozessor”…!); eine schlaue Dokumentation fehlt vollständig; und das README File ist mittlerweile auch schon etwa 2 Wochen alt – was in der AyeKore’schen Zeitrechnung verdammt viel ist, da ich das Projekt in weniger als einem Monat grundsätzlich beendet habe.

Wiederum für Nerds: In der folgenden Woche werde ich intensiv an der Funktion arbeiten, AyeKore-Programmcode in externe Dateien zu schreiben, sowie an einer Dokumentation (Yippiee!!!).

Und dann widme ich mich wieder ein bisschen dem Real Life.

Das ist nämlich auch schön.

SSH Tunnel

OK, vielleicht bedarf dieser Link nach 2 Tage naktem Herumstehen noch einer Erklärung:

Angenommen, wir sitzen in einem öffentlichen WLAN-Netzwerk, wo wir vielleicht nicht besonders Lust darauf haben, unsere Verbindungen öffentlich preiszugeben. Zugegebenermassen, das wird wohl nur die paranoiden Leuten interessieren (die nicht-paranoiden sitzen voller Begeisterung über das Phänomen “offenes WLAN-Netzwerk” vor ihrem Laptop und scheissen auf Datensicherheit), aber immerhin:
Hier erst mal die Command Line:

ssh [<user>@]<ip-address> -p <port> -D <socks>

… und hier das Thema:

Wie tunnle ich eine Verbindung mit SSH?

SSH (Secure Shell) ist ein Protokoll/Programm, das Remote-Logins auf entfernte Rechner erlaubt. Im Gegensatz zu Telnet oder Ähnlichem wird eine SSH-Verbindung verschlüsselt, was sich auch nutzen lässt für Web-Browsen:

  • <user> steht für den Benutzernamen auf dem SSH-Server, auf den verbunden werden soll; wird nichts angegeben, so wird mit demselben Usernamen wie auf dem lokalen Rechner eine Verbindung hergestellt.
  • <ip_address> steht für die IP-Adresse des SSH-Servers, auf den verbunden werden soll.
  • Das -p Flag mit der dahinterstehenden Nummer gibt die Nummer des Ports an, über welchen auf den SSH-Server verbunden werden soll; wird nichts angegeben, so wird der Standard-Port 22 verwendet.
  • Das -D Flag erstellt auf dem lokalen Rechner (localhost) einen SOCKS-Proxy-Daemon, der auf alle Anfrage auf den Port <int_port> hört und diese an den verbundenen SSH-Server weiterleitet.
  • Anmerkung: Für eine SSH-Verbindung muss lokal ein OpenSSH-Client installiert sein (am besten, man installiert auch gleich einen OpenSSH-Server).

Wir können unsere Internetverbindung durch diesen SOCKS-Tunnel schicken, indem wir uns auf den mit SSH lokal erstellten SOCKS-Proxy verbinden, z.B. beim Webbrowser. In dessen Einstellungen müssen die Proxy-Einstellungen so verändert werden, dass auf localhost bzw. 127.0.0.1 verbunden wird. Die Portnummer kann frei gewählt werden, sie muss einfach mit der Nummer übereinstimmen, über welche mit dem lokalen SOCKS-Proxy verbunden werden soll.
Definieren wir also mit dem -D Flag den Wert 9999, muss im Webbrowser die Portnummer 9999 angegeben werden.

Unter Firefox 3.5 (Shiretoko) sieht dies etwa so aus:

  • Anmerkung: Die Sperrung des Webbrowsers auf localhost sollte man deaktivieren.

Aber… weshalb mache ich das?
Zum Einen bin auch ich ein wenig paranoid, was solche Dinge anbelangt. Andererseits trieb mich aber vordergründig folgender Umstand zum Nachforschen in diesem Gebiet (vorsorglich muss ich noch erwähnen, dass ich bislang noch nicht erfolgreich gewesen bin):

Filter, Filter…

Dank der Erziehungsdirektion Bern hängt zwischen unsere Schule und der weiten Welt des Internets ein Proxy-Server. Dieser hat u.A. die Aufgabe, unangebrachte Seiten rauszufiltern, sodass SchülerInnen die PCs der Schule nicht unnötig besetzen für den Besuch auf Seiten wie YouTube oder Facebook.
Irgendwie verständlich.

Seit letzten Herbst steht in der Schule auch ein WLAN-Netzwerk zur Verfügung, d.h. SchülerInnen haben nun die Möglichkeit, mit ihren privaten Netbooks, Laptops, iPhones/iPods oder anderen Gerätschaften das gymnasiale Netzwerk nutzen.
Auch da ist eine gewisse Einschränkung des Internetzugangs angebracht, schliesslich sollen die Sicherheit und Stabilität des gymnasialen Netzwerks nicht plötzlich gefährdet sein (z.B. Malware, Viren u.Ä.).

Nun aber meine Frage:
Muss hier wirklich derselbe erziehungsdirektionale Proxy-Server zwischendrin hängen, der auch YouTube, Facebook etc. rausfiltert? Schliesslich schränken SchülerInnen mit privaten Laptops die Verfügbarkeit von Computern in der Schule ja nicht ein; weshalb sollen diese also nicht auch Videos im Internet anschauen können?
Zudem sperrt der Proxy auch das Herunterladen von Archiven (ZIP, Tar, …) sowie Verbindungen auf Debian/Ubuntu-Update-Server (und wahrscheinlich auch andere Repositories) für APT, was die Nutzung des gymnasialen Netzwerks zusätzlich “sinnlos” macht.

  • Anmerkung: Findet und nutzt man ein in der Schule befindliches LAN-Kabel, so steht einem die Weite des Internets fast grenzenlos zur Verfügung, da hier der Proxy irgendwie nicht wirkt.

… sofern man nicht eine Alternative sucht.

Seit einiger Zeit bemühen sich einige meiner Klassenkameraden (inklusive ich selbst) immer wieder, diesen Proxy zu umgehen. Weshalb?
Ich persönlich vergleiche den Internetzugang in unserer Schule auch immer wieder gerne mit einer wahrhaft schönen Panoramasicht — betrachtet durch ein stecknadelkopfgrosses Loch in einer 2 Meter dicken Wand.

Das ist nicht schön.

SSH Verbindung herstellen

Vorhin hatte ich erwähnt, dass ich noch nicht erfolgreich gewesen bin. Das liegt an folgendem Grund:

Gesperrte Ports

Vom Proxy werden nur bestimmte Ports offengelassen, wobei nun der Port 22 (Standard-SSH-Port) leider nicht dazugehört — ich spreche aus Erfahrung. Doch SSH muss ja nicht zwangsläufig über diesen Port verbinden…

Der Standard-HTTP-Port 80 ist gesperrt, der stattdessen genutzte HTTP-Port wird gefiltert, d.h. eine SSH-Verbindung über den schuleigenen HTTP-Port würde nicht funktionieren, da das SSH-Protokoll vom Schul-Proxy nicht akzeptiert und folglich verworfen wird.
So kam die Idee auf, einen anderen offenen Port im Netzwerk zu nutzen, der nicht kontrolliert würde. Die Versuche beliefen sich auf die Standard-Ports für DNS (53) und für HTTPS (443). Und hier der momentane Status:

Letzterer funktioniert nicht.

Aber ich bin noch dran.

— euer Ayekat

AyeKore

Seit einiger Zeit beschäftige ich mich mit dem AyeKore-Projekt.
Da auch seit einiger Zeit meine Webseite online ist, dachte ich mir, man könne die Sache dort mal hochladen.

Zum Projekt

AyeKore sollte eines Tages eine Simulation einer von Neumann-Architektur werden, bzw. (für nicht-Nerds) Kern und Kernprinzip der meisten heutigen Computer:
CPU, RAM, Bus, I/O und Rechenwerk (in dieser oder anderer Reihenfolge).

Anlass zu solch einem Projekt gab mir das Physikpraktikum vor rund 5 Wochen (im Physik steckten wir damals Halb- und Volladdierer zusammen – warum also nicht auch eine CPU?).

Ziel ist es, eine Assembler-Sprache und (vielleicht) einen vereinfachten Pseudo-Compiler für höhere Programmiersprachen (C/C++, Java…) zu schreiben.

Zur Zeit ist das ganze 12/16-Bit, aber sollte noch auf (echte) 16 Bit ausgeweitet werden.

Für interessierte RL-Entfremdete:
Hier sind die Fortschritte am Projekt mehr oder weniger live mitverfolgbar.

Windows 7?

Zugegebenermassen, das Video ist schon relativ alt, aber dennoch lässt es tief blicken in Sachen “Was ist besser?”.

zum Video

Die Frage, die sich hier stellen lässt, ist vielleicht:
Hätten die Leute genauso begeistert reagiert, wenn man ihnen gesagt hätte, es sei KDE 4?
Solange die Leute nicht wissen, was für ein Betriebssystem es ist, bzw. solange sie im Glauben sind, sie hätten ein Windows vor der Nase, beurteilen sie KDE als leichter bedienbar als Windows Vista.

Es ist zwar geschummelt, aber noch objektiver kann die Meinung der Leute wohl nicht mehr ausfallen, oder?