Mit diesem Befehl kann man alle Suchergebnisse unmittelbar löschen:
# löscht alle SVN Dateien aus dem aktuellen Verzeichnis
find . -type d -name ".svn" -exec rm -r {} \;
Friday, 24 April 2009
Mit diesem Befehl kann man alle Suchergebnisse unmittelbar löschen:
# löscht alle SVN Dateien aus dem aktuellen Verzeichnis
find . -type d -name ".svn" -exec rm -r {} \;
Thursday, 16 April 2009
Tolle Übungsaufgabe in C: ein simpler Konsolentaschenrechner der addieren, multiplizieren, subtrahiren und divieren kann. Ausserdem soll das Programm beendet werden wenn man ‘q’ eingibt.
/*********************** * Ein einfacher Taschenrechner * * Rainer Hihn */ #includevoid exit(int); float calculate(char optr, float opr1, float opr2) { float rErg = 0; switch(optr) { /** * addieren */ case '+': rErg = opr1 + opr2; break; /** * subtrahieren */ case '-': rErg = opr1 - opr2; break; /** * multiplizieren */ case '*': rErg = opr1 * opr2; break; /** * dividieren */ case '/': rErg = opr1 / opr2; break; /** * Wenn kein erlaubter * Operator eingegeben wurde */ default: printf("Falscher Operator \n"); exit(1); } return rErg; } int main(void) { /** * Variablendeklaration */ char cOptr; float fOpr1; float fOpr2; float fErg; while(1) { printf("Eingabe: Operator Operand1 Operand2 \n"); /** * Benutzereingabe Operator */ printf("Bitte Eingabe Operator \n"); scanf(" %c", &cOptr); /** * Programm wird beendet wenn * 'q' eingeben wird */ if(cOptr == 'q') { break; } /** * Benutzereingabe Operand 1 */ printf("Bitte Eingabe Operand1: \n"); scanf(" %f", &fOpr1); /** * Benutzereingabe Operand 2 */ printf("Bitte Eingabe Operand2: \n"); scanf(" %f", &fOpr2); if(cOptr == '/' && fOpr2 == 0) { printf("ehm ... nein? \n"); break; } /** * Ergebnis berechnen und ausgeben */ fErg = calculate(cOptr, fOpr1, fOpr2); printf("%f %c %f = %f \n\n", fOpr1, cOptr, fOpr2, fErg); } return 0; }
Thursday, 16 April 2009
Tolle Übungsaufgabe in C: ein Programm das eine Dezimalzahl in eine Dualzahl umwandelt.
/*********************** * Umrechnung Dezimalzahl * nach Dualzahl * * Rainer Hihn */ #includeint main(void) { /** * Variablendeklaration */ int iDezi = 0; int iDual[16] = {0}; int i = 0; int iErg = 0; int iRest = 0; /** * Einlesen der Dezimalzahl */ printf("Geben Sie eine Dezimalzahl ein: \n"); scanf("%i", &iDezi); printf("\n"); /** * Pruefen ob die Dezimalzahl * groesser als 16 bit ist */ if(iDezi > 65536) { printf("Geben Sie eine Dezimalzahl ein die kleiner als 65.536 ist \n"); } else{ iErg = iDezi; i = 0; while(iErg > 0) { if(iErg % 2 == 0) { iDual[i] = 0; } else { iDual[i] = 1; } iErg = iErg / 2; i++; } /** * Ausgabe der Dualzahl */ i = 15; for(i = 15; i >= 0; i--) { printf("%i", iDual[i]); } printf("\n"); } return 0; }
Tuesday, 7 April 2009
Wer beim Benutzen der Ports-Collection unter FreeBSD mal über den Fehler stolpern sollte:
fusefs-kmod requires the userland sources to be installed. Set SRC_BASE if it is not in /usr/src.
Lösung:
sysinstall
Dann Configure -> Distributions -> src -> base + sbin + sys auswählen und installieren.
Thursday, 26 March 2009
Tolle Übungsaufgabe in C: eine Ascii-Tabelle anzeigen.
/*********************** * Ascii Tabelle * * Rainer Hihn */ #includeint main(void) { int Start = 32; int Ende = 55; int i = 0; int j = 0; for(i = Start; i <= Ende; i++) { for(j = 0; j <= 3; j++) { printf("%i ", i+(j*24)); printf("%c\t", i+(j*24)); } printf("\n"); } }
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