laptop-mode-tools braucht eigtl. acpid um darauf zu reagieren wenn man den AC-Adapter ein- oder aussteckt. (Um eben die entsprechenden Settings zu applyen). acpid ist aber total bloat dafür, denn es geht auch einfach so:
Der Code-Schnippsel-Thread
-
-
-
-
Script um in mit Verbindung mit dem ievd das Notebook-Display nach einer bestimmten Zeit zu dimmen:
bin/brightness-toggle at master from lukasg's dotfiles - GitHub
-
-
Explorer-Icon-Cache unter NT >= 5.0 regenerieren:
Code
Alles anzeigen@ECHO OFF REM Rebuild Icon Cache.cmd VER | FINDSTR /IL "5." > NUL IF ERRORLEVEL 1 ( CD /D "%userprofile%\AppData\Local" ) ELSE ( CD /D "%userprofile%\Lokale Einstellungen\Anwendungsdaten" ) DEL /A IconCache.db TASKKILL /F /IM explorer.exe START explorer.exe
Meine relativ plattformübergreifende .vimrc:
Code
Alles anzeigen" DUV – DosAmp’s unified vimrc " Revision 20100926.1 " Lamers gonna lame. if v:progname =~? "evim" finish endif " Willkommen im 21. Jahrhundert. " FIXME: enc=utf-8 macht die Umlaute im deutschen Vim unter Windows kaputt. D: set enc=utf-8 set fencs=ucs-bom,utf-8,default,latin1 " schöne Farben und Formen in GVIM setzen if has("gui_running") if has("gui_win32") " Nun gut, über Geschmack lässt sich streiten. set gfn=Consolas:h10 colo delek endif if has("gui_gtk2") " Über Intuition auch. set gfn=DejaVu\ Sans\ Mono\ 10 endif syntax on endif " TODO (auch für 'blankes' vim): 'bg' und Syntax abhängig von &term setzen " z. B. if &term == \"someterm\" set bg=dark " unter Windows NT lagert man besser nach %temp% aus if has("win32") || has("win64") set dir=.,$TEMP endif " Nicht umsonst benutze ich Vim als Programmierer-Editor. set ai " Binären Quark hexadezimal statt als Steuerungssequenzen anzeigen. set dy=uhex " Zeichenlöscher ohne Grenzen! set bs=indent,eol,start " Live- (a.k.a. inkrementelle Suche) laggt manchmal ein bisschen "set is " immer die Cursorposition anzeigen (für 'Wo bin ich?' reicht auch Strg+G) "set ruler " Wer braucht schon den Ex-Modus, wenn man auch E-Mails in Vim schreiben kann? map Q gq " Strg+U kann im Einfügemodus viel kaputt machen. " Aber es gibt einen kleinen dreckigen Hack, um es rückgängig machen zu können. inoremap <C-U> <C-G>u<C-U>
(Sorry, einiges davon ist einfach so aus der vimrc.example geklaut. ;)) -
wenn man vim nur produktiv nutzen könnte
-
Kann man, aber nur mit einem Tilling WM.
-
-
-
Mein erstes C-Programm seit langem sieht etwa so aus.
C
Alles anzeigen#include <stdio.h> #include <stdlib.h> /* nur dem exit() zuliebe :P */ #undef DEBUG /* wenn benötigt define’n */ #define MAX_NAME_LENGTH 30 #ifdef DEBUG #include <string.h> #endif void sorry() { fprintf(stderr, "Sorry, ich hab dich nicht verstanden.\n"); exit(1); } int main() { char name[MAX_NAME_LENGTH]; #ifdef DEBUG fprintf(stderr, "Der C-String ist an Adresse 0x%.8X zu finden.\n", (int) name); #endif puts("Gib deinen Namen ein: "); if (fgets(name, MAX_NAME_LENGTH, stdin) == NULL) sorry(); #ifdef DEBUG printf("Größe des Strings: %i\n", (int) strlen(name)); #endif /* XXX: Zurückgegebene Newlines durch \0 ersetzen und damit String abschneiden * Wie funktioniert so etwas wie chomp() bei Perl elegant unter C? */ { int i = 0; while (i < MAX_NAME_LENGTH) { if (name[i] == 10) { /* \n */ name[i] = 0; if (i > 0) break; else sorry(); } else if (name[i] == 0) break; i++; } } /* Wir haben fertig. */ printf("Hallo, %s!\n", name); return 0; }
-
-
-
Von oreissig beigesteuertes Beispiel zum Thema „Warum Java doof ist“:
CodeString testtext = "\\u\\test.txt"; System.out.println(testtext.replaceAll("\\\\u", System.getProperty("user.dir").replaceAll("\\\\", "\\\\\\\\")));
EDIT: Wie aber gandro schreibt, kann man sich eine Verdopplungsstufe der Backslashes mittels Pattern.quote() sparen. -
Passt nicht 100% hier rein, aber egal:
Habt ihr schon mal was von bash -u gehört:
[DRBD-user] Drbd resource return 20 (unspecified)
Wird hier erklärt:
Writing Robust Bash Shell Scripts
Nette Sache, kannt ich garnicht.
-
Hm. Generell toller Artikel. Gleich mal bookmarken und durchlesen.
-
Das CGI-Skript auf meinem Server, das Ausgaben für ein Ajax-JS erledigt. Sollte ich in nächster Zeit mal wenigstens auf Perl oder ähnlich portieren, weil die Performance wirklich unterirdisch ist (≈250 ms, wovon allerdings ein Großteil auf boinccmd entfällt). :>
Code
Alles anzeigen#!/bin/dash PARENT=$(ps h -p $PPID -o command) # wenn wir von nojs.sh aufgerufen werden, wollen wir diesen Header nicht noch mal mitten in der Ausgabe if test ${PARENT%% /*} != /bin/dash; then echo "Content-Type: text/html; charset=UTF-8" echo fi unset PARENT echo "<h2>Thermische Informationen</h2>" echo "<p><em>Anmerkung:</em> <code>fan1</code> bezeichnet den Gehäuse-, <code>fan2</code> den CPU-Lüfter.</p>" echo -n "<pre>" sensors | grep -e ^fan[12] -e '^[CM].. ' | tr "+." " ," | sed -e 's/\(.*RPM\) .*$/\1/' echo "</pre>" echo "<h2>BOINC</h2>" TEMPFILE=$(mktemp) boinccmd --get_simple_gui_info 2>/dev/null >$TEMPFILE if test -s $TEMPFILE; then LINE=$(grep -nE '^={8} Results' $TEMPFILE | cut -d: -f1); LINE=$((LINE+1)) tail -n +$LINE $TEMPFILE | grep -e ^[0-9]*\) -e '^\s*report' -e '^\s*ready to report' \ -e '^\s*current CPU time:' -e '^\s*fraction done:' -e '^\s*estimated CPU time' | \ sed 's/^\([0-9]\)*).*$/<\/pre>\n<h3>Aufgabe \1<\/h3>\n<pre>/;s/^\s*//' | \ tail -n +2 # um das <pre></pre> vor der ersten Aufgabe zu unterdrücken echo "</pre>" else echo "<p>BOINC läuft gerade nicht.</p>" fi rm -f $TEMPFILE unset TEMPFILE LINE
Ich nehm im Übrigen in diesem Fall (da)sh einerseits aus Performance-Gründen und andererseits, um mal bewusst auf Bashims zu vermeiden und bourne-kompatibel zu bleiben.
-
Würfel v1.5, in kürze auch für den C64:
Code
Alles anzeigenPROGRAM:WUERFEL :Disp "WUERFEL V1.5" :Disp "Anzahl der","Würfelzahlen?" :Prompt A :Disp "Zahlen auf dem","Würfel?" REM ne bessere formulierung ist mir nicht eingefallen; falls jemand das nicht kapiert nacher sieht mans am Quelltext :Prompt B :Lbl A :ClrHome REM aka Clear Screen :Disp randInt(1,B,A),"WEITER: ENTER" :Repeat K≠0 :getKey➙K :End :If K=105:Goto A
-
aber bitte mit SID
-
Code
Alles anzeigenimport urllib, re, sys DOWNLOAD_PATH="D:\\z0r\\" def dotter(blockcount, blocksize, totalsize): # Dummy-Eventhandler fuer urlretrieve(). Simuliert Gefuehl von Taetigkeit. sys.stdout.write(".") lastloop=None try: nh = urllib.urlopen("http://z0r.de/info") except URLError: sys.stderr.write("Fehler beim Verbindungsaufbau zu z0r.de!\n") sys.exit(1) for stri in nh.readlines(): if stri.find("Insgesamt gibt es zur Zeit") > -1: match = re.search("zur Zeit (\d+) Flashloops", stri) if match.lastindex == 1: lastloop = int(match.group(1)) nh.close() if lastloop is None: sys.stderr.write("Konnte Anzahl der Flashloops nicht extrahieren!\n") sys.exit(2) for flash in range(lastloop): url = "http://z0r.de/L/z0r-de_" + repr(flash) + ".swf" fname = DOWNLOAD_PATH + "z0r-" + repr(flash) + ".swf" sys.stdout.write("Downloading " + fname + " ") urllib.urlretrieve(url, fname, dotter) sys.stdout.write("\n")
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!