Windows 10 Drucker und HTTP-Service

Manchmal frage ich mich schon, was in den Köpfen bei Microsoft so vor sich geht. Bei Windows 10 ist der Druckdienst mit dem HTTP-Service gekoppelt. Also: es läuft ein Webserver auf meinem Rechner, wenn ich überhaupt Drucken können möchte.

Einem Kunden hatte ich eine komplexe Webanwendung erstellt, die neben einem Richclient in HTML5 und Javascript auch eine Serverkomponente zur Aufbereitung von Daten beinhaltet. Entwickelt wurde alles unter Linux, der Kunde jedoch hostete das Projekt unter Windows. Da gab es dann einen sporadischen Fehler, der nicht auf meinem Linux-Server nachvollziehbar war. Entsprechend musste ich das Setup nachstellen, und einen Apachen auf meinem Entwicklungsrechner zum Laufen bringen. Nein, der Kunde hostet nicht unter Windows 10, dieser Entwicklungsrechner läuft aber damit.

Erstaunlicherweise meldete XAMPP, dass Port 80 schon von einem Dienst belegt sei, Apache daher nicht starten könne. Also auf einem Rechner, der bisher keinerlei Server-Funktion übernommen hatte. Da war schon von Microsoft ein HTTP-Service vorinstalliert. In meiner Welt ist es einfach so, dass Programme, die einen Rechner von außen erreich- und ggf. steuerbar machen, nur dann installiert und aktiviert werden dürfen, wenn sie absolut notwendig sind. Ist halt eine simple Sicherheitsüberlegung – je weniger Türen ein Haus hat, desto weniger potentielle Schwachstellen. Aber ich wollte ja vor allem Port 80 für meine Zwecke nutzen, also habe ich den Dienst deinstalliert.

Ich konnte mich noch daran erinnern, dass Windows sich dann beschwert hatte, dass irgendwas mit dem Drucker dann sei. Aber da ich diese Meldung in sich unsinnig fand, habe ich die einfach ignoriert. Von diesem Rechner aus muss ich auch selten Drucken. Gut, Neustart – bis ich mich einloggen konnte, dauerte es ewig. Es lief erstmal so, wie ich mir das vorgestellt hatte.

Kürzlich musste ich etwas von diesem Rechner aus drucken. Natürlich hatte ich überhaupt nicht mehr an diese dubiose Meldung gedacht. Aber obwohl ich in der Druckerliste alle mir bekannten Drucker stehen hatte, meldete der Acrobat Reader, dass ich keinen Drucker hätte. Dabei konnte ich ihn doch von meinem Schreibtisch aus sehen. Angeschaltet war er auch. Dann fiel mir ein, dass da doch irgendwas mit diesem HTTP-Service war.

Und ja, tatsächlich: per Standard benötigt die Druckerwarteschlange den HTTP-Service. Absolut unglaublich und unverständlich. Und – wie sich herausstellte – auch in dieser Absolutheit falsch. Nur steht in der Registry, dass der Druckdienst abhängig vom HTTP-Dienst ist. Und wenn der nicht installiert ist, kann da nichts starten. Aber man kann das in der Registry ändern, und dann braucht der Druckdienst den HTTP-Dienst nicht mehr, und funktioniert dennoch einwandfrei:

Unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler gibt es einen Eintrag „DependOnService„, in dem RPCSS und HTTP stehen. Entfernt man nun HTTP und startet den Rechner neu – bei mir hat es wieder ewig bis zum Einloggen gedauert – ist nun alles so, wie ich es eigentlich erwarte. Der Lokale Druckdienst funktioniert, ohne dass ein Webserver auf Port 80 ein unerwartetes Leben führt.

Es ist schon wirklich unverständlich.

Installation Force.com IDE

Um die Entwicklungsumgebung für Salesforce zu installieren, muss man den Anleitungen bei developer.salesforce.com folgen. Wie leider üblich, erzählt diese Dokumentation nur die halbe Wahrheit. Zumindest bei meinen Versuchen hat es mit Eclipse 4.5 nicht funktioniert, es kam zu nicht-behebbaren Abhängigkeits-problemen.

