Der Code-Schnippsel-Thread

  • #!/bin/bash
    ffmpeg -i "${1}" -vcodec mpeg2video -r 25 -s 544x480 -aspect 4:3 -b 4000000 -maxrate 4500000 -bufsize 1500000 -acodec mp2 -ab 192000 -ar 48000 "${1}.ts"


    Video in .ts-Format für die DBOX2 umwandeln.

  • Hier mal was fürs Arduino Board ... es lässt die Onboard LED SOS blinken

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    Früh aufstehen ist der erste Schritt in die falsche Richtung.

    Uri Geller verbiegt Löffel. Na und, Maggi macht Knoten rein!

    Ich bin im WH Forum seit dem 11.05.2003 ... wow

    Einmal editiert, zuletzt von SnGtKs (22. September 2012 um 15:59)

  • So fürs Arduino hab ich gerade bissel gebastelt...
    Man nehme ... ne alte GPS Maus, in meinem Fall die RGM-2000, die TTL kommuniziert ... bissel schaltdraht und ein wenig Code

    Zur verdrahtung ...

    Pin 2 RX von GPS Maus
    Pin 3 TX zur GPS Maus
    5 V zur GPS Maus
    GND zur GPS Maus

    und nun der Code

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    Früh aufstehen ist der erste Schritt in die falsche Richtung.

    Uri Geller verbiegt Löffel. Na und, Maggi macht Knoten rein!

    Ich bin im WH Forum seit dem 11.05.2003 ... wow

  • Hatte ich vor der letzten Bücherverbrennung im WHF zu einem Coding-Wettbewerb schon mal in Python geschrieben: Zu einem Array eine bestimmte Permutation aus der nach Indizes sortierten Reihenfolge der Permutationen (für [a,s,d,f] wäre das z. B. 0 => [a,s,d,f], 1 => [a,s,f,d], 2 => [a,d,s,f], …, 23 => [f,d,s,a]) zurückgeben.

  • Wo ich da grad den ArrayList-Import sehe: Eine Hüllklasse für ArrayList, die selbige um das Observer-Pattern erweitert. An Methoden ist nur das vorhanden was ich gebraucht habe, lässt sich aber leicht erweitern.

    „Zitate von sich selbst in der Signatur sind doof.“ Chrisse, 2009
    „Hmm... mal was aus 2010 reinnehmen“ Chrisse, 2010
    „Ach, wie die Zeit vergeht...“ Chrisse, 2011
    „Bin immernoch dagegen“ Chrisse, 2012
    „Jetzt auch mit 2013“ Chrisse, 2013
    „2021 ich komme“ Chrisse, 2014
    „Ab jetzt wieder länger“ Chrisse, 2015
    „Gut Ding will Weile haben“ Chrisse, 2016
    „Meine Signatur: Öfter geupdated als mein Windows“ Chrisse, 2017
    „Klicken sie weiter, hier gibt es nichts zu lesen“ Chrisse, 2018
    „Dieser Post kann Spuren von Sarkasmus enthalten“ Chrisse, 2019
    „Reinstate Chiaki“ Chrisse, 2020
    „2021 ist eine Coverstory der Moderation und nie passiert!“, Chrisse, 2022

  • Keine Ahnung, ob ichs schonmal gepostet habe. Nachgucken, wer alles per SCP/SSHFS Dateien mit dem Server tauscht (ja ich weiß, das is teine sehr dreckige Lösung, aber sie funktioniert):

    Bash
    #!/bin/bash
    leute=$(ps aux | grep notty | grep -v grep | cut -d : -f 4 | cut -d @ -f 1)
    echo "$(echo $leute | wc -w) Leute sind per SCP aktiv."
    echo ""
    echo "Im Einzelnen sind das: $(echo $leute | sed 's/ /, /')"
  • C: Da errno.h angepasste Fehlermeldungen nur sehr stiefmütterlich behandelt (geht das überhaupt?)

    Aufgerufene Methoden erzeugen mit void newError(char*); einen neuen Fehler (dies setzt ein Fehler flag) und fügen bei bedarf mit void appendError(char*); weitere Strings an.
    Aufrufende Methoden prüfen mit bool checkError(void); das Fehler flag (es wird dann zurück gesetzt) und holen sich ggf. mit char *getError(void); den neuen Fehlerstring (dies können sie beliebig oft tun).

    errorReporting.h

    Spoiler anzeigen


    #ifndef ERRORREPORTING_H_INCLUDED
    #define ERRORREPORTING_H_INCLUDED

    #include <stdbool.h>

    extern bool checkError(void);
    extern char *getError(void);
    extern void newError(char*);
    extern void appendError(char*);

    #endif // ERRORREPORTING_H_INCLUDED

    errorReporting.c

    Spoiler anzeigen


    #include <stdlib.h>
    #include "string.h"
    #include "errorReporting.h"

    bool errorOccurred = false;
    char *errorString = NULL;

    bool checkError(void)
    {
    bool returnValue = errorOccurred;

    if(errorOccurred)
    {
    errorOccurred = false;
    }

    return returnValue;
    }

    char *getError(void)
    {
    return errorString;
    }

    void newError(char *error)
    {
    if(errorOccurred)
    {
    free(errorString);
    }

    errorString = (char*) calloc( strlen(error) + 1, sizeof(char) );
    strcpy(errorString, error);
    errorOccurred = true;
    }

    void appendError(char *error)
    {
    if( !errorOccurred)
    //This function should not be called unless newError() was called, but oh well...
    {
    newError(error);
    }
    else
    {
    errorString = (char*) realloc( errorString, (strlen(errorString) + strlen(error) + 1) * sizeof(char) );
    strcat(errorString, error);
    }
    }

    „Zitate von sich selbst in der Signatur sind doof.“ Chrisse, 2009
    „Hmm... mal was aus 2010 reinnehmen“ Chrisse, 2010
    „Ach, wie die Zeit vergeht...“ Chrisse, 2011
    „Bin immernoch dagegen“ Chrisse, 2012
    „Jetzt auch mit 2013“ Chrisse, 2013
    „2021 ich komme“ Chrisse, 2014
    „Ab jetzt wieder länger“ Chrisse, 2015
    „Gut Ding will Weile haben“ Chrisse, 2016
    „Meine Signatur: Öfter geupdated als mein Windows“ Chrisse, 2017
    „Klicken sie weiter, hier gibt es nichts zu lesen“ Chrisse, 2018
    „Dieser Post kann Spuren von Sarkasmus enthalten“ Chrisse, 2019
    „Reinstate Chiaki“ Chrisse, 2020
    „2021 ist eine Coverstory der Moderation und nie passiert!“, Chrisse, 2022

  • ̔

    Mal auf die Schnelle zusammen gebastelt.


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (12. Oktober 2012 um 10:59)

  • Schönes Script :b1:

    Als Bonus könntest du noch ${HOME} statt /home/tobias nehmen und die Mail dann an $(whoami)@$(hostname) versenden. Dann könnte man es noch als Cronjob unter den Rechten der jeweiligen Benutzer laufen lassen, für die regelmäßig gebackupped werden soll und schon hat man vollautomatisches Backup.


  • Schönes Script :b1:

    Als Bonus könntest du noch ${HOME} statt /home/tobias nehmen und die Mail dann an $(whoami)@$(hostname) versenden. Dann könnte man es noch als Cronjob unter den Rechten der jeweiligen Benutzer laufen lassen, für die regelmäßig gebackupped werden soll und schon hat man vollautomatisches Backup.

    Gute Idee. Danke :b1:

    Bin aber am überlegen, ob ich das cp net auf n rsync ändere.


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

  • Bin aber am überlegen, ob ich das cp net auf n rsync ändere.

    Joa, rsync wäre gerade bei großen Datenmengen sinnvoll. Dann könnte er auch vorher gucken, ob sich die jeweilige Datei seit dem letzten Backup geändert hat.

  • ͸

    tobias@voyager:~$ /home/tobias/Test.sh
    [: 23: -eq: unexpected operator
    tobias@voyager:~$


    Was mache ich falsch?

    EDIT: if [ $EXIT -eq "0" ]; then stimmt nicht.
    So muss es sein: if [ $EXIT -z ]; then


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (12. Oktober 2012 um 13:19)

  • Wenn du Rsync benutzt kannst du mit '--link-dest' auch recht einfach platzsparende inkrementelle Backups durch Hardlinks machen. Wobei dann kannst auch eigtl gleich dirvish oder so benutzen :D

  • Code
    @echo off 
    net use q: \\ZEUS\tausch\EDVTmp
    if 
    q:\psinfo\PsInfo.exe -s >>C:\%computername%.txt
    move c:\%computername%.txt q:\Ergebnisse\%computername%.txt
    del C:\PsInfo.exe
    net use q: /delete
    pause

    Kann ich Windows irgendwie verklickern, dass ich gerne ein Netzwerkshare über 2 Laufwerksbuchstaben verbinden kann?


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!