MS Office + Joomla => Murks im IE

Heute hatte ich mal wieder einen etwas komischen Fehler: Ein Website verwendet Joomla als Content-Management System (CMS) – soweit so gut, und es funktioniert auch soweit wie es soll.
Nur bei einigen neu erstellten Inhalten gibt es Probleme, abhängig davon, welcher Browser eingesetzt wird – verwendet man Opera, Firefox oder irgendeinen anderen Browser außer dem Internet-Explorer, so werden die Inhalte anstandlos angezeigt. Nur mit dem Internet-Explorer klemmt es.

Erster Verdacht: Irgendwo im Code von Joomla ist eine uralte Technik namens Browserweiche enthalten, die mit dem IE irgendwas veranstaltet, was man früher tun musste, aber mittlerweile nicht mehr notwendig ist (dieses Stück Software hält sich ja tatsächlich mittlerweile doch an einige Standards im Bezug auf HTML und CSS). Ein Verlgeich der ausglieferten Quellcodes zeigt: Da ist alles in Ordnung und auch die Tatsache, dass früher alles ja funktioniert hat mit dem IE bekräftigt den Verdacht: Es muss am Quelltext der HTML-Datei selbst liegen, und wahrscheinlich am Inhalt, denn es sind nur spezifische Seiten betroffen…

Also rein mit dem Ding in den Editor und mal gestöbert … und da fällt denn doch etwas auf: an bestimmten Stellen im Quelltext werden Inhalte als Kommentare gekennzeichnet. Soweit nicht schlimm – solche Hilfen verwendet jeder vernünftige Webdesigner um sich besser zu orientieren zu können. Mache ich als Programmierer ja auch. Aber was ich da lesen musste sah so rein gar nicht menschlichem Kommentar aus, vielmehr hatte irgendwas besondere Syntax eingeführt

<!--- 
[if gte os9] ...
usw....
--->

Danach folgten diverse xml deklarationen zur Formatierung, alles Dinge die man so aber nun wirklich nicht braucht und die in der Website (immerhin hat sie ja selbst Formatvorlagen) nichts zu suchen haben. Im Netz fand ich dann auch relativ schnell die Erleuchtung zum Thema: [url]http://www.nochfragen.de/joomla-15/7-texte-aus-ms-word-in-joomla-kopieren.html[/url]
Aber wer denkt denn auch an solchen Murks? Bzw. noch schlimmer: Wer hat sich denn diesen Kram überhaupt einfallen lassen? Ich kann bei weitem keinen Sinn darin erkennen, außer indirekt bekannt zu geben, das jemand den Text irgendwann mal in Word bearbeitet hat (was über die Text-Qualität bekanntlich eh nichts aussagt). Dass es dann auch gerade noch mit dem Produkt aus dem eigenen Haus nicht funktioniert ist dann echt nur noch peinlich für den Hersteller Microsoft. Wenn ich schon so Extras einbaue, dann sollten sie auch zuverlässig funktionieren, so dass es keiner merkt. Aber so ist es doch eine wunderbare Werbung nicht den Internet-Explorer zu verwenden, eben weil er nicht richtig funktioniert… es sieht fast so aus, als würden die Entwickler von Office und Internet-Explorer sich leidenschaftlich gegenseitig Steine in den Weg legen. Mir ist das eh eigentlich gleich, schließlich gibt es so viel schönere Alternativen als den unseeligen Standard-Browser aus Redmond.

Posted in Web |

SPAM SPAM SPAM – und wie man dagegen vorgeht …

Wer in der letzten Zeit meinen Blog und die Kommentare verfolgt hat, wird verärgert festgestellt haben, dass sich unerfreulich viel SPAM in den Kommentaren fand – für Designer-Klamotten und sonstigen Schwachsinn den kein normaler Mensch braucht und der mit Sicherheit nicht zu der Klientel passt, die diesen Blog aboniert hat oder liest. Anfänglich habe ich es noch als “passiert leider auch mir” hingenommen und habe manuell gelöscht …

