Computer-Zeug – <Meta-Tag /> http://localhost/blog Mein privater Blog Wed, 25 Apr 2018 19:31:08 +0000 de-DE hourly 1 https://wordpress.org/?v=4.9.4 Google Assistant – Was kann Googles Antwortmaschine? http://localhost/blog/index.php/2017/03/09/google-assistant-was-kann-googles-antwortmaschine/ http://localhost/blog/index.php/2017/03/09/google-assistant-was-kann-googles-antwortmaschine/#respond Thu, 09 Mar 2017 21:20:41 +0000 http://localhost/blog/?p=9555 Digitale Assistenten kommen immer mehr in Mode. Apple hatte mit Siri den Anfang gemacht. Contana, Alexa und der Google Assistant zogen nach. Die großen Konzerne stecken jede Menge Aufwand in deren Entwicklung. Ob das ganze nur ein momentanes Hype-Thema ist oder ob sich die Assistenten dauerhaft durchsetzen werden, das lässt sich noch nicht abschließend sagen. Aber eine immer weitere Verbreitung solcher Systeme würde einige Änderungen für für die Suchmaschine, die ja immer hinter so einem Assistenten steht, bedeuten und damit natürlich auch für die Suchmaschinenoptimierung. Ich möchte hier die Qualität der Antworten des Google Assitant einmal näher beleuchten.

Der Google Assistant ist momentan auf drei Wegen für den Anwender zugänglich:

  1. Als Google Assistant-App auf Pixel-Smartphones
  2. Im Messenger ALLO für Android und iOS
  3. Smarter Lautsprecher Google Home

Momentan ist vieles noch im Fließen. Google Home ist aktuell noch nicht in Deutschland verfügbar. Das wird sich aber in den nächsten Wochen ändern. Assistant-App ist nicht mehr nur den Pixel-Smartphones vorbehalten. Momentan läuft ein Updates, dass den Assistenten auch auf anderen Geräten verfügbar macht.

Ich persönlich vermute, dass der Google Assistant bald auch in irgend einer Form vom Desktop-Computer aus zugänglich sein wird, sei es als Web-App für Allo oder vielleicht auch als kleines Programm für den Windows-PC.

Ziel ist es, dass der Google Assistant wie eine natürlicher Gespächspartner wahrgenommen wird. Das heißt, mit ihm sollte mittels natürlicher Sprache kommuniziert werden, egal, ob diese in Allo eingetippt oder akustisch dem Google Home-Lautsprecher mitgeteilt wird.

Der Assistant möchte möglichst menschlich daher kommen. Einem menschlichen Kommunikationspartner würde man nicht “Hotel Frankfurt” entgegenwerfen, sondern eher fragen: “Kannst du mir ein Hotel in Frankfurt empfehlen?”

Mich interessiert, wie weit der Google Assistant  beim Verstehen von solchen Suchanfragen ist. Werden immer sinnvolle Ergebnisse geliefert? Und vor allen, was für Auswirkungen werden diese Assistenten für die Suchmaschinenoptimierung haben.

Direkte Antwort möglich?

Fragt man den Assistenten nach einem konkreten Fakt, dann versucht er, eine direkte Antwort zu geben. Beispiel: “Wie hoch ist die Zugspitze?” beantwortet er kurz und knapp mit “2962 m”. Die normale Google-Suche macht es ganz ähnlich. Sie liefert eine One Box mit der passenden Antwort aus. Es ist anzunehmen, dass die Googlesuche und der Assistent auf den gleichen Datenbestand, den Knowledge Graph zurückgreift.

Satz in Suchanfrage konvertieren

In der herkömmlichen Suche ist es für Google einfach. Es muss aus seinem Index nur die Dokumente raussuchen, in denen die Wörter “Hotel” und “Frankfurt” vorkommen. Bestenfalls schaut die Suchmaschine noch nach Synonymen, so dass auch Dokumente gefunden werden die die Wörter “Unterkunft” und “Frankfurt” enthalten. Die Dokumente müssen dann noch nach gewissen Kriterien in eine Reihenfolge gebracht werden, so dass die relevantesten Ergebnisse oben stehen. Das ist aber ein anderes Thema.

