Skip to content

Das kann doch nicht so schwer sein ...

Nachdem ich jetzt fünf mal nacheinander den gleichen Fehler gemacht habe, muss ich das schnell weg dokumentieren.

16:06:27 [root@rico:/srv/www/myown-it.com] # git init .
Initialized empty Git repository in /srv/www/myown-it.com/.git/
16:06:59 [root@rico:/srv/www/myown-it.com] # git add .
16:07:08 [root@rico:/srv/www/myown-it.com] # git remote add origin gitosis@rico.yawnrz.net:www-myown-it.com.git
16:07:23 [root@rico:/srv/www/myown-it.com] # git commit -m "init"
[master (root-commit) 16540f0] init
3296 files changed, 340870 insertions(+)
...
16:07:38 [root@rico:/srv/www/myown-it.com] 1 # git push origin master
Counting objects: 3344, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3263/3263), done.
Writing objects: 100% (3344/3344), 5.47 MiB | 5.52 MiB/s, done.
Total 3344 (delta 794), reused 0 (delta 0)
To gitosis@rico.yawnrz.net:www-myown-it.com.git
* [new branch] master -> master


Ja, das ist Teil meines Backup-Konzeptes.

TeX Live 2013 ...

TeX Live 2013 ist in den vergangenen Tagen erschienen.

TeX Live ist eine der wenigen Softwaresammlungen, die ich manuell installiere und aktualisiere. Das liegt einfach daran, dass ich auf Rechnern mit verschiedenen Betriebssystemen "TeXe" und ich gerne das gleiche LaTeX auf allen Systemen einsetze, um Fehler auf allen Systemen gleich zu halten ;-)

Installation über das Internet für Linux (oder Unix) und Cygwin unter Windows geht über das gleiche Archiv (wieder einmal ein "hoch auf Perl"). Für "normales" Windows gibt es ein separates Paket und sogar eine deutschsprachige Installationsanleitung.

Aktuell hält man die Installation übrigens via:
tlmgr update --self
tlmgr update --all

Git-Repositories packen ...

So ein lebendes Git-Repository ist ziemlicher "Platzverschwender". Mein Hauptrepository, in dem alle meine Dokumente und Scans und Bewerbungen und Skripte und einfach alles liegen, wurde grösser und grösser. Zum Schluss war es bei 16 GB obwohl die "Nutzdaten" nur einen Bruchteil des Repositories ausmachten.

Zeit, einmal einen git repack anzustossen.

Wenn man das unbedarft auf ein grosses Repository loslässt, merkt man sehr schnell, wie langsam der Rechner werden kann, wenn er ins Swapping fällt. Um das einzugrenzen, sollte der Parameter --window-memory gesetzt werden. Meine Beobachtung ist, dass der pro Core gilt. Die Parameter --window und --depth geben die Tiefe und die Anzahl der Objekte für die Delta-Kompression an. -a sorgt dafür, dass alles in gross Packs gepackt wird und -d, dass obsolet gewordene Packs gelöscht werden.

Damit kann man eine Menge erreichen.

16G	ddeimeke.git
Counting objects: 19947, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7173/7173), done.
Writing objects: 100% (19947/19947), done.
Total 19947 (delta 14053), reused 17947 (delta 12645)
6.4G	ddeimeke.git


Allerdings bremst das den Rechner so aus, dass kaum noch arbeiten möglich ist, was man aber mit nice und ionice in den Griff bekommt. Ersteres sorgt dafür, dass die CPU-Benutzung limitiert wird und zweiteres tut gleiches für I/O.

In Summe resultiert das in folgendes kleine Skript.

#!/bin/bash

for i in *.git
do
        du -hsx "${i}"
        cd "${i}"
        nice -n 19 ionice -c 2 -n 7 git repack -a -d --depth=250 --window=250 --window-memory=1g
        cd ..
        du -hsx "${i}"
        echo
done

Solarized ...

