Kann es sein, daß gewisse Menschen ein Problem mit “bedingungslos” haben?

Bei Aspekte wurde diese Petition erwähnt.

Ich bin nun seit Jahren ein Verfechter von bedingungslosem Grundeinkommen (BGE) und halte es für durchaus finanzierbar, aber die Crux beim bedingungslosen Grundeinkommen ist, daß es bedingungslos jedem zusteht. Zitat:

Olaf Scholz, wir brauchen sofortige Finanzhilfen für Freiberufler und Menschen aus der Kreativszene, z.B. in Form von:

  1. Unbürokratischen Überbrückungsgeldern z.B. in Form eines temporären (bedingungslosen) Grundeinkommens

Findet den Fehler!

Das ist leider das Gegenteil eines bedingungslosen Grundeinkommens. Und lustigerweise gerade aus Kreisen die gern Solidarität einfordern, diese aber eher selten zu geben bereit sind. “Künstler” bzw. “Kreative” – als Softwareentwickler zähle ich offenbar nicht dazu! – finden es bspw. normal auf Jahrzehnte hinaus von den Tantiemen ihrer einmal geschaffenen Werke zu leben. Als Softwareentwickler gibt es für mich im beruflichen Umfeld praktischerweise Ausnahmen vom klassischen Urheberrecht, welche genau diesen Modus Operandi bei “Künstlern” bzw. “Kreativen” erst ermöglichen. Neid? Nö, ich fordere nur egalité, bzw. Gleichbehandlung! Dann gibt’s auch Solidarität meinerseits.

// Oliver

Posted in DE, Gedanken, Kapitalismuskritik, Meinung | Tagged , | Leave a comment

Die Müslifrage ist geklärt!

Wenn Müsli 1 mal aus ist, dann gibt’s auch ein Müsli 2. Da muss man vielleicht auch als Käufer etwas flexibel sein.

Bundesverkehrsminister “Andi B. Scheuert”1 am 2020-03-26

Dumm nur, wenn man unter Nußallergien leidet und Müsli 2 nur mit Nüssen daherkommt.

// Oliver

  1. O-Ton des Titanic-Magazins []
Posted in DE, Gedanken, Ich, der Zyniker | Tagged , | Leave a comment

Grundrechte (die zweite)

Schon 2017 hatte ich an dieser Stelle zum Thema Grundrechte ein paar Gedanken zum besten gegeben und damals schon auf George Carlins pointierte Feststellung verwiesen, daß es sich bei unseren sogenannten Grundrechten eben nicht um solche handelt, sondern um Privilegien. Er bezieht dies natürlich auf die USA, aber da der Wertewesten bekanntermaßen von God’s Own Country™ angeführt wird, sind diese Aussagen durchaus übertragbar. Von mir frei übertragen ins Deutsche1:

Im Jahre 1942 gab es 110000 japanischstämmige Amerikaner mit gutem Leumund. Gesetzestreue Leute, die in Internierungslager geworfen wurden, einfach weil ihre Eltern im falschen Land geboren waren. Das ist alles was sie falsch machten. Sie hatten kein Recht auf einen Anwalt, kein Recht auf ein gerechtes Gerichtsverfahren, kein Recht auf ebenbürtige Geschworene, kein Recht auf irgendeine Form von Rechtsstaatlichkeit. Das einzige Recht welches sie hatten war … diese Richtung2 bitte! Ins Internierungslager.

Gerade als diese amerikanischen Bürger ihre Rechte am meisten benötigten … nahm sie ihnen ihre Regierung weg. Und Rechte sind keine Rechte wenn sie jemand wegnehmen kann. Sie sind Privilegien. Das ist alles was wir in diesem Land jemals hatten: eine Liste von vorübergehenden Privilegien3; und selbst wenn Sie die Nachrichten lesen, wenn auch schlecht, wissen Sie, die Liste wird kürzer und kürzer und kürzer.

George Carlin

Privilegien können entzogen werden. So wie das aktuell geschieht. Rechte nicht.

Nicht falsch verstehen, die aktuelle Lage ist durchaus ein Ausnahmezustand im Wortsinne.

Nur ist halt das Problem, daß aktuell nicht ersichtlich ist, wie man aus dem Modus der eingeschränkten Grund- und Bürgerrechte wieder rauskommen will. Zwar gibt es mittlerweile eine entsprechende Forderung der FDP4 — gerade jener Partei welche, wie sonst nur die AfD5, für jene marktliberalen Ideen steht, die das Gesundheitssystem in seinen aktuellen bemitleidenswerten Zustand überführt haben. Einen Zustand der in Zeiten einer Pandemie alles andere als hilfreich ist. Eine Antwort wie das geschehen soll ohne gleichzeitig der Pandemie Vorschub zu leisten, liefert die FDP aber nicht. Die Politprofis von der FDP wissen halt wie man sein Fähnchen nach dem Winde hängt …

Es wäre an der Zeit Automatismen einzubauen welche die aktuell eingeführten Einschränkungen der Grundrechte wieder aufheben, anstatt im Vagen zu bleiben.

Angesichts tiefbrauner Umtriebe in gewissen Kreisen und blinder Flecke in anderen Kreisen6 dürften anderorts bereits die Messer gewetzt werden und die “Schlafsäcke” bereitgelegt werden.

Oder um es kürzer zu machen hier ein Zitat eines durchaus umstrittenen Staatsrechtlers aus der Dekade vor der Machtübernahme der Nazis:

Souverän ist, wer über den Ausnahmezustand entscheidet.

Carl Schmitt (deutscher Staatsrechtler)

