Für welchen Wetterdienst?

API-Keys sind lediglich dein Zugang für einen bezahlten Service und bezeichnet keinen Ort!

Es geht auch ohne API-Keys, wenn man Dienste in Anspruch nimmt , welche keinen benötigen.

Ich verwende gern https://open-meteo.com/

Allerdings benötigt dies statt Adressdaten eien Geolocation (Länge/Breite)

Diese kann man jedoch für so ziemlich jede Adresse ohne großen aufwand über das Debubgnterface von Openstreetmap abrufen. https://nominatim.openstreetmap.org/ui/about.html

hier ein kleines Powershellscript, welches das aktuelle Wetter für meine Stadt abruft.

#Geokoordinaten für  einen  Ort ermitteln
#Was  immer  an Adressdaten verfügbar  ist
$SearchStrings = @(
    'Leipzig'
    'Grünau'
    'Mitte'
)


$queryStrings = $SearchStrings|%{[uri]::EscapeDataString($_)}
$Query = $queryStrings -join '+'
Write-Host "QueryString: $Query" -fo  green
$ProgressPreference = 'SilentlyContinue'    # Consolefortschrittsbalken   aus
#geodaten  für "Adresse"  abfragen
$GeoCoords=(Invoke-WebRequest "https://nominatim.openstreetmap.org/search?q=$Query&format=json&addressdetails=0").content | ConvertFrom-Json
$GeoCoords #mal anshauen


#https://open-meteo.com/
#querystring  für Wetterapi basteln
$WeatherQuery=@(
    'latitude={0}'-f $GeoCoords.lat
    'longitude={0}'-f $GeoCoords.lon
    'current=temperature_2m,relative_humidity_2m,precipitation,rain,showers,snowfall,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m'
)-join '&'
$WeatherQuery
#Wetterdaten  für  ermittelten Geo-Tag abrufen
$html = Invoke-WebRequest "https://api.open-meteo.com/v1/forecast?$WeatherQuery"
$Weatherobject = $html.Content|ConvertFrom-Json
$Weatherobject  #mal  angucken
$Weatherobject.Current
pause

Achtung:

nominatim.openstreetmap.org/search kann auch mehrere Treffer liefern. Dann meutert natürlich die Bastelei der Abfrage für den Wetterdienst.

Ich habe eine Selektion weggelassen um die Demo nicht unnötig kompliziert zu machen.

(ergo vorher sicherstellen das die Query nur eine Geocoordinate liefert oder eine aktive Auswahl statfinden kann)

...zur Antwort

"KI übernimmt die Herrschaft über den Menschen", "KI macht den Menschen überflüssig"

... so die Dystrophien rund um Künstliche Intelligenz. Warum dann noch lernen, wenn KI irgendwann alles besser kann und irgendwann ohnehin übernimmt?

Genau der Gegenstand Deiner Frage.

Warum noch selber lernen/studieren...?

...Genau, damit KI eben nicht zur Büchse der Pandora wird, deren Inhalt man nicht (mehr) versteht.

In Zukunft wird es sogar mehr Informatiker brauchen um KI zu kontrollieren/warten.
...zur Antwort
KI ist ein Werkzeug!

...mehr nicht...

Wie bei allem was derzeit um KI gehypt wird sollte man nicht vergessen, das KI lediglich ein Werkzeug ist, welches (mehr oder weniger) selbstständig Anweisungen folgt und von "Außen" gesteuert wird.

Insofern sehe ich KI lediglich als Erweiterung der Ausdrucksmöglichkeiten eines Künstlers.

Früher als all meine Muskeln noch völlig normal funktionierten, hätte ich Kunst als etwas "Handgemachtes" definiert. Mit fortschreitendem (krankheitsbedingtem) Verlust der motorischen Präzision meiner Muskeln, greife ich in zunehmendem Maße auf technische Mittel zu um fehlende Funktionen zu kompensieren.

Unter dieser Prämisse sehe ich auch KI (als Werkzeug) in einem anderen Licht. Reichen meine motorischen Fähigkeiten nicht aus, um das angestrebte Ergebnis zu erreichen, ändert dies ja nichts an den Dingen, welche ich als künstlerisch umsetzen möchte. Kunst entsteht im Kopf des Künstlers. Ob dieser nun mit seinen Fingern einen Pinsel schwingt, Keramik formt oder ein Gedicht zu Papier bringt oder ein Musikinstrument spielt um seien Gedanken/Emotionen eine Audio/Visuelle Form zu verleihen oder mit Photoshop Fotos rekombiniert oder auf einem Synthesizer neue Klangwelten schafft..., es ist unbestreitbar Kunst.

Ich würde Jean-Michel Jarre oder Isao Tomita ohne zögern in eine Ahnenreihe mit Mozart oder Bach stellen. Der Umstand das Jarre oder Tomita Computer zur Erzeugung ihrer Klangwelten nutzten tut ihrer künstlerischen Größe keinen Abbruch. Sie arbeiten lediglich die besten verfügbaren Werkzeuge ihrer Zeit. (ein junger Mozart würde heute ohne Zweifel auch KI nutzen)

https://youtu.be/SaLHTsAH9Dc?si=i76MCjv9lygqTo6C

https://youtu.be/bxGv5XyNDus?si=5bCgIGQ4dPRWvJ0k

(Meine Oma hätte mit schautern behauptet das sei keine Kunst/Musik!)

ebenso in Sachen Visueller Kunst. Rachel Walpole , Loish oder Jeszika Le Vye sind namhafte Digital Artists.

KI ist lediglich ein weiteres Werkzeug, welches einer neuen Generation von Künstlern neue Ausdrucksformen eröffnet.

