DuckDuckGo – oder: das bessere Google

Ich war immer wieder befangen ob der Sammelwut die Google an den Tag legt und suchte googlete immer mit einem „schlechten Gefühl“. Die Trefferquote hatte aber keine andere Suchmaschine erreicht.

Wie suche ich?

Seit vielen Jahren verwende ich die Keyword-Suche von Firefox. Diese Funktion (gab es soweit ich mich erinnere zuerst in Opera) ermöglicht es mit einem Keyword, das auch nur aus einem Zeichen bestehen kann, die Suchmaschine/-seite seiner Wahl auszuwählen.

Gebe ich in meine Adressleiste „ich suche etwas in meiner Standardsuchmaschine“ ein, so wird dieser Text von meiner Standardsuchmaschine (DuckDuckGo) gesucht. Stelle ich meiner Suche ein „g“ voran, wird alles was nach dem „g“ folgt an Google geschickt. Analog gilt ein „a“ für Amazon, ein „e“ für Ebay und mit einem „d“ lasse ich mir in regelmäßig unregelmäßigen Abständen etwas auf Leo.org übersetzen.

  • „g roter Porsche“ sucht auf Google nach „roter Porsche“
  • „a roter Porsche“ sucht auf Amazon nach „roter Porsche“
  • „e roter Porsche“ sucht auf Ebay nach „roter Porsche“
  • „gi roter Porsche“ sucht auf Google Images nach „roter Porsche“
  • etc.

Das Setzen einer Standardsuchmaschine hat fuer mich also nur den Bequemlichkeitsfaktor, dass ich kein weiteres Zeichen nebst Leerzeichen meiner Suche voranstellen muss.

Auf der Suche nach Google-Alternativen

Immer wieder wollte ich „dem Geschwätz der Leute“ keine Beachtung schenken, dass es keine Alternative zu Google gibt; sah ich doch auch immer wieder Kollegen, denene Bing ihre Fragen im Internet beantwortete. Also stellte ich mal Yahoo, mal Bing, mal ixquick, mal MetaGer in regelmäßig unregelmäßigen Abständen als meine Standardsuchmaschine ein. Auch zwang ich mich dazu diese für mindestens eine Woche beizubehalten. Das tat ich über die letzen zwei Jahre immer mal wieder, immer mit dem selben Ergebnis -> ich stellte wieder auf Google um.

Der Unterschied

Bis ich DuckDuckGo für mich entdeckte. Ich glaubte mich zu erinnern, dass ich damit schon vor einigen Monaten mal experimentierte und schlechte Erfahrungen gemacht hatte (glaube nun aber dass ich es einfach mit ixquick verwechselte). Dennoch stellte ich mal wieder um und war begeistert als ich die simple Suche „linux test wifi strength“ eingab und nicht nur eine sehr gute Ergebnisliste zurückbekam, sondern die Lösung aus dem ersten Treffer direkt unter meiner Suchanfrage präsentiert wurde.

Zum Vergleich, die selbe Suche auf Google.

Der Vorteil liegt hier klar auf der Hand, statt auf dem ersten Treffer nach der Lösung zu suchen bekommt man die Lösung (meist ohne weiteres Zutun) direkt angezeigt. Der „Google-Schritt“, den ersten Treffer zu öffnen und die Lösung selbst zu finden entfällt also. Beigeisterung pur!

Nicht immer aber immer öfter

Das funktioniert leider (noch) nicht für alle meine Suchanfragen, aber immer öfter. Bei der Suche nach „php cast string“ (und ähnlichen Fragen rund um das Thema Programmieren) wurde mir meist direkt die Antwort angezeigt.

Und zum Vergleich das Ergebnis bei Google.

auch schön

Schön fand ich das Ergebnis auf meine suche nach „beautify html“.

DuckDuckGo selbst verschönert das unleserliche HTML anstatt auf eine weitere URL gehen zu müssen, wieder ein Schritt/Klick weniger.

