Allgemein (69) | ||
---|---|---|
Rating: 0 (0) |
[img]http://geekologie.com/2007/03/absolut-hacker.jpg[/img]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Perl[/b]
Manche Leute behaupten, Perl wäre eine Programmiersprache... im weitesten Sinne ist es das auch, in der Praxis ist es aber vielmehr eine Seuche!
Eigentlich sagt es schon genug aus, dass ein Programmierer - Leiter der Entwicklungsabteilung seiner Firma - mit über acht Jahren Erfahrung mit Perl eigentlich triviale Syntaxprobleme immer wieder per Trial & Error löst und seltenst sofort eine Antwort auf ein Problem parat hat.
Bekanntlich wird PHP oft als "schlecht" bezeichnet, nicht selten in Vergleich zu Perl und immer mit einem Wust an Argumenten. Diese stimmen auch teilweise, Embedded PHP in HTML ist tatsächlich ein No-Go, der Haupt-Namespace ist total überladen und man findet an Beispielen etc. kaum wirklich guten PHP-Code. ABER man KANN mit PHP vernünftig arbeiten, wenn man Grundsätze aus anderen vernünftigen Sprachen (C, Java) umsetzt. Glücklicherweise hat PHP sich im Laufe der letzten beiden Major-Versionen insofern weiterentwickelt, als dass man z.B. die meisten objektorientierten Konzepte aus Java übernehmen kann.
Aber wie sieht es mit dem so oft gelobten Perl aus? Perl ist Chaos! Das pure Chaos! Perl war nie als Programmiersprache gedacht, sondern als Tool für alle möglichen Aufgaben, die mit Shell-Scripten zu kompliziert gewesen wären. So ist Perl ein Konglomerat aus Shellscript-Konzepten, Anleihen an richtige Programmiersprachen und einigen ganz seltsamen Dingen. Was das für Syntax-Stilblüten ergibt, braucht man wohl nicht zu erwähnen... Ein Grundsatz von Perl ist: "There's more than one way to do it". "Normale" Menschen sagen eher: "There's more than one way to screw it up".
Perl selbst kann an sich recht wenig, eigentlich fast nichts. Für jeden Dreck braucht man irgendein Modul (das aus dem globalen Chaos CPAN stammt), welches wiederum von zig anderen Modulen abhängt. Abgeschlossene Funktionalität gibt es praktisch nicht. Das inzwischen für praktisch jeden Zweck ein CPAN-Modul existiert, werden selbige auch freudig eingesetzt. Und wenn man sich dadurch nur zehn Zeilen Code spart, man benutzt ein Modul! Mir bekannte Perl-Programmierer versuchen sich noch nicht einmal an eigenen Implementierungen! "If it is on CPAN, use it". Da CPAN über keine sinnvolle Upgrade-Möglichkeit verfügt (es gibt natürlich zig Module dafür, aber keines funktioniert so wirklich...), verfügt man in der Regel über ein Chaos von hunderten Modulen, die untereinander abhängen, inkompatibel sind oder verschiedene Versionen benutzen. Klasse!
Dieses Chaos entspricht IMHO dem Chaos der Sprache selbst. Bewährte Konzepte wie Funktionen mit Argumenten, Klassen und Objekte usw. gibt es nicht. Klar, es geht alles, irgendwie... Funktionen sind Subroutinen, die Argumente aus einem Stack lesen können (ich dachte, das wäre schon in den 70er Jahren aus der Mode gekommen...), Hashes sind verbogene Arrays, Klassen sind Sammlungen von Subroutinen, die auf zehn verschiedene magische Weisen zu etwas ähnlichem wie Objekte gemacht werden können. Ein Konzept sucht man dabei leider vergeblich.
Derzeit gibt es ja eine neue Strömung der Programmiersprachen. Ruby, Python, etc. arbeiten nach dem Prinzip "Convention over Implementation" und sind damit teilweise seltsam, teilweise aufwändig, haben aber auf jeden Fall ein Konzept. Dazwischen gibt es auch Glanzstücke wie C#, das wohl das schönste Objektmodell besitzt, das ich je gesehen habe (noch schöner als Java) oder PHP5, das in vielerlei Hinsicht durcheinander, aber unglaublich einfach und dabei noch flexibel zu benutzen ist.
Perl hingegen erscheint wie ein Dinosaurier aus der Vergangenheit, ein Relikt der 80er Jahre. Bei genauer Betrachtung ist es das sogar in der Tat, die Version 5 hangelt sich von Subrelease zu Subrelease (selbstverständlich nur auf dem Papier kompatibel untereinander), während eines oder mehrere Konsortien seit über einem Jahrzehnt versucht, mit Perl 6 eine moderne Version dieses Sprachchaos aus dem Sumpf zu ziehen.
Perl 6 könnte somit eine Hoffnung darstellen, für alle geqälten Code-Grinder, die alle schönen Konzepte aus der Uni hinter sich lassen musste, getreu nach dem Motto "Die ihr hier eintretet, lasset alle Hoffnung fahren".
Doch leider wurde diese Hoffnung bereits zerstreut, lange bevor Perl 6 auch nur irgendwie produktiv wird. Es ist hochgradig inkompatibel, verfügt jetzt schon über mehrere Forks und ist - was aber schon der Name Perl sagt - einfach nur chaotisch.
Mein herzliches Beileid für jeden Leser, der gezwungen ist, mit diesem Witz von Programmiersprache zu arbeiten!
Für mich ist es klar: Nach eineinhalb Jahren Perl steht mein Entschluss fest, nie wieder ein neues Perl-Projekt anzufangen. Lieber wechsle ich die Arbeitsstelle, das ist mir meine seelische Gesundheit wert.
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[img]http://a483.ac-images.myspacecdn.com/images01/68/l_d70dcf511c8f7b197bd0fc22caabcdba.jpg[/img]
[img]http://a767.ac-images.myspacecdn.com/images01/106/l_8c3fe553cd595960020d39b373308e26.jpg[/img]
:umosh
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]LOOOOOOOL -> Blog des Tages[/b]
Ich lasse mich ja gern mal über die mangelhaften Sprachkenntnisse [s]sozialbehinderter Migrantenkinder [sic][/s] geistig beanspruchter Jugendlicher aus und ebenso rege ich mich immer wieder darüber auf, dass auch "Muttersprache" schon lange nicht mehr die Fähigkeit impliziert, einigermaßen korrekte Sätze zu formulieren.
Auf hier finden sich in den Profilen (insbesondere der jüngeren Generation) sprachliche Stilblüten, die einem angesichts des geringen Ausländeranteils (was immerhin noch eine Ausrede [i]wäre[/i] die Schamesröte ins Gesicht treibt.
Ein ganz besonderes Kleinod in Form eines Blog-Eintrags fiel mir aber heute auf www.lokalisten.de ins Auge und DAS war wirklich der Hammer der Woche:
----------
SEN VE SENIN GIBILER ICIN
zu ersteinmal wollte ich nur mal sagen, dass ich es mir echt tausendmal überlegt habe, ob ich diesen eintrag machen soll oder nicht. eigentlich hatte ich es nicht vor, weil ich sonst auf dein NIVEU mich herablasse. aber ich wollte nur der ganzen welt mitteilen was für ein betrügender, verlogener, dreckiger BASTARD du doch bist!!!
sowas wie dich gibt es gott sei dank nicht so oft... wenn ja, dann gilt das auch für euch ihr scheiss PLAYA!!!!
wenn ich könnte würde ich dein leben einfach nehmen...aber weisst du was, du bist es nicht einmal wert, dass ich mir gedanken über dich mache. denn du bist nicht mit meinen gebeten auf die welt gekommen, also kannst du nicht mit meinen FLUCHEN verrecken. obwohl ich mir das vom tiefsten meines herzens wünsche. du bist einfach nur ein armeseliges wesen, dass nichts in aller welt so abgestürtzt ist wie du....eigentlich müsste ich ja mitleid mit dir haben...weil du echt nur behindert bist und nichts im hirn hast. was hast du erreicht in deinem leben, wo du sagen kannst, das hab ich geschafft dies hab ich geschafft. NICHT?? siehst du du NULL, siehst du du LOOSER, siehst du du ARSCHLOCH!!! nichts einfach nichts. genauso wie dein IQ =0%!!!
oh mein gott JUNGE geh und ritz dich !!!!
weisst du warum ich es nur bei diesem läbischen unnötigen TAGEBUCHEINTRAG lasse???? weil du flachvixxer es nicht einmal verdienst, so gross rauszukommen!!!!
eines tages wirst du für all deine taten büssen!!!
und du wirst mein BILD vor deinen AUGEN haben, wie ich dich einfach nur mit meinem arsch auslachen werde!!!!
du bist ne schande du bist ein dreckskerl. ich wünsch dir den tod, aber nicht einmal meinen wunsch verdienst du !!!
meldest dich bei deinen FREUNDEN nur wenn du was brauchst!!!
wie oft hab ich mir nur gedacht...HÄTTE ich dich nie kennen gelernt!!!
zwei jahre hab ich meine zeit mit dir VIXXER verschwendet....
du bist einfach ein opfer.....ah junge weisst du was....
lutsch einfach die eier von meinem OPA!!!
du pisser!!!ich hoffe ich bekomm so schnell wie möglich die nachricht, dass es dich nicht mehr gibt!!!
schade dass niemand dein CHARAKTER von deinen verlogenen augen ablesen kann!!!!!aber weisst du was, ich hoffe jeder schnallt es so schnell wie möglich was für ein ARSCHLOCH du in wircklichkeit bist!!!!!!
FUCK YOUUUUUUUU!!!!!!!
BY ORKIDE (TurkishSensation)
----------
OOOOOOOOOOOH MYYYYYYYYYYYYYYYYY GOOOOOOOOOOOOOOOOD :ablach :ablach :ablach
|
|
Allgemein (69) | ||
Rating: 0 (0) |
Der Typ ist der Hammer...
http://www.bildschirmarbeiter.com/fun_12933_ein-irrer-typ.html
:wtf :wtf :wtf :wtf :wtf
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Ich bin weit über die Fähigkeit rationalen Denkens hinaus entsetzt.[/b]
[img]http://media.arstechnica.com/journals/thumbs.media/egon.jpg[/img]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Perl + Catalyst + DBIx + Template Toolkit[/b]
Das Catalyst-Framework ist in der Perl-Gemeinde zum Erstellen von Webapplikationen recht beliebt und wird in der Regel mit der Datenbank-Abstraktion DBIx und der Template-Engine TT kombiniert.
Seit gut einem Jahr bin ich gewungen, für ein großes kommerzielles Projekt diese Kombination zu benutzen. Hier ein paar Gedanken dazu:
Catalyst:
- Struktur: Gerade noch ok. An sich ist das MVC-Model recht gut umgesetzt und brauchbar, solange man sich an die gedanklichen Vorgaben des Systems hält. Will man aus dem Schema F ausbrechen, kommen die Probleme...
- Dokumentation: Katastrophal! Von Perl-Modulen ist man eh einiges schlechtes gewöhnt und Catalyst macht hierbei keine Ausnahme. Die Dokumentation ist unübersichtlich, unvollständig und an vielen Stellen fehlerhaft. Es gibt einige Code-Beispiele, die aber nur sehr einfache Wünsche abdecken und kaum auf komplizierteres umzusetzen sind. Für Plugins wie das eingebaute DBIx und TT wird man auf deren Doku verwiesen, auf Catalyst-spezifische Besonderheiten wird aber kaum eingegangen.
- Erweiterbarkeit: Katastrophal! Angeblich ist Catalyst sehr gut erweiterbar... nur ist nirgends anständig dokumentiert, WIE! Ohne ein gründliches Studium der Catalyst-Quellen kommt man nicht weit und die sind perl-typisch bis zum gehtnichtmehr obfuscated. Sogar langjährige Perl-Profis verzweifeln daran.
- Performance und Resourcenverbrauch: Katastrophal! Catalyst läuft als Applikationsserver mit einem eigenen HTTP-Server, über mod_perl oder FastCGI. Die Runtime-Performance ist zwar an sich recht gut, für einen Applikationsserver aber enttäuschend. Der eingebaute HTTP-Server strotzt vor Fehlern. Die mod_perl-Variante bläst jeden Apache-Prozess auf geradezu lächerliche Speichergröße auf. FastCGI ist die einzig sinnvolle Möglichkeit, allerdings stellt sich hier das Problem, dass mod_fastcgi für Apache2 zumindest unter Linux ein absoluter Graus ist. Thema RAM: Der RAM-Verbrauch ist absolut unakzeptabel! Das von mir mitentwickelte Projekt verbraucht PRO PROZESS inzwischen über 100MB RAM! Zudem benötigt ein Restart des Applikationsservers über eine Minute, was die Entwicklung zäh wie Kaugummi macht (vor allem, da man vieles dank der schlechten Doku nur per Trial+Error herausfinden kann).
DBIx:
- Struktur: An sich ganz nett. Wer keine Ahnung von SQL hat und keine Lust hat, sich ein paar Stunden damit zu befassen, kommt mit DBIx schnell zu Ergebnissen. Allerdings steigt die anfangs flache Lernkurve schon bei mittelschweren Aufgaben stark an, kompliziertere Abfragen lassen sich auch nach wochenlangem Studium der Doku nicht lösen. Pfui!
- Doku: Wie üblich katastrophal. Sie st unvöllständig, strotzt vor Fehlern und lässt kompliziertere Dinge einfach aus.
- Performance: "DBIx is intended for ease of use, not for performance." Das sagt alles. Die überladene Objekt-Struktur führt bei größeren Datenmengen zu einer unakzeptablen Performance und ebenso unakzeptablem Resourcenverbrauch.
[b]Fazit:
FINGER WEG VON CATALYST![/b]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
"Durch ihre Musikvideos und Live-Auftritte etablierten sie das damals typische Rave-Outfit mit Schutzanzügen und Staubmasken, die sie zuvor mit Wick Vaporub einrieben, um den Atem zu erfrischen und die Wirkung von Ecstasy zu intensivieren."
Und das nächster Cyberkind das behauptet, billige Staubmasken wären geiles _Styling_, kriegt eine Gasmaske dort hin gschoben, wo die Sonne nie scheint!
:muhaha
|
|
Allgemein (69) | ||
Rating: 0 (0) |
I Have Seen Things...
You people would not believe...
Attack ships on fire off the shoulder of Orion.
c-beams sparkling in the dark near the Tennhauser Gate.
All these moments will be lost in time, like tears in the rain.
[img]http://neo.gothic-chat.de/images/own/chem.png[/img]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]PHP OOP: Dynamisch generierte Accessor-Methoden mit Exception-Handling[/b]
Für ein aktuelles kommerzielles Projekt, welches sowohl das PHP- als auch das JS-Framework des GCv5 benutzt, wollte ich die Business Logic noch stärker als bisher objektorientieren. D.h. jede Entität der sollte (ähnlich den User-Objekten im GCv5) über eine zugehörige Klasse mit standardisierten Interfaces und Methoden dargestellt werden können.
Nachdem ich diesen Ansatz schon länger im GCv5 verfolgte und dadurch einen sehr strukturierten und erstaunlich flexiblen Code erzeugen konnte, wollte ich diesmal noch ein Stück weiter gehen.
Ein grundsätzliches Problem bei der Entwicklung mit PHP ist es, dass die Sprache es einem zu leicht macht. Wo Java einen in ein objektorientiertes Korsett zwängt (und dadurch das Verhältnis Codemenge - Nutzen total ad absurdum führt) und Perl für jede nur erdenkliche Aufgabe mindestens zehn verschiedene Wege mit unterschiedlicher Syntax kennt (und es somit schlicht und einfach unmöglich macht, fremden Code zu verstehen und modifizieren), ist PHP "einfach einfach" und benötigt kein durchgehendes Konzept. "Jeder Depp" kann mit PHP einigermaßen brauchbare Ergebnisse (nach aussen hin) liefern.
Genau dadurch aber hat PHP einen so schlechten Ruf bekommen: Vereinfachung führt zu grausigen Hacks, Sicherheitsproblemen, unstrukturiertem, schwert wartbaren Code usw.
Lange Rede, kurzer Sinn: Bis jetzt hatte ich es mir mit meinen Klassen einfach gemacht. Member Variables wurden einfach deklariert oder auch zur Laufzeit aus Datenbankrückgaben erzeugt, abgefragt und modifiziert. An sich war das schon ein brauchbarer Aufbau, die Struktur selbst war gut. Allerdings auch fehleranfällig: Durch die fehlende Typisierung von PHP passierte es schnell, dass falsche Werte in Member Variables landeten und dadurch auch in der Datenbank... bzw. nicht ganz, da derartige Vorkommnisse gern SQL-Fehler produzieren.
Umgehen lässt sich das - zumindest teilweise - durch das saubere Benutzen von Get- und Set-, sogenannten Accessor-Methoden. Wer sich etwas mit OOP auskennt wird sagen, Accessor-Methoden sind eh Standard und sollten sowieso benutzt werden. Allerdings ist es natürlich ein gewisser Aufwand, sie zu schreiben und die Klassen werden dadurch auch nicht übersichtlicher.
PHP liefert allerdings ein paar schöne Möglichkeiten, in diesem Fall das Runkit. Dieses PECL-Lib kann unter FreeBSD einfach über die Ports installiert werden und bindet sich als Shared Library in PHP ein. Es ermöglicht das dynamische Verändern von Klassen zur Laufzeit.
Damit ist es möglich, die Accessor-Methoden automatisiert zu erstellen, ohne dass unnötiger Code die Klassen aufbläht.
Zuerst wird in der entsprechenden Klasse (um Beispiel Class User) ein Template für die Variablen angelegt:
[pre]
protected static $typemap = array (
"id" => false,
"login" => "str",
"passwd" => "str",
"firstname" => "str",
"lastname" => "str",
"email" => "str",
"clientid" => "int",
"status" => "int"
);
protected $data = array ();
private $rel = array ();
[/pre]
$typemap definiert, welche Variablen später gehandlet werden sollen inklusive deren Typs. Sie entsprechen den Spalten eines User-Datensatzes in der Datenbank. Damit die Beschreibung nicht zur Laufzeit von anderen Komponenten der Applikation geändert werden kann wird $template als "private" deklariert, zudem noch als "static", um den Inhalt auslesen zu können, ohne eine Instanz der Klasse erzeugen zu müssen.
$data und $rel halten später die tatsächlichen Daten, wobei $data die Eigenschaften des User-Objekts selbst enthält und $rel ein nützlicher kleiner Hack ist:
Oft benötige ich für Listen von Objekten mehr als nur deren eigene Eigenschaften. Ein User ist z.B. über den Foreign Key "clientid" mit einem Client-Objekt verbunden, welches die Eigenschaft "client_name" besitzt. Ein einfacher INNER JOIN verknüpft die Eigenschaften des Clients mit denen des Users. Aus einem ausgelesenen Datensatz kann direkt ein User-Objekt erzeugt werden (bzw. die User-Klasse besitzt eine Methode, welche den Datensatz in $data einfügt). Dabei werden alle aus weiteren Tabellen ausgelesenen Daten mit deren Schlüssel in das assoziative Array $rel eingetragen und können später direkt über das User-Objekt bezogen werden.
Anyway, wie entstehen nun die Accessor-Methoden für die Variablen? Hier kommt ein bisschen Magie des Runkit ins Spiel. Nachdem die Includes mit den Klassen eingelesen wurden, werden diesen die gewünschten Methoden hinzugefügt:
[pre]
$classes = array ("User");
foreach ($classes AS $class) {
runkit_method_add ($class, "typemap", "", 'return self::$typemap;', RUNKIT_ACC_PUBLIC);
eval ('$typemap = ' . $class . '::typemap ();');
foreach ($typemap AS $key => $value) {
$func = 'if (!array_key_exists ("' . $key . '", $this->data)) throw new Exception (E_KEYNOTFOUND);
if (is_null ($arg)) {
return $this->data["' . $key . '"];
} else {';
if (!$value) {
$func.= 'throw new Exception (E_CANTSET);';
} elseif ($value == "str") {
$func.= 'if (!is_string ($arg)) throw new Exception (E_TYPE_STRING);';
} elseif ($value == "int") {
$func.= 'if (!is_int ($arg)) throw new Exception (E_TYPE_INT);';
} elseif ($value == "float") {
$func.= 'if (!is_float ($arg)) throw new Exception (E_TYPE_FLOAT);';
}
$func.= '$this->data["' . $key . '"] = $arg;
}';
runkit_method_add ($class, $key, '$arg = NULL', $func, RUNKIT_ACC_PUBLIC);
}
$func = 'if (!is_string ($arg)) throw new Exception (E_TYPE_STRING);
if (!array_key_exists ($arg, $this->rel)) throw new Exception (E_KEYNOTFOUND);
return $this->rel[$arg];';
runkit_method_add ($class, "rel", '$arg', $func, RUNKIT_ACC_PUBLIC);
}
[/pre]
Wie man sieht, wird einfach eine Liste der gewünschten Klassen durchiteriert. Jeder wird dann zuerst über Runkit eine Methode hinzugefügt, um die als private deklarierte Eigenschaft $typemap auszulesen.
Für jeden Schlüssel aus $typemap wird dann eine Accessor-Methode erzeugt. Der Code dafür wird einfach in eine Variable geschrieben, die man so z.B. auch evaluieren könnte. $key enthält den Namen der Variablen und bestimmt somit, wo in $data der Inhalt zu finden ist, $value enthält den Typ und kann benutzt werden, um bei falschen Zuweisungen passende Exceptions zu werfen.
Der Funktions-String wird dann per Runkit der Klasse hinzugefügt. $key bestimmt den Namen der neuen Methode. Bei der Planung muss man natürlich aufpassen, dass keine Eigenschaft den selben Namen wie eine normale Methode der Klasse hat, sollte allerdings nicht so schwierig sein. ;)
Die erzeugten Methoden sind sogar noch etwas eleganter als Set- und Get-Methoden und wirklich integrierte Accessor-Methoden: Wird als Argument nichts oder NULL übergeben, wird der aktuelle Inhalt zurückgegeben. Wird ein Argument übergeben (auch das boolsche false oder ein leerer String) wird diese auf ihren Typ überprüft und gesetzt.
Benutzen lässt es sich z.B. so:
[pre]
$user = new User (1);
$user->login ("foo");
echo "login is " . $user->login ();
-> login is foo
[/pre]
Mehr über die Runkit-Funktionen erfährt man im PHP-Manual in der Rubrik [url=http://www.php.net/manual/en/ref.runkit.php]runkit Functions[/url]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
The beginning is a very delicate time. Know then, that it is the year 10,191. The known universe is ruled by the Padashar Emperor Shaddam the Fourth, my father. In this time, the most precious substance in the universe is the spice, Melange. The spice extends life; the spice expands consciousness; the spice is vital to space travel. The Spacing Guild and its navigators, who the spice has mutated over 4,000 years, use the orange spice gas which gives them the ability to fold space. That is, travel to any part of the universe without moving. Oh yes, I forgot to tell you. The spice exists on only one planet in the entire universe; a desolate, dry planet, with vast deserts. Hidden away within the rocks of these deserts are a people known as the Freman, who have long held a prophecy that a man would come - a messiah - who would lead them to true freedom. The planet is Arrakis, also known as Dune.
:lugly
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Programmieren für Emos[/b]
[img]http://blog.electro-space.de/wp-content/uploads/2007/05/csprofi.jpeg[/img]
:argh
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b][big]Die nerdigste Liebeserklärung der Welt:[/big][/b]
(x[sup]2[/sup]+9/4y[sup]2[/sup]+z[sup]2[/sup]-1)[sup]3[/sup]-x[sup]2[/sup]z[sup]3[/sup]-9/80y[sup]2[/sup]z[sup]3[/sup] = 0
Sieht man alle Lösungen dieser Gleichung als eine durch dreidimensionale [x,y,z]-Koordinaten definierte Fläche an und rendert das Ergebnis, kommt folgendes dabei heraus:
[img]http://homepage.univie.ac.at/herwig.hauser/bildergalerie/gallery/suess_thumb.jpg[/img]
Believe it or not...
Mehr fantastisch visualisierte, erschreckende komplexe Gleichungen findet mal auf [url=http://homepage.univie.ac.at/herwig.hauser/bildergalerie/gallery.html]der Homepage von Professor Herwig Hauser[/url] von der mathematischen Fakultät der Uni Wien.
|
|
Allgemein (69) | ||
Rating: 0 (0) |
http://www.unf-unf.de/video/-arnold-schwarzenegger---eindringlinge-1197971903.html
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b][size=4]Scheiße-Typen[/size][/b]
Die Geisterscheisse: Du weisst, dass Du geschissen hast. Da ist Scheisse am Klopapier, aber keine Scheisse in der Schuessel. Koennte auch "Torpedoscheisse" gewesen sein, wenn man es plumpsen gehoert hat.
Die Teflonscheisse: Kommt so sanft und weich raus, dass man es gar nicht merkt. Keine Spuren auf dem Klopapier. Du musst in die Kloschuessel sehen, um sicherzugehen.
Die Gummischeisse: Diese hat die Konsistenz von heissem Teer und hinterlaesst widerspenstige Reste in der Kloschuessel. Du wischst Dir den Arsch 18 mal und er ist immer noch nicht sauber. Du endest damit, dass Du Dir Klopapier in die Unterhosen stopfst, um sie nicht zu versauen.
Die Spaetzuenderscheisse: Du hast Dir den Hintern fertig abgewischt und stehst grade auf ... als der naechste Schub kommt.
Die Schlangenscheisse: Sie ist glitschig, hat die Dicke eines Daumens und ist mindestens 50 cm lang. Hat das Potential zur Torpedoscheisse.
Die Korkenscheisse: Auch als "Schwimmer" bekannt: Sogar nach dem dritten mal spuelen ist sie noch da. Oh Gott! Wie wird man sie los? Das Scheissding geht einfach nicht unter. Tritt normalerweisse ueberall auf, nur nicht in der eigenen Wohnung.
Die Wunschscheisse: Du sitzt da mit Ameisen in den Daermen. Du schwitzt, laesst ein paar Fuerze, tust einfach alles ... ausser scheissen.
Feuchte-Backen-Scheisse: Diese Abart trifft mit hoher Geschwindigkeit schraeg auf die Wasseroberflaeche auf und spritzt Deinen Hintern nass.
Zementblock- oder "Oohh Gott!"-Scheisse: Kurz nach dem Beginn wuenschst Du Dir, Du haettest eine oertliche Betaeubung bekommen.
King Kong- oder Kommodenscheisse: Dieser Haufen ist so gross, dass er sich weigert, in der Kanalisation zu verschwinden, bevor Du ihn in kleinere Brocken zerlegt hast (ein Kleiderbuegel funktioniert hier recht gut). Passiert ueberall, nur nicht auf dem eigenen Klo.
Die Gehirnblutungsscheisse: Diese Scheisse hat Elvis gekillt. Sie kommt normalerweisse erst dann, wenn man vor lauter Druecken schon abwechselnd rot, gruen und blau anlaeuft.
Die Bierscheisse: Eine der schlimmsten, aber auch haeufigsten Scheissesorten. Sie tritt am Tag nach der Nacht davor auf. Normalerweise riecht sie gar nicht so schlecht, aber das taeuscht.
Die Explosionsscheisse: Du bespruehst die Schuessel von oben bis unten bis sie aussieht als sei sie mit einer Schrotladung Oregano beschossen worden und Du wunderst Dich, wie Dein Loch in so viele Richtungen gleichzeitig zeigen kann. Dann stellst Du fest, dass das Klopapier alle und weit und breit keine Klobuerste in Sicht ist. Passiert auch nur auf fremden Klos.
:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach:ablach
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[size=4]Definition "Gothic / Schwarze Szene / Gruftischeiße"[/size]
[b]"[u]Die schwarze Szene[/u]" ist eine Übermenge von Menschen mit ähnlichen Vorlieben in den Bereichen "mit der schwarzen Szene assoziierter Musik" (siehe unten) [i]UND/ODER[/i] Kleidungsstil [i]UND/ODER[/i] sonstigen Oberflächlichkeiten [i]UND/ODER[/i] Lebensgefühl [i]UND/ODER[/i] bevorzugter Umgang [i]UND/ODER[/i] bevorzugte Treffpunkte/Clubs/Festivals [i]UND/ODER[/i] Interessen [i]UND/ODER[/i] Einstellung zur Mainstream-Gesellschaft, wobei niemand an eine bestimmte Kombination der Merkmale oder eine Beschränkung auf diese Merkmale gebunden ist.
"[u]Mit der schwarzen Szene assoziierte Musik[/u]" ist eine Übermenge von Musik, welche einzelne oder mehrere Elemente aus von "der schwarzen Szene" (siehe oben) bevorzugten musikalischen Genres enthält und deren hauptsächliche Hörerschaft die Merkmale "der schwarzen Szene" erfüllen (siehe oben), wobei sie nicht an eine bestimmte Kombination der musikalischen Elemente, die Beschränkung auf diese oder die Beschränkung auf genannte Hörerschaft gebunden ist.[/b]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Witz des Tages:[/b]
Mein tollstes Weihnachtsgeschenk kam per Email: :kasperl
"Hi Neo!
Solltest Du meine Homepage gehackt haben, dann wirst bald besuch bekommen, denn denn die IP nummer hat mein Hoster heraus gefunden. Und wenn du das warst, dann wirst Du mächtig schwiergkeiten bekommen. Das is die Klar oder?!
Bis dann Du Schwuchtl! WIR BRECHEN DIR DEINE KNOCHEN UND SCHMEISSEN DICH IN MÜNCHEN AUF DIE GLEISE!!!
Du grober Bub du!"
Naja, abgesehen davon, dass der Kleine mit der Rechtschreibung auf Kriegsfuß steht, wüsste ich gern mal, was der von mir will :lol Meint der, ich hätte für jeden Scheiß Zeit? Oder dass ich absichtlich einer Community schaden würde, die sich über genau die Spasten freut, die wir hier nicht haben wollen? :chong
Anzumerken wäre nur noch: Von eben jener "Homepage" erhielt ich vorgestern unerwünschten Spam mit Werbung für eben jene Community.
Prost! :augly
|
|
Allgemein (69) | ||
Rating: 0 (0) |
Das Horrorskop für heute:
[img]http://neo.gothic-chat.de/images/own/horrorskop.png[/img]
:ablach
|
|
Allgemein (69) | ||
Rating: 0 (0) |
22:18:19 Chaosfaktor : Die voluminöse Expansion der subterralen Agrarprodukte ist reziprog proportional zur intellektuellen Kapazität des Agrarökonoms!
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Wich animal are you in bed?[/b]
http://www.thesite.org/flash/animal/animalquiz.html
You are a Rhino!
You like you're own way, and will do almost anything to pull someone. You don't mind making a fool out of yourself to get your wicked way with someone. Dominant in a relationship - you don't like to be bossed about. When you see someone you like, you don't give up until you get them. You don't really take time to find out about long term potential, you just charge in for the kill. Rough and ready, you like a bit of kinky sex.
:muhaha es stimmt auch noch
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Erste Hardware eingetroffen :esmile[/b]
Warum gibt man 350€ für einen Datenträger mit 2GB aus, den es so in keinem vorgefertigten Server dieser Welt gibt?
Deshalb:
Zugriffszeit:
[img]http://www.topimg.net/heheShop/img/0341/0341_07.jpg[/img]
Database-Benchmark:
[img]http://www.topimg.net/heheShop/img/0341/0341_06.jpg[/img]
:banana
|
|
Allgemein (69) | ||
Rating: 0 (0) |
Hinterher is ma immer gscheiter, wia ma's vorher besser macha hätt soin. Es waar scho besser, wenn ma vorher wissat, wia's hinterher waar. Wenn ma oba vorher wissat, wia's hinterher waar, dat ma's dann vorher aa ändern? - Wenn ma's nämlich vorher ändern dat, nacha waa'rs hinterher anders. Wenn's oba hinterher anders waar, nacha miassat ma's vorher net ändern, weil's nacha vorher aa schon anders g'wesen waar. Ma miassat vorher scho überlegt hom, wia's hinterher g'wesen sei dat, wenn ma's vorher überlegt hom dadat.
|
|
Allgemein (69) | ||
Rating: 0 (0) |
Naema betritt den Channel (37. Chat, Chatzeit: 0 Tage, 07:30h; IP: Uc907.u.pppool.de; IP zuletzt genutzt von: -)
01:20:38 Naema : dunklen gruß
01:20:44 Captian : seas
01:20:53 Dunkler_Bote : seas
Naema verlässt den Channel (Wechsel zu #blackmetal)
-- ohne Worte --
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[b]Die geilste, coolste, 1337igste, göttlichste, bewundernswerteste, affenartig beste Idee aller Zeiten!!!11!11!!11einseinself[/b]
[img]http://www.ctrlaltdel-online.com/comics/20060213.jpg[/img]
|
|
Allgemein (69) | ||
Rating: 0 (0) |
[img]http://www.ctrlaltdel-online.com/comics/20030121.jpg[/img]
:lugly
|
|