Dieses Blog ist tot

11. März 2012

Der letzte Blogeintrag ist über ein Jahr her. Täglich noch bis zu 50 Benutzer mit 3500 Pageviews im Monat. Doch die besuchten Artikel sind immer die Gleichen.

Ich werde diesen Blog nicht mehr fortsetzen. Nicht nur meine thematischen Schwerpunkte haben sich geändert, auch die Sprache wird zukünftig eine andere sein und ich werde eine andere Blogging-Software verwenden.

Dieser Blog wird allerdings soweit möglich noch einige Zeit verfügbar bleiben. Dazu werde ich die WordPress-Installation in statische Seiten konvertieren, somit entsteht kein Wartungsaufwand und zukünftige Umzüge gestalten sich umso einfacher.

Die Highlights, zumindest sagen das die Zugriffszahlen, sind übrigens die Artikel „CD-Hülle ohne Kleber falten“ und „Eigene Handschrift als Schriftart erstellen“.

Seit dem Upgrade auf Ubuntu 10.10 sieht man auf dem HP Envy 14-1010eg nur einen schwarzen Bildschirm. Es ist nichts wirklich schief gelaufen, lediglich die Helligkeit geht beim Starten verloren und steht auf 0 Prozent, wahrscheinlich ein Treiberproblem.

Folgendes Shell-Script speichert beim Herunterfahren die eingestellte Helligkeit und stellt sie beim Starten wieder her, dazu muss es lediglich wie angegeben installiert werden.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          backlight-set
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Restore backlight level at boot
# Description:       Save and restore backlight level for HP Envy 14
### END INIT INFO
# Installation: sudo mv backlight-set /etc/init.d/ && sudo chmod +x /etc/init.d/backlight-set && sudo update-rc.d backlight-set defaults

proc=/proc/acpi/video/GFX0/DD02/brightness

case "$1" in
    start)
        HOME=/root cat /root/.backlight > $proc
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        HOME=/root cat $proc | grep current | awk '{print $2}' \
         > /root/.backlight
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

exit 0

Bei einem vollverschlüsselten System kann das Script erst nach dem Einhängen der Root-Partition ausgeführt werden, also nach der Passworteingabe. Diese lässt sich aber ohnehin ohne Display tätigen.

Google feiert auf ihrer Startseite den 30. Geburtstag von Pac-Man (am 22. Mai 1980 veröffentlicht). Doch statt wie sonst eine Grafik als „Google Doodle“ einzubinden, befindet sich heute ein spielbares Browserspiel an der Stelle des normalen Google-Logos, natürlich nicht ohne den Google-Schriftzug zu übernehmen. Gespielt wird mit den Pfeiltasten der Tastatur, alternativ kann man in die jeweilige Richtung auf der Grafik klicken. Gestartet wird das Spiel mit einem Klick auf die Schaltfläche „Münze einwerfen“, welche unter dem Namen „Auf gut Glück!“ eine etwas andere Funktion bietet. Zweimaliges Münzen einwerfen aktiviert übrigens den Zweispieler-Modus (Tasten: WASD). Erst wenn man alle drei Leben verloren hat, wird man auf die für ein Doodle typische verlinkte Suchanfrage weitergeleitet. Erwähnenswert ist noch, dass das Spiel vollständig mit HTML, Javascript und Canvas umgesetzt wurde, also zumindest in modernen Browsern laufen sollte. Viel Spaß beim Spielen! ;-)

„OK Go – This Too Shall Pass – Rube Goldberg Machine version“ auf YouTube

Logo des mobiledevcamps 2009Wieder ist ein BarCamp vorbei, dieses mal das mobiledevcamp Munich 2009, welches am 31. Oktober 2009 beim deutschen Firmensitz von Intel veranstaltetet wurde. Und richtig, dieses mal ging es um ein spezielles Thema, nämlich der Entwicklung von Applikationen für mobile Endgeräte. Doch auch wer nicht aktiv Anwendungen für diesen Zweck entwickelt, war dort gut aufgehoben. Denn die Talks waren gut verständlich und nicht allzu speziell, so dass man die Veranstaltung auch als einen Blick über den eigenen Tellerrand nutzen konnte.


„Mobile Dev Camp“ auf Vimeo

