Auf dem Computer Fotos für Instagram hochladen

Instagram ist bekanntlich so konzipiert, dass du Fotos nur vom Handy aus hochladen kannst. Diese Einschränkung hat natürlich viele nicht in Ruhe gelassen, bis sie eine Methode fanden, Bilder auch vom PC aus hochzuladen. Wenn du im Internet nach solchen Möglichkeiten suchst, findest du eine große Anzahl solcher Methoden. Da ich etwas vorsichtig bin, wenn ich unbekannte und nicht weit verbreitete Programme installieren soll, war ich froh, eine Methode zu finden, die ein durchaus bekanntes Programm dafür verwendet. Es handelt sich um den Browser Google Chrome.

Zuerst musst du eine Erweiterung für Google Chrome installieren. Gehe dafür in den Chrome Web Store, etwa durch Besuchen der Seite https://chrome.google.com/webstore.

Im Suchfeld links fast ganz oben gibst du „instagram from computer“ ein. Dass du die richtige Erweiterung gefunden hast, siehst du an dem Wort „guimble“, dem Namen des Erstellers.

Dann klicke rechts auf „Hinzufügen“. Ist die Erweiterung hinzugefügt, hast du auf der Chrome-Seite rechts oben ein kleines blaues Symbol, es sieht aus wie ein aufgeklappter Klapprechner. Wenn du mit der Maus darüber fährst, siehst du den seltsamen Text „Facebook video and gif downloader“, der dich aber nicht stören soll.

Um ein Bild zu Instagram hochzuladen, klickst du einfach auf das blaue Symbol. Dann geht ein Fenster mit einer Eingabebox auf. Was musst du dort eintragen? „Instagram Username“ und „Instagram Password“ sind selbsterklärend. In das Feld „Caption“ trägst du die Bildunterschrift und die #-Stichwörter ein, die bei deinem Bild dabeistehen sollen.

Es bleibt noch das Bild einzutragen. Meine Originalbilder sind für Instagram zu groß. Beim Versuch, sie hochzuladen, erhalte ich eine einschlägige Fehlermeldung. Wie groß sie maximal sein dürfen, habe ich nicht eindeutig feststellen können. Wenn du jedoch die Breite auf 640 Pixel verringerst (die Höhe ist bei Bildern im Landschaftsformat dann auch nicht größer), wird das Bild beim Klick in das Feld „Picture“ hochgeladen. Fertig!

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , | Kommentar hinterlassen

Firefox reparieren

Der Browser Firefox ist ein komplexes Programm, bei dem es, aus welchen Gründen auch immer, zu Fehlern kommen kann, die man irgendwie nicht direkt beheben kann. Die (auch vom Hersteller Mozilla) empfohlene Vorgehensweise besteht dann oft darin, das Firefox-Profil zurückzusetzen. Das ist zwar schnell gemacht, aber danach bist du mit der Funktion von Firefox sicher nicht zufrieden, weil viele Dinge wie Lesezeichen, Benutzernamen, Passwörter, Cookies, Such- und Formulardaten, Add-ons usw. nicht mehr da sind. Deshalb gibt es an vielen Stellen (auch und besonders ausführlich bei Mozilla) Hinweise und Rezepte, wie du wieder zu deinen Firefox-Daten kommst.

Als ich neulich genau vor diesem Problem stand, konnte ich das zur Wiederherstellung nötige Verfahren beträchtlich abkürzen: Mit der Firefox-Funktion des Synchronisierens (siehe unter „Extras“ in der Menüzeile) können die genannten Daten mit denen von anderen Firefox-Instanzen abgeglichen („synchronisiert“) werden. Der Ort der anderen Firefox-Instanz ist beliebig, da die Daten bei Mozilla gespeichert sind. Da ich nun die Synchronisierung sowieso schon verwendete, weil ich in einem anderen Betriebssystem ebenfalls Firefox nutze, konnte ich dessen Daten mit wenigen Klicks in das jungfräuliche Firefoxprofil einspielen.

Ich habe im vorstehenden Text die nötigen Einzelheiten aus Bequemlichkeit weggelassen, es findet sich aber alles im Firefox-Programm und vor allem auf den Hilfeseiten von Mozilla ausführlich. Ich wollte mit diesem Beitrag nur auf die Möglichkeit des Synchronisierens zum Zweck der Rettung der Firefoxdaten hinweisen.

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , | Kommentar hinterlassen

