Monthly Archives: September 2008 - Page 2

Maturaprojekt Informatik I

Ich weiß gar nicht, ob es unbedingt erforderlich ist, aber auf jeden Fall möchte ich ein Maturaprojekt in Informatik machen. Peter hatte damals die Idee eines kleinen social networks. Zuerst dachte ich auch an XML. Eigentlich sollte es der Abschluss meiner PHP-Web-Karriere sein. Sprich: Nach diesem Projekt nie mehr PHP und aus dem Webseitenbereich zurückziehen. Diese Einstellung kann ich (auch wie erwartet ;-) ) nicht halten. Ich mag nichts mehr mit PHP großartig machen. Umgekehrt: Ich möchte PHP nicht verlernen. Nicht, weil es eine “gute” Skriptsprache sei, sondern weil verlernen immer schlecht ist. XML selbst kann ich als Spezialthema nehmen, aber meinen ersten Gedanken (auch auf Initiative des Prof.) beschrieb ich mitsuhiko so:

Ich beginne über mein Maturaprojekt zu überlegen. Das Ganze soll natürlich in python geschrieben sein und der Kern von dem Ganzen ist einmal ein XML-Analysierer: Er soll eine XML-Struktur analysieren können, damit sie weiterverarbeitet werden kann.
Meine python-Frage: Wie speichere ich eine XML-Struktur am besten?

Also nochmals beschrieben: Er soll HTML-Quelltexte bzw. am besten alle XML-Quelltexte lesen und leichte Fehler beseitigen können. Anfangs überlegte ich noch an ein Konzept in PHP, aber seit ich von python begeistert bin, kommt das nicht mehr in Frage. Und mitsuhiko hat mir einen schönen Vortrag über XHTML vorgetragen und mir die notwendigen python-Module genannt.

In PHP gibt es die Erweiterung Tidy. In python stehen zahlreiche Bibliotheken zur Verfügung, wobei nur ein Zusammenstückeln notwendig wäre und auch die Stärken von python kommen hier nicht zum Vorschein (imho). Inzwischen erscheint mir das Projekt auch zu einfach. Ein bisschen RegEx… die Analyse selbst würde ich wohl total dilettantisch machen (die Browser-Engines haben das ja doch besser implementiert). Insgesamt muss ich sagen, dass es in python ein bisschen Themaverfehlung wäre und in PHP gibt es das bereits offiziell (Tidy habe ich aber noch nicht getestet :-X ). Schauen wir einmal ein bisschen weiter.

Zumindest tendiere ich in die Richtung: XML als Spezialthema, aber das Projekt soll sich nicht zu stark auf XML fixieren. python ist die verwendete Skriptsprache :-)

HTML-RegEx

Kann man ein RegEx entwickeln, das überprüft, ob ein HTML-Dokument valide ist?

Brought off FCE

That rocks! My teacher told me about the FCE (1,2,3,4) results. I brought it off! I don’t know the exact results, but I don’t think I’ve got anything better than C. This is not necessary anyway :-) That rocks!

I recommend the blog “Der Englisch Blog” who daily writes about a vocabularies.

PS: “bring off” is not the perfect term for “manage something”, but one of the phrasal verbs I have learned ;-)

Schuljahr 08/09

Wieder ist es vorbei. Zwei Monate sind wieder hinüber und die Anzahl neuer ToDo-Listen-Aufgaben ist direkt proportional zur Anzahl der neulich erledigten ToDos. Vor rund 2 Wochen meinte ich noch, dass ich wirklich zufrieden mit den Leistungen in den Ferien bin. Ich habe phasenweise viele Kleinigkeiten erledigt. Die konzeptionelle Herangehensweise an proj stadtchor war perfekt, wobei das Projektmanagement (Zeiteinschätzung) nicht ganz ideal war. Ich sollte stärker zwischen Projektspezifikation und Programmieren trennen. Aber sonst ist es jetzt kurz vorm Release und ideal wäre heute eine fertige Version. Ich gebe mein Bestes.