Los ging es mit einem Frühstück in der geräumigen Intel-Kantine. Diesmal musste man sich nicht einmal seine Brötchen selber machen, denn das übernahm schon das Küchenpersonal. Zusätzlich herrschte ein leicht amerikanischer Flair. Danach gab es die für BarCamps übliche Vorstellungsrunde, eine kurze Einführung und anschließende Planung der Sessions.

Panorama der Intel-Kantine
(von umpcportal.com unter einer CC-Lizenz veröffentlicht)

Ich habe mir dann erstmal einen Vortrag von Stefan Zaunseder und Christian Schilcher, beide vom GISCAD-Institut, angehört. Dabei ging es um „Vergleich der Performance nativer und Browser-basierter Implementationen für Smartphones am Beispiel der Visualisierung von Vektorgraphiken (für ein Geoinformationssystem)“. Am besten schnitt letztendlich Canvas, eine Zeichenmethode, die direkt in den mobilen Browsern läuft, ab. SVG hingegen kam mit den riesigen Datenmengen nicht so gut zu recht und produzierte auch falsche Darstellungen.

Später fand die Vorstellung der Killer-Apps statt. Jeder konnte in 60 Sekunden seinen Vorschlag präsentieren, wie man sich eine Killerapp für sein Netbook vorstellt, die möglichst auf die mobilen Umstände eingeht. Intel braucht etwas Cooles für seinen geplanten Appstore für Netbooks. Zu gewinnen gab es dann für die besten zwei Vorschläge je ein Netbook. Leider ging da richtig ein Konkurrenzkampf los und genauer diskutiert wurde auch nicht, nur ein paar vage Informationen zum geplanten App-Store gegeben. Für jeden Nichtgewinner war es also vergeudete Zeit und ich hätte mir lieber einen Vortrag zum Publishing im Android Market anhören sollen. Ich hätte ein gemeinsames entwickeln eines Konzeptes oder einer Idee viel gelungener Gefunden, die Netbooks hätte man ja auch unter den Beitragenden verlosen können.

Danach besuchte ich noch einen Vortag zum Thema HTML5, welcher sehr gelungen war. Es wurde kurz ein paar Fakten zu HTML 5 gesagt und dann ging es auch schon mit diskutieren und HTML5-Demos los. Der Vortrag war für mich nichts neues und es kam auch nichts darüber, wie man sich als Webdesigner umstellen muss, aber das wäre auch etwas zu ausführlich. Dennoch hab ich ein paar Ideen mitgenommen und das ein oder andere zum Ausprobieren zu Hause gefunden.

Als letzten Vortrag hörte ich mir Markus Junginger von greenrobot zum Thema „Crossplatform Development Mobile“ mit Hilfe von Webtechnologien, also HTML, CSS und JavaScript an. Ein spannendes Thema, interessant auch, dass man dennoch Programmteile nativ für die jeweilige Plattform programmieren kann und diese dann durch eine Bridge in JavaScript mit der Web-Anwendung verbunden sind (wobei selbstverständlich nicht immer eine Internetverbindung notwendig ist). Im besonderen ging er auf PhoneGap ein, als Alternative sei noch Titanium genannt.

Anschließend gab es eine kleine Feedbackrunde und es wurden noch ein paar Taschen und Bücher unter denen verlost, die fleißig getwittert haben. Ich habe natürlich prompt was gewonnen. :-) Mir hat es gut gefallen, es war perfekt organisiert und dadurch, dass es ein relativ kleines BarCamp (weniger als 100 Leute) im Vergleich zum BarCamp Munich 2009 war auch nicht zu anonym und unübersichtlich. Die Location Intel samt Essen war auch perfekt und es war einfach interessant bei Intel Gast zu sein.

Weitere Infos zum mobiledevcamp gibt es hier und im Wiki findet man nochmal eine Beschreibung der meisten gehaltenen Sessisons.

Logo des BarCamp Munich 2009 Letztes Wochenende, also am 13. und 14. Oktober, fand das BarCamp Munich 2009 statt. Ort war das Pressezentrum West auf dem Messegelände München. Also genau dort, wo auch anschließend die discuss & discover (als Nachfolger der Fachmesse Systems) stattfand.