Nun dachte ich eigentlich, dass ich mit der eingebauten Sicherheitsfunktion von MyBloggie hier recht gut gegen solchen Schwachsinn gewappnet zu sein. Immerhin muss jeder ja ein kleines Captcha lösen. Wie es mir erschien war das aber wohl mittlerweile in die Jahre gekommen und dementsprechend geknackt. Zugegeben – es war wirklich einfach, keine großartig verschwurbelten Zahlen oder Zeichenfolgen, einfach nur eine kleine Grafik, die es abzutippen galt.

Nun gut, was macht der geneigte und genervte Admin? – Erster Blick: Gibts ein Update, dass ich übersehen habe und möglicherweise schon tut was ich brauche. Leider Fehlanzeige – irgendwie scheint das MyBloggie-Projekt nicht mehr groß gepflegt zu werden, was ich etwas schade finde. Aber es ist ja OpenSource und in PHP geschrieben, von daher: werfen wir doch mal einen Blick in den Code, vielleicht lässt sich da ja etwas machen.

Beim Code hat es mich dann erst mal etwas Mühen gekostet, ihn auf meinem Testsever überhaupt zum Laufen zu bewegen, denn man verwendete noch ganz altmodisch die kurzen Einleitungstags für PHP

<? PHPCode kommmt hier dazwischen ?>

anstelle der mittlerweile üblichen und “sichereren” langen Ausführung:

<?php  PHPCode kommmt hier dazwischen ?>

Gut, das war dann also mal zum Warmwerden, und ein paar Regex-Schubsereien sind auch immer mal wieder ganz gutes Gehirn-Jogging.

Richtig ärgerlich wurde es dann beim eigentlich Code für das Captcha – ich habe es mir angeschaut und mir war klar: Wenn ich es will, kann ich mir mit wenig Aufwand einen Bot basteln, der mir die notwendigen Berechnungen quasi synchron gegen rechnet. Das hat man davon, wenn die Zeit als Grundlage für die Zeichenfolge herhalten muss. Der nächste Fehler: Der erzeugte Code wird zwar pseudo-verschlüsselt, landet aber direkt im HTML-Formular und wird beim Abesenden mitgeschickt 😯 – noch einfacher geht es ja kaum. Da der Quellcode frei verfügbar ist, kann jeder sich anschauen wie es gemacht wird und kann sogar noch vor dem Absenden prüfen ob die Zeichenfolge die er ausgerechnet hat auch passt – mit heutiger Rechenleistung kann man das natürlich auch für eine etwas größere Zeitspanne sehr zügig machen bis man einen Treffer landet. Ich weiß nicht ob die Angreifer das so gemacht haben, aber wenn ich es machen müsste, würde ich es so versuchen. Auch musste ich feststellen: Die Bilder für die einzelnen Zeichen der Zeichenfolge sind hardcodiert hinterlegt, ändern sich also nicht bei jedem Aufruf. Sonst hätte man ja auch einfach mal die Bilder entsprechend austauschen können oder für jeden Buchstaben zumindest mal einen ganzen Satz mit verschiedenen Verzerrungen und Verkippungen nehmen können.

Also nix mit mal eben was einbauen, damit der Unfug aufhört. Nun stellt sich der geneigte Administrator natürlich die Frage: Selbst was entwickeln oder gibt es möglicherweise fertige Lösungen die man verwenden kann und die nur drauf warten eingebaut zu werden oder sich zumindest einfach adaptieren lassen.
Natürlich gibt es sowas – leider nicht als Plug and Play-Lösung oder Modul für MyBloggie. Ich habe mich für das Recaptcha-Projekt entschieden, es ist recht einfach einzubinden und gut dokumentiert. Auch wenn da partiell Google mit drinsteckt. Die Auslagerung hat auch andere Vorteile: Dort beschäftigen sich Profis mit dem Thema und es gibt immer wieder Verbesserungen, die man automatisch eingebaut bekommt, ohne nochmals den Code dafür anfassen zu müssen. Also definitiv besser als jede Lösung die ich mir zeitraubend aus den Fingern gesaugt hätte.

Der Einbau in MyBloggie ist denn auch kein Hexenwerk – der Code ist halbwegs vernünftig dokumentiert und so findet man relativ schnell die Stelle an der es um das Captcha geht – den alten Code stilllegen (nicht löschen) und dann die von reCaptcha gestellte Bibliothek einbinden und die notwendigen Funktionsaufrufe gemäß der ausführlichen Anleitung aus dem Beispiel tätigen, fertig ist der Lack.

