Blog

Willkommen im Weblog meiner weitgehend autonomen Gedanken.
Was gibt's hier zu lesen? Nun, ich veröffentliche Artikel über mich, über meine Projekte, über Themen aus dem Internet, über Themen im Alltag, über Themen im aktuellen Weltgeschehen und über das, was eine Staubschicht so hergibt.
Der Schwerpunkt liegt bevorzugt bei Beiträgen zur Web-Entwicklung. Dies umfasst Programmierung, Markup-Languages, Suchmaschinenoptimierung, Webdesign und statistische Daten aus dem Web-Bereich.

Mikroblog

Update für TripleFlap

Twitter scheint die API, welche ich beim TripleFlap verwendet habe, geschlossen zu haben. Sie ist nun unter einer neuen URL zu finden wie hier zu entnehmen ist: https://dev.twitter.com/docs/api/1/get/statuses/user_timeline. Entsprechend habe ich nun das Script angepasst damit der Vogel wie bisher den neusten Tweet tweetet: http://floern.com/software/tripleflap
am 17.10.2012

Gehversuche in HTML5, mein Studium und der Closure Compiler

01.09.2011, 20:05

Da die Prüfungen fürs Studium hinter mir liegen, kann ich mich wieder der Web-Entwicklung zuwenden. Ich habe mich erstmals vertieft mit dem Canvas beschäftigt, das HTML5 mitbringt, und finde es wirklich spannend.

Um gut damit arbeiten zu können, habe ich mir mein eigenes Framework zusammengebastelt. Ich nenne es mal "Zelectric Framework". Es ermöglicht mir "abstrakteres" Handhaben von Animationen mittels Canvas, also nützlich für simple Animationen und komplexe Games.

An dieser Stelle möchte ich erwähnen, dass mir das erste Jahr meines Informatik-Studiums bedeutend geholfen hat; dies betrifft vor allem die mathematischen Grundlagen für Vektoren, Matrizen und ähnlichem. Beim Arbeiten mit 3D-Grafiken hat mir das erheblichen Aufwand erspart. Jetzt kann ich mit meinem Framework ein Objekt mit einer Zeile JavaScript im Raum drehen.

Wie sowas dann aussehen kann, sieht man an meiner Pseudo-3D-Animation. (Sollte auch auf Smartphones funktionieren.)

Wer sich den JavaScript-Code davon angeschaut hat, wird vielleicht festgestellt haben, dass er nicht wirklich leserlich ist. Dies kommt vom Komprimieren mit dem Google Closure Compiler. Dieser nimmt den JavaScript-Code und komprimiert ihn auf eine von drei Kompressionsstufen. Dabei gehen in erster Linie Kommentare und Whitespaces verloren (Stufe Whitespaces), zusätzlich können auch Variablen- und Funktionsnamen gekürzt werden (Stufe Simple), was die Dateigrösse bedeutend reduzieren kann. Spannender aber ist der "Advanced Mode": Er kompiliert den Code und optimiert ihn dadurch. Nicht benötigter Code wird gänzlich entfernt, ganze Code-Abschnitte werden umgekrempelt, Funktionen werden "inline'd", was die Ausführung des Scripts zusätzlich beschleunigt. Mehr dazu in den Docs. Das spannende hierbei, ist zu versuchen die Warnungen wegzubringen, die gelegentlich auftauchen. Dabei lernt man auch gut, wie man optimal JavaScript programmieren sollte.

Mit dem Closure Compiler kann man auch gut mehrere JavaScript-Programmteile zu einem grossen optimierten und komprimierten Klotz verschmelzen.

Der gesamte Code der obigen Animation wurde übrigens durch den Closure Compiler von 37 KB auf 9 KB reduziert, also auf gut einen Viertel.
 
Permalink | Kommentare (6)

Du kannst HTML nicht mit RegEx parsen

11.07.2011, 17:13

Oft, wenn jemand auf der Q&A-Site StackOverflow nach geeigneten Regulären Ausdrücken fragt um HTML zu verarbeiten, wird man auf diesen Artikel verwiesen, welcher dem Leser auf eine interessante Art und Weise mitteilt, dass er es gefälligst unterlassen soll, Reguläre Ausdrücke für HTML zu verwenden.

Eine deutsche Übersetzung des Beitrags könnte etwa so lauten:

Du kannst HTML nicht mit RegEx parsen, weil HTML nicht mit RegEx geparst werden kann. RegEx ist kein Werkzeug, das dazu benutzt werden kann HTML korrekt zu parsen. Wie ich viele Male zuvor auf HTML-und-RegEx-Fragen geantwortet habe, erlaubt der Gebrauch von RegEx das Verzehren von HTML nicht. Reguläre Ausdrücke sind ein Werkzeug, das ungenügend durchdacht ist, die Konstrukte von HTML zu verstehen. HTML ist keine reguläre Sprache und kann daher nicht mit Regulären Ausdrücken geparst werden. RegEx-Queries sind nicht dafür eingerichtet, HTML in sinnvolle Teile aufzuschlüsseln. So viele Male, aber es geht mir nicht auf den Geist. Auch verbesserte irreguläre Reguläre Ausdrücke, wie von Perl genutzt, sind nicht fähig HTML zu parsen. Du wirst mich nie knacken können. HTML ist eine Sprache ausreichender Komplexität, damit sie nicht mit Regulären Ausdrücken geparst werden kann. Auch Jon Skeet kann HTML nicht mit RegEx parsen. Immer wenn du versuchst HTML mit RegEx zu parsen, vergiesst das unheilige Kind Blut von Jungfrauen, und Russische Hacker pwn'en deine Web-Applikation. HTML mit RegEx zu parsen, beschwört verdorbene Seelen in das Reich der Lebenden. HTML und RegEx passen zusammen wie Liebe, Heirat und ritueller Kindsmord. Das <center> gilt nicht, es ist zu spät. Die Kraft von RegEx und HTML zusammen im selben begrifflichen Raum wird deinen Verstand zerstören wie wässrige Knete. Wenn du HTML mit RegEx parst, läufst du über zu ihnen und ihren blasphemischen Wegen, welche uns alle in unmenschliche Sklavenarbeit verdammen, für den Einen, dessen Name nicht in der einfachen multilingualen Ebene ausgedrückt werden kann, er kommt. HTML-plus-RegEx wird die Nerven des Empfindens schmelzen während du deine psychische Austrocknung im Ansturm des Grauens vernimmst. RegE̿̔̉x-basierte HTML-Parser sind der Krebs, der StackOverflow tötet es ist zu spät wir können nicht gerettet werden der Übertritt eines Ki͡ndes versichert, dass RegEx alles lebende Gewebe verzehren wird (ausgenommen für HTML, das es nicht kann, wie vorhin prophezeit) Lieber Herr, hilf uns, wie kann jemand diese Plage überstehen. RegEx fürs Parsen von HTML zu benutzen, hat die Menschheit in eine Ewigkeit gefürchteter Qualen und Sicherheitslücken verbannt. RegEx als ein Werkzeug zu benutzen um HTML zu verarbeiten, verursacht einen Bruch zwischen dieser Welt und dem gefürchteten Reich der verdͪo͛rbenen Entities (wie SGML-Entities, nur verdorbenener) ein flüchtiger Blick in die Welt der RegEx-Parser für HTML wird sogleich das Bewusstsein eines Programmierers in eine Welt unaufhörlichen Schreiens transportieren, er kommt, die ekelhafte schleimige RegEx-Infektion wird deinen HTML-Parser, Applikation und Existenz verschlingen für alle Zeit wie Visual Basic nur schlimmer, er kommt er kommt kämpfe nicht er kommt, ̕sei​n un̨eilvo͞ller Glańz zerst҉ört sämtliche Erleuchtuñg. HTML-Tags r̶i̧nnend vǫn deînen A͠uge͢n wiͤͫ͛ͬ̀̚͝e̊͘ flüs̸siger Schmerz, das Lied vom Parsen mit Re̸gulären Ausdrücken wird die Stimmen des sterblichen Mannes auslöschen, von der Sphäre kann ich es sehen, du kannst es sehen ̲͚̖͔̙, es î̩́st̲͎̩̱͔́̋̀ wunderschön, die endgültige Auslöschung der Lügen des Menschen ALLEŚ͖̩͇̗̪̏̈́ IST VERLOREN ALLES IST VERLOREN das Pon̷y er kommt er kommt er kommt das Wundsekret durc̶̮hdringt mein ganzes GESICHT MEIN GESICHT ᵒh Gott nein NEIN NEEÈIIN NȆ̴̟̟͙̞ͩ͌͝IN stop die En​*̶͑̾̾​̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆e̠̅l͖͉̗̩̳̟̍ͫͥͨ sî̩́nd ncht è̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆ Ẓ̵̨̠̗̭͔̳̼̓̒̐͒̀ͅA̫͔͇ͯͥ̐̏̀ͯ͢L̸͎̙ͫ̇ͦ̀G̨͈̣̳̟͗̓̾ͥ̈́͊̏O͚͎̞͓̯̿́̓̊́ͅ I͕͔̙̭͍̓Ṣ̩̲͋ͩͨͤͤT͕̣̝̮̖͛̐ͮ͂̉ͫ́̚  ҉̯͈͕̹̘̱TO͇̹̺ͅƝ̴ȳ̳ TH̘Ę͖̥̫͎̭̈́̉ͯ̿̔̀ͅ P̯͍̭O̚​N̐Y̡, Ë͖́̉R ̶̧̨̱̹̭̯ͧ̾ͬKOͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜M͊̒̚T̲͎̩̱͔́̋̀.

Hast du stattdessen einen XML-Parser probiert?

Mit 4350 Upvotes und gut 275 tausend Views handelt es sich um die mit Abstand populärste Antwort auf StackOverflow.
 
Permalink | Kommentare (1)

Wann wer wo auf der Welt online ist

27.02.2011, 23:01

Da ich seit Anfang Januar auf StackOverflow aktiv bin, wollte ich mal wissen, mit welchen Personen es man dort zu tun hat. Auf StackOverflow sind vorwiegend Amerikanische Programmierer unterwegs, allerdings trifft man sie als Europäer nur selten an und wenn dann am späteren Abend.

Mit einer computergenerierten Grafik habe ich mir einen Überblick über die Welt verschafft:
Je heller der Bereich ist, desto mehr Personen sind dort wach und somit (theoretisch) online. Der linke Rand entspricht 0 Uhr UTC, in der Mitte ist 12 Uhr UTC und der rechte Rand zeigt 24 Uhr UTC. Man kann also beim gewünschten Punkt auf der Zeitachse eine senkrechte Gerade ziehen und dann prüfen, ob und wo die gerade helle Stellen schneidet.
Grob sind vier primäre Bereiche auszumachen: Der obere Streifen entspricht Japan und China, darunter Indien, in der Mitte liegt Europa und unten Amerika.
Der diagonale schwarze Bereich entspricht jeweils der Nacht, wobei dabei angenommen wird, dass die Nacht etwa von 10 Uhr abends bis 7 Uhr morgens dauert.

 Bild: blogData/files/population-dens-awake.jpg
 
Permalink | Kommentare (2)

Zufällige Einträge