Würde Google bei “Ich suche eine Hotel in Frankfurt.” genauso vorgehen, dann wären die Ergebnisse wohl kaum brauchbar. Das Wort “suche” kommt sicherlich in fast allen Dokumenten der WWW vor. Es gibt Methoden [https://de.wikipedia.org/wiki/Within-document_Frequency], um die relevanten Wörter aus den Suchanfragen und aus den Dokumenten herauszufiltern.

Besser wäre es, wenn die Suchmaschine wirklich verstehen würde. Das wird wohl auch langfristig das Ziel von Google sein. Dass bei Google intensiv am maschinellen Lernen gearbeitet wird hat man Anfang 2016 gesehen, als AlphaGo den Go-Meister Fan Hui besiegte.

In vielen Fällen reicht es aber nicht aus, nur aus einem natürlichsprachigen Satz eine Suchanfrage zu generieren. Oft ist noch weiteres Wissen erforderlich bzw. für die Verbesserung der Antwort-Qualität sinnvoll.

Weitere Datenquellen

Bleiben wir uns nochmal die Suche nach einem Hotel in Frankfurt genauer an. In Deutschland gibt es zwei Städte namens “Frankfurt”, Frankfurt am Main und Frankfurt an der Oder. Für welche Stadt soll mir der Assistent nun Hotels raussuchen? Das kann der Assistent nicht ohne weitere Informationen entscheiden. Er könnte mir Hotels aus beiden Städten anzeigen. Das wäre aber schlecht und könnte zu so mancher Fehlbuchung führen. Der Assistent könnte mich auch einfach fragen. Das wäre schon besser. Gut wäre es, wenn Google richtig erraten würde, in welches Frankfurt ich reisen möchte. Der Assistent könnte z. B. in meinem Kalender schauen, ob da demnächst ein Termin in Frankfurt /M oder Frankfurt /O. ansteht. Google könnte meine E-Mails nach Hinweisen auf das richtige Frankfurt durchsuchen. Wenn Google in meinem Browserverlauf auf dem PC feststellt, dass ich vor ein paar Tagen Karten für die Alte Oper in Frankfurt gebucht hatte, dann ist es höchstwahrscheinlich, dass ich nach Frankfurt /M möchte.

Stellt Google anhand meiner Bewegungsdaten von meinem Handy fest, dass ich jede Woche nach Frankfurt /O. fahre, dann ist es wahrscheinlicher, dass ich im Brandenburgischen Frankfurt ein Hotel suche.

Aus dem Gesagten lassen sich zwei Schlussfolgerungen ziehen.

  1. Je mehr Daten der Assistent über mich hat, desto bessere Antworten kann er mir geben.
  2. Es geht um Wahrscheinlichkeiten. Der Assistent versucht immer die Antwort zu liefern, die wahrscheinlich richtig ist.

Über den 1. Punkt sollte man vor der Verwendung eines Assistenten gründlich nachdenken. Klar, es ist sehr komfortabel, sich von einem digitalen Assistenten bei alltäglichen Aufgaben helfen zu lassen. Möchte man dafür aber wirklich Google, Amazon, Microsoft oder Apple sehr persönliche Daten preisgeben?

Die verschiedenen Klassen von Suchanfragen

Zurück zur Suche.

Wahrscheinlich werden die meisten Leser die Unterschiede zwischen den drei Klassen von Suchanfragen kennen. Trotzdem will ich diese nochmal kurz erläutern.

Jede Suchanfragen kann in eine der 3 Klassen eingeordnet werden:

  1. Informationale Suchen
  2. Transaktionale Suchen
  3. Navigationale Suchen

Bei informationale Suchanfragen geht es dem Nutzer darum, Informationen zu einem Bestimmten Thema zu finden. Beispiel: “Museen Regensburg” Der Nutzer erwartet Informationen dazu, was für Museen es in Regensburg gibt, was dort gezeigt wird, wann diese geöffnet haben und wie teuer der Eintritt ist. Ein weiteres Beispiel für so eine Suchanfrage wäre “Wetter München”.

Bei transaktionalen Anfragen möchte der Nutzer etwas kaufen, etwas herunterladen oder sich irgendwo anmelden. Beispiel “iPad kaufen” Der Nutzer erwartet, dass ihm eine Liste von Shops angezeigt wird, in denen er ein iPad kaufen kann. “Download Adobe Reader” wäre eine weitere Suchanfrage dieser Kategorie.

Bei navigationalen Suchen will der Nutzer eine Seite wiederfinden, von der er weiß, dass es sie gibt. Beispielsuchanfrage: “youtube”

Es gibt natürlich auch Übergangsformen. “Preis iPad pro” ist zunächst erst einmal die Frage nach einer Information. Allerdings wird da wohl in der Regel eine konkrete Kaufabsicht dahinter stehen, so dass diese Anfrage auch als transaktionale Suche eingestuft werden könnte.

Welche der drei Klassen ist nun besonders relevant für den Assistenten? Fangen wir mal bei der transaktionale Suche an. Wenn ich dem Google Assistant “Ich will eine Jacke kaufen.” sage, dann werde ich mit großer Sicherheit von Google ein paar passende Online-Shops präsentiert bekommen. Im Shop muss ich mir dann das richtige Produkt aussuchen. Das dürfte wohl inzwischen recht gut mit dem Smartphone oder Tablet funktionieren. Aber spätestens beim Bestellvorgang wird es unbequem. Da müssen dann jede Menge Daten mittels der virtuellen Tastatur eingetippt werden. Das ist nicht wirklich optimal und geht eigentlich viel bequemer mit einem Laptop oder einem Desktop-Computer. Dieses Problem wird wohl früher oder später bei den meisten  transaktionalen Suchanfragen auftreten. Deswegen werden wohl solche Suchanfragen seltener an einen Assistenten gestellt werden.

Bei der informationale Suche ist das in den vielen Fällen anders. Wenn auf der Zielseite keine Tastatureingaben notwendig sind, dass ist dieser Suchtyp durchaus relevant.

Die allermeisten Anfragen werden wohl Fragen nach Informationen sein. Auf Fragen wie “Wann wurde Regensburg gegründet?” erwartet man eigentlich nur eine Zahl. Google versucht das in der Web-Suche oft schon in einer One-Box selber zu beantworten, was bei konkret dieser Suchanfrage aber heftig schief geht.

Regensburg wurde 179 und nicht 1245 gegründet. Im Wikipedia-Artikel, der an erster Stelle verlinkt ist, findet sich die richtige Information.

Analyse der Suchanfragen

Zu jeder der drei Klassen habe ich einige Suchanfragen zusammengestellt. Ich weiß natürlich nicht, was für Suchanfragen bei Google tatsächlich eintreffen. Deswegen ist die Auswahl der Suchanfragen sehr individuell und nicht “streng wissenschaftlich”. Das sollte man sich immer bei der Bewertung der Ergebnisse im Hinterkopf behalten.

Informationssuche

Wie wird morgen das Wetter in Berlin?

Es wird eine Wettervorhersage für morgen und die nächsten Tage für Berlin ausgegeben. Die Frage ist damit umfassend beantwortet.

Wie lange fahre ich mit dem Auto nach Nürnberg?

Die Antwort ist passend und hilfreich für den Nutzer. Er bekommt eine kleine Karte eingeblendet, von wo aus er direkt die Naviagtion mit Google Maps starten kann.

Wie wird die Hauptspannung berechnet?

Diesmal wird keine direkte Antwort geliefert sondern ein Link auf eine Webseite. Schön, dass es eine Seite von mir ist. Der Inhalt ist passend. Auf der Seite wird genau die Erklärung der Frage geliefert.

Was ist ein Tensor?

Diese Frage lässt sich nicht so kurz beantworten. Es wird ein Link auf den entsprechenden Wikipedia-Artikel ausgegeben, der die Antwort liefert. Das ist absolut sinnvoll.

Welches Datenbanksystem benutzt die Wikipedia?

Ich gebe zu, diese Frage ist schon etwas gemein. Wenn der Assistent diese in die Suchanfrage “Datenbank Wikipedia” konvertieren würde, dann würde einfach der Wikipedia-Artikel zu Datenbanken angezeigt werden. Das macht der Assistent aber anscheinend nicht. Es wird ein Wikipedia-Artikel zu NoSQL verlinkt. Allerdings ist das falsch, denn die Wikipedia nutzt MariaDB. Die Antwort vom Assistant ist also falsch.

Wann wurde Regensburg gegründet?

Der Google Assistant gibt hier eine direkte Antwort und verweist nicht auf einen Seite. Es wird direkt eine Jahreszahl angegeben, die allerdings falsch ist. Regensburg wurde schon über 1000 Jahre früher gegründet und zwar im Jahr 179.

Wie viel Schnee liegt auf dem Großen Osser?

Es wird nicht die Schneehöhe ausgegeben sondern das aktuelle Wetter. Danach hatte ich eigentlich nicht gefragt.

Beim Tippen auf die Information wird ein Suchergebnis angezeigt. Das bringt mich allerdings auch nicht weiter. Es werden Schneehöhen von allen möglichen Skigebieten im Bayerischen Wald angezeigt. Eine Schneehöhe auf dem Osser ist allerdings nirgends zu finden. Das Problem ist also, dass die gewünschten Daten nicht im Netz verfügbar sind. Es wäre gut, wenn das der Assistent auch eindeutig so sagen würde und mir alternativ die Schneehöhen von anderen Bergen in der Nähe anbieten würde.

Wie hoch ist der Wasserstand der Donau in Straubing?

Es wird das Ergebnis einer Websuche ausgegeben. Die Seite liefert genau die gewünschte Information. Eine Kleinigkeit wäre zu bemängeln. Es wird die Desktop-Version der Webseite und nicht die mobile Version verlinkt.

Navigation

Öffne das Blog der Firma Dlubal.

Hier gibt es nichts auszusetzen. Es wird genau das gewünschte Suchergebnis ausgegeben. Mit einem Tipp lande ich auf dem Blog von Dlubal.

Ich möchte Schuhe bei Zalando kaufen.

Es wird auf die mobile Seite von Zalando verwiesen. Besser wäre allerdings ein Verweis auf die Kategorie “Schuhe” gewesen.

Ich will eine Hose bei eBay verkaufen.

Ich habe die Frage zweimal in einem größeren zeitlichen Abstand gestellt. Beide Ergebnisse waren nicht zufriedenstellend. Ich hätte eigentlich erwartet, dass ich direkt auf der Verkaufsseite von eBay lande. Statt dessen wird mir einmal eine Diskussion bei Gutefrage.net und ein anderes mal ein Verweis auf eBay-Kleinanzeigen angeboten. Bei eBay-Kleinanzeigen wird allerdings schon auf die richtige Kategorie verwiesen.

Öffne die Seite von Cube.

Diese Anfrage ist etwas erklärungsbedürftig. Es geht mir hier um die Fahrradmarke Cube. Ich hatte vor einigen Tagen die entsprechende Seite besucht. Ich würde also erwarten, dass Google hier einen Zusammenhang herstellt und diese Seite wieder öffnet.

Genau das geschieht auch. Sucht man übrigens unangemeldet bei Google nach “Cube”, dann steht die Fahrradmarke nicht auf dem ersten Platz.

Hier gibt es die volle Punktzahl.

Transaktion

Ich will ein Hotel in Frankfurt buchen.

Es werden einige Hotels in Frankfurt/Main in einem Karussell angeboten. Ein Klick darauf zeigt mehr Detail zu diesem Hotel an und bietet Funktionen wie Anruf oder Routenplaner an.

Soweit so gut. Ein Problem hat diese Antwort allerdings. Es gibt in Deutschland 2 Stätte namens Frankfurt, Frankfurt am Main und Frankfurt an der Oder. Von einem wirklich intelligenten Assistenten hätte ich erwartet, dass er mich fragt, in welchem Frankfurt ich übernachten möchte.

Ich will mir rote Schuhe kaufen.

Das Ergebnis schaut aus den ersten Blick sinnvoll aus. Schauen wir aber mal, auf welche Seite verlinkt wird:

Diese Suchanfrage ist wirklich gemein. Es gibt sicherlich wesentlich mehr rote Damen- als Herrenschuhe. Wenn ich diesen Satz zu einem Verkäufer in einem echten Schuhladen sagen würde, dann wüsste er aber, dass ich rote Herrenschuhe suche (Nein, ich suche nicht wirklich nach solchen Schuhen.) Google könnte das auch wissen. Google könnte aus dem Verlauf der besuchten Webseiten wissen, ob ich eine Frau oder ein Mann bin. Google hätte nach “rote Schuhe Herren” suchen müssen.

Ich will heute Abend essen gehen.

Das Ergebnis ist schon etwas enttäuschend. Der Assistent hat den Sinn nicht verstanden und liefert mir statt der Adressen schöner Restaurants in meiner Nähe ein Link zu einer Übersetzungsseite.

Wo kann ich Streusalz kaufen?

Auch hier hätte ich eigentlich ein besseres Ergebnis erwartet. Ich habe eine eindeutige Kaufabsicht geäußert. Ich hätte erwartet, dass mir ein Baumarkt in meiner Nähe oder vielleicht auch ein Online-Shop angezeigt wird. Statt dessen wird ein Artikel bei Gutefrage.net verlinkt, in dem zumindest Links auf Online-Shops zu finden sind.

Zusammenfassung der Ergebnisse

 

Frage Bewertung
Wie wird morgen das Wetter in Berlin?
Wie lange fahre ich mit dem Auto nach Nürnberg?
Wie wird die Hauptspannung berechnet?
Was ist ein Tensor?
Welches Datenbanksystem benutzt die Wikipedia?
Wann wurde Regensburg gegründet?
Wie viel Schnee liegt auf dem Großen Osser?
Wie hoch ist der Wasserstand der Donau in Straubing?
Öffne das Blog der Firma Dlubal.
Ich möchte Schuhe bei Zalando kaufen.
Ich will eine Hose bei eBay verkaufen.
Öffne die Seite von Cube.
Ich will ein Hotel in Frankfurt buchen.
Ich will mir rote Schuhe kaufen.
Ich will heute Abend essen gehen.
Wo kann ich Streusalz kaufen?

 

Schlussfolgerungen

Für viele alltägliche Anfragen ist der Google Assistant durchaus geeignet. Es gibt immer mal wieder einen Ausreißer. Mit der Zeit wird das aber sicher immer weniger werden.

Der Assistent versucht, die Fragen möglichst direkt zu beantworten. Der Verweis auf eine Websuche ist immer nur 2. Wahl.

Für die Betreiber von Webseiten ist das keine gute Nachricht, weil eine Menge Traffic wegbrechen können. Wenn die Suche im Desktop-Browser zu einem Thema ein One-Box ausspielt, dann kann man davon ausgehen, dass der Assistent diese Information in einer direkten Antwort benutzt. Es macht also wenig Sinn, zu diesem Thema eine Webseite zu erstellen und auf nennenswerten Traffic über den Google Assistent zu hoffen.

Wenn der Assistent ein Ergebnis aus der Websuche anzeigt, dann zunächst immer nur ein einziges. Die weiteren Ergebnisse sind nur über eine weitere Aktion des Nutzers zugänglich. Will man also Traffic über den Google Assistent generieren, dann muss man fast zwangsläufig den ersten Platz in der Websuche liegen. Der 2. Platz ist da schon der erste Verlierer.

Wir können davon ausgehen, dass das Benutzerverhalten im Google Assistent genauestens analysiert wird. Wenn eine Seite nicht die gewünschten Informationen liefert, dann wird sie schnell vom Platz 1 und damit aus dem Assistent verschwinden.

Werden die Assistenten die herkömmliche Suche ersetzen? Ich meine nicht. Ein Assistent ist unheimlich gut darin, einfache Fakten zu recherchieren. Bei komplexeren Recherchen wird es allerdings mit einem Assistenten schwierig. Das zeigt sehr gut die Frage nach dem Datenbanksystem der Wikipedia. Ich gehe bei komplexeren Recherchen  oft so vor, dass ich meine Suchanfrage Schritt für Schritt verfeinere bis ich die gewünschten Ergebnisse erhalte. Das ist mit dem Google Assistenten so nicht möglich.

Der Google Assistent ist momentan nur auf dem Smartphone verfügbar. Ich gehe davon aus, dass für umfangreichere Recherchen auch in Zukunft weiterhin der Desktop-Computer zum Einsatz kommen wird.

Seiten, die nur simple Fakten behandeln, werden es in Zukunft schwerer haben. Wer jedoch Seiten betreibt, die komplexere Sachverhalte darstellt, der braucht sich vor den Assistenten nicht zu fürchten.

Bildquelle: By Alphabet Inc (Google Allo) [Public domain], via Wikimedia Commons

]]>
http://localhost/blog/index.php/2017/03/09/google-assistant-was-kann-googles-antwortmaschine/feed/ 0
Suche nach Text in Dateien http://localhost/blog/index.php/2017/02/01/suche-nach-text-in-dateien/ http://localhost/blog/index.php/2017/02/01/suche-nach-text-in-dateien/#respond Wed, 01 Feb 2017 21:29:48 +0000 http://localhost/blog/?p=9496 Eigentlich ist das ein ganz simples Problem: Ich habe eine Reihe von Textdateien und möchte herausfinden, in welchen der Dateien ein bestimmter Textschnipsel vorkommt. Das könnten z. B. Cpp-Dateien sein, also Quelltexte für C++. Ich möchte herausfinden, in welchen Dateien ein bestimmter Ausdruck vorkommt. Das geht auf der Windows-Kommandozeile eigentlich ganz einfach:

find “mein Ausdruck” *.cpp

Den Befehl find gibt es schon sehr lange. Selbst in den ersten Versionen von MS-DOS war er schon enthalten und er funktioniert heute auf der Kommandozeile von Windows 10 immer noch.

Der Befehl find hat aber auch gewisse Einschränkungen. Schaut man sich mit find /? mal die möglichen Optionen an, dann sieht man, dass es da nicht so sehr viele Möglichkeiten gibt. Eine Option fehlt mir ganz besonders: Das rekursive Suchen in allen Unterordnern. Ist man mit einem größeren Programmierprojekt beschäftigt, dann gibt es Unterordner en masse. In jeden Ordner mit cd wechseln und dann suchen, das geht nicht.

Es gibt aber Abhilfe. Der Befehl findstr bietet alle Möglichkeiten, die man sich so wünscht.

Mit findstr /s “mein Ausdruck” *.cpp werden alle cpp-Dateien im aktuellen Ordner und in allen Unterordnern nach “mein Ausdruck” durchsucht. Mit findstr /r ist auch die Verwendung von regulären Ausdrücken möglich. Mit findstr /? kann man sich alle Möglichkeiten anzeigen lassen. Der Befehl findstr ähnelt in seinen Möglichkeiten sehr dem jeden Linux-Nutzer bekannten Befehl grep.
Den Befehl find kann man also getrost vergessen und stattdessen findstr nutzen.

]]>
http://localhost/blog/index.php/2017/02/01/suche-nach-text-in-dateien/feed/ 0
Ordnerbaum anzeigen http://localhost/blog/index.php/2016/11/14/ordnerbaum-anzeigen/ http://localhost/blog/index.php/2016/11/14/ordnerbaum-anzeigen/#respond Mon, 14 Nov 2016 19:58:23 +0000 http://localhost/blog/?p=9461 Grafisch Benutzeroberflächen haben schon so ihre Vorteile. Beispielsweise kann man im Windows-Explorer sehr übersichtlich den Ordnerbaum anzeigen lassen.