KI ist nicht kreativ und generiert nicht aus eigenem Antrieb heraus Kunst, sondern generiert, das, was ein "Künstler" ihr beschreibt und vorgibt.

Wir stehen ja aktuell erst am Beginn einer neuen Ära. Aktuelle "KI-Werke" sind lediglich die ersten "Gehversuche" bei der Nutzung des neuen Werkzeugs. Vieles baut noch auf den von den KIs erlernten Vorlagen auf und wirkt oft "billig" . das wird sich in den nächsten Jahren ändern. Es wird neue atemberaubende KI-gestützte Kunst geben und jede Menge Kitsch.

Was ist überhaupt Kunst?

...und wie zu allen Zeiten werden sich Menschen fragen:

Ist das Kunst oder kann das weg?

...zur Antwort

Als alter "Programmierhase" kann ich Dir nur wärmstens anschließen Herz legen fürs erste auf "Gameentwicklung" zu verzichten und dich den Grundlagen zu widmen.

  • https://www.w3schools.com/cs/index.php

Sich gleich auf komplexe Sachen (wie Spiele) zu stürzen, birgt die Gefahr, das es bei Problemen mit fehlenden Grundlagen, recht schnell frustierend werden kann.

Versuche dich erstmal an kleinen Erfolgen zu erfreuen und dich dabei in die Grundlagen einzuarbeiten.

Verzichte auch auf YouTube. Wenn Du ein geschriebenes Tutorial abarbeitest legst Du das Tempo fest, in dem Du arbeitest, wärend Videos das Erklärtempo festlegen. Zudem sind Videotutorials oft von schlechter Qualität, hinsichtlich der Erläuterungen.

Erfreue Dich erstmal der vielen eher unscheinbaren Dinge. Schleifen, Vergleiche, VariablenTypen, usw. Erscheinen zwar jemandem, der die Richtung Spieleentwickler anpeilen als banalen Kleinkram, aber sind essenziell und können im Nachhinein nur mit einem "Finger im Hals"🤮 nachgeholt werden. (Ich habe hier als Helfer schon sehr viele Anfänger scheitern gesehen, welche mit großen Sachen begonnen haben)

...zur Antwort
Welche Art von Programmen/Libraries können da die meisten Spenden einfahren?

"einfahren" klingt schon gierig im Bezug auf Spenden...🤑🤑🤑🤑🤑

Verstehe ich Deine Aussage richtig?...

....Du möchtest das was Du programmierst/publizierst daran festmachen, was (hinsichtlich möglicher Spenden) am "profitabelsten" sein könnte?

Normalerweise programmiert/veröffentlicht man (für "lau") auf GitHub, was nützlich ist/sein könnte und was einem selbst interessant erscheint . Eventuelle Spenden sind ein freiwilliger Obulus an den Entwickler um ihm die Gelegenheit zu geben sich mehr Freiräume für die Weiterführung/Intensivierung des Projektes zu schaffen/fördern.

Soweit die Theorie...

In der Praxis muss man schon sehr innovativ sein, damit die Sache (nennenswerte) Spenden akquiriert.

Irgendwie hast Du das Prinzip nicht verstanden...

Eventuelle Spenden, sollen nicht Dein Taschengeld aufbessern. ...sonder das fortschreiten eines Projektes fördern.

Es genügt nicht, einmalig irgendwelchen Code zu veröffentlichen, es muss auch eine häufige/regelmäßige sichtbare Pflege und Optimierung stattfinden.

Kannst Du Dergleichen erbringen?

...zur Antwort
Ich will das Spiel am 25 November veröffentlichen

Welchen Jahres ?😅

Wenn Du nicht mal Instantgeneratoren wie gamemaker kapierst, hast Du ein Problem.

Wie auch immer einfach zusammklicken ohne Code kann bestenfalls unbewegliche Bilder erzeugen. Irgendwie muss man den Objekten ja erklären was sie sie tun sollen, und das geht nur mit Code.

  • https://gamemaker.io/de/tutorials/collision-functions

Es ist wie im echten Leben. Wenn du über keine verständliche Sprache verfügst, kannst Du beim Bäcker vorm Tresen stehen und bleibst hungrig, weil Du der Verkäuferin nicht mitteilen kannst, was sie tun soll.

Deine Sprache ist der Code mit welchem Du mit anderen Protagonisten kommunizierst.

Ich kenne die Situation nur zu gut. Versuche mal in Sao Paulo eine Pizza zu bestellen, wenn Du kein Portugiesisch sprichst. Also musst Du selbst hingehen und mit Händen und Füßen reden.

"Scatch" kommt weitgehend ohne das Tippen von Code aus. Aber für komplexe Operationen wird die Sache sehr schnell ungemütlich

... Das ist wie mit Händen & Füßen reden.

Auf Dein Spiel/Programm bezogen heist das, solange Du nicht über die geeigneten sprachlichen Fähigkeiten verfügst um den Objekten zu sagen , welche Werte wie geändert werden müssen, wenn andere Werte einen bestimmten Zustand annehmen, passiert nichts.

Aber wie soll das geschehen, wenn nicht per Sprache/Code?

Um das Lernen einer geeigneten Programmierersprache wirst Du wohl nicht herum kommen.

Gebratene Hühner fallen nunmal nicht vom Himmel

...außer bei Chicken Invaters😉

...zur Antwort
Ja, es ist immer so...

Wir wissen nur sehr selten die Lösung. Unser Job besteht darin Lösungen zu entwickeln/schaffen! Das macht unseren Job aus.