// Oliver

  1. im Original

    In 1942 there were 110,000 Japanese-American citizens, in good standing. Law abiding people, who were thrown into internment camps simply because their parents were born in the wrong country. That’s all they did wrong. They had no right to a lawyer, no right to a fair trial, no right to a jury of their peers, no right to due process of any kind. The only right they had was … right this way! Into the internment camps.

    Just when these American citizens needed their rights the most … their government took them away. And rights aren’t rights if someone can take ’em away. They’re privileges. That’s all we’ve ever had in this country is a bill of temporary privileges; and if you read the news, even badly, you know the list gets shorter, and shorter, and shorter.

    George Carlin

    []

  2. Recht, Richtung usw. haben den gleichen Wortstamm im Englischen. Es handelt sich um einen Wortwitz der nicht übersetzbar ist []
  3. Verweis auf die Bill of Rights []
  4. … überbracht durch Christian Lindner im Bundestag am Mittwoch dem 2020-03-25 []
  5. Ja richtig, auch die AfD steht für Neoliberalismus, nur eben im nationalen Mäntelchen. Alte FDP-Granden werden sich noch an die eigene national-liberale Vergangenheit erinnern. []
  6. Tradition ist Tradition … Stichwort: Organisation Gehlen []
Posted in DE, Gedanken, Meinung | Tagged , , , , | Leave a comment

Die Banane der Pandemie: Klopapier

Erinnert sich noch jemand an DDR-Zeiten und wie schwer es war als berufstätiger Mensch an die ohnehin knappen exotischen Früchte zu kommen, wenn man während des Arbeitstages keine Möglichkeit hatte den Stamm-Konsum oder HO aufzusuchen?

So scheint das aktuell auch mit dem Klopapier zu sein.

Ich frage mich gerade ob wir in Kürze auch den Fall haben, daß “unter dem Ladentisch” Klopapier für die Stammkunden bereitgehalten wird. Es gibt ja schon genügend Wucherer welche ganz offenbar Klopapier gehortet haben und nun zu Mondpreisen verkloppen.

// Oliver

Posted in DE, Gedanken | Tagged , | Leave a comment

Hier noch ein schnelles Zitat

… als Beitrag zu der aktuellen Debatte rund um Arbeit in Zeiten der Pandemie:

Das Problem ist nicht allein Arbeit. Sogar Sklaven hatten Arbeit. Das Problem ist Einkommen.

Jim Hightower

Und hier nochmal im Original:

The issue isn’t just jobs. Even slaves had jobs. The issue is wages.

— Jim Hightower

Vielleicht sollten Politiker mal darüber nachdenken,

Oliver

Posted in DE, Gedanken, Meinung | Tagged , | Leave a comment

Nachtrag …

Wie ich unlängst bemerkte, meine ich, daß die noch empfohlene1 Abwesenheit der Bürger auf den Straßen durchaus zu Umsturzversuchen seitens tiefbrauner Gesellen führen könnte. Daß sie es planen, ist ja nun seit einiger Zeit ruchbar geworden.

Man darf allerdings auch nicht vergessen, daß aktuell das größte Militärmanöver seit mindestens 25 Jahren in Europa stattfindet: DEFENDER-Europe 20.

Dabei kommt es zu Truppenbewegungen und Bewegungen von Militärgerät in entsprechender Größenordnung. Wenn nicht zum Umsturz, so könnte dieses Manöver als Tarnung für andere Zwecke mißbraucht werden. Gerade unter dem aktuellen narzistischen POTUS, finde ich das nicht allzu weit hergeholt. Hoffen wir, daß ich unrecht behalte.

// Oliver

  1. bald erzwungene? []
Posted in DE, Gedanken, Meinung | Tagged , | Leave a comment

Wie stehen eigentlich die Wetten?

Wie stehen eigentlich die Wetten, daß die aktuelle SARS-CoV2-Pandemie zu einer weiteren Aushöhlung von Bürgerrechten und dem Ausbau des Sicherheitsstaates benutzt werden wird?

Mein Tip: es wird zu einem beschleunigten Abbau der Bürgerrechte kommen, der auch nicht nur zeitlich auf die Krise begrenzt sein wird. Weiterhin denke ich, daß in der aktuellen Krise wieder der Einsatz der Bundeswehr im Innern thematisiert werden wird und eine gesetzliche Legitimation notfalls durch die Parlamente (Bundestag/Bundesrat) “gepeitscht” wird. Angst ist bei solchen Dingen ja ein wunderbarer Katalysator1.

Ich sehe übrigens auch das Risiko, daß die Abwesenheit von Bürgern auf den Straßen zu Umsturzversuchen führen könnte. Wie wir wissen, gibt es im Staatsapparat schon jetzt tiefbraune Gesellen, die nur auf eine Krise warten und Todeslisten ihrer Gegner pflegen2.

// Oliver

  1. wenn auch ein schlechter Berater []
  2. ach ja, und die Leichensäcke für’s Campen bunkern, aber nur weil die halt billiger sind als Schlafsäcke — muckelig! []
Posted in DE, Gedanken, Meinung | Tagged , | 1 Comment

Funktionsträger

Da haben hochbezahlte Funktionsträger mal richtig mitgedacht.

In Hessen gelten Erzieher/-innen und Lehrer/-innen nicht als Funktionsträger, welchen eine Betreuung ihrer Kinder trotz Schließung von Schulen und Kitas zusteht. Finde den Fehler.

