10. March 2010
Der Fehler ist nun behoben. Vielleicht ist einigen aufgefallen, dass der Header weg war. Ich habe leider erst zu spät gemerkt das der Fehler existiert und habe am Design herumgewerkelt
Da man nicht speichern konnte, musste mein Blog vorübergehend ohne Header auskommen.
Von Kai am 10. March 2010 09:11 CET
Momentan sind einige Funktionen des Blogs eingeschränkt und es kann zu einem Error kommen. Bitte nicht in Panik geraten. Mir sind die Fehlermeldungen bekannt und versuche diese auszuschalten (so gut wie möglich).
Der Fehler wird hoffentlich bald behoben. Naja auf ein baldiges Lesen 
Kai.
Von Kai am 10. March 2010 08:00 CET
09. March 2010
Als ich Silvester mit einigen Leuten in Westernohe war, hat es angefangen, wir haben uns über Sachen gedanken gemacht, die total bekloppt sind, aber irgendwie auch nicht. Wir haben uns halt fragen überlegt, die wir so nicht beantworten können, aber vielleicht Gallileo Mystery oder ähnliches.
Gestern bin ich dann in einem Gespräch wieder auf soetwas gestoßen (wo ich allerdings die frage nicht mehr weiß
) und habe mir gedacht man müsste die ganzen Sachen ja mal aufschreiben.
Dieser Blog eintrag soll eine Art Liste werden, wo “kranke” fragen aufgelistet werden. Wenn ihr auch noch fragen habt, dann nur her damit in den Kommentaren!
- Was ist eigentlich der unterschied zwischen Plätzchen und Keksen?
- Bekommt man vom Sex ausdauer? Und kann sich soetwas auf Streckentauchen auswirken? (Sehr wichtige frage
)
- …
Wir hatten noch viel mehr, aber irgendwie fällt mir grade nichts ein, naja ich werde das hier bei gelegenheit erweitern und hoffe mal auch von euch kommen lustige (spannende) fragen.
Von André am 09. March 2010 14:29 CET
08. March 2010
So! Ab sofort gibt es hier im Blog auch Syntax Highlighting.
Möglich macht das SHJS:
SHJS is a JavaScript program which highlights source code passages in HTML documents. Documents using SHJS are highlighted on the client side by the web browser.
Auf Serverseite erledigt folgendes Stück Code die Arbeit:
html = Nokogiri::XML.parse(html_code)
html.css('pre').each do |pre|
pre.css('code').each do |code|
out = code.text
lines = out.split("\n")
if lines.first[0, 3] == '@@@'
lang = lines.shift.gsub('@@@', '').strip
pre.set_attribute('class', 'sh_' + lang)
code.content = lines.join("\n")
end
end
end
Das habe ich aus dem Code zu showoff:
showoff.rb:86
Als Grundlage für das Layout habe ich das Theme "ide-devcpp" genommen und modifiziert.
Die modifizierte Version könnt ihr ja einfach aus dem production-System nehmen: sh_vibrantink_like.css.
Angelehnt ist das Theme an das vim-Colorscheme vibrantink.
Von badboy_ am 08. March 2010 20:54 CET
BuddyPress ist eine Pluginsammlung, die aus einer WordPress-Installation ein leistungsfähiges soziales Netzwerk aufbaut. Der Funktionsumfang ist vergleichbar mit dem bekannter sozialer Netzwerke wie Facebook. Nutzer interagieren durch eine Art „Aktivitätsstream“ wie bei Twitter und Gruppen mit Gruppenforen.
Nach Belieben kann auch eine weitere externe Forenkomponente installiert werden. Sowohl Gruppenforen, als auch das externe Forum werden mit der Forensoftware bbPress (basierend auf WordPress) realisiert.
Dieses Tutorial beschreibt die Installation eines Sozialen Netzwerkes mit BuddyPress mit der bereits integrierten Komponente der Gruppenforen. Dazu wird in diesem Beispiel ein unabhängiges Forum installiert, welches sich die Cookies und die Benutzerdatenbank mit BuddyPress teilt.
Die Installation, die hier vorgenommen wird, kann hier angesehen und ausprobiert werden:
http://buddypress.pytalhost.com und http://buddypress.pytalhost.com/forum
Nutzer: test
Passwort: test
Ich installiere BuddyPress unter WordPress MU, daher kann es für WordPress leichte Abweichungen geben, prinzipiell ist es für WordPress aber einfacher.
Dieses Tutorial gilt für BuddyPress 1.2.1 und bbPress 1.0.2
Inhalt:
- Voraussetzungen
- Installation von WordPress oder WordPress MU
- Installation und Einrichten von BuddyPress
- Installation und Einrichten von bbPress
- Weiterführende Links
1. Voraussetzungen:
Benötigt wird Webspace (eigener Server oder shared space) mit MySQL und PHP. Die Daten sollten mit einem FTP-Programm wie FileZilla hochgeladen werden. Die Installation erfolgt über einen aktuellen Webbrowser. Änderungen an Dateien werden mit einem Texteditor vorgenommen (Word ist keiner!).
Weiterhin sollte man sich zuerst entscheiden, ob man WordPress MU (Multi-Blog-Variante) oder WordPress (normales WordPress Blog) als Grundlage für die Installation nutzt.
2. Installation von WordPress oder WordPress MU:
Zuerst muss WordPress oder WordPress MU heruntergeladen werden. Das Archiv wird entpackt und der Inhalt des Ordners auf den Webspace geladen. Dann wird die URL im Browser aufgerufen, es erscheint ein Installationsformular, welches auszufüllen ist. Da die Installation an sich inzwischen sehr einfach ist, werde ich hier nicht näher darauf eingehen.
Ist die Installation abgeschlossen, sollte man sich die wp-config.php herunterladen. Diese Datei wird bei der Installation und der Einrichtung von bbPress benötigt.
3. Installation und Einrichten von BuddyPress:
BuddyPress kann direkt über das Backend installiert werden. Bei WordPress MU ist es sinnvoll, zuerst das Pluginverzeichnis zuzulassen (über „Site-Admin -> Options“). Über „Plugins -> Add New“ wird nun BuddyPress gesucht und installiert (nicht aktiviert!), danach wird das Plugin unter „Installed“ site wide aktiviert.
Unter „Themes“ ist nun das Theme „BuddyPress Default 1.2.1″ zu finden, dieses sollte aktiviert werden.
BuddyPress ist installiert und läuft. Wenn Gruppenforen gewünscht sind, kann nun die Forenkomponente per Klick installiert werden:
BuddyPress -> Forums Setup -> Setup a new bbPress installation -> Complete Installation
Es lohnt sich nun, BuddyPress durch eigenes Erkunden sowohl im Backend-Bereich, als auch im Frontend-Bereich kennen zu lernen.
4. Installation und Einrichten von bbPress:
bbPress ist eine auf WordPress-Code basierende Foren-Lösung. Sie muss zuerst heruntergeladen, entpackt und in ein Unterverzeichnis auf dem Webspace (beispielsweise /forum) hochgeladen werden. Die bb-config-sample.php muss vor dem Hochladen manuell ausgefüllt werden, wenn in einem übergeordneten Verzeichnis bereits eine BuddyPress-Installation vorhanden ist. Es müssen die Datenbank-Verbindungsdaten engegeben werden (Zeile 14-31), danach muss die Datei als bb-config.php abgespeichert und ins Forenverzeichnis geladen werden.
Nun wird die URL des Forums aufgerufen, es erscheint ein Installationsformular.
Um mit der Installation zu beginnen, muss „Go to step 1″ bestätigt werden. Da die Datenbankverbindung schon in die bb-config.php ingetragen ist, kann auch dieser Schritt bestätigt werden.
Jetzt wirds etwas komplizierter. Schritt 2 beinhaltet die Integration des Forums. Der Haken „Add integration settings“ muss also gesetzt werden, danach der bei „Add cookie integration settings“.
WordPress und Blog Adresse sind in diesem Fall die selbe (URL, unter der die BuddyPress-Installation zu erreichen ist). Nun müssen Daten aus der in Punkt 2 heruntergeladenen wp-config.php eingetragen werden (Zeile 51-67).
Nachdem die Keys und Salts eingetragen sind, muss nun noch die Datenbank geteilt werden. Dafür muss der Haken bei „Add user database integration settings“ gesetzt werden, es klappt wieder ein auszufüllendes Formular auf.
User database table prefix ist in den meisten Fällen (und unserem) wp_, kann also unverändert gelassen werden. Primary blog ID ist bei einer Fabrikneuen Installation (wie hier) meistens 1.
Die „Advanced database settings“ benötigen wir nicht, daher wird die Integration nun mit einem Klick auf „Save WordPress integration settings“ beendet.
Schritt 3 betrifft nun das Forum an sich. Zuerst muss der Name des Forums eingetragen werden (kann später geändert werden), dann der Keymaster (also Administrator) ausgewählt (bei uns admin).
Um die Datenbank erstellen zu können, wird auch der Name des ersten Forums gebraucht. Auch dieser kann nachher einfach geändert werden.
Mit „Save site settings“ ist die Installation beendet, „Complete the installation“ schließt sie ab.
Um die Cookies komplett zu teilen, sind noch ein paar Einstellungen sowohl in bbPress, als auch in BuddyPress notwendig:
Nun loggen wir uns in die Foreninstallation ein (mit dem BuddyPress-Benutzernamen) und klicken unter „Settings“ auf „WordPress Integration“. Dort legen wir die Benutzerrollen fest (was beispielsweise ein WordPress-Author für Rechte in bbPress hat). Weitere Formularfelder sind bereits ausgefüllt, daher klicken wir „Save changes“.
Jetzt wechseln wir zur BuddyPress-Installation und gehen zu „Plugins -> Add New“, suchen dort das Plugin „bbPress integration“, installieren und aktivieren es. Dann wechseln wir zu „Settings -> bbPress Integration“. Dort wird die komplette URL zum Forum eingegeben, die Plugins URL kann leer gelassen werden, als „WordPress type“ wählen wir „WordPress MU“ und klicken „Save Changes“. Auf der gleichen Seite erscheint in dem grauen Kästchen nun ein Codeschnipsel, der in die wp-config.php kopiert werden muss (am besten vor die Zeile 110: /* That’s all, stop editing! Happy blogging. */).
Die wp-config.php muss nun wieder hochgeladen werden, vermutlich müssen wir uns danach neu einloggen.
Fertig! Wenn wir uns im Forum einloggen, sind wir gleichzeitig auch bei BuddyPress eingeloggt, wenn wir uns bei BuddyPress anmelden, sind wir auch im Forum angemeldet.
5. Weiterführende Links
Von wemaflo am 08. March 2010 18:44 CET
07. March 2010
Sie etwa nicht? Aber bald. Denn die Deutsche Telekom mag anscheinend Konzernumbenennungen noch mehr, als bisher angenommen.
Es gab ja mal die Deutsche Telekom, wahrlich kein schöner Name. Und so irreführend und nicht zeitgerecht… Also macht man T-Com draus. Klingt gleich besser. Okay, aber nach ein paar Jahren ist auch das altbacken, vielleicht lieber T-Home?
Es gab da doch auch das Mobilfunknetz der Telekom: D1 Telekom. Schlecht zu merken, also nennt man es in T-D1 um. Oder vielleicht doch T-Mobil? Nein, das ist deutsch und wenig fortschrittlich. Also T-Mobile.
Aber wer kann sich das merken? Sie? Dann sind sie eine Ausnahme. Wäre ein einziger Name für alle Sparten des Konzerns nicht viel Prägnanter? Das wäre doch revolutionär! Nennen wir den Konzern doch „Deutsche Telekom“! Nein, noch besser: Nennen wir ihn „T“!
Auf der CeBIT wurde diese Neuerung nun vorgestellt. Man werde „in Deutschland nur noch eine Angebotsmarke haben: das ‚T‘“. Also zurück in die Zukunft quasi.
Meine Meinung zu der ewigen Umbenennerei: Wer redet denn heute von T-Home und T-Mobile? Für die meisten ist der Konzern doch immernoch die Deutsche Telekom, oder? Zumindest so lange, wie auf den Firmenautos noch groß „Deutsche Telekom“ zu lesen ist. Wird man dann das „T“ annehmen?
Wirklich revolutionär wäre es, wenn die Telekom nur noch einen Hauptvertrag hätte: Für vielleicht 60€ einen Festnetzanschluss mit Internetflatrate und SIM-Karte mit Festnetztarif. Also quasi Telefon und Internet unabhängig davon, ob man es zuhause oder mobil nutzt.
Von wemaflo am 07. March 2010 08:56 CET
05. March 2010
Endlich ist es so weit, die dritte Alpha von Ubuntu 10.04 ist erschienen. Damit wird endlich auch das “Human” Thema abgelöst, was vorher immer für warme Brauntöne bei dem Gnome -Desktop von Ubuntu sorgte. Alle Gnomefans werden aber enttäuscht sein, denn es wird noch kein Gnome 3 in Lucid Lynx geben. Aber Lucid Lynx hat Long Term Support, was heißen kann das im laufe der Supportjahre womöglich Gnome 3 noch hinzu kommen kann. Am 18. März wird es auch die erste Beta geben und Ende April das offizielle Release.
Neu unter der Haube ist der Austausch von HAL gegen Devicekit (Interessant, zur Zeit in Gentoo noch durch keyword maskiert, vielleicht lohnt sich ja für mich auch ein Wechsel bei Gentoo von HAL zu Devicekit). Außerdem wird der Treiber nv durch nouveau ersetzt. DRI ist aber mit nouveau trotzdem nur experimentell möglich (Wie das geht ist hier auf englisch erklärt).
Wer sich Ubuntu herunterladen möchte schaut mal hier
(Ich werde trotzdem weiterhin bei Gentoo bleiben :D)
05. March 2010 19:05 CET
28. February 2010
Okay, eigentlich nur eine. In den nächsten Folgen gibts nämlich vielleicht ein neues Segment, zusätzlich zum nicht vorhandenen Inhalt. Und ein neues Seitendesign kommt demnächst auch noch. Aber für diesmal nur Recordertest und geheimnisvolles Geräusch.
Teilnahmebedingungen die sowieso keiner liest:
- Zu gewinnen gibt es einen handgefertigten Disketten-Stiftehalter in Wunschfarbe und, falls erwünscht, Podcastination-Aufkleber.
- Teilnehmen kann jeder der Lust dazu hat.
- Ausgenommen sind Familienangehörige und Leute die die Lösung schon vor dieser Episode wussten.
- Zur Teilnahme ist ein Kommentar mit gültiger Mail-Adresse erforderlich.
- Es zählt der erste Kommentar zu dieser Episode mit der richtigen Lösung.
- das heißt: Lösungseinseungen per Mail, IM, Twitter etc. zählen nicht!
- Die Aktion hier ist zuende, sobald der erste Kommentar mit der richtigen Lösung eintrudelt, hierbei zählt die Uhrzeit des Empfangs.
- Der Rechtsweg ist ausgeschlossen.
Von Tim am 28. February 2010 20:06 CET
Gestern wollte meine Datenbank nicht, deswegen war mein Blog kurz- oder längerfristig nicht erreichbar. Wie lange genau weiß ich nicht, weil ich keine Zeit hatte, das zu überprüfen und mir gedacht habe, dass es von selber irgendwann schon wieder gehen wird (hatte ja nichts verändert). Verpasst hat wahrscheinlich auch keiner was, ich habe ja nichts geschrieben und heute ist alles wieder gut. So mag ich das!
Ich habe jetzt übrigens einen Drucker. Der Zufall hat mir einen alten Epson in die Hände gespielt. Der wird dann nun so bald wie möglich installiert und ich werde berichten.
Schönen Sonntag wünsche ich euch!
Von Mädchen am 28. February 2010 14:40 CET
18. February 2010
Das muss ich mir schnell notieren, ehe ich es vergesse, denn Opera musste ja zum Standardbrowser gemacht werden.
Das geht unter Menu → Preferences → Preferred Applications.
Diesen Englisch-Deutsch-Mix in Linux Mint finde ich immer wieder lustig, wenn auch etwas chaotisch.
Von Mädchen am 18. February 2010 20:57 CET
17. February 2010
Heute hat Horst Köhler, in Berlin, das Gesetz unterschrieben und sah selbst keine Bedenken das das Gesetz womöglich Verfassungswidrig sei. Hat der das Überhaupt komplett gelesen? Was ist mit der wohl größten Onlinepetition passiert? Wird diese auch einfach ignoriert und landet zwischen den Akten?
Jetzt wo Köhler das Gesetz durch-gewunken hat sehe ich schon das Stoppschild bei Seiten wie Wikileaks. Noch ist es nur eine DNS Sperre die leicht umgangen werden kann. Sollte das aber solche Ausmaße nehmen wie in China dann wird das in Zukunft nicht nur das digitale Medium Internet betreffen sondern auch andere Medien, die zwar bereits Zensiert sind aber immer noch in einem Maß der akzeptierbar ist.
Quelle: Köhler unterzeichnet Gesetz zu Kinderporno-Sperren im Netz
17. February 2010 14:15 CET
15. February 2010
Nachdem es mir Bookmarklets ziemlich angetan haben, musste doch direkt auch eins für Translation Orgy her. Peter hat es mit E-Mails versucht, wieso also nicht auch Webseiten qualitativ hochwertig von Sinn befreien? Oder, um es mal anders zu sagen:
Wie bei den Text-Version der Brandung, möchten Sie von der Mitte laufen? Bookmarklet übersetzt einzige Chance! (zur Übersetzung)
Viel Spaß damit!
Von Nico am 15. February 2010 22:51 CET