Bereits vorhande Lösungen kann jeder "Depp" zusammenkopieren. Das macht den Unterschied zum "Profi". (Wobei die Bezeichnung Profie ein sehr relativer/denbarer Begriff ist)

Ich bin seit nunmehr 40 Jahren im "Geschäft". Fehler und "Probleme" sind das Salz in der Suppe. Ohne Diese entwickelt man sich nicht.

Wenn ich die Stunden zusammenzählen würde, welche ich ich für die Fehlersuche und das Austüffteln von möglichs eleganten/effizienten Lösungen aufgewandt habe, kommen Jahrzehnte zusammen. (Das tippen von Codezeilen ist lediglich eine lästige Beschäftigung)

Fehler machen klug! Fehler machen Erfinderisch .

Man muss sich nur mal was vor Augen halten:

Es ist nchit witihcg, in wlecehr Rneflogheie die Bstachuebn in eneim Wort snid

Manchmal hilft schon die Änderung des Blickwinkels. ... Von Hinten gelesen sieht man die Fehler.

Auch bei logischen Problemen spielt uns die "Erwartung" und Gewohnheit einen Streich, da hilft es auch nicht den Monitor umzudrehen.

Ein Patentrezept gegen Denk-/Logikfehler gibt es nicht.

Ich versuche die Stelle, ab welcher der Debugger falsche Ergebnisse liefert neu zu denken, indem ich sie in einer anderen Sprache umsetze.

Alles was man in C# ( oder anderen Sprachen) programmieren kann, geht auch in Powershell. (Nur anders)

Ich hatte irgendwann mal ein Problem mit RegEx.Match/-replace in C# . (Ich bekam einfach nicht das erwartete Ergebnis) Zu verführerisch sind die Namen der Optionen Singleline/Multiline, wenn man einen Text mit Zeilenumbrüchen nach mehrzeiligen Ausdrücken durchsucht. Böse Falle: Die Optionen beschreiben nicht was man sucht oder welcher Art der Text ist , sondern wie der Parser diesen betrachten soll! ("Singleline" soll mehrzeiligen Text als eine Zeile ansehen! ). ...Nur der Kopf klammert sich an Mehrzeilig ...

Anderer Blickwinkel auf die gleiche Sache:

In Powershells Standartoperatoren -match/ -replace wird grundsätzlich ein Textstring an Zeilenumbrüchen zelegt und dann Zeile für Zeile abgearbeitet.

Das Standardvorgehen ist es in dem Fall, Zeilenvorschübe durch einen "stumme" Platzhalter zu ersetzen , danach ist der ganze Text eine einzige Zeile.....

...Klick.... Heureka....

Das nenne ich lernen auf die harte Tour. Dieser Denkfehler passierte mir nie wieder.

Viele Anfänger machen den Fehler sich irgendwas "anzulesen" oder gar in einem Video anzuschauen, ohne die Sache selbst zu durchdenken. Es bildet sich ein "Dogma" (das ist eben unumstößlich so und geht nicht anders)...

...und wenn es nicht klappt, hilft Google oder "KI". (...tut es eben nicht !, denn die Mehrheit reitet eben immer wieder die gleichen Gäule und die Algorithmen bevorzugen "Mehrheiten")

Ich habe mir bei Problemen angewöhnt Probleme zu zerlegen, indem ich sie in einer möglichst primitiven Art betrachtet. Im Zweifel nehme ich einen Zettel und male die Schritte auf. ...und wenn in dem "Bild" die meist Pfeile durchgestrichen sind bleibt nur noch die Lösung.

Wenn du das Unmögliche ausgeschlossen hast, muss das, was übrig bleibt, die Wahrheit sein - wie unwahrscheinlich es auch ist (A.C. Doyle)
...zur Antwort

Niemand wir Dir ohne Zugriff auf Dein System sagen können was da startet.

Dem Problem begegne ich regelmäßig im PC-Reperaturbetrieb...

Eigentlich ist es relativ einfach Progammstart/-ende zu loggen. Jedoch nicht beim Booten/Login. Dafür muss man den "Beobachter" unter den betreffenden Vorgang schieben noch bevor dieser startet.

Im Falle des User-Logins und dessen Autostartroutinen ist es relativ einfach.

Man leitet einfach den Start des Desktops auf ein anderes Programm/Script um, indem unter dem Registryschlüssel "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" im Wert "Shell" eine eigene Startroutine definiert wird. (existiert der Wert Shell nicht wird der Explorer gestartet)

Hier ein kleines Powershell-Batch-Hybrid, welches diese Umleitung auf sich selbst einrichtet und beim nächsten Login alle Progammstarts/-beendigungen anzeigt und speichert.

Die Batch logt den Nutzer nach der Änderung des Shell-Eintrags automatisch aus. Beim erneuten Login wird die Batch/Powershellscript noch vor dem Start der Explorers ausgeführt und die Shellumleitung automatisch entfernt. damit ist alles wieder wie es sein soll. Im Fenster des Powershellscripts wird angezeigt was passiert.

Bild zum Beitrag

ProcWatcher.ps1.cmd

<# : Begin of batch section and Powershell comment
@echo off
pushd "%~dp0"
set "thisPath=%~f0" 

rem wenn eine alternative Shell-definition  vorhanden  ist...:
for /f "tokens=*" %%a in ('reg query "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" 2^>nul ^|find "Shell"') do (
    reg delete "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /f  >nul 2>&1        &rem lösche die Shellumleitung
    start "ProcessWatcher" powershell  "&([Scriptblock]::Create((gc '%thisPath%' -enc UTF8 -raw )))"        &rem führe diese  Datei in Powershell aus
    exit /b
)

