Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, Sie davor zu schätzen. Dies ist im beidseitigen Interesse, da unnötige Angstzustiände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsächtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.



Monatsarchiv für August 2008

Die Steueridentifikationsnummer…

Mittwoch, den 27. August 2008

… ist nun auch bei mir eingetroffen. Ich will da jetzt nicht grossartig viel zu sagen, da das alles schon Andere zusammengefasst haben. Hier gibt es mehr Informationen: Informationen zur Steueridentifikationsnummer.

Block-Videos vs. Stream-Videos

Dienstag, den 26. August 2008

Streaming von Videos ist mittlerweile weit verbreitet. Genauso verbreitet sind aber auch Videos, die in vielen kleinen Teilarchiven heruntergeladen werden. Das Problem bei den zu letzt genannten Videos ist, dass man sie erst dann abspielen kann, wenn man sie vollstaendig heruntergeladen hat. Hier ein theoretischer Workaround:

Das Video wird in viele Teilvideos zerlegt, die nacheinander abgespielt lueckenlos das Originalvideo darstellen. Jedes Teilvideo kann einen beliebigen Dateinamen haben. Eine XML Datei enthaelt die Informationen, die fuer die Wiederherstellung der Reihenfolge noetig sind und darueber hinaus die noetigen Informationen ueber die Groesse, Deinterlacing, etc. des Videos. Alle partiellen Videos und die XML Datei werden in einem kompressionslosen Archiv zusammengefasst. Wird nun dieses Archiv (, das annaehernd so gross ist, wie das Originalvideo) in ein kompressionsbehaftetes, geteiltes Archiv gesteckt, so kann man das Video schon anschauen, wenn man erst einen Teil des Archivs besitzt. Hier eine Veranschaulichung des Prinzips:

Prinzip der Video-Partition

Prinzip der Video-Partition

Studentenkuchen

Dienstag, den 26. August 2008

Dem Internet sei Dank! Es gibt einen Studentenkuchen. Zumindest gibt es einen Kuchen, der innerhalb von 5 Minuten fertig ist. Ich habe es eben ausprobiert und er ist richtig lecker.

Rezept:

Zutaten:

  • 4 EL Mehl
  • 4 EL Zucker
  • 2 EL Kakao
  • 1 Ei
  • 3 EL Milch
  • 3 EL Oel

Zubereitung:

  1. Mehl, Zucker und Kakao in eine Tasse fuellen und mischen.
  2. Das Ei hinzufuegen.
  3. Milch und Oel hinzufuegen und gut mischen.
  4. Die Tasse bei 1000 Watt fuer 3 Minuten in die Mikrowelle legen.
  5. Warten, bis der Kuchen aufhoert zu wachsen.

Anmerkung:

Verwendet kein kaltgepresstes Oel. Am besten eignet sich Rapsoel.

Quelle: Dizzy Dee: Chocolate Cake In 5 Minutes

Notiz an mich

Sonntag, den 24. August 2008

Verhaltensmusteranalyse von manipulativen Wirtschaftsmaechten insbesondere von Fernsehsendern in Bezug auf Cash-Cow’s und One-Hit-Wonder im Wandel der Zeit und die Konsequenzen fuer die evolutionaere Entwicklung des Menschen durchfuehren.

What should I do?

Freitag, den 22. August 2008

Hier die Antwort:

Cisco VPN Client via Batch

Dienstag, den 19. August 2008

Da ich oefter mal die VPN Verbindung zuruecksetzen moechte und dabei auch gerne eine neue IP Adresse haette, habe ich mir ein kleines Batchscript gebaut, das den Cisco VPN Client dazu bringt die Verbindung neu zu starten (oder zu starten, sofern noch keine Verbindung bestanden hat).

Bitte schoen:

@echo off
 
set PROFILE=CENSORED
set USER=CENSORED
set PASS=CENSORED
set CLIENT="C:\Programme\Cisco Systems\VPN Client\vpnclient.exe"
 
:loop
 
echo Checking state...
 
%CLIENT% stat | find /i "No connection exists" > nul
 
if NOT ERRORLEVEL 1 goto init
 
echo Reconnecting...
 
%CLIENT% stat | find /i "Client address" > tmp1.txt
 
type tmp1.txt
 
%CLIENT% disconnect > nul
%CLIENT% connect %PROFILE% user %USER% pwd %PASS% > nul
 
%CLIENT% stat | find /i "Client address" > tmp2.txt
 
type tmp2.txt
 
fc tmp1.txt tmp2.txt | find /i "Keine Unterschiede" > nul
 
if NOT ERRORLEVEL 1 goto loop
 
del tmp1.txt
del tmp2.txt
 
goto end
 
:init
 
echo Connecting...
 
%CLIENT% connect %PROFILE% user %USER% pwd %PASS% > nul
 
:end

iPhone Pianist & Guitarist

Dienstag, den 19. August 2008

Haette ich schon frueher gewusst, dass es sowas fuer das iPhone gibt, dann haette ich es wohl schon. Seht selbst:

(Entweder JavaScript ist nicht aktiviert, oder Sie benutzen eine alte Version von Adobe Flash Player. Installieren Sie bitte den aktuellsten Flash Player. )

Und hier:

(Entweder JavaScript ist nicht aktiviert, oder Sie benutzen eine alte Version von Adobe Flash Player. Installieren Sie bitte den aktuellsten Flash Player. )

Idee: Dezentrale Suchmaschine

Dienstag, den 19. August 2008

Nehmen wir mal an, es gaebe eine Suchmaschine, die auf dem p2p-Prinzip basiert. Viele haben Teile, nur wenige haben alles. Im legalen Bereich koennte eine dezentrale Suchmaschine recht genial sein. Informationen, die neu und attraktiv sind haben mehr Seeder. Wird die Information alt oder uninteressant, werden die Seeder das von selbst loeschen und somit stirbt die Information langsam aus. Das System waere vielleicht anfaellig fuer Sabotage oder sowas, aber dafuer gibt es sicher Workarounds… Ich mag die Idee irgendwie. … Es kann natuerlich sein, dass jetzt niemand verstanden hat, was ich damit meine, aber die Idee finde ich echt nicht schlecht.

Wenn man das nutzt um Informationen zu speichern und wenn es nur Links sind, dann koennte das nichtmal illegal sein, oder? Ein Rapidshare-Link ist schliesslich nicht illegal (selbst wenn dahinter urheberrechtlich geschuetzte Sachen liegen). Bietet man den Link allerdings an, ist es illegal, weil man somit die geschuetzten Sachen anbietet. Hat man nun anstatt “http://abc.rapidshare.com/123456/7890/file.rar” nur “1234″, “fil” und “abc”, dann kann das ja schlecht illegal sein.

Hiermit moechte ich natuerlich kein neues Warezsystem entwickeln. Nein. Wenn das so funktionieren wuerde, wie ich mir das vorstelle, dann wuerde es ja aehnlich funktionieren wie Mundpropaganda…

C++ und eigene Keyeventhandler

Dienstag, den 19. August 2008

Da ich ja im Moment an der Portierung von Blobby Warriors arbeite und die OpenGL Keyeventhandler fuer meine Zwecke ungenuegend waren, musste ich etwas weiter ausholen, damit alles so laeuft, wie ich es gerne haette. Das Problem an den OpenGL Keyeventhandlern ist, dass sie etwas stoerrisch in Bezug auf Keyrepeating reagieren. Es gibt zwar einen An-/Ausschalter dafuer, jedoch ist der Effekt fuer meine Zwecke nicht zu gebrauchen.

Da ich ein netter Mensch bin (mostly: sein kann), dachte ich mir, dass ich mein Wissen weitergebe. Da ich in der Universitaet meistens mit Java arbeite(n muss), kam ich natuerlich auch mit den Eventhandlern in Java in Kontakt. Der Aufbau erinnerte mich wiederum an die Eventhandler aus C#. Und so ist meiner nun auch aufgebaut. Zumindest gibt es einige Aehnlichkeiten.

Zunaechst habe ich zwei Hilfe-Klassen. Zum ersten die Klasse Key. Mit ihrer Hilfe konfiguriere ich, auf welche Tasten der Eventhandler hoeren soll. Das ist etwas unorthodox, aber Kim hatte das in ActionScript sehr aehnlich gemacht und mir gefiel die Herangehensweise. Zum zweiten habe ich die Klasse KeyList, welche Objekte vom Typ Key speichert. Es ist einfacher eine Liste zu haben, als die einzelnen Key-Objekte herumzuschleppen.

Here we go:

KeyList *keyList = new KeyList();
keyList->Add(LEFT);
keyList->Add(RIGHT);
keyList->Add(UP);
keyList->Add(DOWN);

Hier taucht die Klasse Key nun nicht auf. Das liegt daran, dass die KeyList das intern regelt.

So nun kommt der eigentliche Eventhandler:

KeyEventHandler *keyEventHandler = new KeyEventHandler(keyList);
keyEventHandler->SetKeyDownFunction(KeyEventDown);
keyEventHandler->SetKeyUpFunction(KeyEventUp);

Hierbei sind KeyEventDown und KeyEventUp Funktionen, die vom Typ void (*keyDownFunction)(unsigned int flag) bzw. void (*keyUpFunction)(unsigned int flag) sind. Die Funktionen habe ich wie folgt implementiert:

void KeyEventDown(unsigned int key)
{
    keyList->GetKeyByFlag(key)->Down();
}
 
void KeyEventUp(unsigned int key)
{
    keyList->GetKeyByFlag(key)->Up();
}

Hinweis: keyList ist oben im Beispiel nicht global definiert. Das ist aber eine Voraussetzung fuer die beiden Callbackfunktionen.