Seit Freitag ist es amtlich. In Hessen bleiben Schulen und Kitas bis nach den Osterferien geschlossen wegen SARS-CoV2. An sich eine sinnvolle Maßnahme. Aber nicht ganz durchdacht, wie man anhand der Liste der Funktionsträger ersehen kann. Zitat aus dem Schreiben vom 2020-03-13:

Die Notbetreuung dient ausschließlich dazu, Kinder aufzunehmen, deren Eltern in sogenannten kritischen Infrastrukturen tätig sind. Hierzu gehören insbesondere folgende Berufsgruppen:

  • Beschäftigte im Gesundheitsbereich, medizinischen Bereich und pflegerischen Bereich,
  • Beschäftigte im Bereich von Polizei, Rettungsdienst, Katastrophenschutz und Feuerwehr,
  • Beschäftigte im Vollzugsbereich einschließlich Justizvollzug, Maßregelvollzug und vergleichbare Bereiche.

Jene also, deren Funktion es wäre die Kinder der Funktionsträger zu betreuen, stehen ohne Betreuung da, da sie nicht als Funktionsträger definiert sind. Das ergibt natürlich total viel Sinn1! Ich vermute die entsprechenden Lehrer/-innen und Erzieher/-innen mit eigenen Kindern werden die Betreuung der Funktionsträgerkinder durch “mobiles Arbeiten” abdecken …

Update: Laut diesem Schreiben vom 2020-03-15 scheint man den Fehler erkannt zu haben, zumindest teilweise:

Eine weitere Ausnahme wird für Lehrkräfte eröffnet, deren Einsatz als Aufsicht in der Notbetreuung zwingend erforderlich ist und die keine private Betreuung für ihre eigenen Kinder organisieren können. Sie dürfen ihre eigenen Kinder in die Notbetreuung mitbringen.

// Oliver

PS: Siehe auch hier.

  1. Andere Bundesländer, bspw. Schleswig-Holstein, waren da deutlich weitsichtiger. []
Posted in DE, Gedanken, Meinung | Tagged , | Leave a comment

Isländische Windverhältnisse und Panikmodus …

Derzeit herrschen in Deutschland isländische Windverhältnisse, dank Orkan Sabine.

Während der Isländer horizontalen Regen gewöhnt ist und über Touristen mit Regenschirm nur schmunzelt, scheint in Deutschland auf Panikmodus geschaltet zu werden. In Frankfurt am Main bleiben mehrere Schulen geschlossen.

Bin gespannt wie sich die Fahrt durch den Stadtwald zur Arbeit am Montagmorgen gestaltet. Üblicherweise dauert es etwas länger bis Äste von den Radwegen geräumt werden. Auch hier merkt man sehr schön die “Gleichberechtigung” der Radfahrer von der Herr Scheuer irgendwann im letzten Jahr faselte.

// Oliver

Posted in DE, Gedanken | Leave a comment

Die Lösung

Dieses Gedicht von Bertolt Brecht lief mir letztens über den Weg:

Die Lösung

Nach dem Aufstand des 17. Juni
Ließ der Sekretär des Schriftstellerverbands
In der Stalinallee Flugblätter verteilen
Auf denen zu lesen war, daß das Volk
Das Vertrauen der Regierung verscherzt habe
Und es nur durch verdoppelte Arbeit
zurückerobern könne. Wäre es da
Nicht doch einfacher, die Regierung
Löste das Volk auf und
Wählte ein anderes?

Posted in DE, Gedanken | Leave a comment

Assange helfen!

Hier geht’s lang. Kein weiterer Kommentar nötig.

Posted in DE, Gedanken, Wertewesten | Leave a comment

Stillstand

Die Entscheidung zum Thema Organspende bedeutet vor allem eines: Stillstand.

Gut gemacht, liebe Volksvertreter.

// Oliver

Posted in DE, Gedanken, Meinung | Leave a comment

Broken Netflix documentary …

The Broken documentary’s third episode titled “Deadly Dressers” is ridiculously broken itself. It lashes out at IKEA1 but completely misses the point that all of these IKEA dressers come with wall anchor kits. And if they don’t you can get one for free after purchasing the furniture.

So what the fuck?

Don’t get me wrong. These deaths are tragic and as a father I can not imagine being placed in a similar situation. But is the negligence with IKEA or those not using the wall anchor kit that came with the furniture? …

I also highly doubt that the heavy weight products from solid wood will weigh any lighter on the chest of an infant. Because infants will attempt climbing up furniture and at the right leverage the heavier furniture will also tip and kill …

// Oliver

  1. and there are probably lots of other more valid reasons to do that, such as the lack of sustainability []
Posted in EN, Thoughts | Leave a comment

Re: Schadensmaximierung bei E-Plus/ALDI TALK durch automatische Guthabenaufladung

Aktualisierung bzgl. Schadensmaximierung bei E-Plus/ALDI TALK durch automatische Guthabenaufladung

Am Samstag erreichte mich ein Anschreiben einer Abteilung “Recht + Inkasso” aus Nürnberg mit einer Münchner Telefonnummer auf dem Briefkopf als “letzte Mahnung”. Also rief ich heute an. Die Information, welche niemand, aber auch niemand von dem Saftladen bisher erwähnt hatte, nämlich daß ich per Guthabenbon aufladen lassen und mir den Restbetrag danach auszahlen lassen könne, wurde mir diesmal gegeben. Das hätte wohl ein halbwegs kompetenter Kundenservice auch leisten können, aber der Saftladen leistet sich ja leider nur einen Kunden-“Service”.

