Bitte Beachten: Dieser Blog wird hier nicht weiter geführt! Kommentare und neue Blogposts gibt es unter http://feitel.indeedgeek.de. Dort bitte auch neue Kommentare zu diesen Beiträge erstellen.

Freitag, 2. Oktober 2009

vim-Mastery: Up and Down

Wie oft vertippt man sich und schreibt ein Wort klein statt groß oder man möchte eine Variable in Großbuchstaben haben? Mir geht es jedenfalls oft so, dass ich die Groß/Kleinschreibung von Buchstaben oder ganzen Worten ändern möchte. Und wer hätte es gedacht? Vim bietet natürlich auch genau das.

Toggle Case

Um ein Kleinen Buchstaben groß zu machen oder eben umgedreht reicht ein ~. Optional lässt sich das wie gewohnt mit den Bewegungsoperatoren verknüpfen. Dann braucht es ein g~{motion}. So würde zum Beispiel g~w die Groß- und Kleinschreibung eines Wortes ändern. Hilfreich ist auch ein b~w welches zu dem ersten Buchstaben des letzten Wortes springt, diesen entsprechend verändert und dann wieder ein Wort nach vorne geht damit man weiterschreiben kann. Das ganze geht natürlich auch im visuellen Modus. g~~ verändert die gesamte Zeile.

Groß und Klein

Um ein Bereich explizit groß oder klein zu schreiben ist u bzw. U zuständig. Da die Taste im Bewegenmodus allerdings schon belegt ist, muss man ein g davor schreiben. So würde zum Beispiel gUw das gesamte nächste Wort groß schreiben (guw äquivalent für klein). Im visuellen Modus wird das g davor nicht benötigt und es reicht ein u bzw. U. Wie oben beim Toogle schon gesehen, verändert gUU die gesamte Zeile.

Merkzettel

~
Invertieren der Groß-/Kleinschreibung für ein Wort

Der Rest ist gleich für ~-Toggle, u-Klein- und U-Großschreibung

g~{motion}
Invertieren des Textes während der Bewegung
g~~
Invertieren der gesamten Zeile
{Visual}~
Invertieren des selektieren Bereiches

Donnerstag, 1. Oktober 2009

Open Access im Mitmachweb - Teil 2

Open Street Map

Da ich schon im ersten Teil mit Geodaten angefangen habe, mache ich hier gerade weiter. Openstreetmap basiert genau auf dem bereits erwähnten Prinzip. Als Nutzer profitiert man von sehr aktuellem und detailierten Kartenmaterial. Vor allem in großen Städten übertrifft die Aktualität Google Maps bei weitem. Zudem finden sich dort noch viele zusätzliche Informationen wie Briefkästen oder Telefonzellen. Als Programmierer kann man über Abfragen auf die zentrale Datenbank zugreifen und so zum Beispiel alle Kindergärten im Umkreis von 10 km abfragen. Das Einfügen von neuen Daten funktioniert über verschiedene Editoren in die man aufgezeichnete GPS-Tracks einblenden lassen kann und dann dort Bereiche zum Beispiel als Straße oder Feldweg nachzeichnet.

Musicbrainz

Eines meiner liebsten Projekte und gleichzeitig wohl auch eines der unbekannteren ist Musicbrainz. Wer mal versucht hat seine Musiksammlung zu ordnen wir feststellen, dies ist ohne Hilfe fast unmöglich. Künstler veröffentlichen auf verschiedenen Alben und Compilations das selbe Lied in den unterschiedlichsten Variationen. Um also sagen zu können welches Lied man gerade vor sich hat müsste man eine Vielzahl von Parametern mit allen veröffentlichten Versionen vergleichen. Musicbrainz hat hier eine offene Datenbank mit über acht Millionen Tracks aufgebaut. Hier werden von Album Covern, Homepages, Lizenzen bis hin zu Covern der Lieder alle möglichen Metainformationen gespeichert. Bearbeitungen von Infos müssen erst durch ein Review-Verfahren, wodurch eine recht gute Qualität gewährleistet ist. Die Daten können über eine API abgefragt werden. Zusätzlich existiert ein sehr guter Client der sogar ein ganz brauchbares, automatisches Erkennen unterstützt. So lassen sich komfortabel Dateien Tracks zuordnen. Einmal diese Zuordnung erbracht wird eine eindeutige ID in den Metadaten gespeichert (die selbstverständlich auch mit den Daten abgeglichen wird).

Jamendo

Da man ja kommerzielle Musik kaum noch zahlen kann und die Radiosender auch immer schlechter werden, kann ich jedem nur einmal nahe legen sich freie Musik anzuhören. Jamendo bietet unglaublich viel Musik zum online hören und herunterladen. Es gibt dort viel schlechte Musik aber mit ein bisschen Suchen finden sich dort großartige Perlen. Zudem kann man selbstverständlich auch selbst Musik dazu betragen und auf etwas Geld durch Spenden oder zumindest Popularität hoffen.

Projekt Gutenberg

Dieses Projekt versucht Bücher, die aufgrund ihres Alters als Allgemeingut zählen (und somit von keinen Copyright-Ansprüchen betroffen sind), zu digitalisieren und frei zur Verfügung zu stellen. Ich selber habe damit noch nichts gemacht finde aber die Idee dahinter sehr unterstützenswert. Details gibt es bei Aaron, der vor längerem mal darüber berichtet hat.

Openlibrary

Openlibrary versucht die eindeutige Auflistung aller veröffentlichen Bücher mit ihren entsprechenden Metainformationen frei zugänglich zu machen. Dies funktioniert ähnlich wie bei librarything mit dem Unterschied, dass man bei Librarything ein Buch "forked" und dieses dann in seiner eigenen Sammlung editiert (wenn ich das richtig verstanden habe). Openlibrary funktioniert eher wie ein Wiki welches man bearbeiten kann.

Andere Projekte

Neben diesen Projekten, die ich mal beispielhaft herausgegriffen habe, gibt es noch eine Vielzahl von unterstützenswerten Projekten. Allein unter dem Dach der Wikimedia Foundation zu der auch Wikipedia gehört finden sich viele Interessante Ansatzpunkte die sicherlich ein Blick wert sind. Allerdings heißt es aufpassen, da einige Seiten wie zum Beispiel leo.org oder imdb, von denen ich eigentlich dachte sie geben ihre Daten ebenso frei, dies keineswegs tun. Im Zweifel lieber nach offen Alternativen Ausschau halten bevor man seine mühevoll erarbeiteten Daten an ein kommerzielles Unternehmen verschenkt.

Wenn ihr noch erwähnenswerte Projekte kennt, würde ich mich über eine Auflistung in den Kommentaren freuen!