Wenn’s mal wieder länger dauert
Ok, ich komm dann so in 707 Tagen wieder…

Ok, ich komm dann so in 707 Tagen wieder…

Seit neustem verteilt Siemens die Updates für STEP7-Micro/WIN 4.0 nicht mehr online, sondern man muss die CD beim der zuständigen Vertretung bestellen.
Wenn es mal schnell gehen muss, kann man SP8 auch bei Megaupload downloaden. Eine installierte, gekaufte Version ist natürlich nach wie vor erforderlich, um das Update einzuspielen.
Um den Banner oben rechts im Foxit PDF Reader zu entfernen, genügt eine kleine Änderung in der Registry.
REGEDIT4 [HKEY_CURRENT_USER\Software\Foxit Software\Foxit Reader\MainFrame] "ShowAd"="0"
Auf einmal gibt der VLC Mediaplayer unter Windows 7 keinen Ton mehr von sich. Video wird immer noch angezeigt, aber kein Ton. Andere Anwendungen funktionierten, auch die Systemsounds waren zu hören, also kein prinzipielles Problem. VLC neu installieren und die Einstellungen des VLC zurücksetzen hat nichts gebracht, denn Windows (ich glaube ab Vista) speichert Audioeinstellungen nach Anwendung in der Registry.
Um dem VLC wieder Töne beizubringen musst man zuerst alle Einstellungen zurücksetzen, also VLC starten, im Menü auf Extras -> Einstellungen, dann unten auf den Button Einstellungen zurücksetzen klicken und VLC wieder beenden. Danach den regedit starten, und nach folgendem Schlüssel suchen:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\LowRegistry \Audio\PolicyConfig\PropertyStore
Darin nach vlc suchen und alle gefundenen Einträge löschen (bei mir waren es drei Stück), VLC neu starten, danach sollte der Ton wieder funktionieren.
Achtung! Änderungen in der Registry können fatale Folgen für das Betriebssystem haben, zur Sicherheit sollte man vor dem Löschen diesen Schlüssel exportieren.
Diese beiden Shell-Skripte erzeugen jeweils eine SQL Datei, die eine komplette Datenbank mydbname nach UTF-8 konvertiert. Zuerst ein bash Skript für Linux:
#!/bin/bash
DB="mydbname"
OUT="utf8.sql"
echo "USE \`$DB\`;" > $OUT
echo "SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;" >> $OUT
echo "ALTER DATABASE \`$DB\` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $OUT
mysql information_schema --user=root -p --silent --skip-column-names -e "select concat('ALTER TABLE \`',table_name,'\` CONVERT TO CHARACTER SET utf8;') from tables where TABLE_SCHEMA = '$DB'" >> $OUT
echo "SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;" >> $OUT
Hier eine Windows-Variante des Skripts
set DB=mydbname
set OUT=utf8.sql
echo USE `%DB%`; > %OUT%
echo SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; >> %OUT%
echo ALTER DATABASE `%DB%` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; >> %OUT%
mysql information_schema --user=root -p --silent --skip-column-names -e "select concat('ALTER TABLE \`',table_name,'\` CONVERT TO CHARACTER SET utf8;') from tables where TABLE_SCHEMA = '%DB%'" >> %OUT%
echo SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; >> %OUT%
Eine neue, vollständige Europakarte mit Garmins Mapsource zu erzeugen und auf den zumo zu übertragen dauert im wahrsten Sinne des Wortes Stunden, denn erstmal wird von Mapsource ein Index und die Karte erzeugt, und danach wird sie über die USB Schnittstelle an den zumo übertragen. Die Schreibrate von PC auf den zumo beträgt etwa 400kB/s, die Karte ist knapp 2GB – also da vergehen insgesamt mal locker anderthalb Stunden. Übrigens, die Leserate ist auch nicht wirklich besser: 585kB/s.
Die temporäre Karte, die Mapsource vor dem Übertragen erzeugt, wird unter Windows 7 in %TEMP%\Mapsource abgelegt und heißt imgXXX.tmp. Wenn Mapsource mit dem erzeugen der Karte fertig ist und anfängt die Karte an den zumo zu übertragen, kopiert man währenddessen die %TEMP%\Mapsource\imgXXX.tmp zum Beispiel nach karte.img und bricht danach die Übertragung ab.
Jetzt kann man die SD-Karte aus dem zumo nehmen, diese in einen handelsüblichen Kartenleser stecken und die karte.img nach x:\garmin\gmapsupp.img kopieren, wobei x: der Laufwerksbuchstabe der Karte ist. Das geht wesentlich schneller, je nach Karte 10MB/s und mehr.
Wie’s noch schneller geht steht in den Kommentaren.
IMAP nach MBOX konvertieren geht mit einem Einzeiler. Folgender kopiert alle Nachrichten aus den maildir Ordnern cur und new in die MBOX Datei mbox. Das funktioniert natürlich mit allen Unterordnern.
find . \( -wholename "*/cur/*" -o -wholename "*/new/*" \) \ -printf "formail < \"%p\" >> ./mbox\n" | sh
WordPress und viele andere Programme nutzen gettext für die Internationalisierung um Webprojekte in vielen Sprachen anzubieten. Um die Übersetzungen zu ändern kann man die Werte in der .po Datei mit einem Texteditor ändern. Unter WordPress finden wir die .po-Datei in wp-content/languages. Mit msgfmt aus dem gettext-Paket wird die .mo Datei aus der .po Datei erzeugt:
msgfmt -o de_DE.mo de_DE.po
Beim Stöbern im Keller bin ich auf die Schachtel von Virtual Pascal gestoßen. Sogar die Rechnung lag noch mit drin, und das seit 1996, als ich für den OS/2 Compiler 410.50 DM bezahlt habe. Als Pascal Programmierer unter OS/2 musst man damals lange auf eine schöne IDE ganz im Stile von Borlands Turbo Pascal warten. Auch wenn damals als Student das Geld eher knapp war, konnte ich der Verlockung nicht widerstehen, habe mir den Compiler gekauft und viele kleinere Programme geschrieben.

Falls jemand Interesse an dem Paket mit Handbüchern und Diskette hat, für 200 EUR schicke ich es portofrei zu. Einfach im Kommentar melden.
Wenn man im Excel eine Abfrage über eine ODBC Verbindung hat, lässt sich diese nachträglich nur umständlich ändern:
Öffne das Arbeitsblatt und setze den Cursor in eine Zelle des Bereiches der Abfrage. Drücke Alt-F11 um den VB-Editor zu öffnen. Drücke Ctrl-G um das Direktfenster zu öffnen. Tippe folgenden Befehl und schließe mit Enter ab.
? ActiveCell.QueryTable.Connection
Der Connection String wird jetzt angezeigt. Mache doppelte Anführungszeichen um den Connection String und ActiveCell.QueryTable.Connection = an den Anfang stellen und führe die Anweisung aus. Zum Beispiel:
ActiveCell.QueryTable.Connection = "ODBC;DATABASE=db;DESCRIPTION=My ..."
Für eine Pivot Tabelle sieht das ähnlich aus:
? Activecell.PivotTable.PivotCache.Connection