Ferien: Wenn ich jetzt in der Schule gehe, werden mich sicher wieder ein paar fragen, was ich in den Ferien gemacht habe. “Programmieren” ist ein Klassiker, wo mich alle schief anschauen. Naja… ich habe ein bisschen Mathe-Nachhilfe gegeben, half ein bisschen meinem Nachbar und ich habe den größten Geldbetrag empfangen, den ich jemals bekommen habe. Insgesamt kann ich wohl sagen, dass es ein bisschen ferialjob-like war. Nebenbei habe ich mich intensiv mit den python-Basics beschäftigt. projecteuler entdeckt und einige ToDos hinter mich gebracht. Die ursprüngliche ToDo-Liste kann sich natürlich nicht halten und es sind einige Sachen oben, die ich heute schlicht “unnötig” bezeichne. Aber dennoch habe ich einen guten Durchschnitt bis Ende August halten können.

Crash: Den endgültigen Crash erlebte ich als ich ein Backup von stadtchor auf meinen USB-Stick ausschneiden wollte. Scheinbar ist von KDE der Mediamanager abgestürzt. Er hat den USB-Stick ganz normal umounted und die Daten scheint er auch hinaufgespielt zu haben (zumindest hat er es so angezeigt). Doch kaum am Windows-Rechner angesteckt, wurden die Daten nicht mehr angezeigt. Nachdem ich nicht fähig war Recovery-Tools unter Linux zu bedienen und mein Bruder meinte, dass sie im Normalfall sowieso weg sind, waren 24 Stunden (eine kleine prozedulare Implementierung der Wiki-Syntax unter PHP) zunichte. Danach hatte ich auch keine Lust mehr ubuntu bzw. Linux auf meinen Windows-Rechner zu installieren. Sodass auch die Shutdown-Week nicht erfüllt wurde. Die letzten 4 Tage nutzte ich um alte Schulsachen zu ordnen, ToDo-Listen zu schreiben und eine andere Implementierung für stadtchor zu finden. Und da stehe ich heute.

Zukunftspläne & Schule: ubuntu wird selbstverständlich noch installiert. BMS und BRGblog wird als nächstes Projekt erfolgen. Ich habe wunderschöne ToDo-Listen, was alles zu machen ist. Bezüglich Maturafächer und Maturaprojekte habe ich schon Ansatzideen, jedoch noch nicht die endgültige Entscheidung. Das Schuljahr 08/09 ist natürlich von der Matura geprägt und ich genieße noch ein Jahr mit meiner Klasse. Musterung wird wohl im Jänner (vorm Rosenball) erfolgen. MyHP wird im Zuge des Jahres gefüllt und erscheinen. lukas-prokop.at ist bereits bestellt (danke mika). Na gut… ich glaube das war alles. Mehr python, mehr Informatik ist der Unterschied zum Vorjahr, jedoch werde ich weiterhin reinstrebern. Vor allem in Mathe gibt es sooo viele interessante Sachen, die ich noch nicht perfekt kann. Ich bin gespannt :-)

Ich habe eine kleine done-Liste geschrieben, welche kleinen ToDos ich in den Sommerferien erledigt habe. Umgekehrt nerven mich ein paar Dinge, die ich nicht mehr geschafft habe:

  • Eine schöne Shutdown-Week mit OS-Wechsel
  • Release vom Design für MyHP 10.0 mit neuer Domain
  • OOP gemäß PHP5 lernen und das 6. python-Kapitel (OOP) durchlesen
  • Schlafes Bruder fertig lesen
  • Projektwochen sind sich zeitlich nicht mehr ausgegangen
  • Ein paar Themenzusammenfassungen für die Schule
  • Ein paar alte Themenzusammenfassungen überarbeiten
  • Und letztendlich haben ein paar kleine Projekte keine Zeit mehr gefunden

PS: Google hat 10. Geburtstag und verändert gar nicht sein Logo?

Update: Stefan Keuchel erklärt wieso…

Ich bin ja doch noch kreativ…

Was resultiert aus Farben, die man nicht mehr braucht, einem unfertigen Bild auf einer teuren Leinwand aus der 6. Klasse und ein bisschen Kreativität?

Color Picture

Im Detail schaut das so aus:

Color Picture Pattern

Eigentlich wollte ich etwas Pointillismus-like machen, aber das klappt mit den Farben wohl nicht. Naja… zumindest habe ich die teure Leinwand nicht einfach so weggeworfen. Wer noch eine komplett weiße (unbemalte) braucht, möge sich melden ^^
PS: Wer nicht weiß, was das in der Mitte sein soll, sollte mein Sternzeichen herausfinden ;) Data Mining heißt das Stichwort…