Linux, KDE, Okular, PDF-Datei, externe Verweise („Links“)

Wenn ich in meinem Linux openSUSE Leap 42.1 mit KDE eine PDF-Datei lesen möchte, geht das üblicherweise mit dem Programm Okular. Jetzt erhielt ich von meiner Bank eine Mitteilung in PDF-Form. Im Text gab es blau hervorgehobene Wörter, die formal und kontextabhängig wie externe Verweise aussahen, die ich aber nicht anklicken konnte.

Da ich mir nicht vorstellen konnte, dass eine Bank eine nicht funktionierende Übermittlungsweise verwendet, habe ich das ganze in Windows probiert, und siehe da, der dortige Acrobat Reader hat alles gekonnt.

Zurück im Linux habe ich in Okular alles Mögliche  durchsucht, bis ich fündig wurde:

Klicke in der Menüleiste auf „Extras“ und dann auf „Navigation“ und schon kann auch Okular mit den externen Verweisen etwas anfangen.

Kleiner Wermutstropfen (oder großartige Möglichkeiten?): „Navigation“ ist alternativ zu 5 weiteren Funktionalitäten, die du mit der Maus zur Verfügung hast, etwa das Markieren von Text, du hast also immer nur 1 von 6 Funktionen zur Verfügung. Zur Erleichterung gibt es für die Auswahl der Mausfunktionen auch Tastaturgriffe, die du auswendiglernen kannst oder mit dem Klick auf „Extras“ dir anzeigen lassen kannst. Der Acrobat Reader scheint mir in dieser Hinsicht komfortabler zu sein.

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , , , , , | Kommentar hinterlassen

Audio-CD mit VLC Media Player abspielen (Linux)

Mein Klapprechner läuft mit Linux openSUSE Leap 42.1, die installierte VLC-Version ist 2.2.2 Weatherwax.

Wenn ich eine Audio-CD einlege, bietet mir das Betriebssystem unter anderem an, die CD mit VLC abzuspielen. Wenn ich dies annehme, öffnet sich das VLC-Fenster, in der linken Menüspalte ist „Playlist“ ausgewählt, im Hauptfenster sind die einzelnen Musikstücke mit Titel, Dauer und Album angezeigt und der erste Titel wird automatisch abgespielt. Das ist alles so, wie es sein soll.

Nun ein anderes Szenarium. Eine Audio-CD ist eingelegt und ich beschließe, sie jetzt mit VLC abzuspielen und starte daher das Programm VLC. Das sich öffnende Fenster sieht ganauso aus wie im ersten Fall mit dem Unterschied, dass im Hauptfenster nichts von der CD erscheint. Das ist selbstverständlich richtig, da ich ja mit meinem VLC etwas anderes vorhaben könnte, als die eingelegte CD abzuspielen.

Anstelle der CD-Daten steht der Text „Playlist ist currently empty. Drop a file here or select a media source from the left.“ Da ich keine Datei zum Fallenlassen habe, beschreite ich die Alternative und wähle vom linken Menü unter „Devices“ den Eintrag „Discs“. Jetzt verschwindet der Inhalt des Hauptfensters und ich bin gerade so weit wie zuvor.

In meiner Not gehe ich mit der Maus zum Startzeichen (nach rechts weisendes Dreieck) ganz links unten. Dort erfahre ich „Play. If the playlist is empty, open a medium“. Ich klicke auf das Startzeichen und es öffnet sich das „Open Media“-Fenster. Dort wähle ich „Disc“, dann „Audio CD“, dann „Play“ und schon (!) schließt sich das „Open Media“-Fenster, im Hauptfenster erscheinen die CD-Daten (falls links „Playlist“ ausgewählt ist bzw. wird) und das erste Stück wird abgespielt.

Bemerkung: Ich habe hier die englische Version beschrieben. In der deutschen geht es genauso. Interessant ist vielleicht, dass die englischen Begriffe „Discs“ und „Disc“ in der deutschen Version „Platten“ bzw. „Medium“ heißen.

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , | Kommentar hinterlassen

PL/1 für Linux

Im August/September 2011 befasste ich mich mit einem neuen Compiler für die Programmiersprache PL/1 unter Linux. Ich habe in meinem damaligen Blog t520.wordpress.com drei Beiträge darüber veröffentlicht. Nachstehend ihr Wortlaut, die Originalbeiträge im alten Blog habe ich inzwischen gelöscht.