Dazu darf man natürlich wiederum über allerlei institutionelle und bürokratische Hürden springen. Denn – und das stellt natürlich explizit infrage ob ich vor dem Brief vom Samstag überhaupt in der Lage gewesen wäre diese Hürden zu nehmen – ich darf jetzt einen Guthabenbon (5 €) kaufen und diesen aber nicht selbst zum Aufladen des Kontos benutzen, sondern muß mich an die Abteilung “Recht + Inkasso” wenden damit diese den Guthabenbon einlösen und mir hernach ein Formular zur Auszahlung des Restbetrags zuschicken. Deutlich bescheuerter könnte ich es mir nicht ausdenken, wenn es die Aufgabe wäre die bescheuertste Methode finden um Kunden zu gängeln die jegliche weitere Geschäftsbeziehung mit dem Saftladen ablehnen.

Nun ja, etwas gutes hat dieses Geschäftsgebaren. Ich werde mich mit Beschwerden sowohl an die Bundesnetzagentur als auch an die Verbraucherzentrale und eventuell an die c’t-Redaktion (Rubrik “Vorsicht Kunde”) wenden um diesem Geschäftsgebaren die nötige Öffentlichkeit zukommen zu lassen. Gegen Oligopolisten wie Telefonica/Aldi Talk/MedionMobile/E-Plus ist man als Kunde ja offenbar immer im Hintertreffen …

Die Dame am Telefon war dann auch etwas pikiert1 ob der Tatsache, daß ich mich aufgrund der Weigerungshaltung seitens ihres Saftladens erdreistet hatte mit Einschreiben und Rückschein die 1,99 € in bar an ihren Saftladen zu schicken2. Das hätte sie ja noch nie gehört. Ich habe sie dann erstmal aufgeklärt, daß ich es auch noch nie gehört habe, daß sich eine Firma weigert eine Zahlung per Bankverbindung anzunehmen, wenn doch eine Lastschrift per SEPA-Mandat durchaus möglich ist und aus meiner Sicht das SEPA-Mandat zu dem Zeitpunkt noch bestand, eine Abbuchung also möglich gewesen wäre. Und auch, daß ich es noch nie gehört hätte, daß der Kundendienst mit der Information nicht herausrücken kann, daß eine Rückzahlung des zuviel gezahlten Betrags möglich ist und wie. Denn daß ich eine Weiterführung jeglicher Geschäftsbeziehung mit dem Saftladen ablehne, hatte ich zuvor klipp und klar geschrieben.

// Oliver

  1. um nicht zu sagen “giftig” []
  2. Ist natürlich eine durchaus dumme Lage wenn man einerseits mit Inkassobüro droht und andererseits die Annahme einer Zahlung verweigert und die eigenen Mitarbeiter nicht in der Lage sind die im Betreff angegebene Rufnummer zuzuordnen. Das könnte vor Gericht natürlich zu kleineren Argumentationsschwierigkeiten führen. []
Posted in DE, Meinung, Persönliches | Tagged , , , , , , | Leave a comment

“Lustig”: Matrix42 verkauft nun Endpoint Security

Bis vor wenigen Wochen noch, lief bei uns in der Firma Matrix42 in einer Version die grafisch an die MFC-Anwendungen aus den 1990ern erinnerte. Irgendwann kam dann ein Update. Da ich nicht weiß ob dies zeitlich mit dem Update seitens des Herstellers einherging, will ich das nur erwähnen.

Jedenfalls läuft allen Ernstes seitdem die Software als chromium-basierte Anwendung1. So weit, so unaufregend. Heutzutage scheinen ja Hinz und Kunz2 die Ägide von einst aufzugeben, daß sich die Anwendungen bestmöglich in die Laufzeitumgebung einfügen mögen und daher bitte das Aussehen und Verhalten ebendieser annehmen sollten. Stattdessen schreiben heute Webseitenentwickler Anwendungen für den Desktop und Atom, Slack Desktop, Riot, Visual Studio Code und andere Machwerke sind die Folge. Ein Hoch auf den Fortschritt!
Aber ich bin mir sicher, daß es genügend “Fans” dieser tollen neuen Anwendungswelt gibt; denn was könnte schon schlimm sein an der Tatsache, daß jede Anwendung ihr eigenes Aussehen und Verhalten mitbringt und runde 50 MiB im Gepäck, die in der Gesamtschau über all diese Anwendungen hinweg als Quasi-Duplikate vorliegen. Da werden einem ActiveX-Steuerelemente und eingebettete Internet Explorer in der Rückschau geradezu sympathisch.

Einerlei, zurück zu Matrix42. Nicht nur, daß die Anwendung, deren Inventarliste an verfügbarer Software jetzt “modern” aussieht, neuerdings einen Dialog auf dem Login-Desktop anzeigt, welcher — Anschnallen bitte! — im Systemkontext läuft, als hätte es eine ganze Angriffsklasse vor siebzehn Jahren nicht gegeben. Auch auf dem interaktiven Desktop nach dem Einloggen sah ich schon interaktive Fenster — augenscheinlich auf Basis der Chromium Browser-Engine — und das im Systemkontext. Zur Erinnerung: der Systemkontext ist die höchste Rechtestufe auf einem Windowssystem. Ursprünglich liefen quasi alle Windows-Dienste in diesem Benutzerkontext. Zwar hat Microsoft — etwa seit dem Aufkommen Shatter Attack — diverse wohlbekannte Dienstkonten eingeführt, die als Alternative existieren und es wurden auch die netzwerkseitigen Rechte des Systemkontexts beschnitten. Dies ändert aber nichts an der Tatsache, daß der Systemkontext Teil der TCB3 ist und sich ein darin laufender Prozeß relativ leicht auch mit den Rechten anderer Prozeße versorgen kann (ich denke nur an das Einschmuggeln von APCs).