Dann werfe ich gleich noch einmal ein technisches Thema nach, das passt auch ein wenig zu Liquidprompt.



Es geht um Solarized von Ethan Schoonover. Solarized ist eine Farbpalette, die aus acht monchromen Farbunterschieden und acht "echten Farben" besteht, die darauf ausgelegt sind, besonders leicht und augenfreundlich lesbar zu sein. Die Kontraste zwischen den einzelnen Farben sind gut und schmerzen nicht. Eine Alternative dazu ist Zenburn, mir gefällt Solarized aber besser.



Für weitere Screenshots verweise ich einmal auf den entsprechenden Abschnitt auf der Homepage.

Solarized gibt es für eine Reihe an Programmen, beispielsweise für das Gnome-Terminal oder für MinTTY (Cygwin, darüber habe ich hier schon einmal berichtet), für Taskwarrior oder eingebaut im Texteditor Sublime Text. Vom Autoren selber gibt es verschiedene Repositories für unterschiedliche Programme, dieses hier bündelt die einzelnen Teile adobe-swatches-solarized, apple-colorpalette-solarized, emacs-colors-solarized, gimp-palette-solarized, intellij-colors-solarized, iterm2-colors-solarized, mutt-colors-solarized, netbeans-colors-solarized, osx-terminal.app-colors-solarized, putty-colors-solarized, seestyle-colors-solarized, textmate-colors-solarized, textwrangler-bbedit-colors-solarized, vim-colors-solarized, visualstudio-colors-solarized, solarized-gedit, solarized-qtcreator, xchat-colors-solarized, xfce4-terminal-colors-solarized und xresources.

Solarized gibt es mit einem hellen und einem dunklen Hintergrund und die Umstellung ist mir relativ schwer gefallen, weil die Farben nicht so kräftig sind, wie die, die ich normalerweise auf dem Bildschirm habe. Aber es ist deutlich ermüdungsfreier, mit einer reduzierten Farbpalette zu arbeiten.

Liquidprompt ...

Zur Abwechslung mal wieder etwas technisches.

"Drüben" in Google+ hat Christian das Repository liquidprompt empfohlen. Liquidprompt setzt sehr komfortabel den Shell-Prompt für die bash oder zsh. Dabei sammelt sie Informationen aus vielen verschiedenen Quellen, beispielsweise die Uhrzeit, den Batteriestatus (von grün nach rot), die Systemlast (load), Temperatur, den Status des Versionskontrollsystems, einen grünen Doppelpunkt für Schreibrechte im aktuellen Verzeichnis (sonst rot), und, und, und ...

Die "Installation" ist sehr einfach (bei mir sind alle Repositories unterhalb von workspace):

cd ~/workspace
git clone https://github.com/nojhan/liquidprompt.git liquidprompt.git

Ich folge damit auch einer Anregung von Federico, der alle Verzeichnisse, die git-Repositories enthalten auf .git enden lässt.

Aktiviert wird liquidprompt durch

source ~/workspace/liquidprompt.git/liquidprompt

Sollte man mit den Einstellungen einverstanden sein, ist nichts weiter zu tun.

Wenn man aber Änderungen vornehmen will, kopiert man die Datei mit den Voreinstellungen und nimmt dort Änderungen vor.

cp ~/workspace/liquidprompt.git/liquidpromptrc-dist ~/.liquidpromptrc
vim ~/.liquidpromptrc
source ~/workspace/liquidprompt.git/liquidprompt

So, habe ich beispielsweise, die Uhrzeit mittels LP_ENABLE_TIME=1 aktiviert und Versionskontrollsysteme, die ich nicht benutze deaktiviert. Es macht sich besonders unter Cygwin bemerkbar, wenn zu viele Optionen aktiv sind, unter Linux ist das meiner Beobachtung nach kein Problem.

