Updateproblem auf TomTom GO 730 (mal wieder) – diesmal aus Speichermangel

Letzte Woche war es wieder so weit: TomTom verkündete per E-Mail voller Stolz, dass nun die neuen Karten zum Update bereit stünden. Ich weiß nicht, wie es Ihnen geht, aber ich persönlich erwarte als Mac-Anweder nach meinen bisherigen Erfahrungen mit der TomTom-Software schon nicht mehr, dass es “einfach so” funktioniert. Meine Erwartungen wurden nicht enttäuscht:

Nach dem Herunterladen der knapp 1,9 GB Kartenmaterial für “Western and Central Europe” brach die Aktualisierung des Gerätes mit einem Fehler ab “… error writing cnames.dat”, wobei der Dateiname vermutlich an der Stelle eher Zufall ist. Im Ergebnis lässt sich die neue Karte nicht nutzen; in meinem Fall meldete das GO, dass die Karte erst aktiviert werden müsse. Als Abo-Kunde dachte ich da nur: “Ja, nee – is klar.” Die Untersuchung des Speicherinhaltes offenbarte dann eine Restkapazität von 0 Bytes. Das erklärte Einiges, wenn auch nicht die Fehlermeldung mit der Aktivierung, aber denen glaube ich ohnehin nicht mehr. Irgendwo auf den TomTom-Seiten habe ich auch gelesen, dass der Kartenbestand für 2 GB “optimiert” sei, was eine schnellere Routenfindung ermögliche. Jeder Datenheini weiß, dass sich Zeitersparnis meistens nur mit mehr Platz erkaufen lässt, mit anderen Worten: Die 2 GB werden auch gebraucht.

Die Recherche nach den Platzfressern auf der Karte brachte dann Folgendes zu Tage:

  • Spotlight hatte unter der Wurzel ein Verzeichnis mit mehreren MB Inhalt zur Indizierung angelegt, weil ich vergessen hatte in den Systemeinstellungen das Volume “INTERNAL” (so der Name nach Anmeldung auf meinem Rechner) von der Indizierung auszunehmen. Das habe ich dann sofort nachgeholt und in einem Terminalfenster mit /bin/rm -rf .Spotlight*das Verzeichnis gelöscht.
  • À propos Löschen: Verträumterweise habe ich irgendwann einmal mit dem Finder Dateien auf dem GO gelöscht. Das Ergebnis war ein Verzeichnis .Trashes mit den vermeintlich gelöschten Dateien. Also weg damit, und zwar in der oben beschriebenen Weise aus dem Terminal heraus.