Jetzt kommt der witzige Teil. Da das KeyList-Objekt nur call-by-reference weitergegeben wird, enthaelt es von nun an immer alle konfigurierten Keys mit den noetigen Ist-Gedreuckt-Informationen. Nun besitze ich noch eine Update-Funktion, die in der Hauptschleife des Programms an geeigneter Stelle ausgefuehrt wird. Darin passiert bei mir folgendes:

void Update(KeyList *keyList)
{
    for (int i = 0; i < keyList->Size(); i++)
    {
        Key *key = keyList->GetKeyById(i);
 
        if (key->IsPressed() || key->HasChanged())
        {
            game->playerBlobby->HandleKeyEvents(key->GetFlag(), key->isPressed, key->duration);
        }
    }
}

Die mit game beginnende Zeile ist natuerlich Programmspezifisch. Die Funktion dient vor allem der Auswertung der Keystates. Damit der KeyEventHandler die Key-Objekte auch aktualisiert, muss duss die Step()-Methode des KeyEventHandlers (vor der Update-Funktion) ausgefuehrt werden.

Soweit so gut. Ich glaube ich habe nichts vergessen. Hier sind noch die drei angesprochenen Klassen:

Noch eine Anmerkung: Ich verwende glutGet(GLUT_ELAPSED_TIME) als Zeitgeber in Microseconds. Man kann natuerlich auch GetTickCount() oder andere Funktionen nehmen.

Las Vegas – Ende ohne Ende

Montag, den 18. August 2008

Viele wissen es: Ich bin Serien-addicted. Ich sehe mir Serien am Stueck an. So habe ich das nun auch mit Las Vegas gemacht. Und eben habe ich die letzte Folge gesehen…

Trivia: Die Serie litt unter schlechten Einschaltquoten und so wurde – waehrend die 4. Staffel lief – entschieden, die Serie nach der 5. Staffel abzusetzen. Waehrend der Produktion der 5. Staffel kam dann aber der Autorenstreik dazwischen.

So endete die Serie mit einer Doppelfolge und das im spannensten Moment der Serie. Es ist nahezu eine Unverschaemtheit, dass die Serie nicht fortgesetzt wurde. Ich wusste schon bevor ich die letzte Staffel sah, dass sie schlecht enden soll, aber dass sie so unglaublich schlecht endet, habe selbst ich nicht erwartet.

Ich bin entaeuscht und sprachlos.

Nachtrag: Siehe auch Ausiello on Lost, Las Vegas, Grey’s, CSI: NY and More

Das Iron Triangle und Nazis

Dienstag, den 12. August 2008

Ich bin gerade auf folgendes Zitat gestossen:

Es gibt drei Dinge, die sich nicht vereinen lassen: Intelligenz, Anstaendigkeit und Nationalsozialismus. Man kann intelligent und Nazi sein. Dann ist man nicht anstaendig. Man kann anstaendig und Nazi sein. Dann ist man nicht intelligent. Und man kann anstaendig und intelligent sein. Dann ist man kein Nazi.

Gerhard Bronner

Und da faellt mir doch glatt wieder die Vorlesung Software Engineering 1 ein, bei der das Iron Triangle gelehrt wurde. Die Welt ist klein und es gibt nur kaum noch neue Ideen…

Erst Portieren, dann Verbessern?

Dienstag, den 12. August 2008

Die Frage habe ich mir bei meinem aktuellen Projekt staendig gestellt. In Software Engineering 1 hat man uns das nicht beigebracht… Any suggestions?

Anspielungen

Donnerstag, den 7. August 2008

Hier mal eine Anspielung auf meine letzten Blogbeitraege: Anspielungen mache ich nur explizit. Implizite Anspielungen erklaere ich im Nachhinein. Ich mache also keine Anspielungen ohne darauf hinzuweisen oder sie als solche zu kennzeichnen. Erklaerung: Ich wurde gefragt, ob ich auf irgendetwas anspielen wollte.

Profiler + Ursache-Wirkungs-Graph

Sonntag, den 3. August 2008

Nutzen Profiler ein Art Ursache-Wirkungs-Graphen um alle Indizien, die sie durch bestimmte Ursachen erhalten haben Wirkungen zuzuordnen? Ich meine zum Beispiel folgendes: Profiler erhaelt Information von Alice, Alice weist auf Mallory, Mallory weist auf Bob und Carol. Spaeter zeigt sich, dass man Mallory nicht vollends vertrauen kann. In einem Ursache-Wirkungs-Graphen fallen nun alle Aeste Weg, die von Mallory ausgehen. …

Feststellung

Samstag, den 2. August 2008

Es gibt Tage da verliert man, und es gibt Tage da gewinnen die Anderen.

Das lasse ich jetzt mal so dahingestellt. Ich habe mich in den letzten Tagen in einer Wiener-Klassik- und Barockphase wiedergefunden. Ich sass den ganzen Abend am Klavier und habe alles von Ludwig van Beethoven – Sonata quasi una Fantasia (bekannt als Mondscheinsonate oder Klaviersonate #14) bis Johann Pachelbel – Kanon und Gigue in D-Dur gespielt…

Jemand muss mich schleunigst einweisen.