1. Beitrag:

Als PL/I-Nutzer seit 1969 ist mir diese wahrhaft hervorragende Programmiersprache sozusagen ans Herz gewachsen. Wenn ich etwas zu programmieren habe, ist jedesmal PL/I meine erste Wahl, vorausgesetzt, die Umgebung lässt das zu. Ein weißer Fleck auf der PL/I-Landkarte war für mich bisher Linux. Nicht dass jetzt der erste Versuch gestartet wird, PL/I für Linux zur Verfügung zu stellen, aber es gibt jetzt einen neuen Anlauf, den ich (vorerst) mit Wohlwollen betrachte und den ich erst mal mitgehen möchte. Es handelt sich um den PL/I-Compiler der Firma Iron Spring (iron-spring.com) für Linux und OS/2.

Er ist noch so neu, dass er für OS/2 als beta- und für Linux als alpha-Version bezeichnet wird. Entsprechend schwierig war die Installation und erste Benutzung. Das Herunterladen der 2,8 MB großen Datei pli-0.9.2a.tgz war kein Problem. Beim Entpacken mittels Ark machte ich den Fehler, dass ich das Kästchen “Pfade beim Entpacken beibehalten” nicht angeklickt habe, so dass am Ende alle Dateien, auch wenn sie eigentlich in Unterverzeichnissen lagen, sich nebeneinander im gleichen Verzeichnis befanden. Dies hatte zur Folge, dass der Befehl  make install nicht vollständig ausgeführt werden konnte.

Aber ich greife vor. Zunächst erhebt sich nach dem Entpacken die Frage, wie der Compiler zu installieren ist. Nirgendwo auf den Web-Seiten fand ich irgendeinen Hinweis, bis der Zufall half: Im “Programming Guide” gibt es den Abschnitt “Linking PL/I Programs”. Dort findet sich der Verweis “Linux”, der zu einem neuen Dokument führt, das einen Abschnitt “Installation” hat, uff! Wenn man den im obigen Absatz genannten Fehler nicht macht, kann man Compiler und Bibliothek einfach installieren.

Zum Kompilieren eines PL/I-Programms muss man den Parameter -C angeben, also etwa plic -C hw.pli. Ist es in Ordnung, so wird ein Objektprogramm .o erzeugt.

Die nächste Hürde ist der link-Schritt. Angegeben ist der Befehl

ld -z muldefs -Bstatic -M -e main -t -o hw \ hw.o \ -lprf \ >hw.map

Dabei habe ich die angegebenen Variablen schon durch meine Dateinamen hw, hw.o und hw.map (wofür steht wohl hw bei meinem ersten Programm?) ersetzt.

Die Gegenschrägstriche (“\“) sollen Fortsetzungsstriche bei mehrzeiligen Befehlen sein, aber wer weiß das schon? Wenn man sie einfach weglässt, funktioniert alles wunderbar.

Demnächst versuche ich mal richtige Programme und werde weiter berichten.

2. Beitrag

Meine ursprüngliche Freude über einen neuen PL/I-Compiler für Linux (iron-spring.com) hat einen kleinen Dämpfer erfahren, nachdem ich die ersten Schritte gemacht habe.

Das Hauptproblem ist für mich der Sprachumfang des Compilers. Er entspricht dem PL/I für MVS und VM der Firma IBM, was man durchaus für veraltet erklären kann. Ich habe mindestens seit 15 Jahren mit einer neueren Version gearbeitet (PL/I für AIX und PL/I für Windows). In dem ersten Programm, das ich umstellen wollte, habe ich folgende Änderungen machen müssen:

  1. Anweisungen der Art i += 1; müssen in der Grundform i = i  + 1; geschrieben werden. Das sieht nun nicht besonders schlimm aus, aber es gibt ja auch längere Variablennamen, etwa auch qualifizierte, bei denen dann die Schreibarbeit doch wächst.
  2. In Formatlisten ist die do-Schleife nicht erlaubt. Stattdessen muss ich Schleifen um die Ausgabeanweisung herum setzen.
  3. Die Verbindung der im Programm vereinbarten file-Variablen mit dem Dateinamen außerhalb geht nicht mehr bequem über Umgebungsvariablen. Entweder muss ich die title-Option verwenden, dann muss das Programm aber die Dateinamen kennen, sie also etwa beim Aufruf mitgeteilt bekommen haben, oder ich sorge dafür, dass file-Variable und (relativer) Dateiname gleich heißen.
  4. Während ich in der bisher benutzten PL/I-Version zum Beispiel die file-Variable ein nur mit dem Attribut file versehen musste und dann sofort read file (ein) ... verwenden konnte, muss ich für denselben Zweck ein jetzt mit record input env (U) vereinbaren.