MediaWiki Update Skript „mediawiki-updater“

Weil mich in erster Linie jede sich wiederholende Aufgabe anödet (mein Leitsatz ist: „Wenn du etwas zwei Mal tun musst, automatisiere es. Die Wahrscheinlichkeit dass du es erneut tun musst steigt mit jedem weiteren Mal.“) habe ich die sich in regelmäßigen Abstand wiederholende Aufgabe „MediaWiki aktualisieren“ in ein zwei Skripte gepackt.

Da ich Installationen sowohl auf Linux als auch auf Windows betreue wurden es ein Bash- und ein PowerShell-Skript.

Die Dateien (und Voraussetzungen) findet ihr in folgendem Repo:

https://github.com/gpunktschmitz/mediawiki-updater

Hier kurz was die Skripte tuen:
1. Prüfen ob eine neue Version verfügbar ist
2. MySQL Datenbank sichern
3. Backup (Kopie) der derzeitigen Installation anlegen
4. neue MediaWiki Version herunterladen
5. neue MediaWiki Version in temporäres Verzeichnis extrahieren
6. vorhandene Installation (Dateien) mit neuer Version überschreiben
7. Löschen des Verzeichnisses „vendor“
8. mittels Git neue externe Bibliotheken in das Verzeichnis „vendor“ klonen
9. alte Backups löschen (die letzten 3 werden beibehalten)
10. das Skript „maintenance/update.php“ ausführen

Beim Erstellen hatte ich auch im Hinterkopf das Skript im Cron/eine geplante Aufgabe zu packen. Dahingehend habe ich es aber noch nicht ausgelegt – meine Installationen habe ich durch manuelles Ausführen der Skripte erfolgreich von 1.28.2 auf 1.29.0 gebracht.

Hoffe die Skripte helfen auch dir diese Aufgabe zu automatisieren.

Fenster mittels Shortcut „Immer sichtbar“ halten

Unter Windows verwende ich das betagte, aber immernoch gut funktionierende Tool WinSplit, welches den Shortcut „CTRL+ALT+O“ mit sich bringt um ein Fenster immer oberhalb aller anderen zu halten.

Diese Funktionalität (und Shortcut) wollte ich auch auf meinem Laptop mit Linux Mint haben.

Hier gelang es mir ohne Installtion etwaiger Software, denn die Funktionalität kann man über das Kontextmenü eines jeden Programm-Icons direkt aktivieren.

https://cdn.gpunktschmitz.de/blog/183/00-manually-set-window-always-on-top.png

Ein Programm zum Hinterlegen von Shortcuts existiert ebenfalls.

https://cdn.gpunktschmitz.de/blog/183/01-open-keyboard-shortcuts.png

Also, das Programm „Keyboard Shortcuts“ aufrufen und mittels „Add“-Button einen neuen Shortcut anlegen.

https://cdn.gpunktschmitz.de/blog/183/02-add-new-keyboard-shortcut.png

Einen Namen und das folgende als Command eingeben:

wmctrl -r :ACTIVE: -b toggle,above

https://cdn.gpunktschmitz.de/blog/183/03-enter-new-shortcut-command.png

Ist der Shortcut angelegt clickt man auf die Spalte „Shortcut“ des Eintrags (wo derzeit „Disabled“ steht).

https://cdn.gpunktschmitz.de/blog/183/04-click-on-disabled-to-set-new-shortcut.png

Nun kann man den gewünschten Shortcut hinterlegen, indem man die gewünschte Tastenkombination drückt.

https://cdn.gpunktschmitz.de/blog/183/05-press-shortcut-and-close.png

SikuliX – Tastaturkombinationen eingeben lassen

Ich wollte auf die Schnelle ein Automatisierung mit meinem Lieblingstool SikuliX programmieren. Dazu musste ich eine Tastenkombination drücken lassen. Trial and Error mit den ersten Web-Suchen führten nicht zum Erfolg.