Google Chrome III

Google Chrome II

  • Google hat “The Chromium Blog” aufgesetzt
  • V8 vs Tracemonkey
  • Mozilla berichtet kritisch vom neuen Browser, aber die meisten Entwickler bleiben sehr objektiv. Opera bleibt unbeeindruckt. Das IE-Team arbeitet derweil an Developer Tools.
  • Der erste Hack ist draußen. Und eine Sicherheitslücke ist auch schon bekannt (evtl. ist es gar keine Sicherheitslücke, aber sicherheitstechnisch sicher kritisch zu betrachten)
  • Die OpenSource-Lizenz des Browsers wird kritisiert. Angeblich soll nur Chromium (der Kern von Chrome) OpenSource sein, der Rest des offiziellen Builds aber nicht. datenschutzbeauftragter-online.de wird hierfür ständig zitiert
  • Google generiert für jeden Anwender eine eigene ID. Datenschützer befürchten, diese würden übertragen werden. Und auch sonst machen sie sich um Google Sorgen. Googler Matt Cutts entwarnt und Google nennt genaue Informationen in den Datenschutzbestimmungen. Auch die Funktionen, die mit Google Kontakt aufnehmen, lassen sich alle abstellen (bei der Installation bzw. später im Menü)

Google Chrome

Acid2 Test bestanden

Google Chrome ist (wie ich es vermutet habe, da es 12 Uhr in Mountain View ist) um 21 Uhr erschienen. Vorerst gibt es den Browser als Beta-Version nur für Windows (ab XP SP2). Besonders vom JavaScript-Engine (V8) erwartet man sich viel. Während Firefox selten noch Probleme mit einem JS-WYSIWYG-Engine hat, kann ich das bei Google Chrome nicht bestätigen. Der Google Browser basiert auf WebKit. Schlecht ist, dass Google Chrome sich an einen unbekannten Ort installiert bzw. es keine herkömmliche Installation gibt. Den Browser selbst lädt das Setup bei der Installation aus dem Internet.
Insgesamt würde ich sagen, dass er schneller lädt als mein Firefox und IE (beim FF muss man daran denken, dass er jede Menge Erweiterungen laden muss, die ihn bremsen). Google Chrome hat kein Erweiterungskonzept und so müssen wir wohl auf einen Adblocker noch länger warten. Gut ist, dass die Firefox-Lesezeichen total kompatibel sind (außer Live Bookmarks) und problemlos importiert werden können. Leider bietet er keine Funktionen für RSS und kann es auch nicht lesen. Ich glaube kein anderer Browser hat den “Inkognito-Modus” bei dem beim Surfen keine Daten gespeichert werden (auch als “porn mode” im Internet beschrieben). “Neuer Tab” wird wie “Speed Dial” von Opera dargestellt und mit den häufigst gesuchten Seiten gefüllt. Wobei ich lieber die Link selbst bestimmen würde (wie bei “Speed Dial” von Opera).
SVG versteht er. Mit einer besonderen Adressleiste möchte Google das Phishing erschweren. Leider kann ich nicht die mittlere Maustaste zum Scrollen verwenden. Google Chrome besteht den Acid2-Test. Pro Tab ein Prozess (wie IE8). Für Entwickler gibt es Syntaxhighlighing in view-source:address.html und eine Javascript-Konsole. Chrome verwendet auch die about:-Syntax. Texte werden anders markiert als in herkömmlichen Browsern. Bei der Auswahl des Suchengines bleibt Google Chrome objektiv und bietet seine Konkurrenten an. Einzelne Cookies (wie zB von google.com) kann man nicht blockieren. Gibt es irgendwo eine offizielle Quelle, was Google alles speichert, wenn man “optional: Google helfen, indem man Daten überträgt” auswählt?!