Ich vermute, dass bei anderen Programmen noch weitere Änderungen nötig sind, damit der Iron Spring-Compiler sie versteht.

Ein weiteres Problem besteht darin, dass der Compiler wegen seiner Neuheit noch einige Fehler enthält. Bisher habe ich 2 Compilerfehler gefunden (Fehlernummern 208 und 210). Positiv ist zu vermerken, dass der Compilerautor schnell und kompetent auf Fehlerhinweise reagiert.

3. Beitrag

Der PL/I-Compiler von Iron Spring (iron-spring.com) in seiner jetzigen Version (0.9.2a) hat meines Erachtens so viele Fehler bei relativ einfachen Anweisungen, dass er unbrauchbar ist. Ich habe mich daher entschlossen, ihn vorerst nicht weiter zu verwenden. Wenn eine neue Version herauskommt, sehen wir weiter.

*************************************************************************************

Soweit die Vergangenheit aus dem Jahr 2011.

Inzwischen habe ich weiter PL/1 für Windows von der Firma IBM benutzt. Da die damit erstellten Programme natürlich auch für in Linux bearbeitete Aufgaben unter Windows laufen müssen, war ein ständiges Hin- und Herschalten zwischen den beiden Betriebssystemen notwendig. Dies funktioniert zwar durch die Verwendung einer Virtualisierungssoftware (VirtualBox), bei der Windows nur ein Fenster in Linux ist, reibungslos, ist dann aber doch auf die Dauer wegen der von Zeit zu Zeit notwendigen Änderung der Windowssysteme lästig geworden.

Die Neuigkeiten des Iron Spring PL/I Compilers habe ich ständig verfolgt, so dass ich inzwischen glaube, dass ich einen neuen Versuch damit wagen sollte. Die Version ist zunächst 0.9.5, ab Problem Nr. 6 verwende ich 0.9.6.

Das (Test)Objekt ist ein PL/1-Programm von 380 Zeilen. Ich beschreibe im folgenden alle Änderungen, die ich an diesem Programm vornehmen musste, bis es lief. Wenn ich anschließend noch weiter Änderungen beschreiben muss, werde ich sie an diesen Blogbeitrag anhängen, er ist also vorläufig wahrscheinlich/eventuell unvollständig.

Ich habe für jedes Problem einen Schweregrad [n] nach folgender Tabelle vergeben:

  • [0]: Nicht reproduzierbarer Fehler, Ursache unbekannt, eigentlich kein Problem.
  • [1]: Mein Programm ist in einem anderen Dialekt geschrieben. Ich muss – einmalig – mein Programm anpassen.
  • [2]: Mein Programm ist richtig und wird ohne Fehlermeldung kompiliert, jedoch wird bei der Ausführung ein „falscher“ Fehler angezeigt, dessen Ursache nicht ersichtlich ist.
  • [3]: Mein Programm ist richtig und wird ohne Fehlermeldung kompiliert, jedoch führt die Ausführung ohne Fehlermeldung zu einem fehlerhaften Ergebnis.

1. Problem [1]:

Die Anweisung nrtag += 1; ergibt vor der Zeile 286 in der .lst-Datei die Fehlermeldungen

286 (ERR208)Unrecognized keyword NRTAG.
286 (INF249)-input flushed to next ";".

Abhilfe: Schreibe diese Anweisung wie alle ähnlichen um in nrtag = nrtag + 1;

2. Problem [1]:

Die Anweisung put file (tex) edit ((a (i) do i = 1 to 7)) (skip, a); in Zeile 88 wird am Ende der .lst-Datei mit folgender Meldung geahndet:

88 (ERR995)Deferred feature GET/PUT List contains DO.

Abhilfe für diese und entsprechende Anweisungen ist umschreiben in

do i = 1 to 7;
put file (tex) edit (a (i)) (skip, a);
end;

3. Problem [1]:

