Was sind eure "kann sonst keiner gebrauchen!" Projekte?

dettus

Bicycle User
Ich verbringe gerade meinen Sonntag damit, mein Converter Skript von Postillion Newsticker nach fortune zu verbessern.

BRAUCHT KEIN MENSCH, ist aber cool.

Jetzt frage ich mich natuerlich: Was machen andere Nerds, um sich die Zeit zu vertreiben?
 
Ich arbeite an periodisch an einem Script, dass aus einer Yaml-Datei unbound oder nsd zonefiles erstellt. So bekomme ich auch die Reveser-Zones gesetzt und den ganzen anderen Kram. Ist nettes Python Basteln.
 
Klar. Zum Beispiel ein Programm.Startmenü auf der Basis von dmenu, mit dem man dann Programme starten kann. Aufrufen kann man das, in dem man das beispielsweise an eine Tastenkombination bindet.
Bash:
#!/bin/sh

# Liste der Programme und deren Befehle
PROGRAMS=$(cat << END
Konsole:konsole
Claws-Mail:claws-mail
Filemanager:thunar /home
Firefox:firefox
END
)

if ! command -v "dmenu" > /dev/null 2>&1; then
    echo "dmenu ist nicht installiert (pkg install dmenu)."
    exit 1
end

if ! command -v "yad" > /dev/null 2>&1; then
    echo "yad ist nicht installiert (pkg install yad)."
end

# Zähle die Anzahl der Einträge in PROGRAMS
PRGCOUNT=$(echo "$PROGRAMS" | wc -l)

sleep 5

while true; do
    # Füge die Exit-Option zur Liste hinzu
    OPTIONS=$(echo "$PROGRAMS" | cut -d':' -f1)
    if [ -z "$OPTIONS" ]; then
       break
    fi
    OPTIONS="$OPTIONS\nExit"

    # Verwende dmenu, um das Programm auszuwählen
    SELECTED=$(echo -e "$OPTIONS" | dmenu -i -p "Wähle ein Programm:")

    # Überprüfen, ob eine Auswahl getroffen wurde
    if [ -n "$SELECTED" ]; then
        # Ignoriere Groß-/Kleinschreibung bei der Überprüfung auf "Exit"
        if [ "$(echo "$SELECTED" | tr '[:upper:]' '[:lower:]')" = "exit" ]; then
            break  # Beende die Schleife, wenn "Exit" ausgewählt wurde
        fi

        # Finde den zugehörigen Befehl
        COMMAND=$(echo "$PROGRAMS" | grep "^$SELECTED:" | cut -d':' -f2)

        # Überprüfen, ob ein Befehl gefunden wurde
        if [ -n "$COMMAND" ]; then
            # Starte das ausgewählte Programm und überprüfe den Rückgabewert
            $COMMAND &
            if [ $? -eq 0 ]; then
                # Entferne das gestartete Programm aus der Liste
                PROGRAMS=$(echo "$PROGRAMS" | grep -v "^$SELECTED:")
                # Aktualisiere die Anzahl der Einträge
                PRGCOUNT=$(echo "$PROGRAMS" | wc -l)
            else
                yad --title="Fehler" --text="Das Programm '$SELECTED' konnte nicht gestartet werden." --button="OK" --width=300
            fi
        else
            # Versuche, das Programm zu starten, auch wenn es nicht in der Liste ist
            $SELECTED &
            if [ $? -ne 0 ]; then
                yad --title="Fehler" --text="Das Programm '$SELECTED' konnte nicht gestartet werden." --button="OK" --width=300
            fi
        fi
    else
        yad --title="Information" --text="Keine Auswahl getroffen." --button="OK" --width=300
    fi
done

Man hat unter PROGRAMS eine Liste von Programmen. Jede Zeile enthält den Programmnamen (der angezeigt wird) und mit Doppelpunkt davon gestartet den Programmbefehl. Ein gestartetes Programm aus der Liste entfernt.
Mit der Auswahl von Exit kann man das Skript beenden. yad wird benutzt, um ggf. Meldungen anzuzeigen.