rem  wenn nicht...
:init
 reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /d "cmd /c \"%thisPath%\" &timeout 2& start explorer.exe" /f >nul 2>&1  &rem Shellumleitung  in  Registry eintragen.
shutdown /l /f   &rem Logoff
exit /b
: End of batch section and Powershell comment#>

$queryProcessStart = "SELECT * FROM __InstanceCreationEvent WITHIN 0.1 WHERE TargetInstance ISA 'Win32_Process'"
$queryProcessClose = "SELECT * FROM __InstanceDeletionEvent WITHIN 0.1 WHERE TargetInstance ISA 'Win32_Process'"

$Start_Action = {
    $ProcName = $event.SourceEventArgs.NewEvent.TargetInstance.Name
    $ProcCreated = $event.SourceEventArgs.NewEvent.TargetInstance.CreationDate
    $ProcCmdLine = $event.SourceEventArgs.NewEvent.TargetInstance.CommandLine
    $LogString ='Start Process: "{1}" starttime: @{0:dd.MM.yyyy HH:mm:ss,ffffff}  commandline: {2}' -f $ProcCreated,$ProcName,$ProcCmdLine
    write-host $LogString -fo green
    $LogString | Out-File procStart.txt -Append
}

$Close_Action = {
    $ProcName = $event.SourceEventArgs.NewEvent.TargetInstance.Caption
    $ProcCreated = $event.SourceEventArgs.NewEvent.TargetInstance.CreationDate
    $EventTime=[DateTime]::FromFileTime($event.SourceEventArgs.NewEvent.TIME_CREATED)
    $LogString ='Close Process: "{1}" starttime: @{0:dd.MM.yyyy HH:mm:ss,ffffff} approx.closetime: @{2:dd.MM.yyyy HH:mm:ss,ff}' -f $ProcCreated,$ProcName,$EventTime
    write-host $LogString -fo yel
    $LogString | Out-File procClose.txt -Append
}

$null = Register-CimIndicationEvent -Query $queryProcessStart -Action $Start_Action
$null = Register-CimIndicationEvent -Query $queryProcessClose -Action $Close_Action
Write-Host 'waiting for process-events ...'
while ($True) {Wait-Event}

für Prozesse, wehe mit System/Admin-Privilegien gestartet werden, wird der Komandozeilenstring nicht ausgegeben!

Warum Batch /Powershell?

Diese Ressource ist auf jedem nativen Windowsrechner vorhanden und es ist nicht nötig irgendwelchen Kram zu installieren. Andere "Fachleute" können begutachten, das nichts schädliches passiert.

Selbst wenn (warum auch immer?) etwas schief gehen sollte, kannst Du via "Ctrl.+Alt+Del" nachwievor den Taskmanager nanuell ausführen und über das Datei->NeueTask... den Explorer/Desktop von Hand starten.

mit dem Kommando:

reg delete "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell" /f

...lässt sich Notfalls die Shellumleitung manuell löschen.

...zur Antwort

Du darfst Befehle und Transistoren nicht in einen Topf werfen.

Viele der CPU-Einzelbefehle sind zeitlich auf mehrere Prozessortakte verteilt , sonst bräuchte man wesentlich mehr Transistoren/Logikgatter.

macht nichts anderes als Daten entgegennehmen.

...und allein um den Buchstaben "A" in einem Byte-Register bereitzustellen braucht es mindestens 8 Transistoren,netto. ( eigentlich nochviel mehr, denn zuvor muss der Speicher addressirt werde und in das Register kopiert werden...)

Ich lasse mal die Parallelisierung außen vor und beziehe mich nur auf die für eine Operation nötigen Transistoren bzw Logikgatter

Selbst für die Atomar-Operationen wie and/or benötigt man pro Bit mindestens 2 Transistoren:

  • https://de.wikipedia.org/wiki/Oder-Gatter
  • https://de.wikipedia.org/wiki/Und-Gatter

Addierer:

Mindestens 5 Transistoren pro Bit

  • https://de.wikipedia.org/wiki/Volladdierer

Das waren Primitivschaltungen. Aber schon wenn mehr als ein Bit ins Spiel kommt steigt der Aufwand für überläufe und Bitverschiebung enorm.

Für für uns Kopfrechnen nahezu unbegreiflich steigt die Komplexität einer digitalen Multiplikation im Quadrat der verwendeten Bitbreite.

Multiplizierer

  • https://de.wikipedia.org/wiki/Multiplizierer_(Digitaltechnik)

(Für eine 64-Bit Integer Parallelmultiplizirer-Schaltung schätze ich mal grob: mindestens 50000 Transistoren)

Das alles bezieht sich auf die nackten Logikschaltungen.

Hinzu kommen auf jede Schaltung noch mehrere Addresseinheiten, Register, Caches , usw. Alles wird durch "Transistoren" dargestellt.

Die Mehrzahl der Transistoren einer modernen CPU wird für die L-Caches verwendet. Allein für jedes Speicherbit des L1-Cache in einer CPU sind mindestens 3 Transistoren im Spiel. Für einen Ryzen 9 mit 64kByte L1 wären wir dann schon bei rund 1,5Mio Transistoren/Core (ohne Adresslogik)

Die Verschaltung der Transistoren für komplexe Operationen entzieht sich sogar meiner Vorstellung...

In jedem Fall braucht es nicht besonders viel Fantasie sich vorzustellen dass man mit Addresslogiken , zig Registern , Verteilerschaltungen, Interupt/Exeption Verarbeitung usw. Ganz schnell die Milliardengrenze bei den Transistoren knackt.

Wie auch immer für moderne MehrkernProzessoren vervielfacht sich die Anzahl nochmal.