Die Anweisung do jp = 1 to laenge (i); in Zeile 285 wird am Ende der .lst-Datei mit folgender Meldung geahndet:

285 (ERR690)<exp2> (TO) contains non-scalar or non-computational data.

Abhilfe für diese und entsprechende Anweisungen ist umschreiben in

k = laenge (i);
do jp = 1 to k;

4. Problem [1]:

Der Compiler versteht das Zeichen ^ nicht als Nichtzeichen, wenn man es nicht besonders als solches kennzeichnet. Letzteres geschieht durch Angabe des Parameters "-cn(^)" (einschließlich der Gänsefüßchen) im Aufruf des Compilers.

5. Problem [0]:

Das nach den ersten 4 Änderungen fehlerfrei kompilierte und gebundene Programm geht beim Start in eine Endlosschleife. Leider oder glücklicherweise ließ sich das Problem nicht mehr reproduzieren. Ich weiß leider nicht mehr, was ich geändert habe, oder ob ich überhaupt etwas geändert habe. Weg ist weg!

6. Problem [2]:

Das Programm endet vorzeitig mit der Fehlermeldung

No WHEN clause selected in SELECT statement,
and no OTHERWISE clause present.
ERROR condition raised at address 0805D842
in procedure with entry _pli_OTH
Thread = 7183

Im Programm kommen zwei SELECT-Anweisungen vor. Die eine hat eine OTHERWISE-Klausel, bei der zweiten kann es von der Programmlogik niemals zu dem Fehler kommen. Da ich Anhänger des defensiven Programmierens bin, füge ich dennoch die fehlende Klausel hinzu, in der ich eine Fehlermeldung ausgebe und zum Programmende gehe.

Diese Programmänderung ändert aber nichts an der Fehlermeldung. Sie verschwindet erst, als ich den Bedingungspräfix (STRG): vor der PROCEDURE-Anweisung entferne. Ich bin darauf gekommen, weil ich einen solchen Fehler bereits 2011 gemeldet habe.

Das Problem Nr. 6 habe ich an den Programmautor weitergegeben. Es ist (hoffentlich) in Bearbeitung.

Lösung: Es war erfolgreich in Bearbeitung! Nach weniger als 3 Wochen gab es eine neue Programmversion 0.9.7, in der der Fehler beseitigt wurde. Großes Lob für den Programmautor Peter Flass!

7. Problem [1]:

In der für das 6. Problem hinzugefügten OTHERWISE-Klausel verwende ich die Anweisung put skip data (k);. Dies führt bei der Kompilierung für die Zeile 216 zu der Warnung

216 (WRN557)Undeclared variable SYSPRINT has been assigned default attributes "EXTERNAL FILE".

Die Warnung verschwindet durch die Hinzunahme der Deklaration dcl sysprint file ext;.

8. Problem [3]:

Das Programm beginnt in den Deklarationen mit

