Spaß mit regex und Domains: ein Übungsprojekt.

Diese Woche war ich ein bißchen ungeduldig und wollte das mit den regular expressions endlich zu Ende bringen. Was heißt zu Ende, bei sowas lernt eine ja nie aus. Aber zumindest soweit, daß ich mein kleines Testprojekt mal abschließen konnte, wollte ich kommen.

Mein Testszenario ist insofern etwas unrealistisch, als alle Zeilen konsistent mit http:// begannen – es fehlte nirgends, und es kam auch kein https:// vor. Großbuchstaben waren nicht enthalten. Außerdem habe ich mit einem eher kleinen Set von möglichen Domainendungen, die ich gerade aus dem Kopf noch wußte, gearbeitet.

Ich wiederhole zur Bequemlichkeit mein Test-Szenario: Eine Liste von Domains, etwa diese, soll in das Format „domainname.tld“ überführt werden. „Spaß mit regex und Domains: ein Übungsprojekt.“ weiterlesen

Lilypond + LaTeX = Text mit schönen Notenbeispielen

Vor einigen Wochen habe ich etwas gerlernt, was ich im Musikwissenschafts-Studium gut hätte brauchen können: Die Notensatz-Markupsprache Lilypond mit LaTex zu „verheiraten“. Ich will das hier kurz einmal dokumentieren, damit Leute, die das aufgreifen wollen, es etwas leichter haben.

Lilypond: Die Notensatz-Schwester von LaTeX

Lilypond ist LaTeX recht ähnlich, ist eine sehr mächtige Auszeichnungssprache – es lassen sich sowohl Leadsheets mit Gitarrengriff-Symbolen, Neumen als auch Neue Musik damit setzen (natürlich aber auch notationstechnisch eher konventionelle Musik wie eine Mozart-Klaviersonate oder ein Bach-Choral) – und der Output ist typographisch wunderschön. Die Kehrseite ist die Komplexität und die nicht eben intuitive Notation. Und leider ist die vorhandene Dokumentation in meinen Augen etwas unübersichtlich. „Lilypond + LaTeX = Text mit schönen Notenbeispielen“ weiterlesen

Regular Expressions! Was ist denn das schon wieder?

Die letzten Monate gingen viel zu schnell um (mal wieder). Privat gingen die Wogen hoch, langsam beruhigt sich alles wieder ein wenig… und mit meinen Lernvorhaben komme ich nicht so gut voran. Aber dafür mit Dingen, die ich eigentlich gar nicht vor hatte!

Unter anderem habe ich spontan beschlossen: Dieses Jahr lerne ich Regular Expressions. Eine Sache, die zu beherrschen ich schon lange sehr nützlich gefunden hätte.

Was ich damit anfangen kann, ist sozusagen „Suchen und Ersetzen auf Steroiden“. „Regular Expressions! Was ist denn das schon wieder?“ weiterlesen

Lerntagebuch: Neuere LaTeX-Pakete unter Ubuntu einbinden

Dieser Post ist Ubuntu-spezifisch und sehr IT-lastig. Auf anderen Linux-Distributionen kann sich die Situation anders darstellen, und für Windows-Nutzende ist diese Beschreibung wahrscheinlich uninteressant.

Heute habe ich mich etwas in das Thema „Wie installiere ich aktuellere Pakete in LaTeX“ hineingekniet. Meine Vorannahme war: OK, ich muß wahrscheinlich die benötigten Pakete von CTAN herunterladen, entpacken und den Inhalt eines Ordners irgendwo in den Tiefen meines Dateisystems damit ersetzen. Aber welchen Ordner denn? Und gab es nicht doch eine einfachere Lösung?

Wie so oft half mir das Wiki von UbuntuUsers.de weiter. „Lerntagebuch: Neuere LaTeX-Pakete unter Ubuntu einbinden“ weiterlesen

Lerntagebuch: Silbentrennung in LaTeX, (noch kein) Lebenslauf mit moderncv

Im Moment schreibe ich mal wieder viele Briefe – und greife dazu inzwischen durchweg zu LaTeX. Der Satz sieht einfach wunderschön und seriös aus, ich komme damit besser zurecht als mit Office-Vorlagen – und TeXMaker ist für diese alltäglichen Schreibaufgaben genau die Umgebung, die ich brauche.

Nur beim letzten Bewerbungsanschreiben machten mir ein paar Silbentrennungen Kummer. LaTeX trennte an Stellen, wo für mein Sprachgefühl keine Silbentrennung hingehörte. Die Lösung war in diesem Fall mit der Suchmaschine meines Vertrauens schnell gefunden: zum ersten lassen sich auch in LaTeX Silbentrennungen manuell platzieren. „Lerntagebuch: Silbentrennung in LaTeX, (noch kein) Lebenslauf mit moderncv“ weiterlesen