Der ganz normale Podcastwahnsinn geht weiter, ich laufe mal wieder durch den Schnee und bringe wieder Dinge zum Briefkasten.
Weiteres? Naja, nächste Folge wird es wohl ein neues geheimnisvolles Geräusch und somit einen Gewinner für einen total tollen Stiftehalter und vielleicht sogar Aufkleber dazu. wer weiß.
Von Tim am 15. February 2010 16:36 CET
14. February 2010
Ich bin nun von Apache + Passenger auf nginx + thin umgestiegen.
Der Umstieg gestaltete sich eigentlich recht einfach, der Webserver lief recht schnell wieder so wie er sollte (nur mit monit hatte ich einige Probleme).
Hier also eine vollständige Auflistung, der Dinge, die ich getan habe:
Um nginx und thin zu installieren, bin ich nach folgendem Howto vorgegangen:
http://wiki.rubyonrails.org/deployment/nginx-thin
Zuerst habe ich also nginx kompiliert:
wget http://nginx.org/download/nginx-0.7.65.tar.gz
tar xzvf nginx-*.tar.gz
cd nginx-*
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module
make
und dann als root installiert:
sudo make install
Für nginx ist in dem Howto folgendes Init-Skript verlinkt. Das hat aber falsche Zeilenenden ("\r") und außerdem habe ich noch den Syntax-Check mit eingebaut:
<script src="http://gist.github.com/303985.js?file=nginx.d"></script>
Die nginx-Datei habe ich dann einfach nach /etc/init.d kopiert und ausführbar gemacht:
cp nginx.d /etc/init.d/nginx
cd /etc/init.d
chmod +x nginx
update-rc.d nginx defaults
Thin kann sich selbst installieren und bringt dabei auch ein Init-Skript mit:
<script src="http://gist.github.com/303985.js?file=thin.d"></script>
Also Thin installieren und das Init-Skript aktivieren:
gem install thin
thin install
chmod +x /etc/init.d/thin
update-rc.d -f thin defaults
Danach habe ich mit Thin auch gleich die benötigte Konfiguration angelegt (im Rails-Verzeichnis ausführen)
thin config -C config/thin.yml -c . --servers 2 --socket /tmp/thin.blog.sock -e production
Die Datei wird somit im git-Repo verwaltet und kommt so auch auf den Server.
Auf dem Server habe ich nun noch die Config ins richtige Verzeichnis gelinkt
mkdir -p /etc/thin
cd /etc/thin
ln -s /var/www/sites/blog/current/config/thin.yml blog_thin.yml
Da ich nicht nur die Hauptdomain belegen will, sondern auch mehrere Subdomains, benutze ich folgende nginx-Config (nur Auszüge, die volle Config gibt's via Gist)
# nginx.conf
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
http {
access_log /var/log/nginx/access.log;
# ...
# default server
server {
listen 80;
server_name expertura.de www.expertura.de;
# ...
}
include /usr/local/nginx/conf/vhosts/*;
}
# vhosts/files.conf
server {
listen 80;
server_name files.expertura.de;
# auto file listing
autoindex on;
location / {
root /var/www/sites/files/;
index index.html index.htm;
}
}
Für den Blog, der ja auf Schienen läuft, habe ich folgende Konfiguration:
# vhosts/blog.conf
upstream thin_cluster {
server unix:/tmp/thin.blog.0.sock;
server unix:/tmp/thin.blog.1.sock;
}
server {
listen 80;
server_name blog.expertura.de;
root /var/www/sites/blog/current/public;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://thin_cluster;
break;
}
}
# ...
}
Die "proxy_set_header"-Kommandos und die if-Abfragen habe ich übernommen aus dem Howto, da weiß ich noch nicht exakt wofür die Zuständig sind.
Damit wäre der Server fertig konfiguriert.
Als Systemmonitor benutze ich Monit. Neben meinem Mailserver überwacht es auch den Webserver und schickt mir bei Problemen eine eMail.
Die Konfiguration zur Überwachung von nginx sieht so aus:
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
group server
Außerdem überwacht es die Sockets von Thin (hier nur der Code für einen Socket, den Rest kann man sich ja denken):
check process blog_thin0 with pidfile /var/www/sites/blog/current/pids/thin.0.pid
start program = "/usr/local/bin/thin -C /var/www/sites/blog/current/config/thin.yml -o 0 start"
stop program = "/usr/local/bin/thin -C /var/www/sites/blog/current/config/thin.yml -o 0 stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
group blog_thin
(ich habe dafür übrigens mal mustache benutzt,
das sieht dann so aus)
Damit monit die Prozesse nun auch überwacht, muss man die Konfiguration neu einlesen und die Prozesse starten:
monit reload
monit start nginx
monit -g blog_thin start all
Im Webinterface sieht das dann so aus:

So! Nun sollte ich so ziemlich alles erzählt haben. Noch Fragen?
Von badboy_ am 14. February 2010 13:31 CET
13. February 2010
Dieser Eintrag ist eine Übersetzung von brain0s
Early Userspace in Arch Linux für jene Arch Linux Nutzer, welche mit dem Englischen dann doch ihre Probleme haben, keine Gewähr auf Fehlerfreiheit. Dieser Eintrag unterliegt
nicht der im Impressum angegebenen Lizenz, die Rechte liegen bei Thomas Bächler, die Übersetzung ist mit seinem Einverständnis erfolgt.
In letzter Zeit gab es einige große Änderungen bei Archs Programmen des fühen Userspace. Also dachte ich mir, dass ich mir die Zeit nehme und allen diese Änderungen erläutere.
Bootvorgang von Linuxsystemen: Wofür braucht man einen frühen Userspace?
Früher war das starten eines Linux Systems einfach: Der bootloader lud den Kernel, dieser wurde extrahiert und initialisierte die Hardware, danach initialisierte er den Festplatten-Controller, erkannte die Festplatte und das sich darauf befindliche Root-Dateisystem, band dieses ein uns startete /sbin/init.
Heutzutage gibt es eine gigantische Menge an unterschiedlichen Controllern und eine große Anzahl unterschiedlicher Dateisysteme, da wir eine ordentliche Distribution sind möchten wir alle unterstützen. Also bauen wir sie alle in unser monolithisches Kernelimage welches nun mehrere Megabyte groß ist alles bis zur Küchenspüle unterstützt, aber dann kommt jemand und hat zwei SATA-Controller, drei IDE-Controller, sieben Festplatten sowie drei externe USB-Laufwerke und wer weiß was. Der Kernel erkennt diese nun alle asynchron, aber wo ist nun bitte das Root-Dateisystem? Ist es auf der ersten Festplatte? Oder auf der dritten? Was ist "die erste Festplatte" überhaupt? Und wie binde ich mein Root-Dateisystem in der LVM Laufwerksgruppe im verschlüsselten Container auf dem Software RAID-Array ein? Wie man sieht wird das alles etwas hässlich und der Kernel stellt sich gerne dumm oder kümmert sich einfach nicht um diese nervtötenden Probleme, besonders nachdem er durch uns - die wir ihn mit jeden erdenklichen Treiber gefüttert haben - so fett wurde.
Was nun? Ganz einfach, wir übergeben die Kontrolle dem Userspace und regeln die Erkennung der Hardware dort, richten den ganzen komplizierten und von den Leuten gewünschten Kram ein, binden das Root-Dateisystem ein und starten /sbin/init selbst. Nun frägst du dich sicherlich "Wie führe ich Applikationen im Userspace aus, wenn das Root-Dateisystem nicht eingebunden ist?" die Antwort darauf lautet "Magie!".
Was ist initramfs?
Naja die Antwort ist nicht Magie. Die Antwort lautet eigentlich initramfs: Jedes Linux System hat ein ramfs Dateisystem, welches immer eingebunden ist und rootfs heißt. Wahrscheinlich wirst du dieses nie sehen, da deine wirklichen Dateisysteme es nach dem Einbinden überdecken. Allerdings führt der Kernel auch ein komprimiertes cpio Archiv mit sich, welches direkt nach dem Start in das rootfs extrahiert wird. Noch besser: Es ist sogar möglich aus dem Bootloader heraus ein solches Archiv an den Kernel anzuhängen, welches dann ebenfalls in das rootfs entpackt wird.
Bevor der Kernel den altmodischen init Code ausführt, prüft er, ob das rootfs eine Datei namens /init enthält, ist dies der Fall überspringt er den klassischen Einbindungs- und Initcode und führt stattdessen /init aus. Nun liegt die Verantwortung für diese Aufgabe, welche für den Kernel als zu kompliziert eingeschätzt wird, bei diesem Programm. Auf diese Weise können wir einen Kernel, welcher keinerlei eingebaute Unterstützung für einen Festplatten-Controller auch nur für irgendein Dateisystem bietet(das ist eigentlich, was wir mit dem Arch Linux Standardkernel machen) bauen und fügen die benötigten Module schlichtweg in das initramfs Image ein.
klibc - Das Fegefeuer für die Initramfs Maintainer
klibc wurde ursprünglich als kleine leichtgewichtige C Bibliothek für den frühen Userspace entwickelt. Sie bringt einige Programme mit, welche einem dabei helfen alles Einzurichten. Mit klcc führt sie sogar ein hässliches Perlskript mit, welches den gcc aufruft und Binärdateien gegen die klibc anstatt die übliche libc linkt. Als Aaron Griffin 2006 mkinitcpio als Ersatz für die alten, unflexiblen Skripte mkinitrd und mkinitramfs entwickelte, wurde entschieden es auf klibc basieren zu lassen. Von Anfang an hatte klibc Probleme:
- Das Set an mitgelieferten Programmen war begrenzt und den Programmen fehlten wichtige Optionen.
- Die meisten externen Programme liesen sich nicht gegen die klibc linken oder mussten dafür stark gepatcht werden.
- Es gab keinen dynamischen Linker, alle Binärdateien wurden statisch gegen eine spezifische Version der klibc gelinkt, diese Version änderte sich mit jeder Änderung an den klibc Quellen oder der Kernelheader, was dann wieder den Neubau aller - gegen die klibc gelinkten - Binärdateien nötig machte.
- Es war nicht möglich andere dynamische Bibliotheken, als die klibc selbst zu erstellen.
All das resultiere in großem Arbeitsaufwand für die Instandhaltung von
udev und den
module-init-tools, wir mussten auch ein kleines
klibc-extra Paket verwalten, welches die fehlenden klibc Programme mit unseren eigenen ersetzte. Fortgeschrittenere Programme wie
lvm oder
cryptsetup mussten wir statisch gegen die
glibc linken und so bereitstellen.
Irgendwann war klibc inkompatibel zu den Kernelheadern und wir mussten mehr und mehr Hacks einführen um es aktualisieren zu können. Seit Linux 2.6.30 war ich nicht in der Lage überhaupt eine funktionierende Version der klibc zu bauen, was uns mit einer alten Binärdatei zurückließ, bei welcher wir nicht einmal mehr Bugs fixen konnten. Mitte 2009 starb dann upstream vollkommen, keine commits ins git Repository und acuh auf der Mailingliste gab es nur eine Hand voll Mails pro Monat. Das brachte mich dazu, mir folgende Frage zu stellen: "Worin besteht der Sinn eine seperate C Bibliothek zusammen mit Programmen zu verwalten, welche nur für den Bruchteil einer Sekunde beim Start des Systems Verwendung finden?" Außer einem kleineren initramfs Image und dadurch verkürzte Bootzeit vermutlich nichts.
Es einfach halten
2009 entschied ich dann, dass um eine initramfs Umgebung mit geringem Verwaltungsaufwand, vielen Funktionen und großer Flexibilität, die folgenenden Änderungen nötig waren:
- Verwendung der C Bibliothek des Systems und keiner seperaten.
- Die Verwendung von busybox für grundlegende System- und Skriptingprogramme, um einen guten Kompromiss ziwschen hoher Funktionalität und kleiner Dateigröße zu finden.
- Die Verwendung von util-linux-ngs blkid, um Label von Dateisystemen, UUID und Typerkennung vollständig für alle neuen und alten Dateisysteme zu haben.
- Die Verwendung von modprobe, udev, lvm, cryptsetup, mdadm/mdassemble aus den normalen Arch Paketen für weitere fortgeschrittene Funktionen.
Auf diese Weise müsste ich neben
mkinitcpio selbst nur noch eine ordentlich konfigurierte busybox Binärdatei verwalten. Ich setzte busybox seit geraumer Zeit auf meinen OpenWRT Routern und wusste daher wie beeindruckend es war. Es stellte sich außerdem heraus, dass die Implementierung von
NFS Root-Unterstützung einfacher war, wenn wir die mit der klibc gelieferten Programme
nfsmount und
ipconfig nutzten.
Nun ist es Februar 2010 und in den letzten Wochen hatte ich endlich die Zeit, die ganze Arbeit zu erledigen. Erst vor wenigen Tagen veröffentlichte ich mkinitcpio 0.6, diese Version ist deutlich stabiler, flexibler und weniger fehleranfällig als jede klibc-basierte Version die wir je hatten. Das initramfs ist nun um Durchschnitt 600KB bis 1MB größer, ich glaube nicht, dass sich deswegen jemand beschwert, es ist immer noch kleiner als bei den meisten anderen Distributionen. Ich bin froh, dass ich hoffentlich nie wieder mit klibc zu tun haben werde.
13. February 2010 19:00 CET
10. February 2010
Endlich ist es soweit, wo sich schon alle Leute die schon einmal Opfer von Polizeiwillkür geworden sind drauf gefreut haben. Die “Pepperball-Pistolen”, dürfen nun auch in Deutschland eingesetzt werden.
Vorerst gilt dies allerdings nur für Sachsen, aber ich denke es wird nicht lange dauern bis diese Waffen auch in anderen Bundesländern erlaubt sind.
Zur Pepperball-Pistole selbst, im Prinzip ist es nichts anderes als Pefferspray, also Reizgas, da man allerdings nur im Umkreis von ca. 2 Metern willkürlich die Leute vollspritzen (wie sich das anhört
) kann, kommen nun diese Pistolen zum Einsatz. Diese schießen mit Druckluft Kugeln ab, welche mit Pefferstaub (u.a.: Capsaic
in II) gefüllt sind. Gezielt wird dabei auf die Brust, der Zielperson, wenn die Kugel auf der Brust aufkommt, zerplatzt diese und das Reizmittel wird freigesetzt.
Diese Waffen dürfen allerdings nur von Spezialeinheiten benutzt werden, allerdings werden bei den meisten Demos und Fußballspielen genau diese Spezialeinheiten eingesetzt.
Ich kann mich gar nicht mit diesen Waffen anfreunden, da ich es leider schon zu oft Erlebt habe, dass das Grünzeug ausrastet und Willkürlich Leute mit Reizgas besprüht. Außerdem was passiert wenn eine Kugel mal ihr Ziel verfehlt und eine Person im Gesicht trifft, was ja in einer Rangelei schnell passieren kann.
Achja ein kleiner Tipp, es gibt natürlich neben den normalen Mitteln zur “abwehr” eines Reizgases bei den Pepperball-Pistolen auch noch weitere Nachteile.
Bei Regen & Wind verlieren die Pepperball-Pistolen ihre Wirkung. Außerdem kann man indem man mehrere Lagen Kleidungen anzieht (=> Kugel trifft auf weichen Stoff), das platzen der Kugel verhindern.
Ich bin einfach mal gespannt, wie schnell es zu Zwischenfällen kommt und wie lange es dauert bis diese Waffen in komplett Deutschland erlaubt sind. Zum ersten mal eingesetzt werden diese wohl am 13.2.2010 auf einer Nationalistischen-Demo in Sachsen.
Von André am 10. February 2010 17:54 CET
03. February 2010

Symbolfoto
Wenn im Kölner Hauptbahnhof Film- oder Videoaufnahmen gemacht werden, kann es schonmal vorkommen dass zur gleichen Zeit junge Männer mit Taschen durch die Gegend laufen, die sie nicht behalten wollen. So auch heute wieder geschehen.
Nicht mal Spaß haben darf man
Ein befreundeter Gaukler erzählte mir heute von seiner Fast-Verhaftung im Kölner Hauptbahnhof. Aber der Reihe nach.
Der besagte Komödiant war mit einem „Fernsehteam“ im Kölner Haupbahnhof unterwegs, um ein paar schnelle Schwenks und scharfe Schnitte für irgendein komisches Format zu produzieren. Interessant zu erfahren war, das inzwischen auch die öffentlich rechtlichen Sender mitunter ein Praktikantenteam auf die Menschheit loslassen. Fachpersonal für die Kamera, Ton usw. war nicht vorhanden?! Die Redakteurin schulterte das gute Stück selber.
Man ist also bei den Dreharbeiten, redet lustiges Zeugs in die Kamera und an ihr vorbei, verhaspelt sich, geht zu schnell oder zu langsam … „Mist, das war gut aber unscharf“, und das übliche Fernsehfuzzigetue eben, was so dazu gehört. Doch dann kommt das Unerwartete. Der GAU, von niemandem erkannt. Von allen unterschätzt. Eine einfache Bürgerin trifft Kunst.
Eine ältere Dame, sieht die Redakteurin mit dem Kofferradio auf der Schulter und den jungen Mann der um sie herumtanzt und irgendwelches Zeug auf das Kofferradio einredet. Oder singt er? Das Bild kennt sie jedenfalls aus irgendeiner Jugendsendung im Fernsehen, denkt sie sich. Und weltoffen ist sie auch. Die Jugend gibt sich zwar anders als früher, aber es sind nette Menschen und man muss auf sie zugehen .. denkt sie sich.
„Junger Mann, würden se mir helfen, de Koffer runter ze tragen?“, spricht sie unseren Protagonisten vertrauensvoll an , wohlwissend um die beiden Streifenpolizisten die sie schon in ein paar Metern Entfernung gesehen hat. Unser Comedian gerade in seinem kreativen Schaffen gestört, dreht erschrocken eine Pirouette bis die kleine alte Dame in sein Blickfeld ruckelt. So überrascht er aus seiner Konzentration gerissen wurde, so spontan kommt ihm der Gedanke für eine Improvisationskomik. Klar, Improkomik sollte ja auch spontan sein .. oder so. Jedenfalls findet er seinen Gedanken genial. Er greift sich die Tasche, grinst noch einmal hämisch in die Kamera und rennt mit seiner Beute davon.
Schade, niemand außer ihm findet das witzig. Und schon gar nicht die beiden Polizisten, die unser Komiker vorher nicht gesehen hatte. Von dem einen Polizisten sah er zunächst nur ein Knie, das auf seiner linken Gesichtshälfte kniete. Von dem zweiten kurz danach einen Fuß, der vor ihm stand. Aber spüren konnte er die Beamten umso besser. In den Arm- und Schultergelenken und als Kniebank im Gesicht und Rücken. Wie er überhaupt auf den Boden gekommen ist, weiß er gar nicht genau. Es ging alles ziemlich schnell. Eben hat er sich noch diebisch über seinen tollen Gag gefreut, im nächsten Moment finden seine Füße beim Laufen den Boden nicht mehr, irgendwas reißt seinen Körper in eine Waagerechte, seine Arme werden auf dem Rücken verknotet und irgendein Mensch kniet auf ihm rum. „Uiuiui, das ist jetzt aber gar nicht mehr witzig.“, dachte er sich. Jetzt war nur noch zittern möglich und die Hoffnung, dass die Hose trocken bleibt.
„Nein, nein. Wir drehen einen Film.“, die Stimme klang bekannt. Die Redakteurin kam aufgeregt hyperventilierend hinzugerannt. Auf ihrer Stirn blinkte in roter Schrift das Wort „Angst“. Es gab ein paar Wortwechsel zwischen den Polizisten, der Redakteurin und dem Komiker, dann ließen sie ihn aufstehen. Die alte Dame stand nur daneben, hatte inzwischen ihre Tasche zurück und fragte nur verwirrt, ob sie jetzt ins Fernsehen komme.
Auf die Frage eines Polizisten nach eine Drehgenehmigung, wurde aus dem zu drehenden Film plötzlich ein „Ach quatsch, das ist doch nur ein Urlaubsvideo“. Der Polizist hob eine Augenbraue, verzog einen Mundwinkel und meinte: „Ja klar. OK. Macht sowas nicht nochmal .. ihr ‚Urlauber‘“.
Die Dreharbeiten waren erstmal unterbrochen und wurden später fortgesetzt. Wieder zu hause angekommen, zittert der Comedian immer noch am ganzen Körper. Er muss es loswerden. Also setzt er sich ans ICQ und erzählt mir die Geschichte brühwarm. OK, bei ihm waren es nur 7 Sätze, aber ich dachte mir, es sollte auch noch was Füllstoff rein.
(ix)
<script type="text/javascript">szu="http%3A%2F%2Fsuche.pytalhost.de%2F2010%2F02%2F03%2Fund-nun-etwas-vollig-anderes-%25e2%2580%25a6%2F"; szt="Und+nun%2C+etwas+v%C3%B6llig+anderes+%E2%80%A6";</script><script src="http://w3.seitzeichen.de/w/65/81/widget_658122f9159e581fe76aea6214d5c934.js" type="text/javascript"></script>
Von ixiter am 03. February 2010 20:06 CET
02. February 2010
seitwert.de ist ein Dienst zur Bewertung von Webseiten. Zur Bewertung werden sechs Bereiche mit unterschiedlicher Gewichtung verwendet. Am Ende bildet sich ein berechneter Mischert aus Google Pagerank und Relevanz, Alexa Ranking, Verbreitung in Sozialen Netzwerken wie z.B. Bookmarkdiensten und Feedreadern, technische Merkmale der Seite, Die Yahoo Relevanz sowie Sonstige Merkmale wie eine Nennung in Wikipedia oder ob man bei DMOZ gelistet ist. Der berechnete Seitwert liegt zwischen 0,00 und 100,00, wobei die einzelnen Bereiche unterschiedlich auf den Seitwert einwirken.
Die Bereiche im Detail
- Google – Google wirkt zu satten 30% auf den Seitwert ein. Also gut ein Drittel des Seitwert, hängt von der Bewertung der Seite durch Google ab. Dabei spielen der Pagerank eine Rolle, wie oft man in Suchergebnissen auftaucht, und wie gut man in Suchergebnissen platziert ist, wenn die Begriffe aus dem Seitentitel als Suchworte benutzt werden.
- Externe Wertung – Hierzu zählen Alexa Ranking, Nennung bei Google Trends und Domainsichtbarkeit nach dem SEOlytics Visibility Rank. Die Externe Wertung macht maximal 9 Punkte im Seitwert.
- Social Bookmarks – Es werden die öffentlichen Links zur Seite bei drei Bookmarkdiensten gezählt. del.icio.us, Mr Wong und Linkarena. Bei Mr. Wong bin ich mir nicht scher ob mr-wong.de oder .com abgefragt wird. Außerdem wird irgendwie ermittelt, wieviele Feedabonnenten man z.B. mit einem Blog hat. Mit 22% die zweitwichtigste Wertung.
- Technische Details -Die Seite wird auf korrekten Quelltext geprüft, ob es ein Favicon und Wegweiser für Suchmaschinen gibt, und andere technische Dinge mehr. Die technische Beschaffenheit der Webseite macht 13% des Seitwertes aus.
- Yahoo – Ähnlich wie bei Google, wird auch die Platzierung bei Yahoo im Seitwert berücksichtigt. Mit maximal 17 Punkten.
- Sonstige Faktoren – Das Alter der Domain wird einbezogen, eine Nennung bei Wikipedia und ein Eintrag im DMOZ Verzeichnis. Das ganze schlägt mit 9% zu Buche.
Ein guter Mix
In der Gesamtheit stellt der Seitwert so eine allgemeinere und m.E. bessere Bewertung einer Webseite dar, als irgendeiner der Teilbereiche. Die speziellen Bewertung in den Bereichen dienen eben auch nur ihren speziellen Zwecken. Googles Pagerank spiegelt die Platzierung einer Seite bei Google. Da ist die technische Seite und die soziale Vernetzung egal. Umgekehrt ist es genauso.
Manche der Bereiche haben zwar Überschneidungen oder Berührungspunkte mit anderen Bereichen, werten für sich aber gtrotzdem in ihren eigenen engen Grenzen. Bei seitwert.de werden alle diese Teilbereiche berücksichtigt und bilden zusammen die Bewertung. Die grundsätzliche Idee ist gut. Das Verfahren einleuchtend und nachvollziehbar. Was bleibt ist die Frage welche Statistiken und Analysen mit in die Bewertung einfließen und wie stark sie dabei wirken. Seitwert hat ein gute Mischung gefunden. Das man mit Google und Social Bookmarks mehr als die Hälfte der Wertung ausmacht, finde ich realistisch. Für meinen Geschmack könnte das sogar noch ein bisschen mehr sein. Dafür könnte man bei den sonstigen Faktoren ein paar Punkte streichen.
So geht’s
Grundsätzlich kann man jede beliebige Webseite bewerten lassen. Nach einer Bewertung kann man aus verschiedenen Grafiken auswählen, mit der man den Seitwert auf der eigenen Seite anzeigen lassen kann. Da die Bewertung einer Seite mit sehr vielen Anfragen an die zu Hilfe genommenen Dienste verbunden ist, kann man eine Seite nur einmal in 24 Stunden neu bewerten lassen. Als anonymer User kann man auch nur 5 Seiten am Tag bewerten lassen. Richtet man sich einen Useraccount bei seitwert.de ein, werden die letzten 20 Bewertungen gespeichert. Die Anzahl der Seiten die man bewerten möchte ist dann aber unbegrenzt. Zum Schnellzugriff stehen aber eben nur die letzten 20 zur Verfügung. Zusätzlich bietet seitwert.de für Programmierer eine API an, mit der man die Daten bereits bewerteter Seiten abrufen kann. Auch hier ist die Anzahl der Aufrufe/Seiten begrenzt.
Auf seitwert.de findet man auch Statistiken der Top 100 in Deutschland und Top 100 in verschiedenen Kategorien. Die Kategorien sind vorgegeben. Es ist leider nicht möglich eigene Top 100 z.B. nach Stichworten oder Themen zu erstellen.
Tippse und Trickse
Man muss ein paar Sachen wissen um manche Ergebnisse optimieren zu können, oder eine Seite überhaupt bewerten lassen zu können. So wird bei Technische Details ein favicon nur erkannt, wenn es auch im URL-Pfad der Seite unter dem Dateinamen favicon.ico gefunden werden kann. Lässt man z.B. die Seite http://meineseite.de/ bewerten, muss auch eine Datei http://meineseite.de/favcicon.ico zu finden sein, um die 2 Punkte bei Technische Details dafür zu bekommen.
Das zweite große Problem ist, dass seitwert.de nur Domains und Subdomains bewertet, aber keine Domainpfade verarbeitet.
Domain bzw. Subdomain: meineseite.de, blog.meineseite.de
Pfaddomain: meineseite.de/blog
Es ist deshalb nicht ohne weiteres möglich, eine bestimmte Seite eines Blogs bewerten zu lassen. Schaut man aber in die Top 100 bei seitwert.de, findet man dort reihenweise solcher Pfaddomains. Das Zauberwort heißt Umleitung. Man muss nur eine gültige Subdomain auf die Pfaddomain umleiten, und seitwert kommt wunderbar damit zurecht. Dazu muss man auch kein Serveradministrator sein, sondern kann sich einfach eines beliebigen Webdienstes für Umleitungsdomains bedienen, der Subdomains als Umleitungsadresse anbietet. Ich habe dazu http://notlong.com gefunden, wo man unkompliziert und ohne Anmeldung eine frei wählbare Subdomain bekommt, die man nach irgendwo umleiten lassen kann. So war es mir möglich, den Seitwert für diesen Artikel berechnen zu lassen, indem ich dazu die Subdomain http://seitwert-artikel.notlong.com/ eingerichtet habe, die zu http://suche.pytalhost.de/2010/02/02/seitwert-der-seitenbewerter/ umleitet.
Und sonst?
Ich finde seitwert eine super Sache. Es zeigt einem Webmaster recht kompakt den Zustand der eigenen Seite an. Man sieht an welchen Stellen es hapert und wo man nachbessern kann. Ein paar Dinge kann man sleber schnell vernbessern, andere brauchen Zeit oder Initiative. Technische Details stellt für mich die am einfachsten zu bewerkstellende Optimierung dar. Die Mäkel sind eindeutig beschrieben und können deshalb ebenso eindeutig behoben werden. Die vollen 13 Punkte sollten nie ein Problem sein. Wer das nicht selber kann, sollt jemanden kennen der es kann. Bevor jetzt Anfragen kommen – Ja, ich kanns, ich mache das aber nicht kostenlos. 
Bei den Social Bookmarks kann man zumindest Einfluss nehmen. Man kann auf den Feed hinweisen und Werbung dafür machen. Ja, auch dieses Blog bietet einen Feed an. Den kann man direkt abonnieren, oder via feedburner .. auch als Email.
Ansonsten ist es ja auch nicht verkehrt, die eigenen Artikel selber bei Mr. Wong oder del.icio.us zu bookmarken. 
In den anderen Bereichen kann man nur auf Dauer punkten, oder muss eben ein besonderes Merkmal haben, dass einem Backlinks und Seitenaufrufe generiert.
Seitwert bei der PytalSuche
Ich zeige den Seitwert des Blogs rechts in der Seitenleiste und ausführlich auf einer eigenen Seite an. Die Blogs in meiner Blogroll werden in der Übersicht ebenfalls mit ihrem Seitwert angezeigt.
(ix)
<script type="text/javascript">szu="http%3A%2F%2Fsuche.pytalhost.de%2F2010%2F02%2F02%2Fseitwert-der-seitenbewerter%2F"; szt="Seitwert+-+Der+Seitenbewerter";</script><script src="http://w3.seitzeichen.de/w/65/81/widget_658122f9159e581fe76aea6214d5c934.js" type="text/javascript"></script>
Von ixiter am 02. February 2010 19:25 CET
13. January 2010
Ich halte die eigentliche Idee hinter "Stöckchen" eigentlich nicht für schlecht, wenn es um sinnvolle Themen geht, den den
Kabarakh mir da aber "zugeworfen" hat mag ich dennoch nicht sonderlich, aber man will ja kein Spielverderber sein.
Warum bloggst du?
Um Dinge, welche für mehrere Bereiche des Netzes in denen ich aktiv bin, nochmal gesondert Platz einzuräumen, dass spiegelt sich zwar nicht in jedem Eintrag(beispielsweise diesem hier) wider, ist aber dennoch die eigentliche Intention.
Seit wann bloggst du?
Ohm da waren vor Jahren schonmal gemeinsame Blogs mit hanshiro bei Bloghostern, da bin ich zu faul nach zu schauen, dieser hier wird seit dem Frühjahr 2008 von mir geführt.
Warum lesen deine Leser deinen Blog?
Langeweile? Noch nicht gelangweilt genug um einzuschlafen? Ich weiß es nicht.
Welche war die letzte Suchanfrage, über die jemand auf deine Seite kam?
urxvt borderless - interessant, da weiß wohl jemand nicht, wie er eher an eine brauchbare Antwort käme, mein Artikel für
Fluxbox wird ihm bei einem anderen Window Manager nur bedingt geholfen haben.
Welcher deiner Blogeinträge bekam zu Unrecht zu wenig Aufmerksamkeit?
Dazu kann ich recht wenig sagen, ich denke die meisten Leser meiner Texte bekommen sie über den Feed eines Planets förmlich aufgezwungen. ;-)
Dein aktuelles Lieblingsblog?
Puh, ich mag eigentlich alle in meinem Feedreader, aber etwas Werbung für den Schweizer
Hackerfunk ist dennoch angebracht.
Welches Blog hast du zuletzt gelesen?
So richtig gelesen?
Dustys über die git tab-completition in der bash, danach habe ich Kabarakhs Fragen kopiert.
Wieviele Feeds hast du gerade im Moment abonniert?
85 -
newsbeuter ist klasse.
An welche fünf Blogs wirfst du das Stöckchen weiter und warum?
Da ich - wie gesagt - an diesem hier keinen wirklichen Gefallen finde, an niemanden, ich lege es quasi vor die Tür, so dass jeder der es möchte aufheben kann.
13. January 2010 20:33 CET
11. January 2010
In hohem Bogen fliegt mir ein Stöckchen von Sommerwolke zu und trifft hart – ich hab wochenlang nicht an den Blog gedacht ^^ Jetz wird erstmal geantwortet, später werd ich dann wohl nen “normalen” Blogartikel schreiben.
Aaaaalso was hab ich denn bekommen?
Warum bloggst du?
Zu diesem Zweck zitiere ich mal meinen Eingangs-Post:
Blogs gibt es in der Zwischenzeit wie Sand am Meer, also wieso will ich auch noch einen eröffnen?
Eigentlich aus keinem Grund – Ich möchte nur ein paar Menschen an dem Leben eines Informatikers in Ausbildung teilhaben lassen… Wobei auf mich kein oder kaum ein Informatiker-Vorurteil passt. Ich hab zwar eine Brille, aber keine langen fettigen Haare. Ich trage keine abgewetzten Sweatshirts oder T-Shirts mit Informatiker-Sprüchen, ich habe Freunde außerhalb des Internets und ich “quäle” meinen Körper – ich geh täglich tanzen (solange keine Ferien sind…)
Ich werde versuchen, den Blog regelmäßig zu aktualisieren, vor allem, wenn es zu interessanten Sachen in meinem Informatikerleben kommt. Nicht nur in der Ausbildung, sondern auch Begebenheiten mit meinem Freundeskreis, mit der Dungeon and Dragon-Runde, mit Heim-, Freundes- und Familien-PCs, und so weiter.
Wie so oft habe ich im Vorraus keine Ahnung, wo mich diese Aktion einmal hinführen wird… aber wie ich eben bin, starte ich sie einfach ohne darüber nachzudenken 
Viel Spaß beim lesen 
Kabarakh
Seit wann bloggst du?
Der eben zitierte Beitrag ist vom 15. August 2007
Warum lesen deine Leser deinen Blog?
ich hab sowas von keine Ahnung ^^ Es kamen Leute wegen spezieller Artikel auf den Blog, es kamen Freunde und Bekannte auf den Blog, es kamen pyPlanet-Leser auf meinen Blog…
Welche war die letzte Suchanfrage, über die jemand auf deine Seite kam?
Seeeehr interessant, der letzte Suchbegriff war tatsächlich… kabarakh
Welcher deiner Blogeinträge bekam zu Unrecht zu wenig Aufmerksamkeit?
Ich denke, jeder diskussionswürdige Beitrag sollte immer genug Aufmerksamkeit erhalten… Ich weiß nicht ob es sowas bei mir gibt oder wie die Zugriffe sind, ich persönlich lenke aber die Aufmerksamkeit der Leute immer wieder gern auf diesen Artikel
Dein aktuelles Lieblingsblog?
hmm puh… gibts eigentlich keinen mehr… vllt kann ich hier fefe oder den BildBlog erwähnen…
Welches Blog hast du zuletzt gelesen?
Wenn man meinen und den Stöckchengeber weglässt war das wohl denscos, den hatte ich vorhin noch im Feedreader ^^
Wieviele Feeds hast du gerade im Moment abboniert?
öööhm jo… ich war in letzter Zeit selten am Feedreader (der ist aufm alten lahmen Linuxrechner der kaum noch was tut) und kann das deswegen nicht sagen… aber ich schätze… 3x Bash, 5-6 Webcomics, 20 oder so Blogs… ich denke mit 30+ kann man rechnen
An welche fünf Blogs wirfst du das Stöckchen weiter und warum?
tim – podcast oder Blog ist ja egal, soll er es eben mündlich beantworten
feuerfuchs – will mal wieder mehr lesen
atsutane – ebenso
badboy_ – ich merk jetzt erst dass ich mal die neue URL in den Feedreader nehmen sollte
Moritz – den kennt bei Pytal keiner ^^ und ist immer mal wieder interessant was von ihm zu hören
Nachträglich noch n frohes Neues von mir und so weiter…
und natürlich So long and thanks for all the stöckchen
Von Kabarakh am 11. January 2010 11:24 CET
06. January 2010
Leere Tintenpatronen bemerkt man meistens erst, wenn es sowieso schon viel zu spät ist: Der Ausdruck erhält einen Farbstich oder hässliche Streifen. Dann heißt es schnell eine Druckerpatrone besorgen, weil der Ausdruck schnellstmöglich gebraucht wird.
Am Besten wäre es doch, wenn einfach eine Mail eintrudeln würde, die signalisiert: “Hallo, bitte mal Tinenpatrone wechseln! Die ist bald alle!”. Dann kann man sich in Ruhe auf den Weg machen und eine Tintenpatrone besorgen.
Die meisten aktuellen Netzwerkdrucker – wie mein HP OfficeJet 6500 – zeigen in Ihrem Webinterface den aktuellen Patronenfüllstand an. Das ist natürlich ideal, denn mit ein paar Zeilen Bash und dem allzeit geliebten Cron lässt sich da was basteln:
#!/bin/bash
# get ink status from HP OfficeJet 6500
mailhead() {
cat <<HEAD
Hallo!
Die Tinte auf $PRINTER geht zuneige:
HEAD
}
mailfoot() {
cat <<FOOT
Bitte tauschen!
FOOT
}
PRINTER=$1
if [ "$PRINTER" = "" ]; then
echo "Usage: $0 [HOST]"
exit 1
fi
ping -c1 $PRINTER > /dev/null
if [ $? -ne 0 ]; then
echo "Printer not pingable; not checking ink status"
exit 1
fi
INKFILE=$(tempfile) || exit
INKURL="http://$PRINTER/index.htm?cat=info&page=printerInfo"
wget -O"$INKFILE" -q "$INKURL"
if [ $? -ne 0 ]; then
echo "wget failed; are you sure that this is a OfficeJet 6500?"
exit 1
fi
INKCOLORS="yellow cyan magenta black"
INKPRINT=0;
for COL in $INKCOLORS; do
COLREGEX="var ${COL}ink=[0-9]+"
FILL=$(egrep "$COLREGEX" "$INKFILE"|egrep -o '[0-9]+')
#export "${COL}FILL"=
if [ $FILL -lt 40 ]; then
if [ $INKPRINT -ne 1 ]; then
mailhead
INKPRINT=1;
fi
echo " $COL is empty! ($FILL%)"
fi
done;
if [ $INKPRINT -ne 0 ]; then
mailfoot
fi
rm "$INKFILE"
Die entsprechende Cron-Zeile könnte so aussehen:
15 15 * * * /home/nico/bin/inkmon 10.10.10.14
Jeden Tag um 15:15 Uhr wird das Skript ausgeführt und prüft den Füllstand des OfficeJet 6500 auf 10.10.10.14. Hat eine der Patronen einen Füllstand von weniger als 40%, gibt es einen hübschen Text aus, die Cron an den entsprechenden User schickt.
Ich bin gespannt, wie und ob ihr den Füllstand von Druckerpatronen überwacht!
Update: Wordpress mag das Skript irgendwie nicht. Ich habe es auf Pastebin geladen.
Von Nico am 06. January 2010 20:20 CET
03. November 2009
My favourite monospaced programming font is Terminus – I use it on each of my two machines.
The downloadable tarball contains scripts to generate versions of the font which can be read e. g. by the X server or used with a Linux TTY. That works wonderfully.
My old favourite text editor (Geany) used fontconfig to manage fonts, so I didn’t have to to change anything to make Terminus work with it. But recently I switched to a more feature-rich IDE: Netbeans. Since Netbeans is a Java application, it cannot use the font files which the X server (and fontconfig) can read but instead wants to be fed TTF files.
Mehr lesen »
Von Tblue am 03. November 2009 20:14 CET
02. November 2009
… alles interessant, aber irgendwie kam ich nie dazu, das Ganze zu Bloggen.
Über meine Noten hatte ich ja schon berichtet. Nach der ganzen Abschlussprüfung hatte ich noch einen dreimonatigen Vertrag beim FZK (welches in der Zwischenzeit mit der Uni Karlsruhe zusammenarbeitet und sich im Zusammenschluss KIT Campus Nord nennt). In dieser Zeit durfte ich Web-technisch arbeiten – endlich mal wieder seit dem Praktikum und danach dem Abschlussprojekt bei eyeworkers
.
Meine erste Aufgabe bestand darin, für das bestehende Typo3-System für die Homepage des Instituts etwas zu finden, was jede Tabelle (wenn gewünscht) mit AJAX sortierbar macht und auch noch in die Designvorlagen des KIT passt. Teil 1 war leicht, da ich ein paar Wochen zuvor ein Script namens sorttable für genau diesen Zweck gefunden hatte… Teil 2 war umso schwerer, da das KIT sich anscheinend nicht darüber Gedanken gemacht hat, dass nicht jeder eine Tabelle in einer Datenbank als Tabelle speichert, sondern wie bei uns als CSV mit Pipes. Da war das Einfügen eines Sortierbuttons nicht direkt einfach und dann noch das ganze passend aussehen lassen ein riesen Krampf. Am Ende gings dann fehlerfrei für IE7/8, FF, Opera… nur mal wieder nicht für IE6 – wer glaubt schon dass dieses dumme Teil nicht mal padding bei Tabellenzellen mit nur-Text-Inhalt (also keine weiteren span oder p, denn td ist ja eigentlich schon inline) beherrscht… und das zu Fixen hätte wieder in den anderen Browsern Auswirkungen gehabt.
Die 2. Aufgabe war ebenfalls für Typo3 – ich sollte herausfinden, ob man die nichtdruckbaren Sonderzeichen im RTE anzeigen lassen kann. Ergebnis: Nicht mit dem RTE, den wir verwenden, andere RTEs müssten erst einmal wieder die Styles beigebracht werden und außerdem waren die eh nicht direkt funktionsfähig – aber das “geht nicht” hat als Ergebnis gereicht.
Meine letzte Aufgabe war die beste von allen: Wir haben ein neues webbasiertes Inventarssystem, es sieht nach nix aus – “Herb, du kannst doch CSS und sowas, gestalte das mal”. Ging auch ganz gut, da es viele Tabellen waren, die man ja relativ leicht anordnen kann. (Hinweis am Rande: Hier ging padding für td komischerweise…) Nach einer (freiwilligen) Präsentation vor der Abteilung waren auch alle zufrieden und ich konnte meine letzten 3 Tage Urlaub nehmen.
Apropos Urlaub: Hatte ich im Endeffekt doch nicht. Neben Winterreifen machen lassen und mehreren Terminen bei Versicherungsmensch und Sparkasse wird bei uns derzeit renoviert, und in der Urlaubszeit hab ich im Wohnzimmer gelebt – mitten in ner halben Baustelle. In der Zwischenzeit ist mein Zimmer fertig, jetzt müssen “nur noch” meine Sachen zurück…
Jetzt ist der Zeitvertrag vorbei, ich bin vom Zentrum weg… Wie es weitergeht? Nach Ende der Ausbildung hatte ich mich bei der Arbeitsagentur als jobsuchend gemeldet und hab gleich ein Profil auf der Jobbörse bekommen, in dem dann so Sachen wie meine Kenntnisse und so stehen. Ich konnte dann nach Firmen suchen, deren Stellen dazu passen, oder auch von Firmen gefunden werden, die jemanden wie mich suchen.
Dabei war die ganze Zeit im Hinterkopf der Gedanke an den Wehrdienst, zu dem ich ja bis 25 eingezogen werden konnte (ich war schon einmal zurückgestellt). Und tatsächlich kam ein Brief, dass ich Reserve bin, und wenn ich rechtzeitig Bescheid bekomme werd ich eingezogen. Anbei war ein Formular bezüglich Krankheiten und Verletzungen, über die man noch einmal zu einer Überprüfungsuntersuchung kommen könnte. Bauchdeckenschaden – Blinddarm-OP mit Narbe.
Genau an dem Tag, an dem ich zu einem Vorstellungsgespräch geladen war (die Firma hatte mich nach meiner Bewerbung gefragt), war dann auch noch die Untersuchung… Siehe da, ausgemustert
Mit recht guter Laune bin ich dann zu dem Gespräch gefahren, welches auch recht gut lief. Ein bis zwei Wochen später wurde ich erneut eingeladen, wobei ich mich da schon gefreut hatte, dass ich in der engeren Auswahl bin. Interessanterweise lief das Gespräch folgendermaßen ab:
C(hef): Ja Herr Herberger, grundsätzlich hätten wir schon Interesse an Ihnen…
I(ch): (gedacht) OMG was muss ich denen noch sagen dass sie mich nehmen? (Hab ich erwähnt dass mich die Firma begeistert hat? Nein? Dann tu ichs jetzt
)
C: …deswegen wollten wir mit Ihnen noch einmal über die Vertragsbedingungen reden, bevor wir einen Vertrag aufsetzen.
Jepp, ich hab mich gefreut wie nochwas ^^
Seit heute sitz ich in der Firma, direkt in der Woche nach meinem offiziellen Ende im FZK/KIT (wie gesagt, 3 Tage Urlaub) und bisher find ichs gut… Erste Aufgabe war aus 4 Rechnern die keiner mehr wollte einen zu machen mit dem ich soweit zufrieden bin… sind jetzt 4GB Ram drin, wobei XP nur 2,7 oder so erkennt (ich dachte immer 32 Bit kann bis 3,5GB, kann mir das jmd erklären?) und mit einem P4 mit 3Ghz. Grafikkarte ist eine ATI Radeon 9600 SE, das ist momentan die Schwachstelle… soa und während ich den Artikel (in Word) verfasse warte ich drauf, dass Netzwerkkabel verfügbar werden, damit ich auch ins Internet kann.
Was ich noch schnell erwähnen will: Junge (sowohl Alter der Fa an sich sowie das Durchschnittsalter der Mitarbeiter), kleine, wachsende Firma, und ich bin nicht der Einzige, der heute angefangen hat… Die Leute sind bisher richtig cool drauf und wie gesagt, Aufgabe war erst mal ne kleine Hardwaresache… Ich werd weiterberichten, was so passiert… denn ich weiß es selbst nicht zu 100% ^^
Soviel von meiner Seite, so long und so…
PS: Nicht wundern wenn sich demnächst der Blog vom Aussehen und vllt auch von Titel und Subtitel ändert, aber ich bin jetzt ja kein angehender Informatiker mehr, und das muss ja auch optisch repräsentiert werden…
Von Kabarakh am 02. November 2009 13:26 CET
04. September 2009
Der deutsche Personalausweis besitzt bekanntlich eine Seriennummer, die auf der Vorderseite unten aufgedruckt ist (zweite Zeile).
Ich habe nun schon öfters ein Gerücht gehört, dem zufolge die letzte Zahl der Seriennummer (nach den letzten sieben eckigen Klammern) angeben würde, wie viele andere Bürger mit dem gleichen Vor- und Nachnamen es in Deutschland oder gar dem Bundesland des Ausweisträgers geben würde.
Mehr lesen »
Von Tblue am 04. September 2009 18:44 CET
25. July 2009
Da bin ich heute unterwegs, schaue mit meinem Handy kurz nach E-Mails, und siehe da: Wordpress meint, ich habe einen Pingback zu diesem Gedicht erhalten.
Wieder daheim bin ich natürlich neugierig: Wer hat mich da gepingbackt (böser Anglizismus? Na geht so…)? Etwa ein großer Kritiker? Werd ich berühmt?
Dem Kollaps nur kurz entkommen kam schnell die Ernüchterung: Nein, es war nur “The Vreshness Blog”. Naja, dachte ich, vielleicht sagen die wenigstens etwas konstruktives.
Doch auch die letzte Hoffnung starb in großer Enttäuschung. Der einzige Kommentar, ich zitiere:
Ich finds scheisse.
Wow, dachte ich, fast erschlägt mich der Gehalt dieses Blog-Eintrags. Natürlich, ich bin halt so, musste ich direkt Kommentieren. Mein Kommentar lautete:
Na, vielen Dank.
DAS nenn ich mal konstruktive Kritik. Machs besser 
Und prompt kam die Reaktion, zu lesen hier. Ein kleiner Ausschnitt:
Ich sag: “Deine Zauberstabgröße – 5 Zentimeter”
Er sagt: “Die Größe – warum kennt die jeder?”
Sein Schmalz in den Ohren ist dicker als Manuel Uribe
Am liebsten macht er täglich mit einer Kuh Liebe
(Quelle: “The Vreshness Blog”: Marco)
Nun, an Kreativität mangelt es dem Autoren sicherlich nicht. Im Zuge der dichterischen Freiheit möchte ich hier nicht das Versmaß oder die Reimwahl erörtern. Doch ein Kommentar: Ich finds Interessant! Ein paar Anspielungen sind in diesem Gedicht zu finden, aber das ist ja nicht weiter schlimm.
Um mein Niveau zu wahren werde ich übrigens kein Kontergedicht verfassen.
Nun, das war die Abendnovelle. Oder Morgennovelle, ist ja schon früh!
Von Merlin am 25. July 2009 00:12 CET
23. July 2009
Bushaltestellenromantik
Ein Gedicht von Merlin Steuer, geschrieben am 23.07.2009
Mensch, das war ein langer Tag,
Ganz genau wie ichs nicht mag.
Später komm ich erst zur Ruhe,
Schau nun erstmal auf die Uhr.
Schock.
Spät.
Rennen.
Bushaltestelle. Bus schon weg.
Nunja, kann ich mich erstmal setzen.
Gleich neben mir, da fliegen Fetzen.
Zwei Kerle, im Kopf nicht mehr als Bier,
Schlagen um ‘ne Freundin hier.
Rumms.
Schlag.
Schrei.
Der eine kippt. Der andere rennt.
Plötzlich kommt ein Mädchen her,
Mein Atmen stockt gar mehr und mehr,
Ein Sonnenschein am düst’ren Abend,
Ich sitz da, an der Schönheit labend.
Wow.
Hammer.
Handynummer.
Ihr Bus kommt. Schade.
Zum Glück kommt meiner auch recht bald.
Ich fahre durch nen dunklen Wald.
In ‘ner Stunde bin ich da.
Denk drüber nach, was heut ich sah…
Müde.
Platt.
Zähneputzen.
Ich leg mich schlafen. Gute Nacht!
KeinVerlag: Link
PDF: Download
Von Merlin am 23. July 2009 21:40 CET
25. April 2009
Ständige Probleme mit Ubuntu und Andrés Unternehmen der selben Art haben mich gestern dazu motiviert es nochmal mit Arch Linux zu versuchen. Da beim letzten Mal das installierte System nicht einmal booten wollte und zuvor, bei der “Generalprobe” in VirtualBox, schon einiges schiefgelaufen ist (Gnome wollte z.B. nicht starten, warum sollte sich später herausstellen) hatte ich zwar doch schon einige Zweifel ob des Erfolges des Projekts, bin die Sache dann aber eigentlich ganz zuversichtlich angegangen.
Also, Backups machen und CD booten…
Das Setup hält, was es verspricht und man kann alle Punkte schön der Reihe nach abarbeiten bis man - in etwas mehr als einer halben Stunde - das System installiert hat. Der erste kleine Dämpfer dann beim ersten Booten; offenbar war GRUB flasch konfiguriert, sodass es diesmal nichtmal zum Starten des Systems kam. Das Problem war allerdings schnell gelöst, nach etwas Rumprobieren stellte sich heraus, dass die korrekte Partition für Arch hdd(0,0) und nicht, wie voreingestellt, hdd(1,0) ist. Der restliche Bootvorgang verlief problemlos.
Da es nichts zu updaten gab (FTP-Installation) ging es jetzt an’s Einrichten - mit freundlicher Hilfe des deutschen und englischen Wikis. Dank den guten Beschreibungen der Wikis war dann auch schnell X mit Gnome und GDM eingerichtet. Nebenbei lernt man dabei noch einiges über “wirkliche” Linux-Konfiguration, also ohne graphische Hilfe - mehr als nur ein netter Nebeneffekt. Sogar die Nvidia-Treiber liefen sofort einwandfrei. Das erste, was mir aufgefallen ist, nach dem Anmelden in Gnome, ist: Arch ist richtig schnell, vor Allem wenn man Ubuntu gewöhnt ist. Als nächstes galt es das Ganze noch einzudeutschen - dank des Wikis auch einfach. Dabei stellte sich dann auch heraus, warum Gnome in VirtualBox nicht starten wollte: Ich hatte in der rc.conf einfach de_DE eingestellt und irgendwie hat sich das daran aufgehangen. Jetzt, mit anpassen der locale.gen und Aufrufen von locale-gen, ging alles gut.
So gut bisher alles gelaufen ist, werde ich doch noch von einem Problem verfolgt, dass sich bei mir aus irgendeinem Grund durch alle Linuxe zieht: kein Ton. Nachdem ALSA und PulseAudio Wikigerecht konfiguriert und alle gstreamer-Codecs etc. installiert waren, konnten unter anderem VLC und Amarok zwar Audio wiedergeben, aber alles, was gstreamer verwendet (z.B. Totem) bleibt stumm.
Damit steht dann auch erstmal das primäre Ziel des heutigen Bastelns (wäre natürlich schön, wenn da irgendwer Lösungsansätze für mich hätte, mir gehen sie so langsam aus) fest.
Ich melde mich später, hoffentlich mit Erfolgsmeldungen, wieder.
Von Björn am 25. April 2009 10:25 CET
18. April 2009
Ja, tatsächlich. Die Seite, die bisher so geschickt “Platzhalter” hieß hat einen Sinn bekommen.
Ab jetzt findet man dort unter der vielversprechenden Überschrift “Abfall und Ähnliches” ein paar Programme, die eben mal so entstanden sind, vielleicht ist ja mal was nützliches dabei. Außerdem eignet sich die Sache ganz gut um mal meinen “Sourceviewer” zu testen und zu erweitern; das hat mich dann auch am Ende auf die Idee gebracht.
Bisher sind auf der Seite nur zwei Sachen zu finden, die tatsächlich aus reiner Langeweile entstanden sind und auch keinen tatsächlichen Zweck verfolgen. Aber hey, die Seite ist nicht mehr leer
Von Björn am 18. April 2009 16:42 CET
Für die Beitragsinhalte sind die Blogbetreiber verantwortlich.
Letzte Aktualisierung: 10. March 2010 21:15 CET
Diese Seite wird stündlich aktualisiert.