DCL A (12) CHAR (73) STATIC INIT (
'\documentclass{report}\usepackage{a4,colordvi,epsf}',
'\usepackage[pdftex]{color,graphicx}',

...

Ziemlich zu Anfang der Programmausführung werden die ersten Zeilen in die Ausgabedatei geschrieben:

do i = 1 to 8;
PUT FILE (TEX) EDIT (A (I)) (SKIP, A);
end;

In der Ausgabedatei fehlen die ersten 8 Zeichen der ersten Zeile!

Als Abhilfe habe ich die Deklaration des Bereichs A um ein nulltes Element ergänzt, welches nicht mit ausgegeben wird:

DCL A (0 :12) CHAR (73) STATIC INIT (
'dummydummydummy',
'\documentclass{report}\usepackage{a4,colordvi,epsf}',
'\usepackage[pdftex]{color,graphicx}',

...
Wird fortgesetzt!

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , , | Kommentar hinterlassen

2014 im Rückblick

Die WordPress.com-Statistik-Elfen haben einen Jahresbericht 2014 für dieses Blog erstellt.

Hier ist ein Auszug:

Die Konzerthalle im Sydney Opernhaus fasst 2.700 Personen. Dieses Blog wurde in 2014 etwa 12.000 mal besucht. Wenn es ein Konzert im Sydney Opernhaus wäre, würde es etwa 4 ausverkaufte Aufführungen benötigen um so viele Besucher zu haben, wie dieses Blog.

Klicke hier um den vollständigen Bericht zu sehen.

Veröffentlicht unter Allgemein | Kommentar hinterlassen

In Facebook übersetzen

Facebook-„Freunde“ kann man auf der ganzen Welt haben. Manche davon können zwar Deutsch oder Englisch, verwenden aber für ihre alltäglichen Posts dann doch meist ihre Muttersprache und gewohnte Schrift, wenn sie als Zielpublikum ihren engeren Umkreis vor Augen haben. Wenn ich dann doch Anteil nehmen will, muss ich mühsam übersetzen.

Facebook bietet (allerdings nicht auf dem Smartphone) als Service für manche Sprachen an, den Text direkt zu übersetzen („Übersetzung anzeigen“). Hinter dem übersetzten Text steht dann „(Von Bing übersetzt)“.

Welche Sprachen Bing übersetzt, habe ich nicht untersucht. Vor kurzem ist offenbar Indonesisch dazugekommen, Bing scheint sich weiter zu entwickeln, versucht aber immer noch, Sprachen zu übersetzen, von denen es anscheinend sehr wenig Ahnung hat.

Zu den für die Übersetzung angebotenen Sprachen zählt auch Thailändisch. Thailändisch ist für uns eine schwere Sprache, nicht zuletzt auch deswegen, weil die Wörter im Satz nicht durch einen Abstand voneinander getrennt werden, sondern der ganze Satz als eine einzige lange Wurst geschrieben wird. Wenn man dann noch berücksichtigt, dass viele im Internet sich nicht um korrekte Rechtschreibung bemühen wollen, kann man erahnen, dass so manche Übersetzung daneben liegt. Meine Beurteilung für Bing als Übersetzer für Thailändisch: Schulnote 6.

Bevor ich einige Beispiele bringe: es gibt glücklicherweise eine Alternative, die zwar ebenfalls bei weitem nicht fehlerfrei ist, die aber doch manchmal erahnen lässt, was der Facebookschreiber vielleicht gemeint haben könnte. Diese Alternative ist der Google-Übersetzer. Ich finde ihn in meinem Browser (Firefox) so: Einen Tab mit google.de öffnen / Rechts oben auf das Quadrat mit den 9 Punkten klicken / Wenn er im aufgehenden Fenster nicht angeboten wird, auf „Mehr“ klicken / Auf „Übersetzer“ klicken. Wie du ihn bedienen musst, ergibt sich dann eigentlich von selbst. Der Nachteil gegenüber der Bing-Übersetzung ist natürlich, dass du den zu übersetzenden Text mit Kopieren und Einfügen übertragen musst. Der Vorteil ist eine etwas bessere Übersetzung (Schulnote 5).

Meine Beispiele sind nicht extra herausgepickt, sondern stehen so hintereinander auf einer einzigen Facebook-Seite. Die Posts stammen von drei verschiedenen Personen. Aus Datenschutzgründen bringe ich nur die Übersetzungen, nicht das Original und auch nicht den Kontext, worum es geht.

  • B: Einzelzimmer, return Home; seine Band…
  • G: Ich war allein zu Hause
    Wong …..
  • B: Ja, ihre Hausaufgaben…
  • G: Ich habe meine Hausaufgaben …..
  • B: Ich kündige Studie ermittelt Wok raf…
  • G: Ich brach die Schule Karaffe ….
  • B: Ist der Arztbesuch Warteschlange Khung Peng… seit langem?
  • G: Ich treffe kun
    Peng ….. warten auf Sie.
  • B: Sie spielt nicht gute Sap Aufruf Tadi, sitzen, Zeitung lesen
  • G: Das Leben ist gut … nicht spielen, ruft in Übersee. Ich genieße Lesen einer Zeitung
  • B: Buea, die langen Bergen zu führen.
  • G: Also des Wartens müde.
    Damals
  • B: Bara Chef Yai Yai Bananen ohne Giftstoffe
  • G: OMG Ehgaaaaaa
    Die Muttergesellschaft von Bio-Bananen.
  • B: Banane versehentlich die
  • G: Die Bananen fällt
  • B: Große gehen Sie elegant und anmutig von Ihrem Computer via USB.
  • G: Präsident der pape

Können Computer wirklich Sprache übersetzen? Ich glaube nicht.

 

 

 

 

Veröffentlicht unter Allgemein | Verschlagwortet mit , , , , | Kommentar hinterlassen