Webdevelopment

DHBW Mannheim Notenabfrage

Posted in DHBW, Development, Webdevelopment on September 30th, 2010 by admin – Be the first to comment

Für alle DHBWler aus Mannheim hier der Link zu einem Webtool von mir, welches das regelmäßige Abrufen der Noten von diesem Groupware-Dings erspart. Da das Tool nur die Groupware abfragt funktioniert dies also nur für die 08er-Jahrgängen vor der Umstellung auf das Dualis-System:

Weiter zu DHBW Mannheim Notenabfrage

Disclaimer: Die Daten (inklusive eures Groupwarepassworts und euren Noten) müssen prinzipbedingt auf meinem Server liegen, sonst kann das mit der automatisierten Kontrolle nicht funktionieren. Ihr müsst mir also ein gewissen Vertrauen entgegenbringen, dass ich die Daten ordentlich behandle und keiner (auch nicht ich!) sich die Noten anderer angucken wird. Wer Fragen dazu hat kann mir gerne eine Mail schreiben.

SWFUpload mit jQuery

Posted in Development, Resourcen, Webdevelopment, jQuery on September 28th, 2010 by admin – Be the first to comment

Eine der letzten konzeptionellen Daseinsberechtigungen für Flash: Fileupload mit Fortschrittsanzeige.

Wer -wie ich- keine Ahnung von Flashprogrammierung an sich hat, für den bietet sich SWFUpload an. Das “offizielle” Javascript ist ziemlich unschön, umso besser also dass sich schon jemand die Arbeit gemacht hat, ein jQuery-Plugin dafür zu schreiben.

Hier könnt ihr es in Action erleben.

Icons einbinden via @font-face

Posted in Development, Icons, Resourcen, Typographie, Webdevelopment on September 19th, 2010 by admin – Be the first to comment

Icons PreviewUPDATE: Aus irgendeinem unerklärlichen Grund fehlen 4 Icons, die in dem Originalset dabei waren. Ich habe keine Lust, alles neu zu machen, also bleiben sie wohl noch eine Weile verschollen…

Ich habe mich vorgestern mal hingesetzt und das Iconset Raphaël (eigentlich als Beigabe für die JavaScript-Library RaphaëlJS gedacht) in einen @font-face-kompatiblen Webfont konvertiert. Das bedeutet, dass 120 Zeichen der Schriftart keine Buchstaben darstellen, sondern Symbole. Eingebunden werden diese dann via CSS (JavaScript ist nicht nötig) und ein wenig HTML:

<span class="icon">M</span> Send me an email!

Das ist zwar zugegebenerweise nicht semantisch korrekt oder besonders Barrierefrei (dazu hier eine Notiz von dem Pictos-Macher), macht das Einbinden aber ziemlich einfach, ist beliebig skalierbar und funktioniert in fast alle Browsern (Safari in iOS spielt komischerweise nicht mit). Einfärben geht intuitiv mit “color” und man kann beliebige CSS3-Effekt auf die Zeichen anwenden. Außerdem ist der gesamte Font relativ klein, 47kb reichen den meisten Browsern.

Die Idee dahinter ist nicht neu, als Vorbild kann Pictos gelten – die aber leider nicht kostenlos sind und sich somit für kleinere Projekte und zum Experimentieren disqualifizieren.

In natura zu bewundern ist das ganze hier. Dort könnt Ihr auch die Dateien (die wie die original Icons unter MIT stehen) runterladen und sie für eure Projekte verwenden.

Paranoia für Linux-Admins

Posted in Development, Linux, Sicherheit, Webdevelopment on September 13th, 2010 by admin – Be the first to comment

Heute: Welche Programme lauschen an welchen Ports?

netstat -anp|grep LISTEN

netstat -anp|grep LISTEN

Icons unter freier Lizenz

Posted in Icons, Resourcen, Webdevelopment on September 3rd, 2010 by admin – 2 Comments

Wer -wie ich- nicht mit dem Geschick gesegnet ist, gut in Icon-Designing zu sein, der muss bei Webprojekten oder ähnlichem auf freie Icons zurückgreifen. Schließlich will man nicht irgenwann wegen ein paar Pixeln über tausende von Euro abgemahnt werden. Wenn man dann noch im Hinterkopf hat, irgendwann mal mit dem Ergebnis Geld verdienen zu wollen, sollte man zwei mal hinschauen; Die meisten Creativ-Common-Iconsets verbieten nämlich kommerzielle Nutzung. Ein guter Anlaufpunkt für Recherchen ist IconFinder.

Daher hier eine kleine Linksammlung von brauchbaren, weil umfangreichen (daran scheitert es oft, wer will schon verschiedene Icons kombinieren müssen) Sets, die nicht nur unter einen freien Lizenz stehen, sondern auch kommerzielle Nutzung erlauben (natülich nur im Rahmen der entsprechenden Open-Source-Bestimmungen):

To the clouds and back…

