Plugin für XChat um den aktuellen Titel in audacious anzuzeigen:
Download
Das Ausgabeformat entspricht dem Format der audacious Playlist.
Aufruf erfolg aus XChat raus mit
/audacious
Friday, 27 February 2009
Wednesday, 18 February 2009
So kann man aus einem PostgreSQL Timestamp einen Unix Timestamp machen:
select extract(epoch from "timestamp"(postgres_timestamp)) as unix_timestamp from table
Tuesday, 10 February 2009
Mit folgendem Befehl kann man mittels mplayer einzelne Bilder aus Videos extrahieren:
mplayer -frames 10 -ss 60 -vo png outdir=/home/foo/:quality=75 /path/to/video.avi
-vo png definiert das Bildformat (möglich wäre hier z.B. auch “jpeg”)
-outdir=/home/foo/test/ definiert das Verzeichnis in dem das Bild gespeichert werden soll
-frames 10 definiert wieviele Bilder extrahiert werden sollen
-ss 200 definiert das Offset, also die Stelle im Video, an der die Bilder extrahiert werden sollen
Monday, 9 February 2009
Es gibt einige fertige JavaScripts mit denen man genaue Informationen über Dateiuploads bekommen kann (z.B. Progress Bars):
http://t.wits.sg/misc/jQueryProgressBar/demo.php
http://framework.zend.com/manual/en/zend.progressbar.html
Allerdings funktionieren diese Scripte nicht mit einer Standardinstallation von PHP5, da eine Extension fehlt.
Folgende Fehlermeldung taucht auf:
PHP Fatal error: Call to undefined function uploadprogress_get_info()
Um diese Funktion benutzen zu können muss pear installiert werden.
apt-get install php-pear
Danach muss die Extension installiert werden:
pecl install uploadprogress
Un in die php.ini geschrieben werden:
extension=uploadprogress.so
Wenn man jetzt folgende Fehlermeldung erhält:
sh: phpize: command not found ERROR: `phpize' failed
Muss man noch das Paket php5-dev installieren:
apt-get install php5-dev
Thursday, 5 February 2009
Tuesday, 3 February 2009
Mit dem im Zend Framework enthaltenen Zend Translate kann man komfortabel international programmieren.
Beispiel mit Zend_Translate_Adapter_Array:
In der de.php werden die deutschen Sprachvariablen gespeichert.
/**
* de.php
*/
return array(
'message1' => 'das ist die erste Nachricht'
);
In der en.php die englischen usw.
/**
* en.php
*/
return array(
'message1' => 'this is the first message'
);
Initialisierung und Ausgabe:
/**
* index.php
*/
$translate= new Zend_Translate('array', './lang/en.php', 'en');
echo $translate->_("message1");
Benutzung mit smarty:
$var = $translate->_("message1");
$s->assign("var", $var);
Friday, 30 January 2009
Mit MEncoder und folgendem Befehl kann man ein mp4-Video um 90 Grad drehen:
mencoder -vf rotate=1 -ovc lavc -oac pcm input.mp4 -o output.mp4
Tuesday, 13 January 2009
… oder: wie man Fluxbox dazu bringt, Fenster per Doppelklick zu maximieren.
Hier die Schritte für Debian-Nutzer, die mit Hilfe des Artikels Make dblclick titlebar maximize das Verhalten von Fluxbox ändern möchten.
Mit dem Befehl
apt-get build-dep fluxbox
kann man die Pakete installieren, die benötigt werden um Fluxbox zu kompilieren.
Sourcen herunterladen:
apt-get source fluxbox
In das erstellte Verzeichnis wechseln:
cd fluxbox-1.0.0+deb1
Das Souren-Archiv entpacken:
tar xvjf fluxbox-1.0.0.tar.bz2
In das erstellte Verzeichnis wechseln:
cd fluxbox-1.0.0
Die Window.cc editieren:
vim ./src/Window.cc
Dann das alte Archiv löschen …
rm fluxbox-1.0.0.tar.bz2
… und ein neues erstellen:
tar cjf fluxbox-1.0.0.tar.bz2 fluxbox-1.0.0/
Den alten Sourcen-Ordner löschen…
rm -rf fluxbox-1.0.0
… und dann das Paket bauen (in dem Ordner in dem der “debian”-Ordner ist):
dpkg-buildpackage -rfakeroot -uc -b
Danach kann das Paket (das im übergeordneten Ordner liegt) mit
dpkg -i fluxbox_1.0.0+deb1-8_i386.deb
installiert werden.
Das fertige Paket für Debian Lenny kann hier runtergeladen werden.
Monday, 12 January 2009
Tolle Übungsaufgabe in C: eine Multiplikationstabelle.
Ausgabe (mit 3 Spalten und 4 Zeilen):
1 2 3 2 4 6 3 6 9 4 8 12
Lösungsvorschlag mit einer for-Schleife:
/* * Multiplikationstabelle mit for-Schleife * * by Rainer Hihn */ #includeint main(void) { /* * vertical and horizontal limit */ int hlimit; int vlimit; scanf("%d", &hlimit); scanf("%d", &vlimit); /* * for loop vars */ int i; int j; for(i = 1; i <= vlimit; i++) { for(j = 1; j <= hlimit; j++) { printf("%d\t", i*j); } printf("\n"); } printf("\n"); return 0; }
while-Schleife:
/* * Multiplikationstabelle mit while-Schleife * * by Rainer Hihn */ #includeint main(void) { /* * vertical and horizontal limit */ int hlimit; int vlimit; scanf("%d", &hlimit); scanf("%d", &vlimit); /* * while loop vars */ int i = 1; int j = 1; while(i <= vlimit) { while(j <= hlimit) { printf("%d\t", i*j); j++; } j = 1; i++; printf("\n"); } printf("\n"); return 0; }
Sunday, 14 December 2008
Mit folgenden Schritten kann man sich unter Debian Lenny einen eigenen Kernel zusammen stellen. Vorweg: man muss diese Schritte nicht in /usr/src ausführen und man kann alle Schritte ausser die Installation des neuen Kernels als User ausführen.
Erstmal die Paketlisten aktualisieren:
apt-get update
Die benötigten Pakete installieren:
apt-get install fakeroot kernel-package \ libncurses5-dev libqt3-mt-dev bzip2 build-essential
Einen Arbeitsordner erstellen:
mkdir mykernel cd mykernel
Sich von kernel.org einen Kernel (bzw. dessen Sourcen) herunterladen. Die 2.6er-Kernel sind unter http://www.kernel.org/pub/linux/kernel/v2.6/ zu finden.
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.9.tar.bz2
Die Kernel-Sourcen entpacken:
tar xvjf linux-2.6.27.9.tar.bz2
In das Sourcen-Verzeichnis wechseln:
cd linux-2.6.27.9
make clean mrproper
Man kann die aktuelle Kernel-konfiguration mit folgendem Befehl übernehmen:
cp /boot/config-`uname -r` ./.config
Die Konfiguration ändern:
make menuconfig
Mit folgenden 2 Befehlen baut man den Kernel (statt “custom” kann man auch einen eigenen Namen wählen):
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Danach wechselt man wieder in das mykernel-Verzeichnis:
cd ..
Dort liegen die 2 erstellten Dateien die man – als root – mit dpkg installiert:
dpkg -i linux-image-2.6.27.9-custom_2.6.27.9-custom-10.00.Custom_i386.deb dpkg -i linux-headers-2.6.27.9-custom_2.6.27.9-custom-10.00.Custom_i386.deb
Letzter Schritt:
update-initramfs -c -k
Fertig, jetzt den PC neu starten und den neuen Kernel booten.
Danke an F.Zappa von den Debian User Forums