Exlporer
Windows-Explorer

Listet man auf der Windows-Kommandozeile den Inhalt mit dir auf, dann erkennt man die enthaltenen Unterordner an dem <DIR> vor dem Namen. Der Inhalt des Unterordners bleibt aber verborgen.

dir

Abhilfe schafft der Befehl tree. Damit wird der gesamte Baum einschließlich aller Unterordner aufgelistet. Mit tree /f werden zusätzlich noch alle in den Ordnern enthaltenen Dateien aufgelistet.

tree

]]>
http://localhost/blog/index.php/2016/11/14/ordnerbaum-anzeigen/feed/ 0
Papierkorb bei Ubuntu funktioniert nicht mehr http://localhost/blog/index.php/2016/10/21/papierkorb-bei-ubuntu-funktioniert-nicht-mehr/ http://localhost/blog/index.php/2016/10/21/papierkorb-bei-ubuntu-funktioniert-nicht-mehr/#respond Fri, 21 Oct 2016 18:30:34 +0000 http://localhost/blog/?p=9415 Mir ist es jetzt schon zum zweiten Mal passiert, dass der Papierkorb auf meinem Ubuntu-Computer nicht mehr richtig funktionierte. Beim Löschen von Dateien im Nautilus konnten diese nicht in den Papierkorb verschoben werden und der Papierkorb konne nicht geleert werden. Warum das passiert ist konnte ich nicht ergründen. Jedoch habe ich eine Lösung gefunden, um das Problem zu beseitigen.