Lerntagebuch: Powerpoint-Workshop fertig, String Formatting in Python

OOo Impress / Powerpoint

Den Powerpoint-Workshop in der Lernbörse der Arbeitsagentur habe ich durch. Meine Vermutung hat sich bestätigt: MS Office und LibreOffice unterscheiden sich, wenn man sie mit Fokus auf Benutzeroberflächen und „was mache ich mit welchem Befehl“ anschaut, recht deutlich. Etliches wußte und konnte ich aber auch schon. Gut, das nochmal wiederholt zu haben.

Angesichts solcher Neuigkeiten ärgere ich mich über die Mängel in alternativen Office-Suiten – ja, in einigem hat das winzigweiche Büro schon die Nase vorn, jenseits von einfachen Word-Dokumenten ist es mit der Interoperabilität zwischen MS-Produkten und Libreoffice auch nicht so weit her.

Jetzt bleibt mir in der Hinsicht nur, mein kleines Projektvorhaben umzusetzen. Und dann darf ich mich an die Kür machen und dasselbe Material mit Alternativen zu klassischen Präsentationsprogrammen darstellen.

Python: Spaß mit String Formatters

Da hatte ich ja vorgestern eine Idee, wie ich mein Song-Längen-Berechnungs-Skript schöner machen kann, und ich habe genau heute die passende Lektion in LPTHW angesehen: String Formatting.

String Formatters sehen etwa so aus: %s. Sie machen das Ausgeben von Variablen innerhalb von Strings schön einfach und elegant – wenn alles korrekt eingetippt wurde.

Statt

measures = 16
print „Your song is“, measures, „long.“

kann ich nun schreiben:

measures = 16
print „Your song is %d measures long.“ % measures

Hübsch, finde ich. Das Feature kann aber noch mehr – etwa Zahlen in einem bestimmten Format oder nur bis zu einer gewissen Zahl von Dezimalstellen ausgeben:

distance = 2000000000 # distance in kilometers
pi_beginning = 3.14159
pi_places = 4
print „The distance to the object is %.2E kilometers.“ % distance
print „The first %d decimal places of pi are %.4f.“ % (pi_places, pi_beginning)

Die entsprechende Ausgabe beim Ausführen des Programms lautet:

The distance to the object is 2.00E+09 kilometers.
The first 4 decimal places of pi are 3.1416.

Wie wir sehen, rundet die Ausgabe von Fließkommazahlen mit einer bestimmten Anzahl von Dezimalstellen auch gleich. Coole Sache, finde ich.

Lerntagebuch: Mühsam nährt sich das Eichhörnchen.

Irgendwie war ich heute zwischendrin recht miesepetrig gelaunt; die Stimmung, in der alles doof ist und ich auf nichts richtig Lust habe. Das ist im allgemeinen eine gute Stimmung, um Dinge zu tun, auf die ich zwar nicht so unbedingt Lust habe, gegen die ich aber auch keinen ausgeprägten Widerwillen verspüre und die mir nicht sonderlich schwierig erscheinen. Also habe ich unter anderem ein bißchen gelernt, von allem etwas.

Impress / Powerpoint

Heute habe ich mich mit Folienmastern befaßt. Nützliche Sache, das. Ich predige, wo immer ich mit Menschen über Officeprogramme rede, ja die Verwendung von Formatvorlagen. Daher habe ich das auch sofort begriffen. „Lerntagebuch: Mühsam nährt sich das Eichhörnchen.“ weiterlesen

Lerntagebuch – Python-Abenteuer: Schnell mal was ausrechnen.

Es geht sehr langsam voran mit mir und Python. Trotzdem zeigt „Learn Python the Hard Way“ erste Ergebnisse. Ich mache gerade viel Musik, und manchmal möchte ich abschätzen können, wie lang ein Song ist. Das geht anhand von Informationen wie „Welche Teile habe ich, wieviele Takte sind die jeweils lang und wie oft werden die wiederholt“ in Kombination mit der Geschwindigkeit in beats per minute ganz gut. Eine der Aufgaben in LPTHW ist, Python als Taschenrechner für alltägliche Zwecke zu gebrauchen. Daran habe ich gedacht, als ich heute vormittag wissen wollte, wie lang eine Songidee wohl wird. Und dann dachte ich mir: „Ach, dann kann ich auch gleich ein Skript schreiben.“ Gesagt, getan. Da habe ich das Teil mal hinterlegt. Und klar, das Ganze ließe sich mit raw_input, Listen und Schleifen noch wesentlich flexibler und schöner gestalten, aber hey, ich habe länger für diesen Blogpost gebraucht als für das Schreiben dieses Skripts.

Ganz nebenbei bringen mich solche Sachen dazu, mathematisch zu denken – und das mir als ehemaliger Mathehasserin 🙂