Der Dialog auf dem Login-Desktop klaut auch kackdreist den Fokus vom Loginfeld, ganz als gäbe es nicht entsprechende Flags4 um dies zu verhindern. Natürlich hat der Hersteller vorgesorgt und auf dem Dialog eine Nachricht hinterlassen, man möge bitte warten. Damit ist natürlich alles wieder gut! WTF?
Als Nutzer von SuRun werde ich auf dem interaktiven Desktop durch eine Toast-Notification bzw. einen Tooltip in der TNA jederzeit über solche Sachverhalte informiert. Bei diesem Sicherheitsbewußtsein seitens der Macher von Matrix42 landete der Schluck Kaffee heute beim morgendlichen Durchblättern fast auf der iX 12/2019 als ich eine Anzeige des Herstellers von Matrix42 sah, bei der deren Lösung für Endpoint Security beworben wurde. Sprich: man wirbt allen Ernstes damit, die Infrastruktur eines Unternehmens mit der “eigenen”5 Endpunktsicherheitslösung zu verbessern. Kurzum: man gibt die “Sicherheit” ala AV in die rechte Tasche (mit der Endpoint Security Lösung) und nimmt sie wieder aus der linken (mit der — in Hinblick auf IT-Sicherheit — grottig geplanten Softwareinventarlösung). Aber gut, als jemand der selbst bis vor wenigen Monaten über zehn Jahre lang für einen Antimalwarehersteller mit mehreren6 Produkten gearbeitet hat, ahne ich natürlich, daß da wohl bei den meisten einige Leichen im Keller vor sich hinschimmeln. Nur ist es ein Unterschied, ob man Probleme erbt, oder sich ganz ignorant frisch einbaut.

Was übrigens das “coolste” dran ist? Da eine Anwendung zur Verwaltung des Softwareinventars, welche in großen Teilen in Windows Server eingebaute Mechanismen dupliziert, schön geschmeidig laufen muß, hat man augenscheinlich alle Grafikoptimierungen der Chromium Browser-Engine durchgängig aktiviert gelassen. Ein Kollege von mir hat nun aber leider auf Windows 7 das Problem, daß chromium-basierte Anwendungen die diverse GPU-basierte Beschleunigungen aktivieren, zu einem Problem führen, bei dem sich der Rechner quasi aufhängt, wenn der Arbeitsplatz gesperrt wird7. Nun ratet mal, welche Anwendung die einzige ist, die besagter Kollege nicht kontrollieren kann, und welche auf Chromium basiert? … schöne neue Anwendungswelt!

// Oliver

  1. “Essential Objects Worker Process” []
  2. und Microsoft []
  3. Trusted Computing Base, in etwa: “vertrauenswürdiger Systemkern” []
  4. hüstel, WS_EX_NOACTIVATE, hust … []
  5. ich tippe mal auf ein Whitelabeling o.ä., jedenfalls scheint Egosecure auf Avira aufzusetzen und enSilo — mittlerweile Fortinet — scheint eine Art Sandboxlösung mit Sammlung der Telemetrie, aka “Verhaltenserkennung”, zu sein []
  6. zusammengekauften []
  7. faktisch hängt der Rechner nicht auf Kernelebene, aber er ist unbenutzbar und selbst ein Verbinden per RDP klappt nicht []
Posted in DE, EDV-Sicherheit, Meinung, Software | Tagged , | Leave a comment

Man könnte heulen

In der Sendung von “Die Anstalt” vom 2019-11-05 geht es um die Treuhand.

Unbedingt anschauen.

Wieder einmal schaffen es Uthoff und von Wagner den Finger in die Wunde zu legen. Es wird wohl einige Menschen aus den “neuen Bundesländern” geben, die sich in gewissen Sichtweisen bestätigt fühlen. Nicht daß ich denke, daß sich diese Sendung auf die offizielle Geschichtsschreibung auswirkt, aber vielleicht bekommt der ein oder andere aus den “gebrauchten Bundesländern” ja eine neue Sichtweise vermittelt und vielleicht fühlen sich einige “Ossis” — so wie auch nach der Sendung über Griechenland (2015-03-31) — erhört …

// Oliver

Posted in DE | Leave a comment

Schadensmaximierung bei E-Plus/ALDI TALK durch automatische Guthabenaufladung

E-Plus/ALDI TALK ist einer der Anbieter die ohne Vertragsbindung eine sogenannte “Flatrate” (eigentlich ein Volumentarif!) für mobiles Internet (LTE usw.) anbieten. Aber der Schein trügt, wie ich am eigenen Leibe erfahren durfte.

Mein Fazit daraus ist die sofortige Einstellung aller Geschäftsbeziehungen mit diesem Saftladen.

Aber beginnen wir von vorn. Ich hatte mich eigentlich – aufgrund der Nutzung eines LTE-Routers – meist für “Internet-Flatrate M” und “Internet-Flatrate L” entschieden. Das dumme war nur, daß jeweils irgendwann der Hahn ohne Vorwarnung abgedreht wurde. Also einfach kein Netz mehr.

Also entschloß ich mich die automatische Guthabenaufladung zu aktivieren. Immerhin klang es für mich danach, daß die Aufladung eine fortgesetzte Nutzung der jeweiligen vermeintlichen Flatrate, sprich des Volumentarifs, gewährleisten würde. Dummer Fehler!