Posted in Cloud, Webdevelopment on August 6th, 2010 by admin – Be the first to comment

… oder wie Cloud-Computing kleinen Webseiten über Lastspitzen hilft.

Gestern hat Ehrensenf unser Webprojekt RapidLetter vorgestellt. Wortopia wurde dort auch schon einmal vorgestellt – mit dem Ergebnis dass der Server im Nu nicht mehr ansprechbar war.  Sowas ist nicht nur nervig, sondern deprimiert potenzielle Besuchern, die wahrscheinlich nie wieder vorbeikommen werden.

Es wäre also schön, wenn man bei Bedarf einfach von seinem kleinen VServer zu einem dicken Vielkerner mit ausreichend RAM wechseln könnte. Daher habe ich schon vor einiger Zeit ein Ubuntu AMIs (ein Image) für Amazon EC2 vorbereitet, welches hauptsächlich aus einem Apache und ein paar Extensions besteht. Dieser Aufbau hat sich jetzt bewert: Jeder der knapp 600 konnte ohne Probleme eigen Briefe generieren. Keine Downtime, keine langsamen Seiten, kein 500-er Fehler.

Die Idee dahinter ist, dass die Datenbank ruhig weiter auf dem ursprünglichen Server liegen bleiben kann, solange die Cloud-Instanz von extern auf sie zugreifen kann. Da die meiste Arbeit bei durchschnittlichen Webseiten hauptsächlich beim HTTP-Server liegt, lässt auf diese Weise in begrenzten Maßen schnell und günstig skalieren.

Wer sich auch auf den nächsten Peak einrichten will, hier eine grobe Anleitung:

Vorbereitung:

  1. Einen AWS-Account anlegen. Dafür brauchst du eine gültige Kreditkarte.
  2. Ein einfaches Image eines beliebigen Linux-Betriebssystems bei Amazon starten (Ich bevorzuge Ubuntu oder Debian). Wichtig: Zone “Europe” auswählen – AMIs lassen sich nicht zwischen verschiedenen Zonen verschieben.
  3. Apache und PHP (und evtl. Extensions) installieren.
  4. Die Configs möglichst so einrichten, wie sie auch auf dem “normalen” Server eingestellt sind.
  5. Wenn du keine Lust auf dauerndes Public-Key-Mitrumschleppen hat (nämlich genau der fehlt immer wenn es kritisch wird), kannst du mit passwd ein Rootpasswort festlegen. Das ist zwar nicht ganz soooo sicher, aber bei ausreichender Passwortstärke durchaus akzeptabel.
  6. Jetzt wird es kompliziert: das Image muss gebundled werden, das heißt es wird ein Image der Instanz erzeugt und auf Amazon S3 gepseichert. Das ist ein wenig frickelig, aber mit der richtigen Anleitung durchaus machbar.
  7. Die Instanz noch nicht herunterfahren! Erst sollte das neue Image getestet werden – es wäre nicht das erste mal, das es beim Bundlen Probleme gibt.
  8. Jetzt die Instanz herunterfahren und auf die paar Cent bei der nächsten Kreditkartenabrechnung warten.
  9. Richte deinen normalen Datenbank-Server so ein, dass er Zugriffe von externen Hosts zulässt. Achte auf ein sichers Passwort und gewähre nur einem eingeschränkten Datenbankbenutzer dieses Recht.
  10. Öffne den passenden Port in den IPTables. Du kannst dann die Datenbank mit einer GUI wie HeidiSQL testen.

Am Tag X stellst du nun fest, das xyz auf deine Seite linkt und die Zugriffe nach oben schnellen. Nun heißt es schnell sein:

  1. Das AMI mit einer möglichst großen Instanz starten.
  2. Kopiere alle Dateien deiner Webseite. Passe die Einstellungen der Datenbank auf die Adresse der Datenbank (die ja immer noch auf deinem normalen Server liegt) an. Setze sie passenden Dateiberechtigungen und teste Alles einmal kurz durch.
  3. Ermittle aus der externe Adresse der Instanz die IP und trage sie bei deinem Domain-Hoster anstelle deines normalen A-Records ein.
  4. Freue dich, dass du auf einmal ein vielfaches deiner normalen Besucher hast.

Webprojekt RapidLetter.de – Abgabe

Posted in DHBW, Webdevelopment, jQuery on July 29th, 2010 by admin – Be the first to comment

Unser Webprojekt an der DHBW-Mannheim ist fertig und wurde heute unseren Dozenten übergeben. Und da ich mit unserem Ergebnis ganz zufrieden bin hier ein wenig mehr dazu:

Worum ging es? Wir hatten uns das Ziel gesetzt einen Briefgenerator zu schreiben, mit dessen Hilfe man innerhalb von Minuten einen fertigen Brief erstellen kann. Aufgehübscht mit ein wenig jQuery, CSS3, HTML5 und ausgestattet mit einer eigenen Benutzerverwaltung könnt ihr das Ergebnis unserer Arbeit unter http://www.rapidletter.de betrachten.