Um das System in einem definierten Zustand zu haben, hatte ich vor den Löschaktionen erst einmal alles gelöscht, dann mein letztes manuelles Backup (eines, das mit cp -a /Volumes/INTTERNAL/* "Zielverzeichnis" entstanden ist) zurück gespielt.

Um diese Mac-Besonderheiten bereinigt sollte das Update jetzt ja funktionieren – dachte ich. Fail. Der Fehler tauchte wieder auf, die Karte war wieder voll. Erst als ich auch noch die mitgelieferten MP3-Dateien entsorgt und die Lösch- und Rückspielprozedur wiederholt hatte, lief das Update durch. Ersatzweise hätte ich vielleicht auch meine POI-Daten wegwerfen können, aber die sind mir wichtiger als die Muzak-Dreingabe, die sowieso nicht nach meinem Geschmack war.

Eine Beobachtung des erst anwachsenden und wieder leicht abnehmenden Platzbedarfs während der Installation durch TomTom HOME lässt mich vermuten, dass es die Archivdateien auf dem Gerät auspackt, was natürlich zwischendurch mehr Platz beansprucht als der Datenbestand nach abgeschlossener Installation. Inzwischen erwartungsgemäß waren meine Favoriten sowie der Heimatstandort und weitere Einstellungen nach dem Update gelöscht, aber das wundert mich bei der vorliegenden Softwarequalität schon lange nicht mehr.

Fazit: Wer tatsächlich seinen GO 730 in der angebotenen Weise nutzt und ihn mit weiteren Daten befüllt als “nur” dem Kartenmaterial, insbesondere wenn er/sie die Daten für West- und Zentraleuropa erworben hat, sollte sich dringend eine größere Speicherkarte kaufen. Ich werde das wohl tun müssen.

Epilog: Den TMC-Empfang werde ich erst morgen ausprobieren können (siehe den letzten Eintrag aus dieser Reihe); die zugehörigen Dateien sehen bis jetzt jedenfalls ganz gesund aus.

Gute Fahrt!

Problem mit TMC-Empfang auf TomTom GO730 nach Update beheben

Nach einem Update auf das neueste Kartenmaterial (West- und Zentraleuropa) auf dem TomTom GO730 am 10.09.09 hatte ich folgendes Symptom: Der TMC-Empfänger wurde zwar erkannt, aber es wurde nichts empfangen. Der Status in den Verkehrsinfo-Einstellungen meldete dauerhaft, dass nach einem Radiosender gesucht werde.

Ein freundlicher Mitarbeiter des lokalen Elektro-Großmarktes (der mit den vielen Ringen) äußerte, dass ihm kein Zusammenhang mit dem Update bekannt sei und riet mir, das Gerät einzuschicken.

Unser aller Internet war aber mal wieder schlauer als der Einzelne, und deshalb stieß ich dann auf die Lösung anhand eines Forum-Postings: Bei der Installation des Kartenmaterials wurden auf dem GO im Verzeichnis Western_and_Central_Europe_2GB die Dateien tmccodes.dat und traffic.dat auf 0 Bytes gekürzt. Sollte das bei Ihnen nicht so sein, ist dieser Artikel vermutlich nicht die Lösung Ihres Problems. Da die Dateien im heruntergeladenen ZIP-Archiv des Kartenmaterials aber vollständig sind, ist das Vorgehen zur Behebung wie folgt:

  1. Das TomTom mit dem Rechner als Laufwerk verbinden.
  2. Vorsichtshalber ein manuelles Backup (Kopie aller Dateien und Verzeichnisse aus dem Wurzelverzeichnis) anlegen.
  3. Im Verzeichnis Western_and_Central_Europe_2GB auf dem GO die Dateien tmccodes.dat und traffic.dat löschen.
  4. Auf dem Rechner mit dem Download-Material im TomTom-Verzeichnis (~/Documents/TomTom unter Mac OS, C:\Dokumente und Einstellungen\TomTom unter Win XP) befindet sich im Unterverzeichnis HOME/Download/complete/map/West-_und_Mitteleuropa_2GB-1 (bzw. ohne die “-1″ oder mit einer anderen Zahl, je nachdem ob das Ihr erster oder n-ter Download des Materials war) die Datei Western_and_Central_Europe_2GB.zip. Entpacken Sie diese in ein anderes Verzeichnis.
  5. Kopieren Sie aus diesem Verzeichnis die Dateien tmccodes.dat und traffic.dat in das Verzeichnis aus Schritt 3 auf den GO, aus welchem Sie die Dateien gelöscht haben.
  6. Trennen Sie den GO sicher vom Computer (Auswerfen!) und starten Sie ihn neu. Auf meinem Mac tut er das von selbst.

Der TMC-Empfang sollte wieder gehen. So war es jedenfalls bei mir.

Angesichts der Tatsache, dass dies nicht das erste Mal war, dass ein Update Probleme verursachte, stellt sich abschließend nur die Frage, wann TomTom endlich seine Qualitätsprobleme in der Software-Verteilung in den Griff bekommen will.

Converting TiddlyWiki Syntax into DokuWiki Markup with TextMate

I like TiddlyWikis. They are my electronic counterpart of a notepad. All notes, thoughts and code snippets with the interface for editing and searching in one single file to be carried around and used everywhere, I have a web browser at hands. But after heavy usage during at least three years I had collected too much of them and encountered the drawbacks: orphanhood and redundancy. Dozens of chunks of information I could not remember the path to the TiddlyWiki file I have put them into, and some other notes in several TiddlyWikis partly doubled and partly scattered without a link between the pieces.

Hence it was time to clean up things and put together what was living in the virtual diaspora of my hard disks. My remedy of choice is DokuWiki, a wiki software with an active community and few requirements, because the storage is based on plain old text files. Shortly: It needs a running web server with a PHP installation. The main disadvantage: It is not as easy to move back and forth to memory gadgets as it is with TiddlyWikis.

Unfortunately the markup notations used by both wikis differ in quite a lot of the typographic idioms. First I edited some of the tiddlers (as the tidbits of content are called in a TiddlyWiki) manually to make them fit into DokuWiki’s markup grammar, just to get a feeling for the process and quickly let the programmer’s layziness in me take over. The result was a command for my favourite and on macs very popular text editor TextMate, written in Ruby:

#!/usr/bin/env ruby -w
# Tiddly2DokuWiki - Converting TiddliWiki markup into DokuWiki markup
# [03.03.09:ofi]
$KCODE = 'U'
# Method of simple simultaneous conversion taken from
# "Ruby Cookbook, Recipe 1.18"
class String
  def mgsub (key_value_pairs=[].freeze)
    regexp_fragments = key_value_pairs.collect { |k,v| k }
    gsub( Regexp.union( *regexp_fragments ) ) do |match|
      key_value_pairs.detect{ |k,v| k =~ match } [1]
    end
  end
end
def simple_convert (text)
  text.mgsub([
    [/''/, '**' ],  #bold
    [/^\*[^*]/, '  * '],  # unordered lists 1st level
    [/^\*\*[^*]/, '    * '],  # unordered lists 2nd level
    [/^\*\*\*[^*]/, '      * '],  # unordered lists 3rd level
    [/^#[^#]/, '  - '],  # ordered lists 1st level
    [/^##[^#]/, '    - '],  # ordered lists 2nd level
    [/^###[^#]/, '      - '], # ordered lists 3rd level
    [/\|\!/, '^ '],  # table header
    [/\|\|/, '| |'],  # empty cell to blank cell, because...
    [/\|\~/, '| '],  # row span not supported in DokuWiki, use blank
    [/^\{\{\{$/, '< code>'], [/^\}\}\}$/, '< /code>']  # code paragraphs
# ATTENTION!       ^----- these blanks -----^  have to be removed!!!
# They are here only not to screw up the code output within WordPress!
  ])
end

text = simple_convert( STDIN.read ) # simple substitutions

text.gsub!( /\~(\w+)/, '\1' )  # remove WikiWord escapes
text.gsub!( /--(.+?)--/, '< del>\1< /del>' )  # strike thru
# ATTENTION! these blanks -^-------^  have to be removed!!!
# They are here only not to screw up the code output within WordPress!
text.gsub!( /^\!\s*(\w.*)/, '===== \1 =====' )  # h1 --> h2
text.gsub!( /^\!\!\s*(\w.*)/, '==== \1 ====' )  # h2 --> h3
text.gsub!( /^\!\!\!\s*(\w.*)/, '=== \1 ===' )  # h3 --> h4
text.gsub!( /\[\[(.+?)\|(.+?)\]\]/, '[[\2|\1]]' ) # links with text
text.gsub!( /\{\{\{(.+?)\}\}\}/, '\'\'\1\'\'' )  # code inline literals
# now the "master piece": converting column spanning table cells:
text.gsub!(/\|((>\|)+)([^|]+)\|/) {|m| '|' +$3 + '|'*($1.length/2) + '|' }
print text

This code is to be saved as a new command with the options Input: “Selected Text” or “Document” and Output: “Replace Selected Text”, allowing you to choose between only converting the selected part of text or all of it when nothing is selected. As always you can assign a key for activation if you like, but more important: Don’t forget to remove the spaces after the opening angular brackets in the “code” and “del” tags as indicated in the source! I had to insert them to not confuse the WordPress markup.

Disclaimer: This code is provided as is. It may serve as a tool for the purpose described here but I deny any fitness of it for any kind of usage. If  you use it, you agree that I am not responsible for any consequences following of its use.

That said, it does work well for me, but has some weaknesses:

  • The conversion is stateless, meaning that it does not distinguish if a conversion takes place wihtin a “code” or a “text” section. Thus it will convert strings within code snippets as well.
  • Hard line breaks will not be converted to the DokuWiki pendants (double backslash before newline or whitespace) for the same reason.
  • Conversion rules for superscript and subscript are missing. If you need them you may take the rule for the “strike through” format as a template and roll your own.

To transfer the code between the textareas of a wiki page and TextMate I use the It’s All Text! add-on for Firefox, but copy and paste will do as well.

Definitely I will continue using TiddlyWikis, and with this command snippet I can do the housekeeping as long as I can keep track of all these tiddlers – hopefully.