Zum einen weil sich scheinbar mal die Syntax geändert hat und zum anderen weil ich im Testskript die Groß- und Kleinschreibung ignorierte. Das tut SikuliX aber nicht.

Hier also einige Beispiele von Tastenkombinationen in SikuliX:

# CTRL+HOME
type(Key.HOME, KeyModifier.CTRL)
 
# ALT+F4
type(Key.F4, KeyModifier.ALT)
 
# CTRL+v
type('v', KeyModifier.CTRL)
 
# CTRL+ALT+ESC
type(Key.ESC, KeyModifier.CTRL+KeyModifier.ALT)

FileZilla Server – Verbindungsversuch fehlgeschlagen „ECONNREFUSED – Connection refused by server“

Das Problem

Versucht man einen FileZilla Server als FTPS mit den Standard-Einstellungen zu verwenden kommt es beim Verbindungsversuch zum Fehler „ECONNREFUSED – Connection refused by server“.

Die Ursache

Bei mir lag es daran, dass ich die Standard-Einstellung beibehalten hatte.

Der Fehler liegt im Skript, es gibt immer 127.0.0.1 zurück.

Die Lösung

Die Lösung ist einfach, ich habe ein Skript erstellt dass die aktuelle IP zurückgibt.

https://gpunktschmitz.com/ip/

Feiertagskalender für Nürnberg

Ich weiss .. ich weiss … „aber es gibt doch schon Feiertagskalender .. sind sogar direkt in Outlook abrufbar“. Aber dieser eben nicht. Da in Deutschland in jeder Stadt mal ein Feiertag gilt und dann, wenn wieder weniger Katholiken als Evangelen gezählt werden eben wieder nicht, habe ich mir diesen Kalender erstellt. Einzig und allein um ihn in mein Outlook zu importieren.

Welche Feiertage sind nun in diesem Kalender?
„Alle“ die derzeit in Nürnberg gelten. Es heißt „alle“, weil ich hier nur solche eingetragen habe, die auch auf einen Werktag (Montag – Freitag) fallen (können). Die anderen interessieren mich nicht. Vor allem nutze ich diesen Kalender um meinen Urlaub zu planen.

Den „holiday calendar“ (wie ich ihn in Outlook benannt habe) lass ich mir immer anzeigen und überlappe diesen mit meinem persönlichen.

holiday calendar

Somit habe ich bei Terminabsprachen und Urlaubsplanungen die (für mich) wirklich „echten“ Feiertage stehts im Blick.

Wenn du auch diesen Kalender abrufen möchtest, hier ist er:

https://ics.gpunktschmitz.de/bank-holiday-calendar-nuremberg.ics

du willst deine Internetgeschwindigkeit testen? – verwende fast.com!

Von http://speedof.me war ich Fan der ersten Stunde. Am Anfang war es werbefrei, schnell, zuverlässig und mobile-friendly. Irgendwann wurde dann Werbung mit dazu geschaltet und ich war genervt wenn ich die Seite versuchte aufzurufen, weil das dann immer (gefühlt) ewig gedauert hat bis der Speedtest startete.

Alles was ich wissen wollte war, wie schnell der Download war. SpeedOf.Me bietet an mehrere Tests zu starten und diese dann auch graphisch zu vergleichen. Ein „Overhead“ den ich in 99,9% nicht benötigte/verwendete.

 

Durch Probleme mit meinem DSL-Anschluss verwies mich die Hotline meines Anbieters auf https://fast.com. Die lädt superschnell und macht genau das was ich möchte – sie zeigt mir die Download-Geschwindigkeit an. Perfekt für meine Zwecke – Danke Netflix!

.ics Kalender für den gelben Sack in Nürnberg [update 10.01.2017]

Ich habe mir die letzten Jahre immer einen Kalender für den Abfuhrplan des gelben Sacks erstellt. Dieses Jahr habe ich dies automatisiert getan. Dabei kam mir der Gedanke für alle Touren die Termine der Abholung einzulesen. Somit entstand das Projekt „Kalender gelber Sack Nürnberg“.