Der Knackpunkt ist nämlich folgender. Die Guthabenaufladung wird in den Stückelungen 10, 15 und 30 € angeboten. Ausnahmslos alle Angebotenen Tarife – nach Lesart des Saftladens sind diese “Internet-Flatrate”-Tarifpakete jedoch Optionspakete – haben aber “krumme” Preise wie 6,99 €/4 Wochen (bis 1 GB). Aber die sind eben nur Tarifpakete und aus Sicht des Saftladens keine eigenständigen Tarife. Stattdessen ist man quasi immer im sogenannten “Basistarif” und die sogenannte “Option” ist in gewisser Weise ein Rabatt auf ein vorgegebenes Volumen in einem vorgegebenen Zeitraum1.

Kleines konkretes Beispiel:

  • Der Kunde lädt 10 € Guthaben auf und bucht die Option “Internet-Flatrate M” für 6,99 €/4 Wochen (bis maximal 1 GB Daten).
  • 3,01 € verbleiben als Guthaben.
  • Irgendwann ist keine Internetverbindung mehr möglich.
  • Der Kunde ist doof genug die automatische Guthabenaufladung, kombiniert mit einer vermeintlichen Verlängerung “Internet-Flatrate M” und einer sofortigen Aufladung um 10 € zu veranlassen.
  • Vier Wochen vergehen.
  • Der Kunde rutscht in den “Basistarif” ohne “Option” und ohne dies zu bemerken oder benachrichtigt zu werden, da die automatische Guthabenaufladung entgegen der Erwartung eben nicht dazu dient dem Kunden durchgängigen Service zu bieten, sondern seinen Schaden zu mehren.
  • … wenige MB später sind die restlichen 3,01 € aufgebraucht. Zu einem Tarif von 0,24 €/MB. Zum Vergleich: hochgerechnet auf die 1 GB im “Internet-Flatrate M”-Tarif wären das runde 240 € bei maximaler Ausnutzung.
  • Der Kunde erhält eine SMS und Email über die automatische Abbuchung von 30 €.
    Wohlgemerkt: die Abbuchung erfolgte automatisch2, hingegen ist der Kunde mit seinen mageren 30 € aufgeladenen Guthaben noch immer im “Basistarif” unterwegs und löhnt so satte 0,24 €/MB … alles unbemerkt und ohne jegliche Transparenz seitens des Saftladens.
  • Der Kunde bemerkt kurz darauf, daß schon wieder keine Internetverbindung möglich ist und wird stutzig, da bei der Guthabenaufladung (im Gegensatz zum Wegfall der “Option”) eine Email versandt wurde, war er ja über die abgebuchten 30 € im Bilde. Es waren aber zwischen der Abbuchung und dem Verschwinden der Internetverbindung nur wenige Tage vergangen.
  • Ein Blick in das den Kundenbereich des Saftladens zeigt einen Guthabenstand von 0 € an. Das kann wohl schwerlich sein, denkt sich der Kunde, denn immerhin haben alle Tarifpakete (nach Lesart des Saftladens: “Optionen”) krumme Preise.
  • Ein Blick auf die kürzlichen Bankkontobewegungen zeigt aber, daß 30 € abgebucht wurden. Gut, denkt der Kunde, wahrscheinlich irgendein technisches Problem warum das nicht beim Anbieter dem Guthaben gutgeschrieben wurde man hat im Kundenbereich keinerlei!!! Transparenz3 über kürzliche Aufladungen oder auch Verbrauch des Guthabens, geschweige denn Transparenz bezüglich des jeweils aktiven Tarifs.
  • Der Kunde lädt also 10 € auf und schreibt eine Email an den Kundendienst des Saftladens.
  • Außerdem bucht der Kunde die vermeintlich nie gutgeschriebenen 30 € zurück.
  • Der Kundendienst antwortet (ausschnittsweise):

    Beim Guthaben nehmen Sie es genau – das verbindet uns. Deshalb sind wir Ihrer Frage auf den Grund gegangen.

    Nach unserer Recherche endete die Laufzeit der Option am 17.09.2019. Ihr Guthaben reichte nicht, um die Option automatisch zu verlängern. Ihre Verbindungen wurden dann nach dem Basistarif berechnet.

    Eine erneute Aufladung wie am 18.09.2019 bewirkt nicht automatisch, dass die Option aktiviert wird. Als Nutzer der Mobilfunkkarte entscheiden Sie, wie das Guthaben eingesetzt wird – für Gespräche, SMS oder das mobile Internet.

    … zusätzlich werden dem Kunden “aus Kulanz” 15 € gutgeschrieben.

  • Vermutlich aufgrund der Rückbuchung und trotz der behaupteten “Kulanz” steht das “Guthaben” bei -11,99 €.
  • Der Kunde hat keine Möglichkeit das Guthaben selbständig auf 0 € zu bringen. Eine Aufladung schlägt fehl und ohnehin wäre bei der Stückelung von 10, 15 und 30 € allenfalls möglich sich der Null von oben oder unten anzunähern.

Das es angesichts der Sachlage allenfalls als zynisch bezeichnet werden kann zu behaupten (O-Ton Kundendienst) “Als Nutzer der Mobilfunkkarte entscheiden Sie, wie das Guthaben eingesetzt wird”, sollte klar sein. Kostentransparenz geht anders. Das vermeintlich kostengünstige Schnäppchen ohne Vertragsbindung entpuppte sich als Kostenfalle mit System und der vermeintlich günstige Anbieter ALDI TALK als Saftladen.

Zitat aus “Guthaben aufladen” zum Zeitpunkt der Niederschrift:

Um die Online Aufladung nutzen zu können, müssen Sie zuerst Ihre Bankdaten hinterlegen. Dies funktioniert ganz einfach über die ALDI TALK App oder Mein ALDI TALK. Ihre Guthabenaufladungen können dann ganz bequem von Ihrem Bankkonto abgebucht werden.

[…]

B. Automatische Aufladung
Sobald Ihr Guthaben unter einen bestimmten Betrag fällt, wird es automatisch aufgeladen – ganz bequem über Ihr Bankkonto. Den jeweiligen Aufladebetrag können Sie selber vorab festlegen.

Dieser bestimmte – aber nirgends genannte! – Betrag ist ganz klar 0 €. Anders ist nicht erklärbar, daß ich als Kunde des Saftladens trotz Einwilligung in die automatische Aufladung erst in den “Basistarif” ohne “Option” zu horrenden Preisen abrutsche und erst bei Erreichen der Nullmarke die Aufladung erfolgt, welche dann wiederum zu den Konditionen des “Basistarifs” ohne “Option” in Windeseile verbraucht wird.

// Oliver

  1. … über die deutschen Preise für mobiles Internet oder auch die Unsitte Volumentarife als Flatrates zu vermarkten wollen wir diesmal lieber schweigen … []
  2. … und ja, ursprünglich mit Zustimmung, weil mit anderer Lesart []
  3. Irgendwann später habe ich dann die Auflistung gefunden. Ziemlich gut versteckt war sie. []
Posted in DE, Meinung, Persönliches | Tagged , , , , , , | Leave a comment

So you have a WTL project but it’s not a COM server you’re writing?

Well, not exactly surprising if you write a GUI application like my NT Objects.

Turns out that ATL forces you to have support for COM server registration, as soon as you use anything derived from CComModule. Doh. And yeah, that includes all that pesky registry script syntax and what not …

But with a method I pioneered for NT Objects, you can save some precious KiB in your output file simply by faking/mocking CComModule. Sure, it’s not much you save, but given it’s dead code otherwise, why not shave it off?

The summary is that at the point you include your first ATL header (even if it’s not atlbase.h) you make sure that atlbase.h gets included at least once with _ATL_NO_COMMODULE defined before including it. Header guards will ensure that it won’t get included again. And then after including atlbase.h you include my very own fake_commodule.hpp like this:

#define _ATL_NO_COMMODULE
#include <atlbase.h>
#include "fake_commodule.hpp"
#undef _ATL_NO_COMMODULE

Once done, you remove the definition of _ATL_NO_COMMODULE again for subsequently included ATL (and WTL) headers.

Obviously this only ever makes sense if you don’t need to register a COM server. So use your common sense, you’ll know your application best.

// Oliver

PS: in case the link to fake_commodule.hpp rots away:

///////////////////////////////////////////////////////////////////////////////
///
/// Allows to reduce the size of executables linking the WTL by providing our
/// own minimal implementation of the CComModule, without the COM server
/// registration capabilities.
///
/// Include as follows:
///   #define _ATL_NO_COMMODULE
///   #include <atlbase.h>
///   #include "fake_commodule.hpp"
///   #undef _ATL_NO_COMMODULE
///
/// Dual-licensed under MS-PL and MIT license (see below).
///
///////////////////////////////////////////////////////////////////////////////
///
/// Copyright (c) 2016 Oliver Schneider (assarbad.net)
///
/// Permission is hereby granted, free of charge, to any person obtaining a
/// copy of this software and associated documentation files (the "Software"),
/// to deal in the Software without restriction, including without limitation
/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
/// and/or sell copies of the Software, and to permit persons to whom the
/// Software is furnished to do so, subject to the following conditions:
///
/// The above copyright notice and this permission notice shall be included in
/// all copies or substantial portions of the Software.
///
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
/// DEALINGS IN THE SOFTWARE.
///
///////////////////////////////////////////////////////////////////////////////

#ifndef __FAKE_COMMODULE_HPP_VER__
#define __FAKE_COMMODULE_HPP_VER__ 2016032300
#if (defined(_MSC_VER) && (_MSC_VER >= 1020)) || defined(__MCPP)
#pragma once
#endif // Check for "#pragma once" support

namespace ATL
{
    class CComModule;
    __declspec(selectany) CComModule* _pModule = NULL;
    class CComModule : public CAtlModuleT<CComModule>
    {
    public:
        CComModule()
        {
            // Should have only one instance of a class
            // derived from CComModule in a project.
            ATLASSERT(_pModule == NULL);
            _pModule = this;
        }

        HINSTANCE SetResourceInstance(HINSTANCE h) throw() { return _AtlBaseModule.SetResourceInstance(h); }
        HINSTANCE GetModuleInstance() throw() { return _AtlBaseModule.m_hInst; }
        HINSTANCE GetResourceInstance() throw() { return _AtlBaseModule.m_hInstResource; }
        HRESULT Init(_ATL_OBJMAP_ENTRY*, HINSTANCE, const GUID*) throw() { return S_OK; }
    };
}

#endif // __FAKE_COMMODULE_HPP_VER__
Posted in C/C++, EN, Programming | Tagged , , , , , | Leave a comment

Delay-loading ntdll.lib and others …

In one of my pet projects, NT Objects – or ntobjx in short – I am making use of the delay loading mechanism offered by the Visual C++ toolchain, while at the same time using it on a DLL that the linker will refuse to delay-load.

And for a reason, after all ntdll.dll is loaded into every or nearly every usermode process on Windows.

However, I didn’t quite like how the loader gets to show some error message and my program doesn’t get to do error handling at all. So I worked around the limitation.

