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.

Zeitumstellung, Nicht-Computer-Uhren stellen

Uhren in Computern mit modernen Betriebssystemen und Internet-Verbindung sind recht komfortabel: Sie setzen sich dank NTP und und hinterlegter Zeitzonen-Informationen automatisch. Das passiert nicht nur zu der Sommer-/Winterzeitumstellung, sondern ständig im Hintergrund.

Hat man keine andere verlässliche Zeitquelle wie z.B. eine Funkuhr zur Hand bietet es sich daher an zum Stellen von anderen Uhren auf die Computerzeit zuzugreifen.

Continue reading “Zeitumstellung, Nicht-Computer-Uhren stellen”