Auf der Projektseite kann nach der Straße gesucht werden. Nach Auswahl der entsprechenden Straße wird der jeweilige Kalender angezeigt.

Zu finden ist das Projekt unter:
http://www.gpunktschmitz.de/kalender-gelber-sack-nuernberg/

[update 10.01.2017]
Das Projekt wurde mit den Daten bis 2019 aktualisiert. Danke an Kristian für die Erinnerung!

Robocopy – FEHLER 123 (0x0000007B) – Verzeichnisse mit Leerzeichen kopieren

robocopy meme

Die Fehlermeldung

Verwendet man eine aktuelle PowerShell und die Tab-Completion (Die Anführungszeichen fügt die Shell autmatisch hinzu.), so erhält man den Befehl:

Robocopy.exe 'C:\tmp\source with spaces\' 'C:\tmp\target with spaces\' /e

Und führt man diesen aus erhält man eine Fehlermeldung.

robocopy the filename directory name or volume label syntax is incorrect

Zu beachten ist, dass die Quelle und das Ziel von Robocopy „seltsam“ interpretiert werden. Das \' am Ende von Quelle und Ziel führt dazu, dass das Anführungszeichen escaped (als Text interpretiert) wird und somit die ganze Anweisung fehlerhaft wird.

Die Lösung

Es gibt eine ganz einfache Lösung, man lässt den letzten Backslash in Quelle und Ziel weg.

Robocopy.exe 'C:\tmp\source with spaces' 'C:\tmp\target with spaces' /e

Backup Exec – TECH126877 – the device or media server cannot be deleted because existing jobs or selection lists remain

Das Problem

Vor einiger Zeit konnte ich ein Sicherungsziel (einen „Speicher“), namentlich „internal RAID“ in Backup Exec 15 nicht entfernen. Das GUI gab mir folgende Fehlermeldung zurück:

„The device (or media server) cannot be deleted because existing jobs or selection lists remain.“

Ich bin also durch alle Sicherungsjobs gegangen und konnte keinen finden wo der zu entfernende Speicher konfiguriert wäre. Sehr komisch …

Die Google-Suche

Eine schnelle Google Such brachte mich zu dem Support-Artikel von Symantec Veritas TECH126877 das einem dazu rät den Symantec Support anzurufen?!?!1

Die Lösung

Ich konnte nicht glauben dass dies der Weg ist einen Speicher von Backup Exec zu entfernen und stolperte über die „Backup Exec Management Command Line“.

windows-search-backup-exec

Diese begrüßte mich mit den Basis Kommandos. Der Befehl „Get-BECommand“ gibt eine Liste aller verfügbarer Kommandos zurück.

backup-exec-management-command-line-interface

In dieser Liste bin ich auf die Befehle „Get-BEJob“ und „Remove-BEJob“ gestoßen. Also mal gucken was „Get-BEJob“ zurückgibt.

backup-exec-management-command-line-interface-get-bejob

Ausgezeichnet; Es wird ein Objekt zurückgegeben das man nach „Storage“ filtern kann. Dann wollte ich wissen was „Remove-BEJob“ als Input nimmt.

man-remove-bejob

Verstehe, man kann also die Objekte von „Get-BEJob“ an „Remove-BEJob“ weiterleiten.

Alles was zu tun war, ein Liste aller Backup Exec Sicherungsaufträge mittels „Get-BEJob“ abzurufen, diesen auf den Speicher/Storage „internal RAID“ zu filtern und das an „Remove-BEJob“ weiterzuleiten.

Das ganze kann vorerst mit dem Parameter „-WhatIf“ aufgerufen werden .. nur um sicher zu gehen was gelöscht wird ;)

remove-backup-exec-jobs-with-mapped-devices

Get-BEJob | where storage -eq "internal RAID" | Remove-BEJob

Es brauchte also nur ein bisschen PowerShell .. oder man kann natürlich den Symantec/Veritas Support anrufen …