Es war mein erstes BarCamp und weil dieses Konzept noch nicht so sehr bekannt ist, hier eine kurze Erklärung. Ein BarCamp ist eine Unkonferenz, also bewusst keine klassische lang geplante Konferenz, sondern die Themen selbst werden erst auf dem BarCamp festgelegt und es gibt auch keine Trennung zwischen Zuhörer und Vortragenden. Eigentlich sollte sich auch jeder in irgendeiner Art und Weise einbringen, sei es auch nur als Helfer. Es kann jeder Sessions vorschlagen und halten, je nach Interesse wird so dann ein Ablaufplan festgelegt. Aber auch die Sessions selbst können durchaus in eine Gesprächsrunde oder Diskussion abwandern, nicht zwingend muss der Vortragende sich mit dem Thema besonders gut auskennen.

Es ging also in aller Früh erstmal mit einem Frühstück los. Man trifft zwangsweise auf Gesprächspartnern, kann die ein oder anderen gesponserten Lebensmittel ausprobieren und Kontakte knüpfen. Anschließend beginnt die Vorstellungsrunde, jeder sagt kurz seinen Namen, eventuell seinen Twitter-Namen und drei Tags, die ihn seiner Meinung nach beschreiben. Anders wäre das bei 300 Besuchern auch nicht zu bewältigen. Anschließend gehen die Leute, die eine Session halten wollen nach Vorne, stellen ihr Thema kurz vor und Fragen nach Interessenten. So kann dann entschieden werden, ob und in welchen Raum (welcher Größe) sowie in welchem Zeitfenster dann die Session stattfindet. Anschließend geht es los und jeder geht zu den Sessions, wo er gerade hin will. Gefällt einem ein Thema doch nicht, kann man auch ruhig bei einem anderen Raum vorbeischauen, ohne schief angesehen zu werden.

Beim BarCamp Munich gab es natürlich keine Themenvorgabe, dennoch war, da BarCamps ja sozusagen über Internet organisiert werden, doch eine gewisse technische Ausrichtung, aber auch Themen wie Selbstmanagement, Memotechnik, Startups oder auch Zaubern kamen nicht zu kurz.

Finanziert wird dass ganze vor allem durch Sponsoren. Diese machen dann dementsprechend etwas Marketing und spenden ein paar Produkte oder stellen es an einem kleinen Stand vor. Bei einem Gewinnspiel hab ich dann auch gleich mal ein Poken gewonnen. :-)

Wirklich eine spanndende Veranstalltungskonzept, es waren spanndende Theman dabei und meiner Meinung nach hat alles gut geklappt. Ein bisschen mehr Helfer hätten nicht geschadet, aber ansonsten alles ok. Was ich mir allerdings noch wünschen würde wäre ein Aufzeichnungssystem und dass nach den Präsentationen nochmal alle Folien gesammelt werden. Denn wie es so ist, gab es viele spannende Themen und man konnte sich leider nicht alle anhören.

GTUG Munich Android Special

13. September 2009

GTUG-LogoAm 10. September 2009 wurde von der Google Technology User Group Munich nochmal ein Android Special in der Kantine von Google München veranstaltet. Beim vorausgegangenen Special war das Interesse sehr hoch, es war geradezu überfüllt, leider war das dieses mal nicht der Fall, es fehlten diesmal sogar einige Besucher. Dennoch gab es drei Vorträge zum Thema Android, dem Smartphone-Betriebssystem von Google, zu hören, welche alle sehr gelungen und informativ waren.

Los ging es mit Damon Kohler, welcher sein Projekt Android Scripting Environment (ASE) vorstellte. Wenn es auch zur Zeit noch in den Kinderschuhen steckt und eher als Spielerei anzusehen ist, so kann man damit direkt auf seinem Gerät kleine Scripts in Python, Perl, JRuby, Lua, BeanShell oder Shell schreiben und ausführen. So kann man, wie gezeigt, mit nur wenigen Zeilen Code ein Programm realisieren, dass immer, wenn man sein Handy mit dem Bildschirm nach unten auf den Tisch legt, den Lautlos-Modus aktiviert. ASE ermöglicht dabei den Zugriff auf große Teile der Android-API in der jeweiligen Scriptsprache. Wobei diese Scripts keine echten Android-Programme ersetzen können, zumindest noch nicht. Dieser Vortrag war übrigens der einzige in Englisch, war aber dennoch gut zu verstehen. Die Folien der Präsentation gibt es hier.