By the way: Weitere Projekt-Abschlussergebnisse gibt es hier und hier.

Google Font Directory in a single zip-file

Posted in Resourcen, Typographie, Webdevelopment on July 24th, 2010 by admin – 1 Comment

Googles newest attempt to make the web nicer has given us webdeveloper a great new resource to play with: Google Font Directory. It’s an easy way to spice up your site with some nice web fonts without having to worry about compatibility and licenses.

Google explicit states that the fonts can be used for other purposes but sadly does not offer a good-to-go-package with all fonts in it. So after trying to find a single zip-file somewhere on the web I’ve decided to do it myself.

Here you are: All Google Font Directory Fonts in one single zip-file.

Please remember to check first, whether your choosen font is readable at a given size.

Die Idee einer internetweiten Verwertungsgesellschaft

Posted in Blog, Politik, Webdevelopment on August 31st, 2009 by admin – Be the first to comment

<info>
Diesen Artikel habe ich 2009 verfasst. Bei einem Server-Crash musste das alte WordPress dran glauben und ich hatte nie die Muse, ein neues aufzusetzen. Daher habe ich jetzt aus aktuellem Anlass den alten Text (Leider ohne Kommentare) aus der DB gefischt.
–Marek, 26. April 2011
</info>

Seit Längerem schwelgt im Netz die Diskussion, wie redaktioneller Content im Internet finanziert werden kann. Die eine Gruppe bevorzugt ein „Paid-Content“-Modell oder ein Abo-Prinzip, die anderen wollen darauf vertrauen, dass in naher Zukunft Onlinewerbung genug einbringen wird, um die anfallenden Kosten zu decken.

Ich glaube, dass es durchaus möglich ist, ein Portal rein mit Werbeerlösen zu tragen. Aber schaffen werden das höchstens die großen, reichweitenstarken Portale wie Spiegel Online oder die FTD. Kleine Portale werde dabei jedoch nicht mithalten können: Weniger Views pro Artikel bedeutet weniger Werbeeinnahmen – und das bei gleichem Erstellungsaufwand.

Paid Content und Abo-Modelle stehen dem gegenüber: Wer lesen will, muss zahlen, ob für jeden Artikel einzeln oder als monatliche Pauschale. Hier muss die Qualität wirklich stimmen – viel zu groß ist der Druck durch die kostenlose Konkurrenz.

Ich frage mich, ob in dieser Debatte nicht noch Platz sein kann für ein drittes Modell. Ich werde jetzt einfach mal ein wenig rumspinnen und versuchen zu skizzieren, wie so etwas aussehen könnte:

Eine Verwertungsgesellschaft bietet eine Mitgliedschaft für einen monatlichen Festbetrag an. Der Käufer erhält ein Browser-Plugin, mit dem er sich schon beim Verbinden mit einem Server anonym autorisiert. Internet-Seiten, die dieses System unterstützen, deaktivieren daraufhin Werbeeinblendungen bzw. schalten erst daraufhin Premium-Content frei. Der Benutzer ist jederzeit in der Lage, dieses Plugin (auch nur Domainweit) auszuschalten. Ist eine Seite sichtbar (d.h. sie wird als aktiver, sichtbarer Tab in einem aktivem Fenster angezeigt), so misst das Plugin die Besuchszeit und ermittelt daraus ein Verhältnis aller in diesem Monat besuchten „Premium“-Seiten. Die Betreiber erhalten am Ende eines jeden Monats dann einen Anteil der Gebühren, verteilt nach jeweiliger relativer Verweildauer der Nutzer.

Dieses System klingt auf den ersten Blick sehr technisch und kompliziert. Da es aber für den Benutzer sehr einfach gehalten werden kann, würde solch ein Konzept viele Vorteile bieten:

  • Bisher werbefinanzierte Seite könnten sich ein zweites Standbein aufbauen: Normale Besucher sehen weiterhin Werbung, während Besucher, die jede Sekunde für den Betreiber einen Ertrag generieren, eine werbefreie Version bereitgestellt bekommen.

  • Benutzer können sich freiwillig für dieses System entscheiden. Sie erhalten für die monatliche Gebühr einen internetweiten Zugang zu werbefreien oder sonst nicht zugänglichen Daten. Sie brauchen dafür nur einen einzigen Account, der im Idealfall durch die Browserintegration nicht einmal auffällt.

  • Seiten, die große Besuchermengen kanalisieren (soziale Netzwerke, YouTube), erhalten eine Alternative zu der immer nervigeren Werbeflut. Jedoch muss der Mehrwert erkennbar sein, denn der Besucher kann das Plugin für dieses Domain jederzeit deaktivieren, um so Einfluss auf den Verteilungsschlüssel zu nehmen.

Habt ihr Anmerkungen oder Fragen zu diesem Gedankenexperiment? Haltet ihr es für ein tragfähiges Geschäftskonzept?