Auf weitere Entwicklungen… besonders im Bereich RSS, News und Co. (wo Opera Spezialist ist), gibt es Nachholbedarf. Die Konfiguration ist auch minimalistisch. Die Lesezeichen sehen sehr Firefox-like aus und “Speed Dial” von Opera hat Google wohl auch inspiriert. Die Konfigurationsmöglichkeit in einem DropDownMenü bei einem Klick auf das Icon ist von Internet Explorer. Der dritte Browserkrieg bleibt wohl aus ;-) Für den Produktiveinsatz? Verwendet Firefox oder Opera oder den originalen WebKit. Ist aber natürlich erst eine Beta-Version.

Ein ausführlicher Artikel von onli
Ein technisch orientierter auf gulli.com
Und heise online war bei der Präsentation in Hamburg

Update: Nachdem der Server down war, konnte ich jetzt den Acid3-Test machen. 75/100… dabei besteht WebKit Acid3 ja?!

Browserkrieg, der dritte

Den ersten Browserkrieg gewann der Internet Explorer gegen den Netscape. Den zweiten Browserkrieg gewann scheinbar Mozilla, welches ein Konkurrenzprodukt zum Internet Explorer auf den Markt brachte, das sich halten konnte und kontinuierlich an Anhängern gewinnt.

Microsoft hat User um Feedback zu ihrem Browser gebeten. Sie machen sich wohl ernsthaft Sorgen, um ihre Marktanteile. Aber besonders die Firefox-Erweiterungen sind ein Feature, dass ein anderer Browser nicht so leicht implementieren kann und Firefox viele User beschafft.

Jetzt kommt Google Chrome dazu wie Google berichtet. In einem kleinen Comic präsentieren sie ihren Browser. Bald soll der Browser erscheinen. Wenn jetzt der IE mit der 8. Version sehr viel leistet, Mozilla dadurch wieder unter Druck kommt und Google versucht seinen eigenen Browser durchzusetzen, dann fragt sich, ob das bald wieder in einem Browserkrieg endet. Hin oder her… für die Entwicklung der Browser ist der riesige Konkurrenzdruck sicher von Vorteil. Die Unterstützung von neuen Technologien wie SVG oder Webforms wird sicher vorangetrieben und die Benutzerfreundlichkeit wird hoffentlich auch gesteigert. Man darf gespannt bleiben…

Als Webdesigner muss man sich immer wieder daran erinnern, dass Browser nicht nur zum Ziel haben sich an den Standard zu halten. Viel eher Webseiten korrekt darzustellen. Und genauso ist es wichtig die Technologien des Internets zu nutzen und den User eine leichtere Handhabung zu ermöglichen.
Opera gilt als bekannter Browser, der viele Technologien unterstützt. Webforms, SVG, E-mail, Newsgroups, IRC, … Firefox ist der brave, quelltextoffene Browser mit seinen Erweiterungen, der eine große Anhängerschaft an technisch Interessierten hat und davon profitiert. Firefox und Opera halten sich beide brav an die Standards. Und Internet Explorer hat damit zu kämpfen, dass er am meisten User hat und damit unter Kritik steht und Ziel von Exploits ist. Features können nur sehr zögerlich erscheinen und mit den Webstandards befasst sich der IE erst seit IE8.

A small introduction to RSS

Spaßhalber habe ich einmal “A small introduction to RSS” für den BRGblog geschrieben. Sowas habe ich noch nie gemacht. Ist auch nicht mein Metier und ich möchte nicht weitere veröffentlichen. Aber ich kenne es zumindest, dass der erste Schritt immer der schwerste ist. Pidgin statt ICQ verwenden, Firefox statt Internet Explorer, Thunderbird statt Outlook Express… Den ersten Schritt möchte ich jenen erleichtern, die RSS-Feeds verwenden wollen, aber sich noch nicht getraut haben den ersten unsicheren Schritt zu wagen. Deshalb war ich einmal motiviert sowas auszuprobieren.

Die Screenshots sind nicht ganz exzellent. Sie müssten alle ein einheitliches Format besitzen und bei einem Klick drauf sollte die große Version erscheinen. Des Weiteren habe ich immer den letzten Punkt weggelassen, wenn als nächstes ein Absatz oder Bild folgt. Ich weiß noch nicht, ob es hübscher aussieht. Den Schreibstil müsste ich auch ändern. Egal wo; ich schreibe immer wie ich rede.

Aber im Gesamten sage ich für das Ziel reicht es, aber zum Herzeigen für Geeks ist es überhaupt nicht geeignet :-)