In order to do that, I created a file which contains empty stubs for the functions I want to import. This is necessary, because unlike with 64-bit (x64) we can not create a working import library from just a module definition file when targeting 32-bit (x86), due to name mangling. Oh well.

So the recipe for x64 is simple:

lib.exe /nologo /nodefaultlib "/def:ntdll-stubs\\ntdll-delayed.txt" "/out:$(IntDir)\ntdll-delayed.lib" /machine:x64"

… or something along those lines should be in your pre-build step. For 32-bit (x86) it will have to be:

cl.exe /nologo /c /TC /Ob0 /Gz ntdll-stubs\ntdll-delayed-stubs.c "/Fo$(IntDir)\ntdll-delayed-stubs.obj"
lib.exe /nologo "/def:ntdll-stubs\ntdll-delayed.txt" "/out:$(IntDir)\ntdll-delayed.lib" /machine:x86 "$(IntDir)\ntdll-delayed-stubs.obj"

You can find the ntdll-delayed.txt and ntdll-delayed-stubs.c in the above linked project, along with these pre-build commands (inside premake4.lua).

The effect is that we will have delay-load entries for a DLL of the (invented) name ntdll-delayed.dll. Inside our delay loading code, we can then handle this special DLL name and supply the proper module handle for ntdll.dll. The symbol names will be the same as those found in ntdll.dll anyway.

Consult delayimp.cpp for the full details, but suffice it to say, we supply our own hook by assigning to PfnDliHook __pfnDliNotifyHook2. The code looks like this (easy to convert to plain C):

namespace
{
    LPCSTR lpszNtDllName = "ntdll.dll";
    LPCSTR lpszNtDelayedDllName = "ntdll-delayed.dll";
}

static FARPROC WINAPI NtdllDliHook(unsigned dliNotify, PDelayLoadInfo pdli)
{
    switch(dliNotify)
    {
    case dliNotePreLoadLibrary:
        if(0 == lstrcmpiA(pdli->szDll, lpszNtDelayedDllName))
        {
            if(HMODULE hNtDll = ::GetModuleHandleA(lpszNtDllName))
            {
                /*lint -save -e611 */
                return reinterpret_cast<FARPROC>(hNtDll);
                /*lint -restore */
            }
        }
        break; /* proceed with default processing  */
    default:
        break;
    }
    return NULL;
}

PfnDliHook __pfnDliNotifyHook2 = NtdllDliHook;

Because I like my programs to fail early (albeit wanting to be in control of error handling), I am using the delayimp.lib facilities to forcibly resolve all functions at startup. This then completes the circle and we’re able to delay-load symbols from ntdll.dll at will:

static LONG WINAPI DelayLoadFilter(PEXCEPTION_POINTERS pExcPointers)
{
    LONG lDisposition = EXCEPTION_EXECUTE_HANDLER;
    PDelayLoadInfo pdli = (PDelayLoadInfo)(pExcPointers->ExceptionRecord->ExceptionInformation[0]);

    switch(pExcPointers->ExceptionRecord->ExceptionCode)
    {
    case VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND):
        (void)DelayLoadError(_T("The DLL %hs could not be loaded."), pdli->szDll);
        break;
    case VcppException(ERROR_SEVERITY_ERROR, ERROR_PROC_NOT_FOUND):
        {
            LPCSTR lpszDllName = pdli->szDll;
            if(0 == lstrcmpiA(pdli->szDll, lpszNtDelayedDllName))
            {
                lpszDllName = lpszNtDllName;
            }
            if (pdli->dlp.fImportByName)
            {
                (void)DelayLoadError(_T("Function %hs::%hs not found."), lpszDllName, pdli->dlp.szProcName);
            }
            else
            {
                (void)DelayLoadError(_T("Function %hs::#%u not found."), lpszDllName, pdli->dlp.dwOrdinal);
            }
        }
        break;
    default:
        lDisposition = EXCEPTION_CONTINUE_SEARCH;
        break;
    }
    return lDisposition;
}

EXTERN_C void force_resolve_all(void)
{
    __try
    {
        /* Force all delay-loaded symbols to be resolved at once */
        (void)__HrLoadAllImportsForDll(lpszNtDelayedDllName);
    }
    __except(DelayLoadFilter(GetExceptionInformation()))
    {
        ExitProcess(1);
    }

}

Hope this enlightens someone,

// Oliver

PS: I realize that the title is a misnomer. We’re not delay-loading the DLL in question (ntdll.dll is among the first to load in any Windows user mode process), but we’re technically delay-binding to the functions from ntdll.dll to allow for more flexibility in error handling.

Posted in C/C++, EN, Programming | Tagged , | Leave a comment

Remove all those pesky (Metro) apps from Windows 10

If, like I, you are sure you won’t need those pesky apps, use the following PowerShell pipeline to get rid of the provisioned packages:

Get-AppxProvisionedPackage -Online|Out-GridView -PassThru|Remove-AppxProvisionedPackage -ErrorAction Continue -Online

… to also remove those apps that are marked removable, use the following:

Get-AppxPackage -Allusers|Where-Object {!$_.NonRemovable}|Out-GridView -PassThru|Remove-AppxPackage -ErrorAction SilentlyContinue -AllUsers

These two commands will present you with a grid view to select whatever packages you want removed. Start these inside a privileged PowerShell for full effect.

Note that on Windows 10 even simple apps like the calculator are Metro apps and therefore will be missing if you select them for removal. Not that you will necessarily miss such apps a lot, just saying …

// Oliver

Posted in Administration, EN | Leave a comment