Nicht zu vergessen, bei modernen CPU sind viele Strukturen redundant. Im Herstellungsprozess kommt am Ende nicht jede Prozesseinheit völlig perfekt aus der Fertigung. Daher werden einige Einheiten mehrfach ausgeführt und defekte Einheiten im Nachhinein deaktiviert.

(Natürlich schreiben die Hersteller dann lieber die Brutto-Anzahl an Transistoren in die Specs. Wenn interessiert schon wenn ein Fünftel davon eigentlich Schrott ist, Hauptsache der Prozessor tut was er soll)

...zur Antwort

Ich war nie weg...

Allerdings war ich wegen der in letzter Zeit häufig auftretenden "seltsamen" Fragestellungen nicht sonderlich interessiert.

Bild zum Beitrag

LG Erzesel

...zur Antwort

Du benutzt einen Pfad innerhalb einer RegularExprssion, ohne Sonderzeichen zu maskieren .

  • https://www.threesl.com/blog/special-characters-regular-expressions-escape/
  • https://www.regular-expressions.info/characters.html

Dein Pfad enthält "unescapte" Steuerzeichen: \[].-

Wenn Du nicht Vorhersagen kannst, welche Steuerzeichen in einem automatisch erzeugten Suchpattern enthalten sind kannst Du diese mit einer kleinen Funktion automatisch escapen/maskieren:

function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions

...oder...

Ich vermute mal Du wolltest es ganz elegant machen und hast einfach zu "hoch" gegriffen:

Pfad1.match(Pfad2);
Pfad1.test(Pfad2);

...dergleichen ist schlicht übertrieben. (Auch String-Methoden verwenden implizit RegEx-Pattern)

...aber weshalb verwendest Du überhaupt match um einen Pfad abzugleichen?

Gewöhnlich sollte ein Vergleich mit if (string1==string2) einfacher zu handhaben sein.

Sollte ein RegEx unerlässlich sein, sollte das Pattern manuell so einfach wie möglich definiert werden . Automatisch generierte Pattern sollte man nur verwenden, wenn deren Inhalt vorherseh-/kontrollierbar ist!

...zur Antwort

Keine Ahnung was Du da treibst.

Du hast nicht beschrieben auf welche Art Du den Inhalt der Zielwebseite (Radiosender) aquirierst? Innerhalb einer eigenen Webseite käme ohne spezielle Frameworks nur ein XMLHttpRequest in Frage. Allerdings "wehren" sich die meisten Webseiten gegen derartige "Übergriffe".

Webscraping erledigt man nicht per JavaScript innerhalb eines Browsers, sondern im Backend in PHP oder anderen Geeigneten Sprachen.

  • https://brightdata.de/blog/wie/web-scraping-php-2
  • https://www.zenrows.com/blog/powershell-scraping
  • https://gaurishnaik.hashnode.dev/building-a-web-scraper-in-next-js
  • usw...

einen universellen Scraper gibt es nicht!

WebScraper sind auf die jeweilige Zielseite individuell zugeschnitten. Also "bei allen Radiosendern' geht schon mal garnicht.

Javascriptbasierte , dynamische Webseiten zu scrapen ist eine besondere Herausforderung da einfache Webrequests lediglich den Code der Seite abrufen und diesen nicht ausführen.

die Prozentzeichen nicht weg weil Safari ist automatisch so formatiert

das ist ja totaler Schwachsinn... Ich weiß nicht wo und wie Du das JavaScript-Snippet aufgefischt hast. Aber es ist warum auch immer URL-encoded und so garantiert nicht ausführbar.

Decodieren ist ganz einfach🥱: ich habe den Abschnitt mal durch meine "Allzweckwaffe" (Powershell) gejagt.

$UrlEncoded=@'
(function()%7Bvar%20song=document.querySelector('p%5Bdata-currently-playing-channelkey=%22live%22%5D%20strong').innerText+%22%20%22+document.querySelector('p%5Bdata-currently-playing-channelkey=%22live%22%5D%20span%5Bdata-artist%5D').innerText;alert(song);%7D)();%0A
'@
[System.Net.WebUtility]::UrlDecode($UrlEncoded)

Ergebnis:

function(){var song=document.querySelector('p[data-currently-playing-channelkey="live"] strong').innerText " " document.querySelector('p[data-currently-playing-channelkey="live"] span[data-artist]').innerText;alert(song);})();

..was Du mit einem solchen Snippet anfangen willst erschließt sich mir nicht...

...zur Antwort
Wenn einem die Lösung fehlt, könnte ChatGPT zufälligerweise die Lösung sagen...

Du sagst es "zufälligerweise" ...

...und wie stellst Du fest, dass die gelieferte Lösung "zufälligerweise" die Optimalste ist? Glaubst Du es oder woher weist Du es?

...besseres Gehirn?

Bisher steht für mich der Beweis noch aus, das ChatGPT oder andre sogenannte künstliche Intelligenzen nur annähernd besser wären als mein gutes altes organisches Gehirn. Ich bin auch nicht Allwissend und muss gelegentlich Recherchieren, wenn ich etwas nicht weis . Um so wichtiger ist es, dass ich möglichst auf den ersten Blick die Zuverlässigkeit einer Quelle beurteilen kann. (Bei mehreren zur Verfügung gestellten Antworten gebe ich natürlich akademisch verifizierten Quellen den Vorzug.) Und ich beobachte auch einen enormen Zuwachs an Bullshit und " seltsamen" Meinungen, gegenüber fundiertem Wissen

