rulefile für streamripper

Wer bspw. den AF.HM shoutcast stream mittels streamripper aufnimmt, wird anfangs keinen Spass haben, denn alle paar Minuten wird das mp3 file unterbrochen durch ein

Next on Air – ….

file, da der stream diese Information als Titelinformation sendet. Ein kleines sog. rulefile für streamripper erzwingt diese spezielle Titelinformation zu ignorieren. In dieses File muss dann folgende Zeile:

m/^Next on Air:/e

m bedeutet matching rule und e bedeutet verwerfen (drop). Beim nächsten Start mit:

streamripper -w mein_rulefile

wird streamripper den ganzen schönen Mix aufnehmen.

GarageBand 08

Mit der neuen Version iLife08, die jedem Mac beiliegt, ist auch GarageBand auf Version 08 (von 4) erhöht worden. Im Gegensatz zum Update von Version 2 auf 3 gibt es diesmal Neuheiten für Musiker die sehr nützlich sind. Sie werden auf einer iLife Apple Website kurz dargestellt.

Ich habe 4 davon getestet:

  • Multitracking

Funktioniert ganz einfach – einfach die Aufnahmezeit mit dem gelben Loop-Balken einstellen und auf Record gehen. Nach jedem Durchlauf fängt er wieder von vorne an, ohne den letzten zu löschen. Wenn man die Aufnahme beendet kann man aus einen der Varianten wählen.

Genial, aber mit kleinen Kinderkrankheiten. Falls die Aufnahmespur (geloopter Bereich) nur ein wenig in einen nachfolgenden Bereich ragt, auch wenn der an dieser Stelle noch keine Audio/MIDI Informationen hat, wieder dieser nach einem dubiosen Algorithmus verlegt. Falls man diese Verlegung korrigiert, stürzt GarageBand hin- und wieder ab. Also lieber gleich sauber arbeiten

  • Automatisierte Spuren
GarageBand Automation Bisher konnte man für jede Spur nur die Lautstärke und das Panorama automatisieren (Aufklappknopf Spurinformationen) – jetzt kann man alles automatisieren was der Soundgenerator hergibt.Im Bildschirmfoto werden bspw. die Parameter des Hybrid Basic Generators von GarageBand zur Automatisierung angeboten.Im Falle eines Native Instruments Synthesizers werden bis zu 1000 Controller ID’s angeboten, die im Synthesizer Plugin jeweils einem Reglerelement zugewiesen sind.
Das ganze funktioniert übrigens tadellos.
  • Arrangements

Auch ein nettes Feature. Man kann in einem zusätzlichen oberen Balkenbereich, sog. Arrangements definieren, bspw „Intro“ oder „Refrain“. Diese Zonen kann man dann mit üblichen Methoden zur Bearbeitung verwenden. Beim Kopieren bspw. werden alle Spuren die sich in dieser Zone (Arrangement) befinden mitkopiert.

  • Visual EQ / Frequenzanalyse

GarageBand Visual EQ

Auch dieses Feature bringt GarageBand in höhere Regionen. Der Visual EQ steht jedem Instrument zur Verfügung und kann dort eingestellt werden, wo man auch sonst üblicherweise die AudioUnits einstellt.

In diesem Equalizer kann man in vier Frequenzregionen die Amplituenveränderung einstellen. Das ganze geht elegant mit der Maus.

Der Clou ist die Just-In-Time Veränderung der Frequenzanteile der gerade ausgewählten Spur (hellgraue Linie).

Damit kann man doch recht schnell einen ausgewogenen Frequenzverlauf oder eben auch nicht – wenn anders gewollt – hinbekommen.

Bei den AudioUnits sind mir 2 Änderungen aufgefallen, auch wenn diese eher von Mac OS X anstatt von GarageBand selber bereitgestellt werden.

Beim AUMatrix Reverb ist im unteren Bereiche ein Frequenzfilter hinzugekommen.

Audio Unit: Matrix Reverb

Daneben ist AUPitch zur Veränderung der Tonhöhe dazugekommen.