Der Papierkorb wird im Benutzerordner hier gespeichert:

~/.local/share/Trash/

In diesem versteckten Ordner gibt es drei Unterordner. Diese müssen gelöscht werden. Dann funktioniert der Papierkorb wieder. Dazu sind Superuser-Rechte notwendig. Hier die Befehle für das Terminal:
sudo bash
cd ~/.local/share/Trash/
rm -r *

Bildquelle:
By TokyoshipOwn work, CC BY-SA 3.0, Link

]]>
http://localhost/blog/index.php/2016/10/21/papierkorb-bei-ubuntu-funktioniert-nicht-mehr/feed/ 0
Hash-Werte von Dateien berechnen http://localhost/blog/index.php/2016/09/07/hash-werte-von-dateien-berechnen/ http://localhost/blog/index.php/2016/09/07/hash-werte-von-dateien-berechnen/#respond Wed, 07 Sep 2016 20:06:05 +0000 http://localhost/blog/?p=9361 Die Kommandozeile von Windows ist ein oft unterschätztes Werkzeug und das völlig zu Unrecht. Mit ein paar eingetippten Befehlen lassen sich oft Aufgaben sehe effektiv erledigen. Die Windows-Kommandozeile ist schon lange nicht mehr das Notfallwerkzeug, um alte DOS-Programme noch ausführen zu können, so wie es bei den ersten Windows-Versionen noch der Fall war. Von der Leistungsfähigkeit des Terminals unter Linux ist die Windows-Kommandozeile sicherlich noch weit entfernt. Aber für viele Aufgaben, für die ein Linux-Benutzer das Terminal benutzt, gibt es unter Windows oft ähnliche Möglichkeiten. Ich werde in kurzen Artikeln hier immer mal wieder ein paar Lösungen für kleine Probleme des Alltags posten.

Beispiel: Ich habe zwei Dateien und möchte herausbekommen, ob diese den gleichen Inhalt haben.

Das ist bei Textdateien kein großes Problem. Jeder bessere Texteditor hat ein Vergleichswerkzeug, mit dem Unterschiede festgestellt werden können.