ChatGPT & Co liefern nach wie vor keine Quellennachweise oder Angaben zur Herleitung der gelieferten Schlussfolgerungen. Somit bleibt es eine Glaubensfrage inwieweit man auf die Gültigkeit der Angaben vertrauen kann. Man sollte in jedem Fall den Wahrheitsgehalt einer von einer solchen KI gelieferten Antwort verifizieren. (und da liegt der Knackpunkt bei quellenlosen Angaben. Ohne verifizierbare Quellen ist der Rechercheaufwand wesentlich höher als bei einer gewöhnlichen Suchmaschinenantwort)

Für mich sind KI keine Alternative.

Ich hatte erst Gesten eine heiße Diskussion zum Thema wachsender Bullshit im Netz , wie man solchen erkennt und sich dessen erwehrt. Dabei ging es auch um Brandolinis Gesetz:

“The amount of energy needed to refute bullshit is an order of magnitude bigger than to produce it.”

Übersetzt: „Das Widerlegen von Schwachsinn erfordert eine Größenordnung (10x) mehr Energie als dessen Produktion.“

Warum sollte ich also ChatGPT befragen, wenn ich anschließend in klassischer Manier dessen Antwort verifizieren muss? Glaube ich die Antwort unbesehen, besteht die Gefahr auch völligen Quatsch weiterzugeben.

Ist Bullshit erstmal in der Welt, bekommt man ihn nur sehr schwer aus den Köpfen .

„Eine neue wissenschaftliche Wahrheit pflegt sich nicht in der Weise durchzusetzen, daß ihre Gegner überzeugt werden und sich als belehrt erklären, sondern vielmehr dadurch, daß ihre Gegner allmählich aussterben und daß die heranwachsende Generation von vornherein mit der Wahrheit vertraut gemacht ist.“ Max Plank

...das Problem beim Netz : Es vergisst nichts. Was KI angeht, besteht die Gefahr, das zukünftige Trainingsdaten mit ihrem eigenem (von Nutzern potenziertem) Bullshit aktueller Daten kontaminiert sind.

Das unterscheidet mich von einer KI , Ich gebe bei komplexen Themen auch an, wo ein Leser mit der Verifikation meiner Angaben beginnen kann. (natürlich würde es keinen Sinn machen an dieser Stelle auf "payed Content" als Quellen zu verweisen ) desshalb altenativ:

  • https://the-decoder.de/chatgpt-halluziniert-nicht-es-verbreitet-weichen-bullshit/
  • https://brutkasten.com/artikel/ki-modelle-koennen-sich-selbst-zerstoeren
  • https://katzlberger.ai/2024/09/16/modellkollaps-wenn-ki-mit-ki-generierten-daten-trainiert-wird/
  • https://www.nature.com/articles/s41586-024-07566-y
Oder ihr wisst nicht in welche Richtung es geht in euer Leben und ihr fragt einfach ChatGPT...
  • ...früher fagte man einfach "Mutti" oder "Oma" (die kennen ihre Pappenheimer).
  • etwas gewagter... en Hofastrologen die Wahrsagerin oder den Pastor... (die können Ihren Gegenüber psychologisch "lesen")

Ich würde auf keinen Fall einen (auf einem Sprachmodell basierenden) Chatbot über meinen Lebensweg entscheiden lassen!

Ich gehe Nicht davon aus, dass Du meine Gedankengänge nachvollziehen kannst. Du Du bevorzugst einfache "fertige" Antworten, welche wissennschaftlich denkende Menschen nicht liefern können! (sorry falls ich falsch liege)

„Ein Narr allein kann zehnmal so viele Fragen stellen, wie zehn weise Männer zusammen beantworten können.“
...zur Antwort

Bild zum Beitrag

Außer dem Panzer einer freundlichen Schildie gibt es Nichts was ich im Bezug auf Panzer mit dem Sufix "Lieblings-" versehen könnte.

Du hast ja Keine Ahnung...

Du hast sicher noch nie (im Ensatz) in einem Kampfpanzer gesessen oder gar einen Solchen bedient hast. Ich garantiere Dir du wirst hernach jegliches beschönigende Attribut vermeiden.

Ich war während eines Teils meiner Millitärzeit Richtschütze. Panzer sind nur toll und martialisch, wenn man ein "Werbevideo" anschaut.

Als junges Kerlchen, war ich hellauf begeistert.

Sitzt man drin , ist die Sache alles andere als lustig. (Klaustrophobie ist garnichts dagegen) Du siehst nicht was um Dich herum passiert, wenn etwas gegen die "Hülle" poltert, weist Du nicht ob es ein Projektil war oder nur ein Stein auf die Luke gedonnert ist. ...Deine Hosen sind Voll...

...wird der Panzer hingen von einer Panzerbrechenden Waffe getroffen. bist Du tot. (keine Chance zu überleben) Du kannst dich nicht wegducken.

  • https://de.wikipedia.org/wiki/Hohlladung
  • https://de.wikipedia.org/wiki/Projektilbildende_Ladung

..und selbst wen Du nicht getroffen wirst, du siehst nicht viel und kannst Dich währen der Fahrt auch nicht auf Bodenwellen und Hindernisse vorbereiten, jeder Stoß, jede Bodenwelle oder Richtunswechsel verpasst Dir ein kleines Schleudertrauma., wenn Du nicht stänidg die Muskeln anpannst.

Im Einsatz wird es bezüglich der Hygiene ziemlich unangenehm. Du hockst tagelang mit den anderen Leuten der Besatzung auf engsten Raum, di kannst dich nicht waschen und hast beim Letzen Beschuss in die Hose gekackt (die anderen wahrscheinlich auch) Es stinkt und ist heiß und stickig.

