SucheBlog abonnierenVerwaltung des BlogsKategorienKontaktMarkus Brückner |
Dienstag, 23. April 2013Browser in Thunderbird umstellenHm, das hat mal wieder länger gedauert mit dem Suchen. Ich möchte gern aus Sicherheitsgründen meinen Browser unter einem extra Nutzer ausführen. Das ist soweit kein Problem. Einfach mein Profil in den neuen Nutzer kopiert, mittels kdesudo -u webuser firefox den Browser aufgerufen, alles gut. Ok, ich müsste theoretisch mein Passwort jedesmal eingeben, aber das kann man ja durch eine geeignete Einstellung in /etc/sudoers verhindern. Falls das mal jemand braucht: user ALL=(webuser) NOPASSWD: /usr/bin/firefox Diese Zeile in /etc/sudoers erlaubt dem Nutzer user den Befehl /usr/bin/firefox ohne Passwortrückfrage als webuser auszuführen. Diese Einstellungen gelten auch für kdesudo (ich verwende KDE), statt des normalen sudo nimmt dieses aber auch die X-Credentials mit, so dass ein grafisches Programm wie Firefox angezeigt werden kann. Wenn man jetzt noch in der KDE als Standardkomponente für den Webbrowser den kdesudo-bewehrten Befehl oben einstellt, dann öffnen alle KDE-Programme ihre HTTP- und HTTPS-Links mit Firefox unter dem webuser. Doof nur, dass ich Thunderbird verwende (ich mag Akonadi nicht, seitdem ich da mal längere Zeit Probleme mit verschwindenden Terminen etc. hatte). Als GTK-Programm hält der sich dummerweise nicht an die Einstellungen von KDE (ist Vielfalt nicht manchmal toll?). Ich habe eine ganze Menge Tipps im Netz gefunden, die samt und sonders alle nicht mit meinem Thunderbird 17 wollten. Ergo: selbst etwas rumprobiert (ich wusste, dass ich das schonmal eingestellt hatte…) und folgendes gefunden: man gehe über Bearbeiten -> Einstellungen -> Anhänge und suche dort die Dateitypen http und https raus. Dort steht normalerweise firefox (oder sonstwas vergleichbares) drin. Man kann da zwar ein anderes Programm angeben, aber leider keine Standardparameter einstellen, was die kdesudo-Lösung direkt verhindert. Deswegen schreibt man sich ein kleines Bash-Skript mit folgendem Inhalt: #! /bin/bash kdesudo -u webuser firefox $1Das legt man irgendwo erreichbar hin, macht es ausführbar und stellt es im Thunderbird als Anwendung für die http und https Dateitypen ein. Siehe da: es funktioniert, auch der Thunderbird öffnet die Links in einem Browser unter einem anderen Nutzer. Sonntag, 17. Februar 2013Fotolokalisierung mal andersSeit Jahren ärgere ich mich immer mal wieder über ein Bild, welches ich auf dem Rückflug von Kalifornien 2006 aufgenommen habe:
![]() Eine schöne Felskante
Sonntag, 10. Februar 2013Spuren im SchneeDer Schnee in unserem Garten hat heute morgen eine interessante Geschichte zu erzählen:
Da hatte wohl jemand heute nacht eine gute Mahlzeit. Samstag, 29. Dezember 2012Duplicity und "system clock issues?"
Weil ich's garantiert mal wieder selbst brauche und dann sinnlos danach suchen würde: wenn duplicity mit "AssertionError: time not moving forward at appropriate pace - system clock issues?" fehlschlägt, dann kann es sein, dass im lokalen Signatur-Cache noch fehlerhafte Dateien von einem fehlgeschlagenen vorangegangenen Backupversuch liegen. Einfach in ~/.cache/duplicity/<Backup-ID> alle .part-Dateien löschen. Beim nächsten Lauf beschwert sich duplicity möglicherweise, dass Reste eines fehlgeschlagenen Backups rumliegen, sollte dann aber ganz normal weitermachen. Die Fehlermeldung ist… nicht unbedingt naheliegend. Dummerweise wollen die Bugs nur mit Anmeldung haben, worauf ich grad keinen Bock habe.
Sonntag, 16. Dezember 2012FutterexperimenteDie beste aller Ehefrauen hat leider heute Mittag die noch vorhandenen Hackfleischvorräte verbraten, was uns jetzt vor kleinere Probleme beim Bauen von Cheeseburgern gestellt hat. Also ran an den Experimentiertisch. Man nehme: eine Dose Baked Beans (als Freunde eines englischen Frühstücks hatten wir die noch da), ein Ei, etwas Muskat, Salz, Pfeffer und etwas Mehl. Gründlich verrühren (dabei soviel Mehl hinzufügen, dass sich eine klebrige Pampe ergibt). Das Ganze in einer antihaftbeschichteten Pfanne (will man wirklich!) in etwas Öl braten (vergleichbar zu Eierkuchen). Der Rest der Burger ist wie üblich. In unserem Fall diesmal die üblichen Burgerbrötchen, passende Hamburgersoße, Ketchup, Rucola, grüne Gurke, eine Scheibe Gouda und etwas Eisbergsalat. Vor allem der etwas kräftigere Gouda und der Rucola machen sich ganz gut mit dem etwas ungewöhnlichen Fleischersatz. Lecker war's und pappsatt hat's auch noch gemacht. So sah's übrigens aus:
![]() Versehentlich vegetarische Burger
Samstag, 30. Juni 2012Genesis Klassik in MerkersMan nehme: Musik von einer Band die über jeden Zweifel erhaben ist,einen der ehemaligen Sänger genau jener Band, ein Streicherensemble, ein paar weitere gute Musiker, Tontechniker (ganz wichtig) und Beleuchter und eine Konzerthalle, an die kaum was rankommt. Fertig ist ein perfekter Abend:
![]() Ray Wilson und das Berlin Symphony Ensemble
![]() Wie sich's im Bergwerk gehört: bei der Zugabe mit Helm…
Dienstag, 29. November 2011Richtige Verwendung von select()Merke: manchmal hilft Doku lesen erheblich. Ich habe gerade einen halben Tag danach gesucht, wieso eine pipe() zwischen zwei Threads eines Programms nicht funktioniert. Ich habe eine pipe, an deren lesendem Ende ein Thread mittels select() auf Befehle wartet. Dummerweise wollte bei folgendem Code select nicht zurückkehren: select(1, &fdset, 0, 0, 0) Irgendwie wollte das partout nicht zurückkehren, obwohl ich das Schreib-Ende des File-Descriptors beschrieben habe… Hm… Nach einigem Suchen habe ich die Doku nochmal genauer gelesen: nfds is the highest-numbered file descriptor in any of the three sets, plus 1. Tja, richtig lesen. nfds (der erste Parameter von select) ist nicht die Anzahl der Descriptoren im fd_set, sondern die Nummer des höchsten Descriptors plus eins. Dummerweise ist das Beispiel in der Doku mit fd=0 gemacht, so dass der höchste plus 1 gleich 1 ist (und damit gleich der Anzahl), was mich natürlich auf die völlig falsche Fährte gelockt hat. Naja, ein halber Tag versemmelt, aber wenigstens was bei gelernt. Fast wie Goethe… Dienstag, 27. September 2011Warum ich die Shell mag...Warum ich Linux/die Shell mag 200: eine gewisse Zeitrafferkamera hat gestern mal wieder beschlossen statt 1 Bild pro Minute 2 zu machen. Ungünstig, zumal die Bilder in unregelmäßigen Abständen gemacht wurden (eins bei 22 Sekunden und eins bei 40). Die Hälfte muss also weg. Tja, nur wie? Shell to the rescue: rm IMG_???{0,2,4,6,8}.JPG
Löscht alle Bilder mit geraden Nummern und löst damit das Problem zuverlässig. Dienstag, 19. Juli 2011Rasenmähen120 m² Wiese in 2 Tagen mit der Sense gemäht. Muskelkater, Sense kaputt (selbstgebastelter Ausleger gebrochen), nur 10% gemäht. Wiese - Markus: 1:0. Mist. Egal, am WE gibt's nen vernünftigen Sensenwurf und eine Dengelhilfe. Ich krieg die Wiese schon klein! In related news: die Holdeste und ich waren heute Rasenmäher kaufen... Mittwoch, 25. Mai 2011R.I.P. SpiritEin Jahr lang haben sie's versucht, heute war das letzte Mal: die NASA wird nicht mehr versuchen den Mars-Rover Spirit zu erreichen. Nachdem der ja nun schon vor zwei Jahren aufgrund technischer Probleme im Sand stecken geblieben war und man deswegen schon angenommen hatte, dass er Schwierigkeiten kriegt sich nach dem Mars-Winter wiederzubeleben, stellt man nun die Versuche ein und konzentriert sich auf die anstehende Curiosity-Mission im November. Das Durchhaltevermögen der Beteiligten dürfte sich auch aus dem außergewöhnlichen Erfolg von Spirit und seinem Zwilling Opportunity erklären: geplant für 90 Tage lieferte Spirit mehr als 5 Jahre Daten. Opportunity läuft immernoch. Da werden selbst die rationalsten Ingenieure sentimental und wollen die Hoffnung so schnell nicht aufgeben. Vielleicht findet ja in einigen Jahrzehnten bei einer Mars-Reise mal jemand den Rover und kann ihm ein gebührendes Denkmal setzen. Freitag, 22. April 2011Neuer Release des Logging-TemplatesIrgendwann vor langer, langer Zeit (laut Versionshistory mittlerweile 5 Jahre her) hatte ich mal als Fingerübung ein Logging-Template in C++ geschrieben, was sich anfühlen sollte wie std::cout. Ziel war den geneigten Programmierer vom Denken zu entlasten und ihm quasi std::cout-Debugging mit etwas mehr Möglichkeiten zu erlauben. Hat offenbar damals schon gut gepasst, kurz darauf kam nämlich die Fähigkeit zur Anpassung an verschiedene Multithread-Umgebungen via Policy-Klasse dazu. Dann lag das ganze erstmal 5 Jahre im Dornröschenschlaf, in denen ich es zwar hin und wieder genutzt habe, aber eigentlich keine neuen Fähigkeiten brauchte. Bis vor kurzem... Daher jetzt: tada! ein komplett neues Release, in dem sich so einiges geändert hat. Das Frontend an sich bleibt gleich (sprich: existierender Code sollte problemlos weiter kompilieren, es sei denn er macht was total dämliches und verwendet zweimal einen Log-Level in einer Nachricht). Im Hintergrund hat sich allerdings einiges getan. Erstmal wurde der Code etwas aufgeräumt, da sich dort von verschiedenen Experimenten Reste angesammelt hatten. Dann wurde das Handling der Loglevel komplett umgebaut um eine flexiblere Ausgabe nach unten zu ermöglichen. Hintergrund: ich brauche für ein Projekt gerade die Möglichkeit Daten ins Syslog auszugeben. Dazu muss der zugrundeliegende Ausgabestream aber das Log-Level wissen. Außerdem muss er zuverlässig wissen, wann eine Nachricht beendet ist. Beides stellt das Frontend jetzt sicher. Weil's so schön war habe ich gleich noch den passenden SyslogStream beigelegt, der das Loggingfrontend an syslog() anklemmt. Benutzung ist wie üblich relativ einfach:
#include <syslogstream.hxx>
use namespace Logging;
int main(int argc, char *argv[]) {
SyslogStream slog("TestLogger");
Syslogger logger(slog, LEVEL_INFO);
logger << LEVEL_INFO << "This an INFO message which has a number attached: " << 12345 << std::endl;
logger << LEVEL_WARNING << "This is a warning message." << std::endl;
return 0;
}
Dieser Code schreibt zwei Nachrichten unter dem Präfix TestLogger ins Syslog. Die Doku der Klassen gibt noch einige Informationen her, welche Eigenschaften man zusätzlich konfigurieren kann. Das Logging-Frontend kann dank std::ostream-Kompatibilität natürlich jedes Element ausgeben, welches auf einem ostream ausgegeben werden könnte. Der Code ist weiterhin header-only, braucht also keine Installation irgendwelcher Bibliotheken, sondern kann dan public-domain-Lizenz einfach ins eigene Projekt mit übernommen werden. Wer nett sein will: mich interessiert immer, wo der Code verwendet wird. Kurze Mail an mich wäre nett (hm... sollte ich vielleicht mal in die Lizenz schreiben...) Der Code ist mittlerweile umgezogen und liegt bei Bitbucket: https://bitbucket.org/namenlos/logging/ Sonntag, 17. April 2011Rollerderby in StuttgartDas Wochenende war mal wieder Ausflugsprogramm angesagt. Was sich halt so ergibt, wenn der Freundeskreis über die Republik verteilt ist. Diesmal war Stuttgart dran. Dank unseres Gastgebers hatten wir am Samstag das Vergnügen mal einer etwas ungewöhnlichen Sportart zuzusehen: dem Roller Derby. Das ganze ist erstmal recht simpel: eine ovale Bahn und zwei Mannschaften (heute meist weiblich) auf Rollschuhen, die sich versuchen gegenseitig zu überholen, blocken, umzurempeln und was nicht alles. In der Realität ist das ganze etwas komplexer: die Teams treten in Rennen von maximal 2 Minuten Länge (sogenannte Jams) gegeneinander an. Dabei sind 2x4 Spielerinnen im "Pack" zusammengefasst und starten zuerst. Hinter dem Pack starten in einem gewissen Abstand nun die beiden "Jammer". Deren Aufgabe ist es das Pack zu überrunden und dadurch Punkte zu sammeln. Der Jammer, der dabei das Pack zum ersten Mal überholt wird "Lead Jammer" und kann den Jam jederzeit abbrechen. So drehen die Damen nun ihre Runden und versuchen Punkte zu sammeln. Punkte gibt es dabei für jeden überrundeten Gegner (gern auch mehrfach). Die "Blocker" genannten Spielerinnen aus dem Pack dürfen nach gewissen – ziemlich komplexen – Regeln durch Rempeln und Blockieren die Jammer am Punktemachen hindern. Das ganze hat gefühlte 2000 Regeln, ist aber im praktischen Einsatz ganz witzig. Blaue Flecken inklusive. Wir hatten nun gestern das Vergnügen uns die Stuttgart Valley Rollergirlz gegen die Lincolnshire Bombers aus Lincoln in Yorkshire anzuschauen. Die ganze Sportart ist von der Aufmachung her so ein wenig auf "Coolness" getrimmt (ähnlich Snowboarden) mit lauter Musik und amüsanten Kampfnamen der Spielerinnen. Die Stuttgarter haben ihre Gäste vorsichtig ausgedrückt versägt. 142:34 Punkte. Der guten Stimmung hat das auf beiden Seiten keinen Abbruch getan. Dem Vernehmen nach wurde nach dem Match noch bis in die Puppen gefeiert. Damit man sich mal ein Bild davon machen kann hier mal drei Fotos von gestern: ![]() Das "Pack": die Spielerinnen, die versuchen müssen die Jammerinnen zu blockieren. ![]() Die Jammerin der Stuttgarter. Jammer sind an dem Stern auf dem Helm zu erkennen. An der Armhaltung des Schiris im Hintergrund sieht man, dass sie in der Runde Lead Jammer war, also das Recht hatte, die Runde abzubrechen. Die Damen tragen aus Sicherheitsgründen übrigens alle Mundschutz. Stürze sind vorprogrammiert und enden manchmal auch mit einem Ausflug ins Publikum. Meist aber wohl ohne größere Schäden. ![]() Hatten eine weite Anreise mit dem Bus hinter sich: die Lincolnshire Bombers aus Yorkshire, gesponsort von Motörhead. Sonntag, 27. März 2011Schönes Wetter nutzen...Nachdem sich heute der Wetterbericht zum Glück zum Positiven geirrt hatte war mal wieder ein klein wenig Fliegen angesagt. Nach ein paar Übungsrunden (man will ja nix kaputt machen) ging's mit der Holden nach Coburg Brandensteinsebene mit der Familie treffen. Sehr schön gelegener Flugplatz, direkt an der Veste. Leider hat sich außer Manus Oma von der Restfamilie keiner getraut mal eine Runde mitzufliegen. Haja, die wissen ja gar nicht, was sie verpassen... ![]() Die Holde und ich im Flieger auf dem Rückflug. ![]() Immer wieder schön, wenn man von Süden aus Pennewitz anfliegt: das Oberbecken des Pumpspeicherwerks Goldisthal. Mittwoch, 16. März 2011Urlaubsbilder EnglandDie Holde und ich waren letztes Jahr im September die Verwandtschaft in Yorkshire besuchen. Nach gar nicht allzu langer Zeit (und leider noch weit, weit vor den NZ'09-Bildern) ist das Album fertig. Für interessierte findet sich der öffentliche Teil der Bilder dort: http://pics.slash-me.net/ereignisse/england-2010/. Link zu den privaten Bildern für Familie und Beteiligte gibt's auf Anfrage. Sonntag, 20. Februar 20112x Faust in fünf MinutenWas man bei Youtube alles so findet... Zweimal Faust in fünf Minuten, völlig unterschiedlich, aber jedes für sich ziemlich geil: Hubert Burghardt erklärt Faust in 5 Minuten Beides definitiv sehenswert und für den Deutschunterricht geeignet.
(Seite 1 von 25, insgesamt 374 Einträge)
» nächste Seite
|