Ich werde das jetzt die nächsten Tage mal testen und sehen wie gut es funktioniert – ich hoffe mal, es ist jetzt erst mal Ruhe mit Blog-Spam. Und einen schönen Gruß an die Leute die es nötig haben sich solche Bots einfallen zu lassen: Könnt ihr eure Kreativität nicht sinnvoller einsetzen – viele Projekte im Web warten nur darauf angegangen zu werden – es ist ja nichts dagegen einzuwenden Sicherheitslücken zu suchen und auch zu finden – nur sollte man dann auch den Mut haben eine Lösung öffentlich zu machen, wie man diese Dinger abstellt. Die Webgemeinde wird es danken.

Posted in Web |

Design follows function – oder halt auch nicht …

Mal wieder einer der Posts der sich mit Dingen des Alltags beschäftigt, die mir einfach auffallen und gegen den Strich gehen.

Auslöser war auf einer Auto-Fahrt die Sichtung der neuen Generation Ford Ka – ich habe zweimal hingucken müssen und ich muss sagen: Es ist schon sehr nahe drann, am Fiat Multipla, dem mit Abstand hässlichsten Auto das je entworfen wurde.
Nun bin ich einer Neuschöpfung oder Neugestaltung von diversen Gegenständen ja nicht abgeneigt. Man sollte denken mit jeder Version wird es besser. Schließlich wird man zwar nie ein vollständig perfektes Produkt auf den Markt bringen, aber bestimmte Fehler macht man eigentlich nur einmal und bei der Neuauflage macht man dann hoffentlich neue oder wenn möglich sogar weniger.

Leider muss ich in letzter Zeit mit ziemlicher Verbitterung feststellen, dass dem schon lange nicht mehr so ist – alles wird derzeit irgendwie dem Design untergeordnet – Hauptsache es sieht gut aus – die Funktion rückt in den Hintergrund. Das geht von Dingen des täglichen Gebrauchs wie einem Rechner (insbesondere Tastaturen) bis hin zu Fahrzeugen. Hier mal einige Dinge die mir so ad hoc einfallen, in loser Folge werde ich das immer mal wieder aufgreifen (immer dann wenn mir mal wieder was in der Hinsicht aufgefallen ist).