Im Moment funktioniert es, wenn Eclipse Neon.2 (4.6.2) benutzt wird. Am einfachsten ist es, den Installer für Neon zu benutzen, da dann Eclipse IDE for Java Developers auswählen. Danach kann man der Dokumentation folgen, und es sollte funktionieren. Leider kommen ein paar der Pakete aus unsignierten Quellen, daher muss diese Installation nochmal extra bestätigt werden.

Beeindruckend: WIFIonICE

Da durfte ich im Zug doch glatt mal WIFIonICE ausprobieren. Okay, es ist gut, dass das überhaupt vorhanden ist – per Funknetz war an vielen Stellen gar keine Datenverbindung möglich. Aber bei einem Halt musste ich mal per Speedtest ausprobieren, was da so kommt…:

Joah… 740 Kilobit zu 140 KBit, das ist schon eine vernünftige DSL-Leitung, so aus dem Jahr 2000.

Finissage der Ausstellung Fotografie „Vielfalt im Augenblick“ in Siegburg

Am 15.1.2017 ist im Zeitraum Couch am Strandder Diakonie Siegburg die Finissage der Ausstellung „Vielfalt im Augenblick“ von Alexandra Bosbeer. Falls sich jemand für Fotografie interessiert, der in der Gegend wohnt – ist auch nicht weit von Bonn – kann ich das nur empfehlen. Die Künstlerin ist sehr engagiert, insbesondere auch in der Arbeit mit Behinderten. Daher möchte ich allen den Besuch empfehlen.

LG Hamburg und Links – was habt ihr denn geraucht?

Das LG Hamburg hat entschieden, dass Links setzen eine extrem überzogene und unmögliche Verantwortung birgt. Ein Urheber eines Bildes wurde um seine Rechte gebracht, indem jemand sein Bild unter Misachtung der Lizenz veröffentlicht hat.

Schlimm genug, und der Veröffentlichende soll und mag zur Rechenschaft gezogen werden. Allerdings hat nun jemand anderes einen Link auf die Webseite desjenigen gesetzt, der wiederum das Urheberrecht verletzt hat. Nun möchte das LG Hamburg, dass der Link setzende für die Urheberrechtsverletzung zur Rechenschaft gezogen wird.

Es ist kein einfacher Fall, wo der Link auf offensichtlich rechtswidrige Inhalte zeigt, sondern auf Inhalte, die auf einen ersten, und auch zweiten Blick dem Recht nicht widersprechen. Erst auf genaues, sehr intensives Hinsehen wird klar, dass das Bild nicht im Einklang mit dem Willen des Urhebers veröffentlicht wurde. Das LG Hamburg allerdings sieht darin einen Verstoß, dass jemand auf dieses – erst nach intensiver Prüfung nicht korrekt veröffentlichte Bild einen Link setzt. Es fordert letzlich, dass jeder, der einen Link setzt, sich intensiv mit den Urheberrechten eines Inhalts auseinander setzt, den man nicht selbst zu verantworten hat.

Ich verstehe und begrüße durchaus, dass man mit dem Hinweis auf offenbar illegale Inhalte (halt nicht eigene) durchaus eine Verantwortung übernimmt. Nicht jedoch, wenn man per Link auf etwas verweist, was nicht allgemein gültig Rechtsnoren widerspricht. Das LG Hamburg jedoch postuliert, dass die Prüfungspflicht fremder Inhalte soweit geht, dass man sich letztlich von dem Anbieter rechtsverbindlich bestätigen lassen muss, dass der Inhalt, auf den man verlinkt, bar jeder Rechtsverletzung ist.

Das ist ein voller und sinnloser Angriff auf das gesamte Konzept des WWW. Ich garantiere, dass es auf Facebook Inhalte gibt, die dem deutschen Recht, insbesondere dem Urheberrecht widersprechen. Somit darf ich überhaupt nicht auf Facebook verlinken (was ich sowieso nicht tue, aber das hat ganz andere Gründe). Aber ich übernehme für einen Link auf eine Seite mit scheinbar nicht illegalen Inhalten dann also die Verantwortung für alle Rechtsverstöße, die möglicherweise auf dieser Seite erfolgen? Ist ein Link auf eine Wikipedia-Seite automatisch gleichbedeutend damit, dass ich mir alle potentiellen Urheberrechtsverstöße zu eigen mache?