Braucht außer mir niemand, weil die meisten benutzen ein full-featured Desktop-Environment. :-)
 
Ein Online-/Offline Notifier.
Gibt 'ne Meldung aus, wenn das Internet "weg" ist bzw. wenns wieder da ist.
Mit Hilfe von notify-send aus libnotify.
Bash:
#!/bin/sh

# Zeit in Sekunden, wie lange gewartet werden soll, bevor der nächste Ping durchgeführt wird
SLEEP_TIME=40
# Liste der Server, die überprüft werden sollen
SERVERS="www.openbsd.org www.freebsd.org www.netbsd.org"

# Aktueller Status der Serververfügbarkeit (initial auf "unknown" gesetzt)
CURRENT_STATUS="unknown"

# Endlosschleife zur kontinuierlichen Überprüfung der Serververfügbarkeit
while true
do
  ANY_SERVER_REACHABLE=false
  
  # Schleife über die Liste der Server
  for SERVER in $SERVERS
  do
    ping -c 1 -W 1 "$SERVER" > /dev/null 2>&1
    if [ $? -eq 0 ];
    then
      ANY_SERVER_REACHABLE=true
      break
    fi
  done

  if $ANY_SERVER_REACHABLE
  then
    NEW_STATUS="online"
  else
    NEW_STATUS="offline"
  fi

  # Überprüfen, ob sich der Status geändert hat
  if [ "$CURRENT_STATUS" != "$NEW_STATUS" ]
  then
    CURRENT_STATUS=$NEW_STATUS  # Aktualisiere den aktuellen Status
    # Sende eine Benachrichtigung über den Statuswechsel
    notify-send -t 5000 -w  "Going $NEW_STATUS"
  fi
  
  # Warte die definierte Zeit, bevor die nächste Überprüfung erfolgt
  sleep $SLEEP_TIME
done
Man im wesentlichen ein ping auf mehrere Server und wenn keiner davon ansprechbar ist, ist wohl das Internet weg. :-)

Braucht außer mir kein Mensch, denn keiner so wackeliges Internet hat wie ich. :-)
 
Was machen andere Nerds, um sich die Zeit zu vertreiben?
bei diesem Thema und den folgenden Beiträgen, musste ich natürlich grinsen.
Denn: ich bin doch kein Nerd, oder sagen wir vielleicht besser: kein IT-Nerd. Und mein Problem ist eher nicht, mir die Zeit mit irgendwas zu vertreiben, als diejenigen Zeitfresser aus zu treiben, mit denen ich mein Leben in den vergangen Jahrzehnten ständig angefüllt habe und die mir heute manchmal kaum noch Luft zum Atmen lassen.
Mein bester Zeitvertreib ist die Teilnahme in diesem Forum und das Nutzen von FreeBSD.
Ähmhm, eigentlich auch mein einziger Zeitvertreib...
 
Mein aktueller nerdiger Zeitvertreib (schon seit ner Woche): Festplatten ausmisten. Ich hab da na Box mit 10-20 Jahre alten Festplatten (großteils HDDs von 80GB-1TB alles vertreten, ein paar uralt SSDs 120GB) die ich alle seit Jahren nicht mehr angefasst habe. (Ich hab noch ne zweite Box für aktuelle Platten die ich manchmal benötige ;) ).

Daher werden jetzt alle per USB3-SATA Adapter (die 3 PATA Platten hab ich tatsächlich direkt weggeschmissen) an meinen Pi angehängt, und 2 mal beschrieben + korrektur gelesen. Wenns da nur das geringste Problem gibt -> ab auf den Wegwerf Stapel. Nunja, leider sind die Biester ziemlich zäh, ich hab erst 2 für den Wegwerfstapel, also werd ich die Kiste mit ~20 Platten wohl weiter aufheben, für den einen Zeitpunkt andem ich mir denke: "Ja, für diese Anwendung wäre die alte 80GB SATA1 Platte genau das richtige!"...
 