Fangen wir mal beim Auslöser an: Ein Auto. Es ist ja schön, dass es unterschiedliche Autos von verschiedenen Herstellern gibt, so kann sich nach Möglichkeit jeder das Modell raussuchen, dass ihm am ehesten passt – sei es vom Geldbeutel, Spritverbrauch und sonstigem Schnickschnack. Jedoch muss man zumindest für die überwiegende Mehrheit der Autofahrer festhalten: Die Grundfunktion ist immer die gleiche: Es ist eine Gefährt/eine Maschine, die uns mit angenehmer Geschwindigkeit von A nach B bringt. Dabei sollte es auch möglich sein, mal eben noch etwas Gepäck mit zu nehmen. Sportwagen erfüllen diesen Zweck nicht, aber wie viele Leute leisten sich einen solchen auch – vom Umweltgedanken mal ganz abgesehen.
Wenn ich mir heute die Großzahl der neuen Modelle anschaue, dann frage ich mich ob diese Funktion “von A nach B inkl. Gepäck” nur noch eine untergeordnete ist (ähnlich wie man beim IPhone ja auch telefonieren kann) – zumindest ist das mein Eindruck wenn ich mir solche Autos anschaue. Der Trend geht derzeit zu verschnörkelten Form mit richtig großen Scheinwerfern, damit das Auto auch von hinten klar erkennbar ist – und auch vorne sieht es oftmals nicht besser aus – da wird nur noch aufs Design geschaut – Hauptsache es sieht schick aus bzw. ist unverkennbar.
Nur leider hakt es dann oftmals bei den Details – so schön und gut es sein mag große, gut sichtbare Scheinwerfer zu haben, so lästig ist es oftmals, wenn diese einen großen Teil des Kofferraums “verschlingen” oder das Einladen einfach keine Freude mehr macht, weil die Lucke zum Kofferraum zum Briefschlitz mutiert ist. Ich hatte einmal das Vergnügen, den aktuellen Opel Corsa D zur Probe zu fahren – und ich war enttäuscht gegenüber meinem Fahrzeug, dass 2 Generationen älter ist (Corsa B). Optisch machte er schon was her und die Fahrleistungen waren anständig. Aber dann hörte es auch schon auf – das Auto ist aufgrund seiner markanten Form leider total unübersichtlich geworden, und der Kofferraum hat zwar einen doppelten Boden bekommen, aber die Klappe ist mir einfach zu klein. Das mag für einen kleinen Einkauf mal eben gehen, aber spätestens wenn es an so Dinge wie Tauchequipment oder auch nur mal eine größere Menge Getränke geht wird es zur Qual. Nicht umsonst wird mein nächstes Auto ein Kombi oder was vergleichbares, denn schon jetzt nervt mich die Ladekante meines Autos gelegentlich etwas. Aber damit kann ich bei einem Kleinwagen noch leben. Nicht ok ist es, wenn das dann noch zusätzlich in der Breite beschnitten wird.
Ich frage mich manchmal wirklich ob das Auto bei der Entwicklung auch mal unter solchen, rein praktischen Gesichtspunkten angeschaut wurde. Das es geht hat der Opel Corsa C bewiesen – da hatte man die Rücklichter einfach nach oben verfrachtet an die Karosse – wunderbar – schon stören sie unten nicht mehr beim Einladen.
Wann immer ich derzeit ein Auto anschaue, dass möglicherweise mal der Nachfolger für meinen treuen Begleiter werden könnten, habe ich ein Auge auf solche praktischen Dinge – denn ich weiß was es heißt mal eben auch etwas Gepäck für die Mitfahrer zu verstauen (Stichwort Mitfahrzentralen), oder auch mal eben das Werkzeug mit zum Kunden zu nehmen. Auch wenn ein heutiger Autokäufer das erst mal als unwichtig abtun mag – in aller Regel kommt irgendwann der Moment an dem es etwas mehr zu transportieren gibt. Sei es der Auszug von daheim, für ein Praktikum, oder auch nur mal für eine Party einen Schwung Getränke.
Zudem bleibt bei dem ganzen Design oftmals noch etwas anderes auf der Strecke als nur solche “regelmäßigen” Ladetätigkeiten: Durch die Form wird es oftmals reichlich eng im Motorraum und somit sehr schwierig an die einzelnen Teile zur Wartung heran zu kommen. Das muss doch nicht sein, auch wenn ich einsehe, dass man nicht mehr so bauen will / muss wie früher wo man überreichlich Luft um den Motor herum ließ, eine gewisse Stromlinienform kommt ja auch dem Spritverbrauch zu Gute. Wie immer gibt es einen Mittelweg, den man treffen sollte – momentan habe ich eher das Gefühl mich davon weg zu bewegen.

Daher, bitte liebe Entwickler und Designer: Lasst euch ggf. erst mal vom Nutzen eines Fahrzeugs leiten und konzentriert euch auf die wesentlichen Funktionen und wie man sie gut erfüllen kann. Ein passendes und ansprechendes Design für solche Dinge findet sich allemal. So sehr das die Marketingleute wohl gerade nicht wollen: Lasst doch mal einen Maschinenbauer ein Auto entwerfen, er wird sicherlich einiges anders gestalten, einfach weil er auf ganz andere Dinge achtet als nur das Design. Es gab mal das Motto “Form follows function” – Die Form wird an den Bedarf der Funktionalität angepasst. Ich wünschte das würde wieder verstärkt Berücksichtigung finden, wenn neue Produkte entworfen werden.
Gerade für die Autobauer wäre das wirklich mal an der Tagesordnung: Sonst kaufe ich mir denn wohl doch einen älteren Kombi oder gleich einen Lieferwagen/Klein-LKW – sicherlich keine Schönheit, aber da ist wenigstens die Funktion noch im Vordergrund und nicht das Design (und selbst so ein Sprinter oder ein Kleinbus sieht heute doch recht gut aus).

6. LGA Indoor-Marathon