Audio Unit: Pitch

Alles in allem ein sehr gelungenes Update. Von minimalen Kinderkrankheiten und dem üblichen Übersetzungschaos abgesehen ist es ein größerer Schritt nach vorne.

umask 0002

Ich bin ein großer Fan dieser umask, den Sie ermöglicht in Zusammenarbeit mit dem sgid-bit eine fast beliebige Rechtevergabe im POSIX-Netzwerk ohne ACL’s einsetzen zu müssen.

Egal ob man private Gruppen oder sonstige vertrauenswürdige Gruppen erschafft – ein Datenaustausch auf einer lokalen Workstation oder im NFS-Netzwerk ist zu 95% konfigurierbar.

Während man auf fast allen UNIX Plattformen eine globale umask 0002 in /etc/profile einträgt, muss man auf Mac OS X eine XML-basierende Property Datei ändern, und zwar mit

defaults write /Library/Preferences/.GlobalPreferences NSUmask 2

Hinweise:

  • Bei allen nicht-root Usern muß natürlich sudo vorangestellt werden
  • Der letzte Pfadteil (.GlobalPreferences) wird ohne den Suffix .plist angegeben.
  • Nach NSUmask kommt der typische Oktalwerk des Rechtesystems

BIND 9 und dynamische Zonen

Es könnte so einfach sein. Ein DNS Server mit statischen Einträgen, die einfach in den Zonendateien die im Klartextformat vorliegen, händisch aktualisiert werden.

Falls man aber möchte das DHCP oder Windows ADS Server Einträge des DNS dynamisch aktualisieren können, wird die Sache komplizierter.

Ausgehend vom letzten Start des named legt BIND journaling files an, die wie die Zonendatei heissen allerdings mit der Extension .jnl . Von Zeit zu Zeit übernimmt der daemon die journalings in die eigentliche Zonendatei die jetzt aber nicht mehr so einfach händisch aktualisiert werden darf.

Folgende Vorgehensweise unter Benutzung des rndc Kommandotools (wird mit BIND ausgeliefert) wird vorgeschlagen um die Zoneneinträge konsistent zu haten

rndc freeze beispielzone.de

..schaltet den dynamischen Mechanismus ab, übernimmt die journalings in das Zonenfile und löscht die journaling-Datei

Danach kann man im Zonenfile Einträge vornehmen.

rndc reload beispielzone.de

Veranlasst den daemon die Konfiguration und v.a. die Zonenfiles neu zu laden. Dieser Befehl würde ohne den vorangegangenen freeze nicht funktionieren, er würde die Fehlermeldung „rndc ‚ reload‘ failed: dynamic zone“ auswerfen.

rndc thaw beispielzone.de

Schaltet den dynamischen Updatemechnismus wieder an.

Alternativ könnte man neue Einträge aber auch durch denselben Mechanismus hinzufügen, wie die externen Server die den DNS udpaten. Der Kommandobefehl

nsupdate

eröffnet einen interaktiven Eingabemodus mit dem man Einträge hinzufügen oder entfernen kann (siehe manpage nsupdate).

Solaris10 updatemanager

Die aktuelle Version des Sun Update Connection System Client 1.0.9 funktioniert derzeit nicht! Im Normalfall bleibt der Client einfach beim Installieren der Pachtes (smpatch update)

Abhilfe schafft ein Deinstallieren des Patches 121118-12. Dieser Patch des Update Systems verträgt sich mit gewissen Java Versionen nicht.

Genauers dazu erfährt man unter:

http://forum.java.sun.com/thread.jspa?messageID=9709078&tstart=0

Neben der sehr schlechten Performance des Tools, kommt nun leider auch noch Instabilitäten beim Update dazu, was die TCO bei Solaris erhöht und das eh komplexe System noch undurschaubarer macht. Hier muß sich seitens SUN etwas bewegen.

praxis tipps: ls

Auch ls ist ein alter Hut, dennoch die Zusammenfassung der gebräuchlichsten Parameter des GNU Kommandos

