Gelöst: Freezes bei Fujitsu Lifebook E781

In der Vergangenheit ist obiges Laptop in unregelmäßigen Abständen eingefroren. Die weiter unten beschriebenen Effekte traten ohne erkennbaren Zusammenhang auf, allerdings gefühlt häufiger, wenn ich den Rechner während des Tages schonmal aus der Dockingstation entfernt hatte. Ob das vor der Umstellung von 32 auf 64 Bit Windows 7 auch schon so war kann ich nicht mehr genau sagen.

Continue reading “Gelöst: Freezes bei Fujitsu Lifebook E781”

Plaintext-only Copy/Paste unter Windows

Arbeitet man mit vielen unterschiedlichen Programmen, ist es besonders unter Window ein ständig wiederkehrendes Ärgernis, wenn beim Kopieren und Einfügen die ursprüngliche Formatierung beibehalten wird.

Üblicherweise will man beim Schreiben einer Email in Outlook nämlich genau nicht die unterschiedlichen Ursprungsformatierungen der Excel-Zeile, des Absatzes aus Word und des markierten Wortes in einer anderen Email haben, sondern nur den Inhalt mit der aktuellen Format-Vorlage der Anwendung in der man arbeitet.

Continue reading “Plaintext-only Copy/Paste unter Windows”

Binärdateien in subversion und die global ignore list

Manchmal kann es notwendig sein, binäre Build-Artefakte zu versionieren (z.B. wenn der Build zu zweitaufwendig ist, die Tools aus Lizenzgründen nicht überall verfügbar sind oder der Quelltext im Fall einer Binärzulieferung gar nicht vorliegt).

Subversion ist hier zwar auch nicht ideal, hat aber im Gegensatz zu verteilten Versionsverwaltungssystemen wie git nicht den Nachteil, daß die komplette History gespiegelt wird. Meist ist man ja nur an der letzten Version interessiert.

Wenn man also Libraries/Executables in subversion speichert, sollte die folgende Option in ~/.subversion/config explizit leer gesetzt sein:

global-ignores =

Continue reading “Binärdateien in subversion und die global ignore list”

Timer und gettimeofday()

TL&DR: Bei Zeitmessungen immer eine monotone Uhr verwendet werden, nicht die normale Systemzeit.

Long story:

In einem speziellen Fall einer Timer-Implementierung wurde gettimeofday() verwendet. Auf dem Entwicklungs-Rechner hat der Timer anstandslos funktioniert. Auf dem Embedded-System mit angeschlossenem GPS hat der Timer nicht gefeuert.

Grund dafür war, daß während des Hochfahrens die Zeit mehrmals gesetzt wurde. Dadurch waren die relativen Abstände der Zeitstempel nicht mehr korrekt. Speziell in dem Fall in dem die System-Zeit 60 Sekunden in die Vergangenheit gesetzt wurde war der 15 Sekunden-Timer plötzlich auf 60+15 Sekunden = 75 Sekunden terminiert.

Bei Zeitberechnungen/Timer ist man in den meisten Fällen an einer Uhr interessiert die für die Laufzeit des Programms bzw. des Systems die Zeit kontinuierlich hochzählt. Das Mittel der Wahl unter Linux ist dafür clock_gettime(CLOCK_MONOTONIC).

Route mit Stopovern in Google-Earth

Standardmäßig bietet Google-Earth zur Routenberechnung nur ein einziges Ziel an. Will man mehrere Zwischenziele/Vias angeben, muß man das manuell in folgendem Format ins Suchfeld (unter “Search”) eingeben:

from:start to:via1 to:via2 to:via3 to:dest

start, dest und die vias können dabei textuelle Angaben, Geokoordinaten oder bereits gesetzte Marker sein. Die Route wird in der angegebenen Reihenfolge berechnet.