Pretty print eines JS Objektes
Das hier fällt unter die Kategorie: ein Codesnippet als Merker im Blog hinterlegt.
Ich brauchte für eine Doku die Ausgabe eines Konfigurations-Objektes als auch den Dump einer Rückgabe als Objekt.
Um ein Javascript Objekt schön formatiert (pretty print) auszugeben, hilft dieser Codeschnipsel:
<script>document.write('<pre>'+JSON.stringify(myObject, null, '\t')+'</pre>');</script>
Der Trick besteht darin, in der Methode JSON.stringify als 3. Parameter einen Abstand-Halter zu definieren (hier ein Tab-Zeichen) und in ein pre-Tag zu schieben.
ahMaphelper (PHP-Klasse) - votet auf phpclasses.org
Ich habe da eine PHP-Klasse, die parst aus einer URL von Karten-Anbietern die Position. Und kann mit einer bekannten Position die URLs zu alternativen Anbietern generieren lassen, die zur selben Position zeigen. Das klappt derzeit mit Google Maps (mit div. Länder-TLDs), Yandex.ru und OpenStreetMap.
Man kann die Klasse also zum Extrahieren einer Position nutzen oder aber zum Konvertieren beim gewünschten Wechsel des Karten-Anbieters.
Die Klasse wurde nominiert für einen Innovation Award auf phpclasses.org.
Wer kann und mag, der vote doch bitte für mich!
Beispiel:
require_once 'ahmaphelper.class.php'; $oMaphelper = new ahmaphelper(); print_r($oMaphelper->getPos("https://www.google.ch/maps/@46.9465944,7.4439426,17z"));
… gibt ein zurück Array (und behält es auch intern):
Array ( [source] => https://www.google.ch/maps/@46.9465944,7.4439426,17z [provider] => google [lat] => 46.9465944 [lon] => 7.4439426 [zoom] => 17 )
… und nun zu den anderen Anbietern:
print_r($oMaphelper->getUrls());
zeigt dieses Array:
Array ( [google] => https://www.google.com/maps/@46.9465944,7.4439426,17z [osm] => https://www.openstreetmap.org/#map=17/46.9465944/7.4439426 [yandex] => https://yandex.ru/maps/?ll=7.4439426%2C46.9465944&z=17 )
weiterführende Links:
Chocolatey - veraltete Programm-Einträge löschen
Problem:
Ich habe mit Chocolatey Programme deinstalliert, z.B.
C:\Users\Axel>choco uninstall Quicktime
Aber dennoch verbleiben einige in der Liste der lokalen Anwendungen:
C:\Users\Axel>choco list -lo 7zip.commandline 16.01 7zip.install 16.01 AdobeAIR 20.0.0.233 autohotkey.portable 1.1.23.07 avirafreeantivirus 14.0.6.552 chocolatey 0.9.9.12 ChocolateyGUI 0.13.2 ConEmu 16.5.15.0 Far 3.0.4242 ffmpeg 3.0.1 flashplayeractivex 21.0.0.242 flashplayerplugin 14.0.0.179 javaruntime 8.0.73 jre8 8.0.91 netbeans-php 8.0 PDFXChangeViewer 2.5.317 Pencil 2.0.3 PowerShell 5.0.10586.20151218 Quicktime 7.7.5 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SwissFileKnife 1.6.9 sysinternals 2016.04.28 virtualbox 5.0.20.106931 VirtualBox.ExtensionPack 5.0.20.106931 23 packages installed.
Lösung
Man gehe in das Lib Verzeichnis von Chocolatey
C:\Users\Axel>cd "C:\ProgramData\chocolatey\lib" C:\Program\Data\chocolatey\lib>dir Datenträger in Laufwerk C: ist A Volumeseriennummer: 4C76-01F1 Verzeichnis von C:\ProgramData\chocolatey\lib 23.05.2016 21:11 <DIR> . 23.05.2016 21:11 <DIR> .. 21.05.2016 13:14 <DIR> 7zip.commandline 21.05.2016 14:30 <DIR> 7zip.install 31.03.2016 23:40 <DIR> AdobeAIR 21.05.2016 13:15 <DIR> autohotkey.portable 13.08.2014 20:33 <DIR> avirafreeantivirus.14.0.6.552 31.03.2016 23:48 <DIR> chocolatey 17.11.2014 00:21 <DIR> chocolatey.0.9.8.28 23.05.2016 21:08 <DIR> ChocolateyGUI 21.05.2016 13:15 <DIR> ConEmu 16.05.2015 10:32 <DIR> Far 21.05.2016 13:16 <DIR> ffmpeg 21.05.2016 13:17 <DIR> flashplayeractivex 23.05.2016 21:11 <DIR> flashplayerplugin 21.05.2016 13:20 <DIR> javaruntime 21.05.2016 14:38 <DIR> jre8 13.08.2014 21:08 <DIR> netbeans-php.8.0 21.05.2016 13:20 <DIR> PDFXChangeViewer 21.05.2016 14:34 <DIR> Pencil 23.05.2016 21:08 <DIR> PowerShell 21.05.2016 15:14 <DIR> Quicktime <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 16.05.2015 11:06 <DIR> SwissFileKnife 21.05.2016 13:21 <DIR> sysinternals 21.05.2016 14:27 <DIR> virtualbox 21.05.2016 14:29 <DIR> VirtualBox.ExtensionPack 0 Datei(en), 0 Bytes 26 Verzeichnis(se), 337'768'534'016 Bytes frei
Hier habe ich das gleichnamige Verzeichnis gelöscht
C:\ProgramData\chocolatey\lib>del /S Quicktime Möchten Sie "C:\ProgramData\chocolatey\lib\Quicktime*" löschen (J/N)? J Datei wurde gelöscht - C:\ProgramData\chocolatey\lib\Quicktime\Quicktime.7.7.5.nupkg
Anm:
ohne Garantie … ggf. in ein anderes Verzeichnis Verschieben, statt zu löschen.
… aber dann ist Quicktime bei mir auch weg gewesen:
C:\ProgramData\chocolatey\lib>choco list -lo 7zip.commandline 16.01 7zip.install 16.01 AdobeAIR 20.0.0.233 autohotkey.portable 1.1.23.07 avirafreeantivirus 14.0.6.552 chocolatey 0.9.9.12 ChocolateyGUI 0.13.2 ConEmu 16.5.15.0 Far 3.0.4242 ffmpeg 3.0.1 flashplayeractivex 21.0.0.242 flashplayerplugin 14.0.0.179 javaruntime 8.0.73 jre8 8.0.91 netbeans-php 8.0 PDFXChangeViewer 2.5.317 Pencil 2.0.3 PowerShell 5.0.10586.20151218 SwissFileKnife 1.6.9 sysinternals 2016.04.28 virtualbox 5.0.20.106931 VirtualBox.ExtensionPack 5.0.20.106931 22 packages installed.
weiterführende Links:
Frühjahr 2016 in Bern
Der Schnappschuss entstand heute nachmittag just vor der Haustür
weiterführende Links:
Smile
Good Mood … wieder ein wenig Instrumetales JM Jarre like, also so in die Richtung.
Der Song kann auf meiner Webseite unter www.axel-hahn.de/music/axels-songs/ heruntergeladen werden.
Dort gibt es diesen Song (und weitere) als Versionen in stereo und 5.1 surround:
Sicherheitswarnung bei Programmverknüpfungen nach Win10 Update
Irgendwie nervt es. Es gibt diese Symbolleiste “Links” wo man Favouriten als Programmverknüpfungen ablegen kann.
Mit IE-Update, mit Windows 10 Upgrade und jetzt wieder mit einem Windows10 Update kommen die Sicherheitsdialoge immer wieder aufs Neue und fragen höflich “Datei öffnen - Sicherheitswarnung … Möchten Sie diese Datei öffnen? …”
Das, was ich zu einer früheren Windows einmal erfolgreich praktizierte (icacls-Aufruf), funktioniert seit Windows 10 scheinbar nicht mehr. Dass der Order mal Links oder aber Favouriten heisst, ist an der Stelle nicht einmal das Problem. Die Methode geht einfach nicht mehr.
Schnelle Lösungen, die ich gefunden habe …
Für eine einzelne Verknüpfung die nachfolgende Variante:
(1)
Icon aus der Links Leiste einfach mit gedrückter linker Maustaste auf den Desktop ziehen und dort fallenlassen.
(3)
Das Icon auf dem Desktop dann zurück in die Links-Leiste mit gedrückter linker Maustaste plus Shift-Taste ziehen.
Icon nun aus der Link-Symbolleiste anklicken, um das Programm zu starten - der Sicherheitsdialog ist weg. Freu :-)
Um es für alle Verknüpfungen gleichzeitig zu machen, hab ich eine andere Lösung.
Man findet jenen Ordner für die Links im Explorer (Windows-Taste + E), wenn man %USERPROFILE%\Favorites\Links in die Adresszeile eingibt:
Wenn man
- einen neuen Ordner irgendwo anlegt
- die Dateien aus \Favorites\Links in den Zwischen-Ordner verschiebt
- dann zurück-kopiert
… ist der Sicherheitsdialog ebenfalls weg.
Ach ja, den Zwischenordner kann man dann löschen.
Ja und sowas wiederum kann man automatisieren und eine Bat-Datei schreiben - quick and dirty einmal so:
set linkdir=%USERPROFILE%\Favorites%\Links set tmpdir=%TEMP%\Links mkdir "%tmpdir%" move "%linkdir%*.*" "%tmpdir%" dir "%linkdir%" "%tmpdir%" pause copy "%tmpdir%*.*" "%linkdir%" dir "%linkdir%" "%tmpdir%" pause rmdir /s /q "%tmpdir%"
Update vom 12.08.2017
Und mal wieder funktionierte der Trick nicht mehr … aber ich habe etwas gefunden (s.a. Screenshots unten):
- Im Explorer zu C:\Users\[Benutzername]\ navigieren und auf “Favoriten” die rechte Maustaste und Eigenschaften wählen.
- Im Tab Sicherheit waren “komische” unbekannte User (mit einer SID Nummer). Mit [erweitert] den Editor für die Berechtigungen wählen.
- Hier die falschen Benutzer entfernen. Und [Übernehmen] … und [OK]. Durch die aktive Vererbung werden sie in den Unterelementen, zu denen auch der Links-Ordner gehört, ebenfalls entfernt
- Das Skript starten, das Links temporär wegschiebt und dann zurückkopiert (entspricht der Beschreibung oben)
- Falls die Icons nach dem Zurückkopieren nicht da sind: Die Symbolleiste “Links” ausblenden (rechte Maustaste in der Taskbar -> Symbolleisten -> Links anklicken) … und dann wieder einblenden.
Viel Glück!
weiterführende Links:
PHP7-Module unter XAMPP aktivieren
Ich habe ein aktuelles XAMPP heruntergeladen, um mit PHP7 zu prüfen, ob “mein” CMS und meine eigenen Klassen noch laufen.
Auf Sourceforge war der Download gar eine Minorversion neuer, als bei apachefriends.org.
Das Aktivieren der PHP-Module erfolgt durch Auskommentieren (Entfernen der Semikolon am Zeilenanfang) der jeweiligen Module in der C:\xampp\php\php.ini.
(...) ; extension=php_bz2.dll extension=php_curl.dll ; extension=php_fileinfo.dll (...)
Plus Restart des Apache. Dachte ich.
Mit phpinfo() wurde schnell klar, das Modul ist dennoch nicht aktiv. Die DLLs sind auch im C:\xampp\php\ext\ vorhanden.
Ursache:
Sie wurden nicht per Default gefunden. Es benötigte noch explizit den per Default auskommentierten Wert
extension_dir = "c:/xampp/php/ext/"
Dann ein Restart des Apache. Schon war das Modul da.
weiterführende Links:
Warum sehe ich Bild.de nicht?
Wenn man denn mal auf bild.de geht, z.B. um zu schauen, was sie nach der Klage gegen den AdBlocker Hersteller auf ihrer Seite machen. Nein, ich habe keinen Ad-Blocker. Dennoch sieht die Seite wie folgt aus.
Es kommt eine Weiterleitung zu einer Seite mit dem Titel im Breadcrumb “Home > Warum sehe ich Bild.de nicht”
Die Erklärung einer mutmasslich generell redseligen Redaktion: Null. Textwüste. Es gibt keine Erklärung.
Kann man mir nicht sagen, warum ich nichts sehe? Oder wollt ihr nicht? Ist diese Schlichtheit gar gewollt?
Mein Vorschlag:
Wie wäre es mit einem Text in Form eines ganzen Satzes ala Bitte klicken Sie auf unten “Hilfe” für weitergehende Informationen. Gibt es wirklich niemanden, der das schafft … sich 1 Minute Zeit nimmt, der leeren Einstiegs-Seite einen Sinn zu geben? Oder ist die Verfassung eines simplen Hinweises gar zu banal?
Ach, vielleicht soll man ja allein gelassen werden und blos nie-nie wiederkommen. Auf dieser Seite gibt es nichts zu sehen. Wirklich nicht.