Mein aktueller nerdiger Zeitvertreib (schon seit ner Woche): Festplatten ausmisten.
ahja, so einen Zeitvertreib habe ich allerdings derzeit auch gerade: Ich miste meine Laptop-Schrott-Kiste aus und sehe, was davon ich weg werfe oder wiederbelebe (wozu auch immer) und wo ich vielleicht nur einige Ersatzteile abgreife.

Nur: manchmal kann ich mich gar nicht entscheiden. Siehe dazu vielleicht auch https://www.bsdforen.de/threads/rant-schrotthardware-wie-haltet-ihr-das-aus.37263/
und darin meinen Beitrag https://www.bsdforen.de/threads/rant-schrotthardware-wie-haltet-ihr-das-aus.37263/post-340774
Den darin beschriebenen Schrott-Note-Book MSI-Wind-160 habe ich tatsächlich zerlegt, gereinigt, wieder zusammen gebaut, ein Knoppix auf eine SD-Karte gelegt (das Ding hat einen entsprechenden Slot und ich eine passende SD-Karte) und so in Betrieb genommen, dass ich "das Ding" wieder benutzen kann oder könnte, wenn ich wollte oder müsste.
Will ich?
Es gibt auch noch zwei Mac-Book-Air 10" in meiner Sammlung, die viel viel besser sind, aber fast genauso alt und dann zwei Mac-Book-Pro 13", noch mit DVD-Laufwerk, von denen einer perfekt läuft und auch noch ein echter Schrott-Mac-Pro mit einem i7, der eigentlich genau so gut ist, wie mein aktueller Lieblings-Laptop mit FreeBSD, aber eben Schrott. Den einen oder anderen noch älteren Laptop gibt es auch noch und eigentlich gehören die allesamt in die Tonne, aber....
Das ist nur die Laptop-Kiste!

Und täglich haben meine Hühner hunger und brauchen ihr Futter....
 
Die können sich selbst was suchen.
klar, könnten sie, wenn ich sie nicht eingesperrt hätte in ihrem Pferch und nicht auch täglich die Eier ernten wollte.
Manchmal entkommen auch welche, schicken sich nicht und werden dann regelmäßig Opfer diverser Prädatoren. Leider gelegentlich auch solche Hühner, die sich gut geschickt haben, denn die Prädatoren unterscheiden da nicht und nehmen, was sie kriegen können.

Dies ist schon etwas OT, zeigt aber womöglich, dass einen andere Themen fernab von IT, durchaus beschäftigen können.

Es ist vielleicht eher so, dass sich unendliche Welten erschließen, sobald man irgendwas im Detail betrachtet und gewissenhaft machen möchte. Egal was. Und dann kann man halt Nerd in unglaublich vielen Bereichen werden und ich bin möglicherweise in manchen Bereichen eine Art Anfänger-Nerd, aber im IT-Bereich bin ich gar kein Nerd.
Dafür brauche ich deswegen auch euch IT-Nerds in diesem Forum!
 
klar, könnten sie, wenn ich sie nicht eingesperrt hätte in ihrem Pferch und nicht auch täglich die Eier ernten wollte.
Die kommen doch eigentlich Abends immer wieder in den Stall zurück. Und Eier werden i.d.R. immer an der gleichen Stelle abgelegt.
Die problematischen Jäger sind meist nachts unterwegs, wenn sie im Stall sind.

Dies ist schon etwas OT
Kann man so nicht sagen -> https://www.call-cc.org/
 
Mein aktueller nerdiger Zeitvertreib (schon seit ner Woche): Festplatten ausmisten. Ich hab da na Box mit 10-20 Jahre alten Festplatten (großteils HDDs von 80GB-1TB alles vertreten, ein paar uralt SSDs 120GB) die ich alle seit Jahren nicht mehr angefasst habe. (Ich hab noch ne zweite Box für aktuelle Platten die ich manchmal benötige ;) ).
Wenn du noch mehr Zeit verbraten (aber gleichzeitig eventuell Gutes tun) möchtest, schau dich mal auf https://files.hddguru.com/download/Non-PC-3000 firmwares/ um, die sind immer auf der Suche nach Software-Ressourcen von Festplattentypen, wenn sie dort noch nicht vorhanden sind. Vielleicht hast du einen gesuchten Exoten dabei. ;)
 