Wenn alle Einstellungen zur Zufriedenheit getroffen sind, braucht nur die Zeile an die ~/.bashrc oder ~/.zshrc angehängt werden. Die Webseite enthält eine ausführliche Beschreibung aller Optionen und auch eine Beschreibung, wie man die Farben anpassen kann.

SmokePing ...

SmokePing ist ein kleines und feines Monitoring-Tool, was Netzwerklatenzen überwacht. Dazu sendet es 20 Pings nacheinander und schaut sich die Zeiten an, die die Pings brauchen, um zurück zu kommen. Die Zeiten werden via RRD gespeichert und grafisch dargestellt. Der Mittelwert zeigt sich in grün und die Abweichungen vom Mittelwert in verschiedenen Graustufen, dabei entsteht der Eindruck einer Wolke (oder Rauch).



Das obige Bild zeigt die Pings zu meinem root-Server über drei Stunden.

Mit SmokePing kann man Netzwerkschwierigkeiten feststellen, wofür ich es auch seit sehr langer Zeit nutze. Allerdings sollte man wenigstens zwei Ziele an verschiedenen Stellen im Netz überwachen, der Server, auf dem Smokeping läuft, könnte auch Schwierigkeiten haben.

Last not least möchte ich erwähnen, dass man damit - in Verbindung mit free.domain.name (vormals DynDNS) - auch wunderbar die Verfügbarkeit des eigenen Internetzugangs prüfen kann.

Silverlight? Echt jetzt?

Wir haben seit Ende letzten Jahres ein Pferd, es ist multiplattformfähig und heisst Java (ja, tatsächlich). Sie ist aus dem Tierschutz und bekommt gerade eine gute Kinderstube auf der Fohlenweide des Wauwilermoos. Bei Pferden macht "man" das so, ich habe davon keine Ahnung.

Als neugebackene Pferdebesitzer müssen wir das Tier auch bei Agate registrieren. Klar. Unsere Hunde mussten wir auch registrieren (hier heisst das ANIS) und das lief über den Tierarzt.

Ich halte von den Ämtern und Behörden in der Schweiz sehr viel. Ich bin noch nie unfreundlich behandelt worden, die auf den Ämtern arbeitenden Leuten waren immer sehr zuvorkommend. Was die sich aber hier erlaubt haben, schlägt dem Fass die Krone ins Gesicht.

Das Portal Agate basiert auf Microsoft Silverlight und lässt sich auch nur über den Internet Explorer benutzen, Versuche mit der Silverlight-Portierung auf Linux namens Moonlight sind fehlgeschlagen. Entschuldigt die harten Worte, aber wer hat denen ins Hirn geschissen, welcher Entscheider hat da Mist gebaut? Für ein öffentliche Seite auf eine proprietäre Lösung zu setzen, bei der man nicht weiss, wie lange sie leben wird und die nicht von allen Rechnern ausgeführt werden kann, ist sehr grosser Schwachsinn. Ihr habt das Web nicht verstanden.

In den Fragen und Antworten heisst es lapidar:
Ich habe keinen Internetzugang. Wie kann ich mein Pferd registrieren?
Die Registrierung ist nur elektronisch auf www.agate.ch möglich. Führen Sie die Registrierung zusammen mit einem Verwandten oder Bekannten durch, welcher Internetzugang hat. Sie können auch jemanden beauftragen, die Registrierung für Sie vorzunehmen – etwa den Besitzer des Pensionsstalles.
Es gibt also noch nicht einmal einen Fallback über Papier oder persönliche Vorstellung beim Amt.

Das ist echt grosser Mist.

Übrigens ist das auch der Grund, weshalb ich gerade auf der Suche nach einer Windows 7 ultimate Lizenz bin, die darf auch in bis zu vier virtuellen Maschinen eingesetzt werden.

Nachtrag wegen Fehlinformation: Um vier virtuelle Windows-Instanzen verwenden zu können, braucht es eine VECD-Lizensierung, Erklärung hier. Ich habe das mit Ultimate und den vier Instanzen irgendwo falsch aufgeschnappt und bekomme das seit dem nicht mehr aus dem Kopf.