Liebes LG Hamburg, ich frage hiermit höflich: was habt ihr denn da geraucht? Welcher Ego-Trip hat Euch dazu gebracht, die gesamte Funktionalität des World Wide Web unter das deutsche Urheberrecht zu stellen? Verursacher einer Urheberrechtsverletzung sind klar zu belangen, Helfer im Sinne von Links zu offensichtlichen Rechtsverstößen dürfen sich auch nicht mit Unwissenheit schützen, aber eine Prüfpflicht, die so manchen promovierten Anwalt vor unlösbare Probleme stellen können, dürfen schlicht nicht normalen Personen auferlegt werden.

Schämt euch!

git – Übersicht über den Stand von Branches

Da ich es auch immer wieder vergesse, schreibe ich es mir hier auf…

git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'

Damit zeigt git alle bekannten Branches an, mit dem letzten Kommentar, sowie, wann der erfolgt ist. Das ist gerade dann nützlich, wenn man eine Übersicht über den Stand braucht, in dem man nicht regelmäßig arbeitet.

Die Originalbeschreibung gibt es bei Stackoverflow: How can I get a list of git branches, ordered by most recent commit?

Ebay, Betrugsversuch

Wieder einmal beglückt mich Ebay mit der Hässlichkeit der Welt. Eine Bekannte von mir fand ein Angebot, das zu schön schien, um  wahr zu sein. Ein Gerät, zum Preis von der Hälfte des normalen Neupreises, neu, „OVP, Händler“.

Händler: also Gewährleistung und 14 Tage Rückgaberecht, allerdings war das Verkäuferkonto nicht als Händlerkonto eingerichtet.
Kann ja mal passieren.
Das Konto hatte 10 Bewertungen als Verkäufer, alle über ein Jahr her.
Man kann ja langsam anfangen und dann Pause machen.
Von dem Gerät seien 5 Stück verfügbar zum Sofortkauf, die gingen auch wegen des Preises innerhalb von 2 Stunden weg.
Ungewöhnlich, nach über einem Jahr Pause, aber naja.
Nach dem Kauf erhält man ja eine Email mit Kontaktdaten. Etwas Paranoia vorausgesetzt, wartet man auf diese Mail und prüft dann, ob die Daten des Handelspartners stimmen. Etwas Geschick bei der Benutzung von Suchsystemen schafft da Klarheit, ob die Person auch existiert – mit Nichexistenten kann man keinen durchsetzbaren Vertrag schließen.
Also auf „Kaufen“ geklickt, aber irgendwie kam keine Kaufbestätigung als Email von Ebay.
Alles sehr seltsam.
Verkäufer kontaktiert, um die Daten des Handelspartners zu erhalten – vielleich hat Ebay gerade einen Schluckauf. Es kam keine Reaktion, wie schon befürchtet. Wenn etwas zu gut aussieht, um wahr zu sein, dann ist es das meist auch nicht (nicht immer…).

Der Kauf war an einem Mittwoch, der Kontaktversuch am Freitag, am Dienstag dann eine Meldung an Ebay, dass das alles komisch aussieht, und der Kontaktversuch fruchtlos blieb. Dann Donnerstag kam eine Email von Ebay, dass doch bitte bezahlt werden solle, die Kontaktdaten des Verkäufers beinhaltend. Da stand dann ein Name, PLZ und Ort – eine Straße und Hausnummer fehlte(?). Kreatives Stalking per Google brachte dann noch eine Adresse und auch eine Telefonnummer. Ich habe dann am Freitag den originalen Inhaber des Ebay-Kontos telefonisch erreichen können, der schon am Mittwoch eine Meldung an Ebay abgegeben hatte, dass wohl sein Konto misbraucht würde.

Dann darauf den Montag abend erhielten wir von Ebay eine Meldung, dass der Kauf wohl eher nicht wirklich so voll und ganz zustande gekomme sei.

