bla

Du surfst ja immer noch mit dem Internet Explorer :(


Das ist nicht nur hochgradig gefährlich für deinen Computer, sondern macht mir auch das Leben extrem schwer.

Deshalb bekommst du hier leider gar nichts zu sehen.

Besorge dir bitte einen ordentlichen Browser wie Firefox, Brave, Opera, Chrome, Safari, Vivaldi oder von mir aus auch Edge.

Für den IE ist hier Ende Gelände.
Diese Website verwendet Cookies, um so geil zu sein wie sie ist.
Cool, her damit!
Oh Gott oh Gott! NEIN! Das will ich nicht!

‘Coding’
to daMax

Visual Studio: Compiler Error CS1679 : Invalid Extern Alias For '/Reference'

Februar 8th, 2022, 18:21

Leute, Leute... jetzt habe ich wieder ein graues Haar mehr :-x

Das Problem:
Ich bin gerade mal wieder in Visual Studio unterwegs, diesmal mit C#. Irgendwelche Webservices sollen aufgerufen, die Ergebnisse verwurschtelt und an andere Webservices weiter gereicht werden. So weit, so normal. Ebenfalls normal ist es, dass so mancher Webservice mit JSON antwortet. Leider spricht das hier installierte .NET 4.7.2 nicht von Haus aus JSON (vielleicht sollte ich mal auf ein neueres .NET setzen, solange das Projekt noch ganz am Anfang ist). Naja, ich habe also den NuGet-Package-Manager angeworfen und versucht, entweder System.Text.Json oder Newtonsoft.Json zu installieren. Das ging auch, aber anschließend baute die ganze Solution nicht mehr mit der Ansage:

Compiler Error CS1679 : Invalid Extern Alias For '/Reference'

soso, und dann?

 

Ach weißte, Chrome...

Januar 30th, 2022, 08:55

...was ist eigentlich dein Problem? Warum genau lieferst du mir für dieses Konstrukt

let darkPrefix = ("true" == window.getComputedStyle(document.body).getPropertyValue('--dark-mode-active').toLowerCase())?"dark-":"";

einen Leerstring in darkPrefix zurück, wohingegen Firefox ganz korrekt ein "dark-" da drin stehen hat, wenn mein Betriebssystem auf Dark Theme eingestellt ist? Das ist so doof. Denn in dir funktioniert der Menuknopf oben rechts aufm Handy nicht korrekt. Aber ich kapiere nicht so genau, was dein Problem ist. Ich habe dich halt auch nur auf meinem Bürolaptop installiert und kann dich privat gar nicht debuggen. Ich habe auch gar keinen Bock darauf, deinen Bugs hinterherzusteigen. Echt nicht.

Update: jetzt bin ich dir doch hinterher gestiegen und hasse dich noch mehr. Denn du gibst mir für window.getComputedStyle(document.body).getPropertyValue('--dark-mode-active').toLowerCase() nicht 'true' zurück sondern ' true'. Mit führendem Leerzeichen!! Du beschissenes Stück Software.

Der Beweis gescriptet:

 

Javascript: for (each|in|of)

Januar 28th, 2022, 13:47

Meiner unwesentlichen Meinung nach ist eine Programmiersprache nur so gut wie sie einerseits simpel, andererseits leicht zu lesen und dritterseits in sich schlüssig ist. So gesehen kann Javascript nicht wirklich gut sein, denn wozu braucht man bitte 4 verschiedene for-Schleifenkonstrukte, hä? Und ich muss jedes Mal wieder nachgucken, was wofür "gedacht" war. Hass. >:-(

https://thecodebarbarian.com/for-vs-for-each-vs-for-in-vs-for-of-in-javascript.html

Und spätestens, wenn solche verdrehten "Erklärungen" nötig werden, weiß ich, dass meine Meinung nicht ganz verkehrt sein kann:

lass hören...

 

todamax v2.139 (darklite edition)

Januar 25th, 2022, 07:53

Dreh' mal dein Telefon um 90°, dann siehst du diese Show in voller Pracht.

Es ist vollbracht! In mühsamer Kleinarbeit und unter Berücksichtigung (fast aller) eurer Wünsche ist nun endlich die vorläufig finale Version des Blogdesigns inklusive Dark Mode fertig geworden. Meine Fresse, das ist echt immer mehr Arbeit als man glaubt und ständig kommt man von Hölzchen auf Stöckchen. Hier noch 'ne Grafik anpassen, da noch 'nen Rand zeichnen und wo war doch gleich nochmal der Style für die Überschriften in der Sidebar fürs Handy?

Aber was lange währt wird endlich cool und wo ich schon mal am Fummeln war, kann Wurli jetzt auch nach rechts und links gucken :-D Und in der nächsten Iteration merkt er sich seine Länge, versprochen!

Und was genau hast du da so gefummelt?

 

18. Januar: Reader Appreciation Day 2022

Januar 18th, 2022, 22:27

Vor vielen Jahren wollten Floyd und ich in der Blogosphäre den 18. Januar als "Reader Appreciation Day" etablieren, also als den Tag, an dem wir Blogfuzzis und -tussen euch da draußen mal artig "Danke" sagen, denn ohne euch wäre so ein Blog ja eine reine Nabelschau. Ich habe das dann vier Jahre lang durchgezogen, das Datum aber irgendwann wieder aus den Augen verloren, was vielleicht auch ein bisschen daran lag, dass eigentlich niemand in Klein Bloggersdorf auf diesen Zug mit aufgesprungen ist.

Wie der Zufall so spielt, bin ich heute erst dazu gekommen, mir den Inhalt einer Lesermail näher anzusehen und jetzt habe ich einen hervorragenden Grund, mich bei einem Leser mal gesondert zu bedanken. Da kommt mir der Reader Appreciation Day gerade recht :) Natürlich freue ich mich über euch alle da draußen, die ihr hier mit mir im regen Austausch seid, aber was Eloi da gerade abgeliefert hat, verdient einfach eine besondere Würdigung.

Ihr habt ja vielleicht mitbekommen, dass ich hinter den Kulissen immer noch fleißig an dem Dark Mode fürs Blog herum frickele. Damit bin ich auch fast schon fertig, aber ein besonderer Dorn im Auge waren mir die Smileys, die auf dunklem Hintergrund eher schlimm aussahen, weil sie halt für einen weißen Hintergrund gemacht waren. Ich persönlich hätte da wahrscheinlich gar nichts tun können, weil ich mit GIMP zwar ein paar einfache Pixeleien zustande bekomme, vom Profidasein aber weit entfernt bin. Und dass man solche Frickeleien auch per Kommandozeile mit ImageMagick machen könnte, wäre mir sowieso nie in den Sinn gekommen.

Eloi hat sich dieser Aufgabe gewidmet und nicht nur alle 28 Smileys professionell aufgehübscht, sondern auch eine völlig geile, sich per Javascript selbst aufbauende Minipage geschrieben, die eindrücklich den Vorher-Nachher-Unterschied aufzeigt. Und dass er dazu mein geliebtes #E89900 als Hintergrundfarbe verwendet hat, schießt den Vogel ab :lol: Ich habe mir nur für das Blog herausgenommen, die 3 Zoomstufen auf nur eine zu reduzieren, weil das hier im Blog dann doch irgendwie zu viel war ;)

Vielen Dank für deine Mühe, lieber Eloi. Leser wie du machen das Bloggen bloggenswert.

Es folgt die große Vorher-Nachher-Show (GIF war vorher, PNG ist nachher):

zeig her!

 

todamax.net v2.137: Welcome to the dark side (update: hallo?)

Dezember 16th, 2021, 17:32

Gestern und heute habe ich mich (mal wieder) etwas intensiver mit CSS beschäftigt. Das so gewonnene Wissen kommt natürlich sofort dem Blog zugute und so gibt es todamax v2 in der einhundertsiebenunddreißigsten Iteration jetzt auch in dunkel.

Hell:

Dunkel:

Je nachdem, wie ihr euer Gerät eingestellt habt, wird das entsprechende Theme automatisch für euch eingestellt. Und wenn ich nächste Woche ein bisschen Zeit finde, baue ich vielleicht noch einen Schalter ein, mit dem man die Themes manuell wechseln kann.

Bekannte Probleme bisher:

  • Die Smilies/Emoticons sehen im dunklen Modus noch nicht so toll aus, weil sie eine weiße Kantenglättung beinhalten. Das zu fixen wird ein Äkt :(
  • Das Radio-Widget muss auch noch lernen, sich dunkel zu machen

Was meint ihr? Taugt das? Oder nicht? Habt ihr noch irgendwelche Bugs entdeckt?

Update (22.12.2021): Hm... irgendwie hatte ich mir ja ein bisschen mehr Feedback erhofft... Seid ihr noch da?

 

"Das stellt sicher, dass uns niemand mehr hacken kann, weil niemand den Code mehr versteht"

Dezember 15th, 2021, 08:29

Der eine oder die andere dürfte mitbekommen haben, dass in der Java-Welt (und damit wohl oder übel auch in deiner und meiner Welt) am Wochenende der Super-GAU eingetreten ist. Wer nicht weiß, was es mit diesem Log4j bzw. Log4Shell auf sich hat, wird mit diesem Kommentar von Kris Köhntopp vielleicht nicht unbedingt schlauer, aber wenigstens gut unterhalten. Ich kann mich gar nicht entscheiden, welches Zitat ich bringen soll, denn ein Highlight jagt das nächste:

Statt also die Anwendung und ihre Konfiguration zu paketieren und dann die Pakete in Produktion zu installieren, können wir nun mit JNDI die Konfiguration vom Netz lesen. Das heißt, die eigentlichen Konfigurationsdateien, die uns sagen, was die Anwendung tut, sind... nicht mehr da. Fortschritt!

oder auch:

Dank JDNI SPI können wir also Java Classfiles von einem LDAP-Server ausliefern lassen, die angeblich ein Printer-Object generieren, wenn wir nach einem Printer fragen – dann aber stattdessen Doom installieren. Oder einen Kryptominer oder Verschlüsselungstrojaner. So geht Enterprise Security.

Bwahahaha :lol: Ich persönlich halte diese ganze unfassbare Komplexität von Java-Apps ja schon länger für einen unwartbaren Scheiß und jedes Mal, wenn ich in so ein Projekt reinkomme, wo ein Moloch an Eclipse-Maven-Ant-Gradle-hassenichgesehn aufgetürmt wurde, bekomme ich nach wenigen Minuten Stresspickel. So langsam schließe ich mich Fefes Meinung von der "Java-Ranzkackgüllescheiße" an m(

Heise-Kommentar zu Log4j: Es funktioniert wie spezifiziert

 

daMaxVersuchtEs().then(daMaxGucktDoof).then(daMaxVerweifelt)

November 22nd, 2021, 11:10

So, jetzt bin ich inzwischen bei einem Schnellkurs in ECMAScript angekommen. Im Moment geht es um Promises und fetch() und spätestens hier verrenkt sich was in meinem Kopf:

Es tut mir leid, aber ich finde solchen Code nicht mehr "leicht zu lesen" und schon gar nicht verständlich :-(

 

Java is to JavaScript as _____.

November 22nd, 2021, 09:29


Immer noch dieser JavaScript-Kurs. Ich bin komplett durch damit und das hier ist die letzte Quizfrage. Ich kann mich wirklich nicht entscheiden und ich kenne die Geschichte von JavaScript und Java durchaus:

Brendan Eich has said that with Sun on board, they decided to surf the tidal wave of hype surrounding Java and position JavaScript as the companion language to Java, in the same way Visual Basic was to C++. So the name was a straightforward marketing ploy to gain acceptance.

Das eine hat mit dem anderen nicht viel zu tun, außer eine auf den ersten Blick ähnliche Syntax. Also lass uns das mal nach dem Ausschlussverfahren lösen:

  • Antwort 1: nein, Java ist nicht ein essentieller Bestandteil von JavaScript!
  • Antwort 2: Könnte die richtige sein: Beides hat nichts miteinander zu tun, klingt aber ähnlich.
  • Antwort 3: Könnte es leider genau so gut sein, aus demselben Grund
  • Antwort 4: Könnte es leider genau so gut sein, aus demselben Grund
  • Nachdem ich alle Möglichkeiten durchprobiert habe, weiß ich jetzt, dass Antwort 4 die "richtige" ist. Warum? Keine Ahnung, ey! ¯\_(ツ)_/¯

    Siehe auch: technically correct, but...

     

    Mal 'ne Frage

    November 19th, 2021, 08:48

    Ich hatte euch ja schon erzählt, dass ich gerade einen kleinen JavaScript-Kurs belege. Im Moment stelle ich mir die (ernst gemeinte) Frage, wo genau der Vorteil von function expressions und arrow functions gegenüber normalen function declarations liegt?

    //eine normale function declaration
    function funktion1() {
      window.alert("Hallo Funktion!");
    }
    
    //eine function expression
    const funktion2 = function() {
      window.alert("Hallo Funktion2!");
    }
    
    //eine arrow function
    const funktion3 = (param) => {
      window.alert("Hallo Funktion3: " + param);
    }
    

    Mal im Ernst: was ist an funktion1 so schlimm/falsch/unbrauchbar, dass funktion2 besser sein soll? Und wer hier ist der Meinung, dass der Code von funktion3 besser lesbar ist?
    Geht es dabei nur um den Scope? Weil ich mit funktion2 und funktion3 jetzt Konstanten habe und angemeckert werden würde, wenn ich versuchte, sie ein zweites Mal zu deklarieren? Oder was ist so geil daran?

    Vor allem, wenn ich funktion3 verkürze zu:

    const a = (a) => window.alert("Hallo a: " + a);

    Das ist doch Bullshit. So richtig schlimm wird es dann ja, wenn Funktionen als Objekte missbraucht werden, die dann auch noch innere Funktionen (also function in function) haben. Ich finde, spätestens da wird der Code ganz schnell komplett unleserlich. Und von Callbacks und der grausamen JSON-Notation fange ich gar nicht an, da kriege ich nur Kopfschmerzen von.

     

    Technically correct, but...

    November 17th, 2021, 13:21

    Immer noch dieser JS-Kurs:

    :lol:

    Siehe auch: Java is to JavaScript as _____.

     

    Fragen über Fragen zu JavaScript

    November 16th, 2021, 11:37

    Im Moment beschäftige ich mich (mal wieder) mit JavaScript bzw. versuche ich meine Kenntnisse mal auf den aktuellen Stand zu heben. Als Konzernangestellter bin ich in der privilegierten Lage, mir diverse Kurse auf LinkedIn-Learning reinziehen zu dürfen. Dieser Kurs hier hat am Ende mancher Kapitel ein kleines Verständnisquiz. Die meisten Fragen kann ich dank meiner immensen Erfahrung (höhö) aus dem Stand beantworten, aber bei folgender Frage kann ich mich echt nicht entscheiden:

    Persönlich tendiere ich ja zur letzten Antwort, ich sach nur random cyberspace options :lol:

    Siehe auch: technically correct, but... und Java is to JavaScript as _____.

     

    Mit Visual Studio Code programmieren

    November 14th, 2021, 10:48

    Genau so fühlt sich das inzwischen an:

    Ein Comic von CommitStrip, die ich hiermit nochmal allen IT-Geeks wärmstens ans Herz legen möchte.

    Licence
    You can use our strips for any non-commercial purpose. You can use them to illustrate an article or a blog post, as long as you aren’t just duplicating our content for the sake of it. In all cases, a link to the strip and attribution to us is required.

     

    OOPS!

    Es sieht so aus, als hättest du keinen Werbeblocker installiert. Das ist schlecht für dein Gehirn und manchmal auch für deinen Computer.

    Bitte besuche eine der folgenden Seiten und installiere dir einen AdBlocker deiner Wahl, danach kannst du todamax wieder ohne Einschränkungen genießen.


    uBlock Origin: für Chrome | Firefox | Safari

    AdGuard: für Chrome | Firefox | Safari | Opera | Yandex

    AdBlock Plus: für Chrome | Firefox | Safari | Opera | Internet Explorer

    uMatrix: für Firefox | Chrome | Opera

    Ey, lass mich einfach rein, okay?
    (Setzt per Javascript einen Cookie. Wenn Du das alles deaktiviert hast, weiß ich auch nicht, wie ich dir helfen soll)

    Ich will das hier nie wieder sehen.
    (Setzt per Javascript einen sehr langlebigen Cookie. Wenn Du das alles deaktiviert hast oder Cookies automatisch oder auch von Hand löschst, weiß ich auch nicht, wie ich dir helfen soll)

    Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

    Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.

    Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

    Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

    Mehr Informationen unter www.politiker-stopp.de.