GTUG Munich Android Special vom 10.09.2009
(von Nils Hitze unter einer CC-Lizenz veröffentlicht)

Nach einer Pause ging es dann weiter mit dem Vortrag von Markus Junginger. Er stellte dabei das Programmieren für Android-Geräten vor. Nach einer Einführung in die Android-Welt erklärte er die Konzepte in Android und ging auf das Programmieren mit dem SDK genauer ein. Es gab nicht nur ein Hello World, sondern auch ein Live Coding eines Twitter-Clients, was ziemlich genial war. Auf Vor- und Nachteile wurden eingegangen und zum Schluss nochmal auf den Punkt gebracht. Toll fand ich auch, dass meiner Meinung nach es für jeden etwas interessantes in dem Vortrag gab, selbst für die nicht so technisch bewanderten. Für die Folien sei auf die vom ersten Android Special verwiesen.

Zum Schluss gab es dann noch einen Vortrag zum Thema „Deploying Android Buisness Application“ von Alexander Illg, dieses mal nicht von technischer, sondern eher unternehmerischer Sicht aus. Er brachte sehr interessante Aspekte auf. So wäre Android eine alternative zu Windows Mobile und würde einige Vorteile mit sich bringen. iPhones hingegen sind für firmenspezifische Software vollkommen ungeeignet. Probleme, wie das Handhaben und Aktualisieren von großen Datenbanken, Verteilen der Firmensoftware und Updates dieser auf den Endgeräten wurden aufgezählt und im Zusammenhang mit verschiedenen Plattformen erläutert. Dieser Aspekt war für mich persönlich vollkommen unbekannt, es liegt aber auf der Hand, dass Android durch seine Offenheit und freien Lizenz hier durchaus interessant wird. Folien sind keine Verfügbar.

Zwischendurch und danach gab es immer wieder die Möglichkeit untereinander zu reden und Kontakte zu knüpfen. Für Essen und Trinken war auch gesorgt, es gab ein Dallmayr-Häppchen und Getränke und Snacks aus dem Google-Reservoir. Sehr umfangreich, damit hätte ich eher nicht gerechnet. Nicht zu vergessen war auch das spezielle Ambiente von Google. Von den Toiletten bis zum Mitarbeiter-Buffet hat alles einen Google-Touch. Auch ein Kicker sowie diverse Spielkonsolen standen zur Verfügung. Vielen Dank für alles. :-)

Es ist schon erstaunlich: Ich hätte nie gedacht, dass ich hier mal eine Flash-Webseite vorstellen werde. Noch dazu wenn ich sie nicht mal richtig verstehe. Aber die Abbildung von Drumcomputern und sonstigen Tools für elektronische Musik im Hobnox Audiotool sind einfach zu gut gemacht und schon ziemlich realistisch. Aufnehmen kann man sein Ergebnis dann auch noch.

Screenshot des Hobnox Audiotool

Ach übrigens: Eine Flash-Anwendung schon allein, aber die dann auch noch ein Dutzend Audio-Effekte und Quellen simulieren muss, ist wirklich ein Performancedisaster. Ziemlich blöd, wenn es um Live-Simulation geht und dann die CPU ziemlich am Limit ist. Aber egal, trotzdem sehenswert.

Eigentlich wollte ich mir meine eigene Handschrift als Schriftart für den Computer generieren. Doch beim ehemalig kostenlosen Schriftgenerator YourFonts ist mittlerweile nur noch eins kostenlos, nämlich die Vorschau wie die Schriftart nach dem Bezahlen aussehen wird. Alternative Online-Dienste, bei denen man nichts zahlen muss, gibt es nicht und 15 Euro ist mir eine mal eben eingescannte Schrift auch nicht wert, schließlich weiß ich nicht mal, ob (mir) alle Zeichen wirklich gelungen sind.

Naja, das wird man doch auch irgendwie selber machen können. Geht auch, ist allerdings sehr zeitaufwendig. Wenigstens kann man an jeden Buchstaben so sehr feilen wie man will und auch sehr viel mehr Zeichen erstellen. Die Arbeit ist nicht schwer, aber sehr monoton, man sollte nicht nur den Zeitaufwand einplanen, sondern sich am besten alles gut aufteilen.