Schwieriger wird es bei Dateien, die nicht im Texteditor angeschaut werden können, z. B. ausführbare Exe-Dateien. Die Dateigröße ist ein erster Hinweis. Wenn diese sich stark unterscheidend, dann sind die Dateien natürlich unterschiedlich. Ist die Dateigröße aber gleich, dann könnten sich die Dateien aber trotzdem unterscheiden. Eine sehr zuverlässige Methode ist es dann, die Hash-Werte der Dateien zu berechnen und zu vergleichen. Hashs sind eine Prüfsumme, die nach bestimmten Algorithmen berechnet werden. SHA-1 und MD5 sind sicherlich die bekanntesten Verfahren. Wenn die SHA-1- oder MD5-Prüfsummen von zwei Dateien gleich sind, dann kann man mit sehr hoher Sicherheit davon ausgehen, dass der Inhalt der Dateien ebenfalls gleich ist.

Vielleicht wird der ein oder andere jetzt einwenden, dass beide Algorithmen gebrochen sind und es vorkommen kann, dass bei unterschiedlichen Dateien trotzdem die gleichen Prüfsummen herauskommen. Das tritt aber extrem selten auf. Da es hier nicht um eine sicherheitsrelevante Anwendung geht, können wir das getrost vernachlässigen.

Microsoft bietet das Tool FCIV zum Download an. Nach dem Entpacken erhält man ein Kommandozeilenprogramm FCIV.exe. Das kopiert man am besten in einem Ordner, der in der PATH-Variabe erwähnt wird.

Die Anwendung ist ganz einfach:

fciv -md5 datei1.exe

Errechnet die MD5-Prüfsumme der datei1.exe.

fciv -sha1 datei1.exe

Errechnet die SHA-1-Prüfsumme der datei1.exe.

fciv -both datei1.exe

Berechnet die MD5- und die SHA-1-Prüfsumme.

Mit fciv -h erfährt man, was das Tool noch so alles kann.

FCIV

Oft wird für Download auch eine MD5-Prüfsumme angegeben. Das Tool bietet sich auch hierfür an, den Integrität der heruntergeladenen Datei zu überprüfen

Für Linux gibt es ein ähnliches Tools namens md5sum, sha1sum und sha256sum. Diese sind bereits im Betriebssystem enthalten und müssen nicht erst installiert werden.

Für MacOS X heißen die analogen Befehle md5 und sha1sum.

]]>
http://localhost/blog/index.php/2016/09/07/hash-werte-von-dateien-berechnen/feed/ 0
Kaputte lokale WordPress-Installation nach Upgrade auf Ubuntu 16.04 http://localhost/blog/index.php/2016/04/25/kaputte-lokale-wordpress-installation-nach-upgrade-auf-ubuntu-16-04/ http://localhost/blog/index.php/2016/04/25/kaputte-lokale-wordpress-installation-nach-upgrade-auf-ubuntu-16-04/#respond Mon, 25 Apr 2016 19:25:09 +0000 http://localhost/blog/?p=9277 Letzten Samstag habe ich mein Laptop auf die neuste Version von Ubuntu gebracht. Das ging ziemlich problemlos. Nur eine „Kleinigkeit“ funktionierte nach dem Upgrade nicht mehr. Das war meine lokale Installation von WordPress.

Das Frontend hat nur noch eine leere Seite ausgegeben, Das Backend sah so aus:

Wordpress-Backend

Der Apache lief also noch. Es sah ganz stark nach ein Problem mit PHP aus.

Der Hintergrund zu diesem Problem war, dass statt PHP 5 nun PHP 7 nun bei Ubuntu Standard ist. Anscheinend ist da bei der Zusammenstellung der Pakete etwas schief gegangen.

Dank des Forums Ubuntuusers gab es aber sehr schnell Hilfe für das Problem.

Zuerst müssen die fehlenden Pakete nachinstalliert werden.

sudo apt-get install php-mbstring php7.0-mbstring php-gettext

Dann muss nur noch der Apache neu gestartet werden.

sudo service apache2 restart

Schon funktioniert alles wieder wie gewohnt.

]]>
http://localhost/blog/index.php/2016/04/25/kaputte-lokale-wordpress-installation-nach-upgrade-auf-ubuntu-16-04/feed/ 0
Broken Links finden http://localhost/blog/index.php/2016/04/02/broken-links-finden/ http://localhost/blog/index.php/2016/04/02/broken-links-finden/#respond Sat, 02 Apr 2016 20:45:03 +0000 http://localhost/blog/?p=439 wgetLinks sind im Internet äußerst wichtig. Eingehende Links bringen Besucher auf die Seite. Ausgehende Links ermöglichen es den eigenen Besuchern, weitergehende Informationen auf anderen Seiten zu erhalten. Interne Links führen den Benutzer durch die Seiten. Bei größeren Seiten kann es immer mal wieder passieren, dass hier und da eine Datei gelöscht wird, die von einer anderen Seite noch verlinkt ist. Wie man einfach solche gelöschten Dateien findes zeige ich hier.

Vielleicht hat man auch auf der eigenen Seite ein Bild gelöscht, das noch irgend wo benutzt wird. Das ist für den Besucher sehr ärgerlich. Wie man solche

Deswegen ist es eine gute Idee, die eigene Seite regelmäßig auf Broken Links zu überprüfen. Dafür gibt es eine Menge Tools, die das mehr oder weniger gut erledigen.

Es gibt aber auch ganz einfach Lösung mit dem sehr universellen Kommandozeilentool wget.

Auf den meisten Computern mit unix-artigem Betriebssystem ist das Tool schon installiert. Wenn nicht, dann kann es leicht nachgeholt werden:

Linux:
apt-get install wget

OS X, Installation mit Homebrew:
brew install wget

Windows:
Download des Installationspaketes hier: http://gnuwin32.sourceforge.net/packages/wget.htm

Jetzt kann es los gehen. Im Terminal wird folgender Befehl eingegeben:

wget --spider -o ~/wget.log -e robots=off -w 1 -r -p http://www.example.com