Die kommen doch eigentlich Abends immer wieder in den Stall zurück. Und Eier werden i.d.R. immer an der gleichen Stelle abgelegt.
Die problematischen Jäger sind meist nachts unterwegs, wenn sie im Stall sind.
nur, weil ich solch wichtige Fragen nicht gerne unbeantwortet sein lasse: die letzten beiden Hühner hatte ich in der Dämmerung verloren, davor eines am helllichten Tage. In der Dämmerung war es ein Marder, am Tag ein Greifvogel. Beide Male waren die Viecher also noch außerhalb ihres Stalles, wo eine Lichtsensor gesteuerte Hühnerklappe sie für die Nacht in Sicherheit bringen würde. Bei der Greifvogel-Attacke wurde der Hahn so sehr verletzt, dass er kurze Zeit danach auch gestorben ist und am Morgen tot im Stall lag. Seit dieser Zeit wollen die restlichen Hühner seltsamerweise gar nicht mehr freiwillig in den Stall (außer zum fressen und Eierlegen), wenn ich sie nicht anlocke. Verwöhnte Biester halt.
Mein Pferch ist lokal begrenzt auf einen Teil des Gartens und den wechsle ich derzeit nicht. Das bedeutet, dass alles abgefressen und weg gescharrt ist, was die Natur dort anbieten könnte. Um der Abwechselung wegen und weil das dem natürlichen Verhalten entgegen kommt, füttere ich also am Tag eine Portion zusätzlich in das Gehege.
Übrigens ist dies hier nur mein Ausweichquartier für die Sonderfälle.
An einem anderen Standort habe ich mehr Hühner und einen Hahn weitaus besser geschützt mit größerem Freilauf und automatischer Fütterung. Trotz besserem Schutz verliere ich auch dort gelegentlich mal ein Huhn an Prädatoren.
Sodann: auch Kleinvieh macht Mist und auch deswegen muss man sich immer wieder um seine Hühner kümmern und ihre Anlagen säubern und frei von diversen Schädlingen halten, wie etwa den Milben, die sie durch den Kontakt mit wilden Vögeln dauernd ausgesetzt sind.
Zur Gesundheitsvorsorge gehören dann auch gelegentliche Impfungen und all das, im Grunde jede einzelne Fütterung, muss auch noch dokumentiert werden. Wir reden hier schließlich von Deutschen Hühnern.

Hühner war aber nur das eine Stichwort, das ich kurz als Alternative zur Beschäftigung mit IT-Gedöns einwerfen wollte.
Im Märzen der Bauer... meine Felder wollen gepflügt und gesät werden.
Ab 01.04. beginnt die Jagdsaison auf Rehwild, da wollen Waffen gepflegt und überprüft sein, Munition vorbereitet, Messer geschärft, Optik gereinigt und Taschenlampen mit neuen Batterien versehen sein.
Die Beete im Garten sind demnächst an der Reihe, die vorgezogenen Pflanzen stapeln sich schon im Wohnzimmer. Dabei liegen noch die Äste vom Frühjahresschnitt der Obstbäume in der Gegend herum.
Darüber, dass dann auch Ostern schon wieder im Anzug ist und ich die noble Aufgabe habe, die Fenster im Haus zu putzen, möchte ich gar nicht reden, denn das gehört ja wie die Zubereitung der täglichen Mahlzeiten zu den regelmäßigen Geschäften, die wir alle zu besorgen haben.
Kurz gesagt: jede Menge Zeugs, das nur am Rande mit IT oder Hühnern zu tun hat und was mich auch viel ausgiebiger beschäftigt.
 