6 Tage nach unserer Meldung, 5 Tage nach Meldung des Kontoinhabers. Währenddessen wurden noch weitere Artikel angeboten und verkauft. Somit sind 9 (4 weitere für ‚unser‘ Gerät, 5 weitere für ein anderes) Personen möglicherweise auf einen Betrug mit einem gekaperten Konto hereingefallen. Mindestens die 5 für ein anderes Gerät hätten verhindert werden können, wenn die Reaktion von Ebay halb so lange gewesen wäre.

Naja, ist halt so, auf Ebay gibt es Betrüger, und die Plattform kümmert sich um kleine Betrugsfälle wenig. Ebenso wie um andere Zweifelhaftigkeiten.

Das Ende der Welt wie wir sie kennen?

Dienstag.

Wahl-Dienstag in den USA (in ein paar Sunden).

Trump oder Clinton?

Wer von den beiden ist am ehesten in der Lage, die gesamte Welt mit Krieg zu überziehen? Wer ist besser darin, die Diskrepanz zwischen arm und reich noch zu erhöhen? Wer wird es schaffen, mehr Wähler zu bewegen, gegen den anderen zu stimmen?

Und was lernt unsere Politik daraus?

Why is voting done on a Tuesday?

 

Reminder: If you’re in line when the polls close, they have to let you vote!

Kundendienst: wie informiere ich Kunden (nicht)?

Auf meinen Fahrten nach Frankfurt habe ich die Limonade Bizzl kennen gelernt. Und da ich Abwechslung mag, sind da ein paar Kästen zusammen gekommen. Allerdings war dann der Auftrag zum Ende gekommen, und ich kam nicht mehr bei dem Markt vorbei, wo ich die Kästen gekauft habe. Das Leergut steht also bei mir rum, und nur wegen ein paar Kästen wollte ich nicht unbedingt bis Frankfurt. Und hierzulande habe ich die Marke nur einmal kurz in einem Markt gesehen.

Bizzl hat aber zum Glück eine Webseite, auf der man nachsehen kann, wo es Händler gibt…
Dachte ich zumindest. Leider muss man für die Händlersuche ein Kontaktformular ausfüllen, und das ist schon unterirdisch. Ich meine, als Hersteller sollte es doch im eigenen Interesse liegen, dass Kunden sofort – quasi als instantane Triebbefriedigung – heraus finden, wo sie Produkte finden können. Sollte in meiner Nähe ein Markt das Zeug haben, würde ich wahrscheinlich noch einiges davon kaufen, aber ich weiß ja nicht einmal, wo … außer bei Frankfurt.

Bizzl Marktsuche

Chrome und die Größe des Appcache

Ein Kunde von mir hat eine größere Javascript-App, die prinzipiell offlinefähig ist. Da ich die Weiterentwicklung und den Support übernommen habe, hatte ich jetzt das Problem zu lösen, dass eine neue Version eben nicht korrekt offlinefähig war.
Beim Laden des Manifests gab es keine Beschwerden von Chrome, chrome://appcache-internals/ zeigte auch, dass es einen Eintrag gäbe. Sobald man aber die Netzverbindung trennt, um dann offline Chrome mit der App aufzurufen, gab es nur eine Fehlermeldung, dass keine Verbindung zum Server bestünde.

Nachdem ich geprüft hatte, dass alle referenzierten Dateien auch verfügbar sind, keine einzelne Datei zu groß ist (die größte war 4.9 MB), und auch der Code keine Probleme an der Stelle erzeugt, musste es die Gesamtgröße sein.
Leider gibt es zwar viele Informationen über Appcache, aber nichts darüber, wieviel Platz der einnehmen darf. In diesem Test wird geprüft, wieviel gespeichert werden kann, allerdings maximal 256 MB, außerdem wird nicht der Roundtrip getestet: was passiert, wenn nach dem Speichern der Browser geschlossen wird? Durch Rantasten hat sich dann gezeigt, dass es 256 MB sind. Dies stimmt für 4 Rechner, auf denen ich das ausprobiert habe. 262 MB sind auf jeden Fall zuviel.

Wirklich Testen ist auch ein größerer Aufwand, da zu große Appcache-Einträge offenbar erst beim Schließen von Chrome gelöscht werden.