Der Sinn der ganzen Optionen hinter dem Befehl erschließt sich sicherlich nur den Wenigsten sofort. Deswegen will ich die mal kurz erläutern.

--spider
Die Option bewirkt, dass nicht alles heruntergeladen und gespeichert wird. Es werden also keine Bilder oder Videos übertragen. Es wird aber ein Report erstellt, ob es möglich wäre.
-o ~/wget.log
Hiermit werden die Log-Ausgaben in die Datei wget.log im Home-Ordner umgeleitet. Es ist natürlich jeder andere Dateiname möglich.
Unter Windows sollte nur wget.log geschrieben werden, da es das Symbol “~” für den Home-Ordner nicht kennt. Die Datei wird dann im aktuellen Ordner angelegt.
-e robots=off
Diese Option bewirkt, dass die Vorgaben aus der robots.txt nicht beachtet werden. Ansonsten könne die robots.txt für Spider den Zugriff auf bestimmte Dateien und Ordner verbieten und unser Tool würde falsche Broken Links anzeigen.
-w 1
Die Option bewirkt, dass wget zwischen jeder Anfrage eine Sekunde wartet. Ohne diese Option würde wget die Anfragen so schnell es die Hardware hergibt an den Server stellen. Dieser könnte überlastet werden.
-r
Das „r“ steht für rekursiv. wget geht jedem Link nach und versucht die verlinkte Datei herunterzuladen. Damit wird wget von einem Programm, was einzelne Dateien herunterladen kann, zu einem Crawler.
-p
Damit get wget allen in der HTML-Datei verlinkten Ressourcen nach, auch Bildern, PDFs oder auch CSS- oder JavaScript-Dateien. Ohne diese Option würde es nur verlinkten HTML-Datei folgen.
http://www.example.com
Zum Schluss muss die URL angegeben werden, mit der wget mit den crawlen beginnen sollen. www.example.com muss also mit der URL der eigenen Seite ersetzt werden.

Nach einiger Zeit findet man dann im Home-Ordner die Textdatei wget.log. Öffnet man diese mit einem Editor, dann findet man ganz zum Schluss eine Liste der Broken Links.

wget.log

Möchte man die Ergebnisse weiter per Kommandozeile auswerten, dann ist grep das Tool der Wahl, zumindest wenn man Linux oder OS X benutzt. Windowsnutzer können alternativ findstr verwenden.

grep -B 2 ' 404 ' ~/wget.log

Die Option -B 2 zeigt nicht nur die Zeile an, die den String ' 404 ' enthält sondern auch die zwei Zeilen davor. Auf die Leerzeichen vor und nach der „404“ sollte geachtet werden. Ansonsten wird jede Zeile Ausgegeben, in der irgendwo die „404“ vorkommt.

Das Ergebnis sieht dann so aus:
grep

Eine Stärke der Kommandozeile ist die gute Automatisierbarkeit von Abläufen. Mit sehr wenig Aufwand kann das in eine Shell-Skript eingebunden werden, das eventuell regelmäßig per cron-Job ausgeführt wird. Der Fantasie sind keine Grenzen gesetzt.

]]>
http://localhost/blog/index.php/2016/04/02/broken-links-finden/feed/ 0
Interne Suche auswerten http://localhost/blog/index.php/2016/02/01/interne-suche-auswerten/ http://localhost/blog/index.php/2016/02/01/interne-suche-auswerten/#respond Mon, 01 Feb 2016 21:07:45 +0000 http://localhost/blog/?p=325 Magnifying glass with focus on paper.png
Magnifying glass with focus on paper“ von NiabotEigenes Werk. Lizenziert unter CC BY-SA 3.0 über Wikimedia Commons.

Für den Webmaster ist die interne Suche eine wichtige Informationsquelle. Sie gestattet es, die Besucher näher kennen zu lernen und die Seite entsprechend zu optimieren.

Absicht des Suchenden erkennen

Wenn der Benutzer meiner Seite die interne Suche benutzt, dann sagt mir das zwei Sachen:

  1. Er hat die gesuchte Information nicht auf der Seite gefunden.
  2. Er vermutet aber, dass zu seinem Thema Informationen auf der Seite sein müssten.

Werkzeuge für die Analyse

Ein gutes Werkzeug für die Analyse der Suchanfragen ist Google Analytics. Hier habe ich schon mal gezeigt, wie man damit die Suchbegriffe herausfinden kann.

Es gibt aber noch ein viel effektiveres Werkzeug für die Analyse der internen Suche. Das ist das WordPress-Plugin Relevanssi. Mit einem Mausklick habe ich alle relevanten Informationen zur internen Suche.

Relevanssi
Relevanssi

Ich bekomme gleich angezeigt, für welche Suchbegriffe keine Antworten gefunden wurden.

Was tun?

Wenn Informationen zu dem gesuchten Thema auf der Seite vorhanden sind, der Nutzer aber trotzdem danach sucht, dann kann das verschiedene Ursachen haben.

Es kann sein, dass der Besucher einfach keine Lust hatte, sich die Seite näher anzuschauen und nur möglichst schnell zu den gewünschten Informationen kommen möchte. Solche Suchanfragen kann man getrost ignorieren.

Die passende Seite ist vielleicht so tief in der Navigation versteckt, so dass der Nutzer sie nicht gefunden hat. Kommt so etwas öfter vor, dann ist es Zeit, sich die Struktur der Seite mal näher anzuschauen. Ist die Seitenstruktur wirklich logisch aufgebaut und kann die Logik auch wirklich vom Besucher schnell erfasst werden.

Möglicherweise ist auch einfach nur die Usability der Navigation schlecht. Vielleicht schaut man einfach mal einem Nutzer seiner Seite über die Schulter.