Parameter Langfassung Bedeutung
-l –format=long Langinformationen
-L –dereference Dereferenzierung des Links (ursprünglicher Inhalt)
-d –directory Zeigt den Directory Eintrag statt dessen Inhalt an
-S –sort-size Sortiert die Dateien nach ihrer Größe (größte zuerst)
-r –reverse reversieve Sortierung
-t –sort=time Sortiert Nach Datum (neueste zuerst)
-R –recursive steigt rekursiv in den Verzeichnisbaum ab
-u –sort=access Sortiert nach Zugriffszeit (nur im Zusammenhang mit -t)
-h –human-readable Größenangaben besser lesbar (automatisch in GB,MB,kB)
-o –no-color Schaltet die Farbdarstellung ab

praxis tipps: find

Obwohl das (GNU) find Kommando wirklich ein alter Hut ist, lohnt es sich zumindest für mich nochmal die wichtigsten Features zusammenzufassen:

-ctime n
findet Dateien die genau n-Tage alt sind. Sollen Dateien gefunden werden die jünger als n sind, muss dem n ein Minuszeichen vorangestellt werden. Ein vorangestelltes Pluszeichen findet dementsprechend Dateien die älter als n-Tage sind. An dieser Stelle kann ruhig nochmal erwähnt werden, dass ctime die Change Time und damit das primäre Datum einer Datei auf einem POSIX kompatiblen Rechner darstellt. Daneben gäbe es noch die atime (Access Time) und mtime (Modification Time) die eine Änderung des inode-Eintrages darstellt (…nein – eine Create Time gibt es tatsächlich unter POSIX nicht).
-perm BITS
Sucht nach Dateien die genau dem Oktalmuster BITS entsprechen, also bspw. „find -perm 0644“. Wenn man eine Auflistung von Dateien braucht die mindestens aber nicht nur ein bestimmte Rechtebits gesetzt haben stellt man ein Pluszeichen voran. Damit kann man recht einfach bspw. suid-Programme suchen: „find . -perm +4000“
-user USERNAME / -nouser USERNAME
Sucht Dateien die USERNAME gehören oder eben nicht (-nouser)
-group GROUPNAME / -nogroup GROUPNAME
Sucht Dateien deren Gruppenzugehörigkeit GROUPNAME ist oder eben nicht (-nogroup)
-maxdepth n
das GNU find Kommando sucht automatisch rekursiv nach unten den Verzeichnisbaum durch. Wenn man das nicht möchte (bspw. im Zusammenhang mit einem kombinierten cp-Befehl) begrenzt man die Verzeichnistiefe in der find sucht mit dem Parameter n
-iname NAME
sucht nach einem Namens(muster) und ignoriert Groß- und Kleinschreibung. Ansonsten analog -name

Darüber hinaus liegt die Stärke von find v.a. im Zusammenhang mit gekoppelten Kommandos durch den -exec Parameter.

find / -perm +4000 -exec chmod u-s {} ;

nimmt das suid-bit aus allen gefundenen suid-Programmen heraus ..was nicht unbedingt sinnvoll ist 😉

praxis tipps: top

Mit dem Universalwerkzeug für das Prozessmanagement top (table of processes) kann man diese nicht nur beobachten sondern auch beeinflussen. Unter anderem sind folgende Tasteneingaben ganz nützlich

k Signal senden
r renice eines Prozesses
u nur die Prozesses eines users anzeigen

Close Connection mit https auf Apache 2.2

Vor kurzem konnte ich ein Problem mit einem Client-Programm nachvollziehen, welches SSL gesicherte Verbindungen mit einem Apache 2.2 herstellte.

Dabei wurde ein Programmteil mit einem „Connection Closed“ Signal verbunden welches der Apache Server aber nie sendetet.

Folgende Einstellungen in der ssl.conf brachten dann den gewünschten Erfolg (wobei der erste Parameter wohl der wichtigere war).

SetEnv nokeepalive set-accurate-shutdown