Das Jahr neigt sich dem Ende – die Laufsaison ist mangels guter Witterung fast beendet, aber wirklich nur fast. Eine kleine eingeschworene Gemeinde trifft sich kurzerhand unter Dach und läuft dort. Außerdem gibt es ja den auch meist am gleichen Wochenende den Amberger-Ultra-Lauf (kurz AULA). Den habe ich ja schon mal mitgemacht und dieses Jahr habe ich mir einen Platz beim LGA-Indoor-Marathon sichern können. Ist zwar im Gegensatz zu Amberg dann “nur” ein Marathon, aber gelegentlich ist eine neue Erfahrung doch auch mal was. Da der Platz in der Landesgewerbeanstalt in Nürnberg begrenzt ist, gibt es eine strenge Limitierung der Teilnehmerzahl. Meist sind die sehr schnell weg und ich habe mich daher schon aus den USA dort schriftlich angemeldet. Habe es kaum glauben können, als die Anmeldebestätigung kam. Manchmal muss man eben Glück haben.

Also mal wieder auf nach Nürnberg ins herrliche Franken, fast an der Ort an dem meine Lauferei ihren Anfang genommen hat – irgendwann Mitte März 2007. Klar, dass auch wieder einige alte Bekannte bei dem Lauf dabei sind: Im Raum Nürnberg kann ich glaube ich kaum auf einen Lauf gehen ohne nicht ein Mitglied von Helgas Lauffreunden oder Team Bittel zu sehen. Heute hatte ich sogar die Ehre den Meister mal wieder persönlich zu sehen. Zudem hatten Helga und Thomas einen Platz ergattert, Thomas hat während meines Praktikums und dem Laufbeginn seine Diplomarbeit geschrieben, mittlerweile bin ich ja selbst fertiger Diplom-Ingenieur. Thomas hat aufgrund eines angefüllten Terminplans denn auch nur die halbe Strecke auf sich genommen. Helga und auch ich machen ja in der Regel keine “halben” Sachen, zumindest wenn etwas längeres im Angebot ist.

Zum Lauf selbst ist zu sagen: Er ist alles andere als ein Marathon, den man mitmacht wie jeden anderen. Sicherlich hat jeder Marathon seine Highlights was die Strecke betrifft. Der LGA ist da eine ganz besondere Sache: Man läuft in den Büro-Gängen der LGA, da die Gänge nicht breit genug sind für zwei Laufbahnen in beide Richtungen, werden kurzerhand 2 Ebenen verwendet. Verbindung ist jeweils ein Treppenhaus. Insgesamt sind es etwas mehr als 400 Höhenmeter die zu überwinden sind, verteilt auf 55 Runden. Hört sich soweit ja alles machbar an. Der Rundenlauf ist einerseits natürlich monoton und sicherlich kein Vergleich zu einem Lauf durch die wunderschöne Herbstlandschaft, wie in Amberg. Dafür hat er andere Vorzüge: Man kommt alle 767m an der Verpflegungsstelle vorbei, ebenso an den zahlreichen Fans im Foyer (wo anders haben die gar keinen Platz). Ritmo Candela, eine Salsa-Band begleitet den Lauf in drei Schichten, ansonsten natürlich auch Moderation und Musik. Alle 767 Meter kommt man daran vorbei in genau dem gleichen Abstand geht es denn auch immer wieder eine Etage runter und wieder hoch.

Um an den Austragungsort zu kommen, habe ich mich in weißer Voraussicht für den ÖPNV entschieden, auch wenn meine Übernachtung in Nürnberg Kornburg doch recht weit draußen liegt. Immerhin fährt dort auch Sonntags alle 40 Minuten ein Bus. Im Praktikum habe ich gelernt, dass es in Nürnberg auch noch abgelegener geht, da fährt nicht mal ein Bus hin. Warmlaufen war ob der Strecke von mehr als 30km sicherlich keine Option, auch wenn die Strecke sicherlich malerisch am Main-Donau-Kanal entlang führt. Zudem regnete es ekelhafterweise frühs schon Bindfäden. Die Anbindung an sich ist ok, nur die 20 Minuten Wartezeit auf dem etwas zugigen Bus-Bahnhof in Röthenbach waren irgendwie aus Kaugummi gemacht.

Continue reading