Ich habe nur ein Manöver mit gemacht und dabei waren die Panzerabwehrgranaten lediglich mit Sand und Markerfarbe statt einer tötlichen Hohlladung, aber ein Treffer macht höllischen Lärm... Der Gestank ist auch ohne volle Hosen nach 3 Tagen jedoch echt🤮🤮🤮🤮

Eine Panzerbesatzung hat in einer realen Kampfsituation weniger Überlebenschancen als ein Radfahrer der sich übers Gefechtsfeld bewegt und dabei ein Liedchen pfeift!

Ganz unabhängig davon ob Du Kriegsgerät verherrlichst Krieg ist ein schmutziges Geschäft

Mein Sohn war in Afghanistan im Einsatz und er hat Dinge gesehen, die niemals im Fernsehen erwähnt werden könnten... vielleicht hilf ein kleiner Shock (die Bilder sind echt!)

Bild zum Beitrag

Bild zum Beitrag

...zur Antwort
Kann man mit windows...

Windows ist ein Betriebssystem unter dem ein Nutzer Apps/Programme/Kommandos etc ausführen kann. Windows selber kann nichts "hacken"

Was verstehst Du in dieser Beziehung unter "hacken"? Cmd ist einfach ein Progamm/App wie jedes andere auch. Da gibts nichts zu hacken, bestenfalls könnte man versuchen dessen Code zu verändern oder dessen Aufruf auf ein anderes Programm umzuleiten.

Wozu sollte man cmd "hacken"/manipulieren/oder was auch immer ? 🤔

Wenn man über die Möglichkeiten verfügt, den Kommandointerpreter (cmd.exe) zu verändern/beeinflussen, gibt es keinen Grund mehr dies zu tun. Cmd ist einfach nur die alte "Shell" von Windows und hat auf modernen Windowssystemen kaum noch Relevanz. Standardmäßig nimmt Powershell dessen Funktionalität ein (und übertrifft diese bei weitem).

Auch wenn ich in den letzten Jahren einigen Tricks zu Cmd/Batch zum Besten gegeben hatte, im alltäglichen Gebrauch und komplexen Aufgaben ist die Handhabung von Cmd zu umständlich und eingeschränkt. Cmd ist ein Relikt aus den 80er Jahren und vieles ist kaum noch den Anforderungen (einer halbwegs modernen) Administration von Windows gewachsen.

..oder hast Du Dich nur falsch audgedrückt?

...und möchtest mit dem Kommandointerpreter von Windows "hacken" ?

Für jemanden der sich sehr gut mit cmd/Batch -Batchbefehlen auskennt und deren spezielle Bugs/Besonderheiten zu ge-/missbrauchen weiß, gibt es "theoretisch" einige Möglichkeiten Angriffe zu steuern/auszuführen . Theoretisch, weil es einfach zu Aufwändig ist.  ergo Jein

...aber warum sollte man mit einer "Steinaxt" arbeiten, wenn ausreichend "Feinmechanikwerkzeug" verfügbar ist?

Powershell ist auf jedem Windowssystem (seit "7") verfügbar und mittels Add-Type kann man auf nahezu jede Funktion von Windows und .Net zugreifen. Damit sind natürilch auch diverse "tiefergreifende" Netzwerk Funktionen verfügbar.

wenn es darum geht ein System zu infiltrieren, ist Powershell wesentlich geeigneter als CMD.

  • https://book.hacktricks.xyz/windows-hardening/basic-powershell-for-pentesters
  • https://www.twingate.com/blog/glossary/powershell-exploits-attack
...zur Antwort
Im voraus:

Ich bin kein Jetpack-Programmierer und kann nur logische Schlussfolgerungen aus der der (schnell überflogenen) Dokumentation ziehen...:

  • https://medium.com/@anandgaur22/modifiers-in-jetpack-compose-f2bd164fb9c6

siehe Padding:

Jetpack Compose doesn’t have a modifier for margin. We should use the padding modifier for both padding and margin. (Je nach Position/Anordnung in einer Folge von Formatierungen.)

@Composable
fun TextWidthPadding() {
    Text(
        "Padding and margin!",
        Modifier.padding(32.dp) // Outer padding (margin)
            .background(color = Color.Green) //background color
            .padding(16.dp) // Inner padding
    )
}

in deinem Fall würde dies bedeuten, dass ein Padding() vor Fillmaxsize() als Margin fungiern. Padding() nach Fillmaxsize() als Padding

  • https://developer.android.com/develop/ui/compose/modifiers?hl=de#order-modifier-matters
  • https://developer.android.com/develop/ui/compose/layouts/constraints-modifiers?hl=de

***Erklärung unter dem Vorbehalt ,dass es nicht mein Fachgebiet ist! 😇

...zur Antwort

Keines von Beiden...

Zwischen der realen Welt und einer virtuellen Szenerie in einer Computersimulation bestehen gewaltige Unterschiede.

In der Realenwelt gehen Lichtstrahlen mehr oder weniger gestreut von einer Lichtquelle aus. Diese treffen auf reale Oberflächen und werden reflektiert/gestreut/gebrochen und treffen auf andere Oberflächen um wiederum reflektiert/gestreut/gebrochen zu werden usw... Das läuft so lange bis die so veränderten Lichtstrahlen ein Auge treffen (oder auch nicht)

...und völlig Gleichgültig ob ein Auge diese wahrnimmt, Lichtstrahlen/Wellen durchwandern unzählig den Raum. Das Auge nimmt nur die Photonen wahr, welche dirch 2mm Pupille auf die Netzhaut treffen. Das Auge selbst ist dabei passiv und das Ende der wenigen "Strahlen" welche es erreichen.