VLC und UPnP ...

VLC ist mein bevorzugtes Medienabspielprogramm. Ja, auch für Audio und ja, ich weiss, dass es dafür bessere Clients gibt. Aber VLC bietet alles, was ich brauche und das auch noch auf allen Plattformen, die ich benutze.

Einzig manche Menüpunkte sind sehr versteckt.

Unser Router und auch unser NAS können als DLNA-Server fungieren und so via UPnP Medien im Netz verteilen. Mit VLC erreicht man diese Server über View / Playlist / Local Network / Universal Plug'n'Play, da kann aber drauf kommen, oder?

Grmpf!

Alte Hardware verschenken ...

Anstelle von guten Vorsätzen oder anderen Dingen, die "man zum neuen Jahr so macht", möchte ich mit diesem Posting auf den neuen Dienst Hardware für alle hinweisen.
Bedingungslos gescheite Hardware für Alle!

Das Internet ist nicht nur ein Stück bequeme Technologie, es ist ein zentraler Bestandteil unseres Lebens. Es bietet jedem die Möglichkeit zur Teilhabe - erfordert dafür aber einen eigenen Computer. Nicht jeder kann sich ein eigenes Notebook oder ein eigenes Smartphone leisten, während bei anderen Vorgängermodelle unbenutzt im Schrank liegen. Warum damit nicht einander helfen? Wenn du einen Computer hast, der noch funktioniert, das du selbst nicht mehr benutzt und du bereit bist ihn kostenlos weiterzugeben oder gerade selbst dringend ein Gerät benötigst, melde dich einfach mit deinem Twitter-, Facebook-, Google- oder GitHub-Konto an, trag Geräte ein oder nehme mit einem Klick Kontakt mit einem Anbieter auf. Das ganze kostet nichts - Hardware für Alle ist keine Kleinanzeigenbörse, sondern eine Plattform, die Menschen dabei helfen soll, sich gegenseitig zu helfen.
Sobald ich unsere Netbooks gelöscht habe, werde ich sie auch dort einstellen.

Doch Horde ...

Nichts ist so beständig wie die Änderung.

In diesem Artikel schrieb ich, dass sich die Verwaltung von Horde Groupware Webmail Edition für einen einzigen User nicht lohnt. Nun, ich habe mich geirrt. ;-) Nach drei Wochen Roundcube habe ich doch einige Features von Horde sehr vermisst. Allen voran die Filterung der E-Mails und das Adressbuch.

Sumatra PDF ...

Hier einmal eine Anwendungsempfehlung für Windows: Sumatra PDF ist ein Open-Source-PDF-Betrachter für Windows, der wahnsinnig schnell ist. Das Hauptaugenmerk liegt auf der Anzeige von PDFs und nicht auf einer unüberschaubaren Anzahl von Features. Genauso wie den Betrachter Evince, den es übrigens auch für Windows gibt, blockt Sumatra nicht das Schreiben der Datei, die gerade angezeigt wird. Das ist gerade für LaTeX sehr interessant, da man den PDF-Reader nicht ständig beenden muss, wenn man einen LaTeX-Lauf durchführt.

Sowohl Evince wie auch Sumatra PDF gibt es bei den Portable Apps.

Trac 1.0 ...

Huch, so heimlich still und leise hat Version 1.0 von Trac das Licht der Welt erblickt. Das Update (nach Backup!) funktionierte bei mir problemlos.

easy_install --upgrade Trac
trac-admin /srv/trc/deimhart upgrade
trac-admin /srv/trc/deimhart wiki upgrade
trac-admin /srv/trc/deimhart deploy /srv/trc/deimhart/deploy
apache2ctl graceful

Die Pfade werden bei Euch andere sein.

Mit Servern beginnen ...