Die Anforderung sind gering, die hier verwendete Software ist umsonst und Open Source. Sie ist für Linux, Windows und Mac OS X verfügbar. Außerdem braucht man nur noch einen Scanner. Fotografieren wäre auch möglich, ist aber aufgrund der Perspektive nicht zu empfehlen. Man könnte sich auch die ersten Schritte einsparen, wenn man ein Grafiktablett verwendet und dort auch sehr gut schreiben kann, denn die  Buchstaben müssen die gleichen Proportionen haben und sollten auch alle gerade sein. Das fällt mir beim Ausfüllen auf Papier mit einem dafür ausgelegten Raster etwas einfacher.

Zunächst muss man alle Zeichen auf ein weißes Papier schreiben, die man später als Schrift haben möchte. Ich habe dazu einfach die Vorlage von YourFonts verwendet und nach jenen Anweisungen ausgefüllt. Sollte man mehrere Seiten als Quelle nutzen immer die gleiche Auflösung und Größen für  beide Seiten verwenden. Anschließend möglichst gerade und sauber einscannen.

Anschließend habe ich das die Scanns mit dem Grafikprogramm GIMP bearbeitet, damit der Kontrast möglichst hoch ist. Dazu verwende ich die das Kurvenwerkzeug unter „Farben → Kurven“ und passe die den Graph so an, dass eine steile S-Kurve ein wenige Zentimeter vom rechten Rand entfernt ist.

Kontrastoptimierung

Danach mit dem Vektorgrafikprogramm Inkscape vektorisiert („Pfad → Bitmap vektorisieren“, mit entferntem Hintergrund) und freigestellt, also zuerst zerlegt („Pfad → Zerlegen“), unnötige Elemente entfernt und danach wieder die einzelnen Buchstaben kombiniert („Pfad → Kombinieren“). Viele weitere Symbole kann man übrigens aus dem bereits vorhandenen Material zusammenbauen.

Freistellen in Inkscape (Screenshot)

Damit man die Buchstaben anschließend in den Schrifteditor FontForge importieren kann, müssen die Buchstaben jeweils in der passenden und Größe auf der richtigen Höhe als 1000 × 1000 Pixel große SVG-Datei gespeichert werden. Für einen einfachen späteren Massen-Import als „SVG Template“ in FontForge benennt man die Dateien gemäß ihrer Unicode-Bezeichnung, beispielsweise für das B u0042.svg.

Am besten nimmt man dazu eine Zeichentabelle zur Hand. Außerdem empfiehlt es sich erst einmal alle Zeichen in eine entsprechende SVG-Datei zu kopieren und in einer Reihe durch Hilfslinien (z.B. auf den Höhen 0, 300, 675, 1000) anordnen. Anschließend muss man nur noch jedes Zeichen speichern und die Reihe um eins verschieben. Zum Schluss müssen nochmal alle Dateien geöffnet und alle Zeichen außer das im Sichtbereich entfernt werden.

Vorgehensweise beim Speichern

Öffnet man FontForge importiert man zuerst einmal die SVGs (ggf. als SVG Template) unter „Datei → Importieren…“. Danach empfiehlt es sich „Metrik →  in Breite zentrieren“ und „Metrik → Auto Width…“ auf alle Zeichen anzuwenden und die Schrifteigenschaften anzupassen. Übrigens kann man auch die Schriftstärke anpassen und die Buchstaben nochmal bearbeiten. Zum Schluss einfach unter „Datei → Fonts herstellen…“ die Schriftart z.B. als TrueType speichern, dabei einfach eventuelle Hinweise ignorieren. Sollte die Schriftgröße nicht stimmen, einfach die Em-Größe unter „Element → Schrift-Eigenschaften… → General“ ohne Skalierung anpassen.

FontForge (Screenshot)

Und so ist meine Schrift geworden:
Benwrite (Beispieltext)

Aufwendig, aber brauchbar und ich kann sie jederzeit verfeinern und erweitern. Allerdings dauert es viel länger als bei einem Onlinedienst und es sind Vorkenntnisse im Bereich der Grafikbearbeitung, vor allem in Inkscape notwendig.

Kleiner Einzeiler für die Bash zum Generieren von Passwörtern durch /dev/urandom:

tr -cd -- "-._?\!+a-zA-Z0-9" < /dev/urandom | head -c 8 && echo

(via BadBoy_)

Archiv

Kategorien