Es verfolgt/tract die Strahlen nicht, sondern empfängt diese lediglich.

Bei Unzählige Lichtstrahlen liegt dann auch der Knackpunkt für Computermodelle. Es wäre unsinnig alle Strahlen einer Virtuellen Lichtquelle zu simulieren/verfolgen, da die meisten garnicht im Auge enden, sondern irgendwann im "Nichts" verschwinden. Wie sollte man effizient die Strahlen herausfinden welche im "Virtuellen Auge" enden?

Die Methode, es der realen Welt gleich zu tun, wäre Äußerst ineffizient

"Wenn ein Baum im Wald umfällt und niemand da ist, der es hört, macht es ein Geräusch?"

Stellen wir die ganze Sache auf den Kopf...

Wenn kein virtuelles Auge anwesend ist, welches die virtuelle Szenerie beobachtet, gibt's auch keine Notwendigkeit einen Lichtstrahl zu verfolgen ...und unser virtuelles Auge ist nur an einer Definierten Stelle und die Milliarden anderer möglicher Positionen sind uninteressant.

Was liegt da näher, als auf die Biologie und Physik zu pfeifen und das Auge zum "Strahler" zu machen? Dann müssen wir nur noch die Bahn der gedachten Strahlen von "virtuellen Strahl-Auge" durch in die Szenerie verfolgen. ...und mit ein paar Winkelberechnungen lässt sich festlegen ob der Stahl irgendwann eine Lichtquelle trifft, oder nach einer vorgegebenen Anzahl von Reflexionen so weit gedämpft wird, das dieser 0 wird. Flächen, welche von anderen Objekten verdeckt werden brauchen ebenfalls nicht bewertet werden.

Dies Umkehrung eines "Lichtwegs" Raytracing ist lediglich ein Trick um die nötige Rechenleistung zu minimieren indem man irrelevante Strahlenwege von vornherein ausschließt.

https://de.wikipedia.org/wiki/Raytracing

Pathtraycing ist lediglich eine Sonderform bei der durch "Streuungsmodelle" auch diffuse Reflexionen in die Berechnung einbezogen werden.

Wie gesagt ein reales Auge sendet keine Strahlen.... , es nimmt aus der Fülle von Lichtstrahlen nur die wahr, welche dieses zufällig treffen.

Ich bin ein Relikt einer Zeit, als PCs mit 16MHz liefen. Aber auch in dieser Zeit waren die Menschen von künstlich erzeugten Szenerien fasziniert.

Der bekannteste Raytracer war POV-Ray mit einer riesigen Fangemeinde. Damals gab es noch keine Grafikkarten mit Millionen von Rendereinheiten. Eine virtuelle Szenerie zu in 640×480 Pixeln zu rendern konnte gut und gerne einige Stunden bis Tage dauern.

...zur Antwort

Ich schließe mich @W00dp3ckr's Meinung an.

Fang erstmal mit den Grundlagen an. Dazu gehört es auch (für den Anfang) eine leicht zu handhabende Sprache zu wählen.

C++ gehört nicht unbedingt zu den Anfängersprachen. Im Gegensatz zu C# oder Java musst Du Dich bei C++ selbst um die Speicherverwaltung und vielen anderen "Kleinkram" kümmern.

Falls Du es später noch für notwendig erachtest, kannst Du jederzeit auf C++ umsteigen.

Ich habe in diesem Bezug ganz bewusst Python nicht erwähnt. Python ist zwar sehr leicht für den Einstieg, jedoch unterscheidet sich die Syntax grundlegend von der C-Syntax, so dass das "Umlernen" ("Fingermotorisch") nicht so ganz unproblematisch sein kann.

Bevor Du Dich der Grafik widmest, sollte auch bei den leichteren Sprachen der Umgang mit Schleifen, Vergleichen, Datentypen, Operatoren so in Fleisch und Blut übergegangen sein, dass Du nicht mehr darüber nachdenken musst.

Heutzutage kannst Du in Unity in 2 Stunden einen Ball realistisch dopsen lassen.

Ich habe im Laufe der Jahre viele Anfänger kennengelernt, welche damit begannen irgendwelche Spiele mittels eines Videoguides nachzuprogeammieren und hernach an völlig primitiven Fehlern scheiterten, weil sie keine Ahnung hatten, was die "vorgekauten" Zeilen bewirkten.

Leute ,welche zu erst einen Ball hüpfen ließen, konnten sich dann auch nicht mehr an kleinen Erfolgen , wie einer funktionierenden Schleife die (in der Console) bis 10 zählt, erfreuen.

Fang erstmal an zu laufen, bevor Du zum Mond fliegst.😅...sonst fliegst nur aufs Gesicht🤕🤒

...zur Antwort
Private Kommunikation muss individuell bleiben

Warum sollte man im privaten Bereich überhaupt etwas kommunizieren, wenn kein persönliches Interesse an einem Kontakt vorliegt?

Ich sags mal so:

Wenn die private Kontaktliste so umfangreich wird, das man mit den "Anfragen" nicht mehr schritthalten kann, sollte man sich eher Gedanken zum eigenen Kommunikationsverhalten machen.

Wenn ich im privaten Bereich von einem Bot (oder einem Bediensteten) abgespeist würde, fände ich dass nicht unbedingt ergötzlich.

Warum unterhältst Du aktiv private Kontakte, welche es Dir nicht Wert sind für diese Freizeit zu opfern?

Wenn man sich nichts zu sagen hat, sollte man auch nichts sagen.

...egal ob persönlich oder mit Hilfe eines Bots.

...zur Antwort