Es kann auch sein, dass die Informationen, die der Nutzer gefunden hat, für ihn einfach nicht ausreichend sind. Der Artikel könnte dann vielleicht überarbeitet und mit mehr Informationen angereichert werden. Doch Vorsicht dabei. Nutzer haben ganz unterschiedliche Bedürfnisse. Manche wünschen nur oberflächliche Informationen zu einem Thema, andere wollen tiefer gehen. Diejenigen, die nur oberflächliche Informationen haben wollen, schreckt eine ausführlicher, allumfassender Artikel eher ab. Wenn man sich in der Wikipedia so umschaut, dann findet man dafür einige Beispiele. Eine Taktik, die ich gerne verwende ist, dann im ersten Teil des Artikels zunächst eine allgemeine oberflächliche Erklärung schreibe. Weiter unten können dann Hintergrundinformationen, Herleitungen und so weiter folgen.

Wenn ein entsprechender Artikel auf der Seite fehlt, dann kann man den ergänzen. Doch nicht gleich los schreiben! Erst einmal muss man entscheiden, ob dieser Artikel auch wirklich zum Thema der Seite passt. Ist das nicht der Fall, dann ist es besser, die Finger davon zu lassen. Es ist keine gute Idee, durch Themen zu allen möglichen Sachgebieten das Profil einer Seite zu verwässern.

Beispiel: Auf meiner Seite vergleichsspannung.de gibt es immer wieder Suchanfragen, bei denen es um elektrische Spannung geht und nicht um mechanische Spannung. Natürlich könnte ich da einen Artikel dazu schreiben aber der wäre ein Fremdkörper in der Seite, in der es um Probleme der Festigkeitslehre geht. Das Themengebiet einer Seite kann man ausweiten. Aber dann nur auf angrenzende Gebiete.

Fazit

Die interne Suche eine Seite ist eine wichtige Informationsquelle. Die Suchanfragen können helfen, die Besucher seiner Seite näher kennen zu lernen und fehlende Themen zu ergänzen.

Update 6.11.2016:
Aus Perun hat Vladimir einen Artikel zum gleichen Thema veröffentlicht. Er geht darin auf das Plugin Search Meter ein, dass im Funktionsumfang Relevanssi änlich sein dürfte.

]]>
http://localhost/blog/index.php/2016/02/01/interne-suche-auswerten/feed/ 0
Neues Google+ http://localhost/blog/index.php/2015/11/18/neues-google/ http://localhost/blog/index.php/2015/11/18/neues-google/#respond Wed, 18 Nov 2015 18:41:27 +0000 http://localhost/blog/?p=332 Die Sterne von Google+ stehen in letzter Zeit nicht allzu gut. Bei der Einführung des sozialen Netzwerkes versuchte Google, es mit aller Macht den Leuten aufzudrücken. Wer bei Youtube kommentieren wollte, der musste sich mit seinem Google+-Account anmelden, auf Android-Handys wurde Google+ vorinstalliert. Die Fotoverwaltung Picasa wurde zuerst in Google+ integriert und dann in diesem Frühjahr als Google Photos wieder aus dem sozialen Netzwerk herausgenommen.

Google zeigte mal eine Zeit lang die Bilder der Autoren in den Suchergebnissen an. Dafür wurde das G+-Profil benutzt. Diese Funktion wurde aber bald wieder abgeschaltet.

Alles in allem scheint Google+ die internen Erwartungen nicht erfüllt zu haben. Es wurde zwar immer wieder betont, dass man Facebook keine Konkurrenz machen will, es scheint aber so, als ob man das sehr wohl machen wollte.

Auch machten immer mal wieder Gerüchte die Runde, dass Google Twitter kaufen wolle.

Eigentlich dachte ich, dass Google+ spätestens seit dem Ausgliedern von Photos und Hangout auf der Abschussliste bei Google steht und dem nächsten oder übernächsten Frühjahrsputz zum Opfer fallen wird.

Jetzt steht aber eine neue Version kurz vor der Freigabe. Wer sich diese schon einmal anschauen will, der kann diese so wie im Video gezeigt aktivieren.

Ich bin mir nicht ganz sicher, ob diese Erneuerung der letzte Versuch ist und das Netzwerk doch nächsted Frühjahr eingestampft wird oder ob es noch länger bestehen bleibt.

Quelle: http://www.googlewatchblog.de/2015/11/neues-design-googleplus-fokus/

]]>
http://localhost/blog/index.php/2015/11/18/neues-google/feed/ 0
Sicherheitslücken in 6 WordPress-Plugins http://localhost/blog/index.php/2015/11/16/sicherheitsluecken-in-6-wordpress-plugins/ http://localhost/blog/index.php/2015/11/16/sicherheitsluecken-in-6-wordpress-plugins/#respond Mon, 16 Nov 2015 18:33:49 +0000 http://localhost/blog/?p=329 Betreiber von Seiten mit WordPress sollten mal einen Blick ins Backend werfen. Für einige Plugins sind Sicherheitslücken bekannt geworden. Das Gute ist aber, dass es dafür schon die entsprechenden Updates gibt. Diese sollten möglichst schnell eingespielt werden Konkret sind die folgenden Plugins betroffen:

  • Fast Secure Contact Form
  • Bulletproof Security
  • Blubrry PowerPress podcasting plugin
  • Form Manager version
  • WordPress Files Upload
  • Crony Cronjob Manager 0.4.4

Quelle: wordfence.com

]]>
http://localhost/blog/index.php/2015/11/16/sicherheitsluecken-in-6-wordpress-plugins/feed/ 0