Posted in Icons, Resourcen, Webdevelopment on September 3rd, 2010 by admin – Be the first to comment
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):
Posted in Sense. This Post makes none. on September 3rd, 2010 by admin – Be the first to comment

Nur Windows-Anfänger klicken auf Start>Herunterfahren. Fortgeschrittene Angeber (und alle, denen Windows kein Hibernate mehr anbietet, warum auch immer) tippen “shutdown” bzw. “shutdown -h” in die Suchleiste und drücken Enter.
The same with linux: Wenn Ubuntu mal wieder meinen Shutdown-Button gefressen hat Natürlich immer benutze ich “sudo init 0″. Denn nur so kann man sicherstellen, dass alle zufällig zuschauenden Personen sofort wissen “Aha! Da kennt sich einer aus. Der hat wohl einen Virus, sein PC fährt ja einfach so runter….”
Posted in Uncategorized on August 18th, 2010 by admin – Be the first to comment
After a whole day of figuring out how to get a stupid “select item from stock” running with MySQL++ and Eclipse CDT I decided to write it down for everyone else having the same problem.
- Get the MySQL++ development-files. You might load them from here but it might be easier to just get them via apt-get libmysql++-dev or synaptic (I’m working with Ubuntu). Make also sure to have mysql-client-x.x (just in case…)
- Start Eclipse. Create a new C++ project (executable|empty project) and add a “source folder” named “src”.
- Create a new *.c and *.h file with following contents:
#include
#include "mysql++.h"
using namespace std;
int main() {
mysqlpp::Connection conn(false);
if (conn.connect("sample", "localhost", "root", "rootpw")) {
// Retrieve a subset of the sample stock table set up by resetdb
// and display it.
mysqlpp::Query query = conn.query("select item from stock ");
if (mysqlpp::StoreQueryResult res = query.store()) {
cout << "We have:" << endl;
for (size_t i = 0; i < res.num_rows(); ++i) {
cout << '\t' << res[i][0] << endl;
}
} else {
cerr << "Failed to get item list: " << query.error() << endl;
return 1;
}
return 0;
} else {
cerr << "DB connection failed: " << conn.error() << endl;
return 1;
}
return 0;
}
- Now for the tricky bit (I spent a whole day searching for something called “linker” or “includes” but Eclipse decided to just name it “directories”…): Right click your project and choose “properties”. Under “C/C++ Build|Settings|Tool Settings|GCC C++ Compiler|Directories” you will find an empty field. Click “add” and include “/usr/include/mysql++” and “/usr/include/mysql”. Apply.
- Hit the “hammer” icon (“build ‘debug’ for …”), choose “run configurations” under the run icon and type into the textfield names “C/C++ Application” “Debug/MyProjectName”. Apply.
- Click “Run” – You will now hopefully have a running “Hello World” for C++ with MySQL.
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:
- Einen AWS-Account anlegen. Dafür brauchst du eine gültige Kreditkarte.
- 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.
- Apache und PHP (und evtl. Extensions) installieren.
- Die Configs möglichst so einrichten, wie sie auch auf dem “normalen” Server eingestellt sind.
- 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.
- 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.
- 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.
- Jetzt die Instanz herunterfahren und auf die paar Cent bei der nächsten Kreditkartenabrechnung warten.
- 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.
- Ö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:
- Das AMI mit einer möglichst großen Instanz starten.
- 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.
- Ermittle aus der externe Adresse der Instanz die IP und trage sie bei deinem Domain-Hoster anstelle deines normalen A-Records ein.
- Freue dich, dass du auf einmal ein vielfaches deiner normalen Besucher hast.
Posted in Typographie on July 30th, 2010 by admin – Be the first to comment
Für alle, denen immer wieder auffällt, dass Text in Word hässlich aussieht, er aber angenehmer wirkt, sobald er als PDF gedruckt wurde, hier der Grund:
Microsofts “Feature” Clear Type sorgt für im Pixelraster angeordnete Glyphen, was jedoch nicht mit einer Schriftgrößendefinition in Punkten korreliert. Das Ergebnis sind unregelmäßige Abstände zwischen den Buchstaben, welche unbewusst (vor allen in langen Texten) als störend wahrgenommen werden. Adobe Reader hingegen verwendet Sub-Pixel-Rendering was zwar zu einem Unschärfe-Effekt führt, dafür aber gleichmäßiger wirkt.

(Dieses Bild wurde schamlos geklaut und hotgelinkt. Das Bild stammt auch aus dem oben verklinkten Artikel)
Posted in Blog, DHBW on July 30th, 2010 by admin – Be the first to comment
Links stillschweigend in die Blogroll zu legen ist schlechter Stil (Die Regel stammt von mir und aufgestellt habe ich sie vor 12 Sekunden). Daher hier ein paar Worte, warum ich einen Besuch nur empfehlen kann:
The Daily Tobi: Philosophische Worte aus dem Think-Tank der DHBW-Mannheim (omg!). Und in Zukunft wohl hoffentlich ein Reisetagebuch aus Hursley.
erst0r!!!: “erst0r 1337 hackin9 hax0r nerd school” Ist das nicht Beschreibung genug?
schudt.net: Hier zählt der Wille, nicht der Inhalt. Letztere kann nämlich nicht zählen, weil faktisch nicht vorhanden. Der Link kommt trotzdem in die Sidebar, sozusagen als Motivator
art is where the heart is: Inhaltlich ziemlich Indie und voller schöner Buchzitate. Von mir eigenhändig vor 3 Monaten zerschossen ist dieser Blog sozusagen Servernachbar zu diesem hier. Beschimpfungen über fehlende Bilder bitte hier in den Kommentare abladen, ich bin schuldig im Sinne der Anklage.
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.
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.