... wann genau war nochmal der Zeitpunkt als das Thema von "ich hab hier ein Script, das nur mir hilft" zu "mein Huhn hat ein Ei gelegt" geschwenkt ist? :ugly:

Das soll aktuell ausdrücklich kein "kommt bitte zurück zum Thema"-Fingerzeig sein (wir sind schließlich in "Geplauder"). Da ich einige der Scripte jedoch interessant finde, verfolge ich den Beitrag und hab mich eben doch sehr gewundert, auf welche Internetseite mich mein Browser geleitet hat... :D
 
Braucht außer mir niemand, weil die meisten benutzen ein full-featured Desktop-Environment. :-)
mit scripts traue ich mich ja nie, diese zu veröffentlichen, weil ich es einfach auch nicht wirklich kann.
Allerdings habe ich ein wenig das gleiche Problem gehabt, weil ich ja kein full-featured Desktop-Environment nutze und mir dazu ausgedacht, dass ich die .desktop-Dateien, die zu vielen Programmen ausgeliefert werden, benutzen kann.
Dazu finde ich diese und kopiere sie in einen eigenen Ordner. In diesen .desktop-Dateien gibt es einen Eintrag, der mit einem Exec beginnt und da für gewöhnlich das nachfolgende Kommando innerhalb eines typischen Pfades liegt und keine weiteren Optionen braucht, starte ich einfach dieses:
Code:
#!/bin/csh

#wir wollen das ausführen, was in diesem einen Ordner liegt.
#und gehen davon aus, DESKTOP-Dateien dort zu haben.
#die finden wir zum Kopieren meist unter /usr/local/share/applications


sleep 1
LIST=$(find /usr/home/pit/.config/autostart -type f -iname "*.desktop")


for i in $(echo "$LIST")
do
$(grep -i Exec $i | sed -e 's/^.*=//') > /dev/null 2>&1 &
sleep 5
done
#sleep 1

exit 0
 
Da hier von Schrottnotebooks auch die rede war: Solltet ihr da gerade ein funktionsfähiges Modell das mit Windows 98 oder 2000 damals ausgeliefert war verschrotten wollen, hätte ich zufällig interesse.

(Also so grob Pentium II oder Pentium III Ära)
 
mit scripts traue ich mich ja nie, diese zu veröffentlichen, weil ich es einfach auch nicht wirklich kann.
Halb so wild.
In diesen .desktop-Dateien gibt es einen Eintrag, der mit einem Exec beginnt und da für gewöhnlich das nachfolgende Kommando innerhalb eines typischen Pfades liegt und keine weiteren Optionen braucht, starte ich einfach dieses:
Gibt ja so verschiedene Spezifikationen rund um Desktop-Kram von freedesktop.org. Unter anderem auch was diese .desktop-Dateien angeht.
Und da gibts unter anderem diese xdg-utils (auch unter FreeBSD verfügbar). Da sind so nützliche Tools dabei, gerade wenn man herumskriptet.
Zum Beispiel um .desktop-Dateien zu starten, kann man daraus auch xdg-open nutzen. Das spart einem dann da das Exec rauszufischen und beachtet dann auch andere Keys (z.B. Working-Directory), soweit relevant.
 
Gibt ja so verschiedene Spezifikationen rund um Desktop-Kram von freedesktop.org. Unter anderem auch was diese .desktop-Dateien angeht.
Und da gibts unter anderem diese xdg-utils (auch unter FreeBSD verfügbar). Da sind so nützliche Tools dabei, gerade wenn man herumskriptet.
Zum Beispiel um .desktop-Dateien zu starten, kann man daraus auch xdg-open nutzen. Das spart einem dann da das Exec rauszufischen und beachtet dann auch andere Keys (z.B. Working-Directory), soweit relevant.

Die xdg-utils nutze ich auch gerne, um default-apps zu setzen, z.B. xdg-settings set default-web-browser firefox.desktop.
 
Zurück
Oben