Ausgangspunkt ist dieses Posting auf Google+, in dem Stefan auf einen etwas älteren Artikel hinweist, in dem es darum geht, dass man ohne Vorwissen besser keinen root-Server (oder vServer) betreiben sollte.

Auch wenn der Ton im Artikel falsch ist, gebe ich dem Autoren in der Sache Recht.

Heutzutage kann jeder dank Virtualisierung auf einem halbwegs aktuellen Rechner Gehversuche mit Servern machen und Erfahrungen sammeln bevor er sich an ein Gerät wagt, was im Internet vielen "Gefahren" ausgesetzt ist. Man bekommt das Wissen nicht alleine durch das Lesen von Artikeln im Internet, man muss es auch anwenden. In dem Zusammenhang weise ich gerne mal wieder auf die Diktatur des schönen Scheins hin.

Als Einstieg in die Servermaterie empfehle ich folgende beide Bücherdoppel:

Addison-Wesley:
Linux 2012
Linux-Administrationshandbuch

Analog dazu bei Galileo Computing:
Linux. Das umfassende Handbuch
Linux-Server. Das Administrationshandbuch

Grundlagenwissen veraltet nicht so schnell, es kann sich lohnen, auch mit älteren gebrauchten Büchern zu beginnen. Danach kommen dann Fachbücher zu spezifischen Themen.

Farbe in in mintty ...

Mintty ist das Terminal Window, das Cygwin benutzt und seit einigen Jahren eine echte Bereicherung in der Cygwin "Toolchain". Im Büro bin ich ja leider auf Windows angewiesen und Cygwin leistet doch einiges mehr als PuTTY.

Die Tipps beschreiben, wie man die Farben in mintty setzen kann. Für Solarized, einer Augen schonenden Farbpalette gibt es sogar ein Repository bei Github, das man nutzen kann.

Wem das Ganze zu bunt ist, der kann mit folgenden Befehlen (einfach in ein Shellscript schreiben), wieder zurücksetzen:
echo -ne '\e]4;0;#000000\a'   # black
echo -ne '\e]4;1;#BF0000\a'   # red
echo -ne '\e]4;2;#00BF00\a'   # green
echo -ne '\e]4;3;#BFBF00\a'   # yellow
echo -ne '\e]4;4;#0000BF\a'   # blue
echo -ne '\e]4;5;#BF00BF\a'   # magenta
echo -ne '\e]4;6;#00BFBF\a'   # cyan
echo -ne '\e]4;7;#BFBFBF\a'   # white (light grey really)
echo -ne '\e]4;8;#404040\a'   # bold black (i.e. dark grey)
echo -ne '\e]4;9;#FF4040\a'   # bold red
echo -ne '\e]4;10;#40FF40\a'  # bold green
echo -ne '\e]4;11;#FFFF40\a'  # bold yellow
echo -ne '\e]4;12;#6060FF\a'  # bold blue
echo -ne '\e]4;13;#FF40FF\a'  # bold magenta
echo -ne '\e]4;14;#40FFFF\a'  # bold cyan
echo -ne '\e]4;15;#FFFFFF\a'  # bold white

echo -ne '\e]10;#BFBFBF\a'  # Foreground (light grey)
echo -ne '\e]11;#000000\a'  # Background (black)
echo -ne '\e]12;#00FF00\a'  # Cursor (green)


Einfach in die Datei reset-color.bash schreiben, ausführbar machen und mittels source reset-color.bash ausführen.

Ich habe mir vier Aliases definiert, die das für mich übernehmen:
alias dark='source /home/ddeimeke/workspace/mintty-colors-solarized.git/mintty-solarized-dark.sh'
alias light='source /home/ddeimeke/workspace/mintty-colors-solarized.git/mintty-solarized-light.sh'
alias white='source /home/ddeimeke/bin/white.bash'
alias black='source /home/ddeimeke/bin/black.bash'