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
Ja

Selbst wenn man Software für eine spezielle Fachrichtung entwickelt genügt es ein gewisses (anfängliches) Verständnis der Grundlagen dieser anderen Fachrichtung. Der Rest ergibt sich aus der Zusammenarbeit mit Fachleuten anderer Fachgebiete.

Ich hatte Ende der 90er Jahre gemeinsam mit einem "Chemieingeneur" begonnen eine computergestützte Prozesssteuerung zu entwickeln , völlig ohne Fachwissen auf dem nötigen Gebiet.

Solche fachgebietsübergreifenden Projekte sind Teamarbeit, bei der die Sachkenntniss mehrerer Gebiete zusammenfließt. Dabei erlangt man unweigerlich auch spezielle Skills auf den Gebieten mit denen man täglich beschäftigt ist. Dergleichen Wissenserwerb ist natürlich nicht vergleichbar mit der Breite eines Studiums.

...zur Antwort

Ich muss nicht arbeiten...

Ich fröhne meinem "faulen" Rentnerleben ...

  • Am Teich Enten füttern

Bild zum Beitrag

  • Im Supermarkt an der Kassen mit Kleingeld bezahlen und die hinter mir wachsende Schlange ergötzen

Bild zum Beitrag

  • jedem der es (nicht) hören will einen guten Spruch verpassen.

Bild zum Beitrag

Klischees! Die Realität:

Bild zum Beitrag

...zur Antwort

PowershellScripte im Autostart werden mit der Standardaktion für .ps1-Dateien ausgeführt und das ist "bearbeiten im Editor" . Ergo öffnet sich die Datei im Notepad.

Ohne das standardvorgehen in der Registry zu ändern , oder eine Verknüpfung klappt es also nicht.

Eine elegante Alternative wäre, das Powershell-Script als Batch. zu tarnen.

Powershell-Hybrid-Batch.cmd

<# : Batch Abschnitt
start "" powershell -c "&([Scriptblock]::Create((gc '%~f0' -enc UTF8 -raw )))"
exit /b
: Ende Batch Abschnitt #>

#hier  Dein Powershellcode:
Write-Host Hallo Welt -fo green
Write-Host Γεια σου Κόσμο  -fo mag
Write-Host Viele Grüße aus Powershell -fo red
pause

Ich benutze diese Hybrid-Technik schon seit Jahren ohne Probleme. selbst mit komplexen Powershellscripten

DeskClock.cmd

<# : Batch Abschnitt ,Batch sieht in dieser Zeile die Eingabe aus der Datei # an ein SprungLabel, Powershell sieht den begin eines Kommentars. 
:: etwas Tricky um Consolenfenster nur  so kurz wie Möglich sichtbar zu lassen
:: erstmal minimierten Start von Powershell erzwingen ( bis Powershell den Parameter -WindowStyle Hidden ausführen kann)
:: akzeptiert UTF8 gespeicherte Scripte
start "" /min powershell -WindowStyle hidden "&([Scriptblock]::Create((gc '%~f0' -enc UTF8 -raw )))"
exit /b
: Ende Batch und Powershellkommentar #>

using namespace System.Windows.Forms
using namespace System.Drawing

$WindowTitle='DesktopUhr'
#Wenn es bereits läuft  raus
$Mut = New-Object System.Threading.Mutex($True, $WindowTitle)
if (!$Mut.WaitOne(0)) {
    $Mut.Close();
    (New-Object -c Wscript.Shell).Popup("$WindowTitle is running",2,"",0)
    exit
}
Add-Type -a 'System.Windows.Forms'

$DisplayFont = [Font]::new("Consolas",32,[FontStyle]3)
$TimeDisplayFormat='HH:mm:ss'

$ClockDisplay = New-Object 'Label'
$ClockDisplay.Font = $DisplayFont
$ClockDisplay.Text = (Get-Date).ToString($TimeDisplayFormat)
$ClockDisplay.AutoSize = $True
$ClockDisplay.ForeColor = '255,0,0'

$Form = New-Object 'Form'
$Form.Text = $WindowTitle 
$Form.FormBorderStyle = 0 #Rahmen aus
$Form.TopMost = $True
$Form.StartPosition = 'manual'
$Form.Location = '30,30'
$Form.BackColor = '0,0,0' #schwarz
$Form.TransparencyKey = $Form.BackColor #kein Hintergrund
$Form.Controls.Add($ClockDisplay)
$Form.Size = $Form.PreferredSize


$Timer1 = New-Object 'Timer'
$Timer1.Enabled = $True
$Timer1.Interval = 100
$Timer1_Action={
    $ClockDisplay.Text = (Get-Date).ToString($TimeDisplayFormat) 
}
$Timer1.add_Tick($Timer1_Action)
[Application]::Run($Form)
$Mut.ReleaseMutex(); 
$Mut.Dispose();


...zur Antwort

@Xandros0506 hat ja schon den Einzeiler geliefert.

wenn Du dir die gelegentliche manuelle Eingabe sparen willst kannst Du auch ein kleine Batch laufen lassen, welche automatisch in bestimmten Zeitabständen prüft, ob der gewünschte Prozess (noch) läuft und gegebenefalls die nötigen Maßnahmen ausführt.

whatchProcess.cmd

echo off
set "WatchProcess=msaccess.exe" &rem zu  beobachtender/restartender Prozess
set "WatchIntervall=600"         &rem Wartezeit zwischen den Prüfungen in Sekunden 
 rem Endlosschleife läuft bis das Fenster geschlossen wird
:loop
    tasklist /fi "ImageName eq %watchprocess%"| find /i "%watchprocess%" >nul || (
        rem  restarte das Programm außerhalb der Batch
        start "" "%watchprocess%"
        timeout 3 >nul   &rem ein paar Sekunden warten, bis das gestartete Programm von tasklist erfasst werden kann 
        goto :loop
    )
    rem  warte bis  zur  nächsten Prüfung
    timeout %WatchIntervall% >nul
    goto loop

natürlich wäre ein ProzessWatscher in PowerShell wesentlich effizienter...

...zur Antwort

Da Du mich gebeten hast mir die Frage mal anzuschauen....

Ich kenne auch nicht jede Software. ...und schon garnicht die vom Admin Eures Firmennetzwerks getroffenen Konfigurationen.

An deinem Vorgehen bezüglich des Erzeugens einer Verknüpfung und der Platzierung im Autostart erscheint mir nichts falsch. Beim anlegen einer Verknüpfung per Maus werden allerdings eventuell für den Start nötige Kommandozeilenargumente nicht angelegt. (schau ich in meine Glaskugel, könnte autostart.exe ein Kommandozeilen-Wrapper für ein anderes Programm zu sein? Dergleichen Programme erwarten in der Regel diverse Argumente ---da wäre Ein Blick in die Dokumentation keine schlechte Idee)

Unter Umständen könnte auch das in der Verknüpfung hinterlegte Arbeitsverzeichnis nicht den Anforderungen des Programms entsprechen . (wie gesagt, ich kenne Eure Software nicht und kann mich nur auf mögliche allgemein übliche mögliche Ursachen beziehen.)

Wenn etwas nicht läuft kann es nützlich sein, zuschauen ob das aufgerufene Programm eventuell eine Fehlermeldung hinterlässt. Das sieht man im allgemeinen nicht wenn Programme per Mausklick bzw Verknüfung gestartet werden.

Du kannst die Windows-Console (cmd.exe) starten.

in der Console entspricht der start /d-Befehl weitestgehend der Funktionsweise einer Verknüpfung.

folglich wirst du eine (möglicherweise) ausgegebene Fehlermeldung zu Gesicht bekommen

start "" /b /d "c:\Arbeitsverzeichnis\wie in der Verknüpfung" "Zieldatei wie in einer Verknüpung" optional Argumente

(das wäre bei mir das billige Standardvorgehen)

Eigentlich wäre die Lösung deiner Probleme , mit der Firmensoftware, die Aufgabe Eures Admins (oder treibst Du da etwas, was der nicht wissen soll🤪)

...zur Antwort

Du hast ein Leerzeichen zwischen -Command und "InlineKommandoString" vergessen. ist zwar in diesem Fall nicht kritisch, aber innerhalb des 'Literals' sollten weder vor noch hinter dem angegebenen Pfad Leerzeichen stehen!

So sieht die Kommandozeile richtig aus:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& 'U:\AUTO.ps1'"

-command kannst Du weglassen oder oder zu -c abkürzen

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c "& 'U:\AUTO.ps1'"
oder
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "& 'U:\AUTO.ps1'"
Kleines extra von mir:

Verknüpfungen im Autostart sind etwas heikel, da sich das Ziel ändern kann.

Allerdings lassen sich Powershelldateien im Autostart nicht direkt ausführen.

Dafür gibt's einen eleganten Trick. Man speichert das Powershellscript als Batch (.cmd-Datei) und fügt vor dem Powershell ein Paar spezielle Zeilen Batchcode ein.

Powershell-Hybrid-Batch.cmd

<# : Batch Abschnitt
start "" powershell -c "&([Scriptblock]::Create((gc '%~f0' -enc UTF8 -raw )))"
exit /b
: Ende Batch und Powershellkommentar #>

#hier  Dein Powershellcode:
Write-Host Hallo Welt -fo green
Write-Host Γεια σου Κόσμο  -fo mag
Write-Host Viele Grüße aus Powershell -fo red
pause

Hier noch eine kleine Batch , welche aus eine beliebigen .ps1-Datei eine solche HybridBatch im Autostart erzeugt. Einfach eine .ps1-Datei auf die folgend Batch ziehen.

create Autostart PoshScript.cmd

@echo off
chcp 65001 >nul
if "%~1"=="" (
    echo ziehe die .ps1-Datei welche im Autostart gestartet werden soll,
    echo auf Diese Batch-Datei: "%~nx0"
    timeout 5 >nul
    exit /b
)

set "AutoStartFolder=%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"
set "HybridScriptName=%~nx1.cmd"
set "DestinationPath=%AutoStartFolder%\%HybridScriptName%"

echo creating Powershell-Batch HybridScript: 
echo "%DestinationPath%"

 rem Batch-Stub für das PowershellSript erzeugen...
>"%DestinationPath%"    echo ^<# : Batch Abschnitt
>>"%DestinationPath%"   echo start "" powershell -c "&([Scriptblock]::Create((gc '%%~f0' -enc UTF8 -raw )))"
>>"%DestinationPath%"   echo exit /b
>>"%DestinationPath%"   echo : Ende Batch und Powershellkommentar #^>
>>"%DestinationPath%"   echo:
 rem PowershellScript an die Zieldatei anhängen
>>"%DestinationPath%"   type "%~f1"

 rem  mal zum probiern den Autostart im Explorer öffnen
start "" "shell:startup"
echo fertig...
pause

Ganz nebenbei haben meine Hybriden den Vorteil problemlos mit Umlauten und Unicode-Text zurechtzukommen.

...zur Antwort

Dergleichen ist die eigentliche Aufgabe von Batch.

Da Du schon Fragen musst ob es überhaupt möglich ist eine Batchdatei auf einem Bootstick auszuführen , bin ich mir bezüglich Deiner Kenntnisse zu "Batch" nicht im klaren. Batch kann sehr tückisch sein und verzeiht keine Fehler

Also haupsächlich reparaturversuche für Windows.

Wenn Du Dein System so oft beschädigst, das es sich nötig erweist die Eingabe der nötigen Einzelbefehle durch eine Batch zu ersetzen stimmt Grundsätzlich etwas nicht daran wie Du Dein System nutzt

Als alter Hase würde ich Dir von automatisierten Aktionen , welche die Systemintegrität betreffen abraten. Auch wenn das System bereits beschädigt ist, man kann die Sache immer verschlimmern.

Wenn Du die Batch von einem Bootstick aufrufst, solltest Du beachten, das beim booten von einem externen Datenträger, die Laufwerkbuchstaben der im PC vorhandenen Laufwerke anders verteilt sein können als im Normalbetrieb.

Das bedeutet, Du musst ermitteln/prüfen ob das potentielle Ziellauferk die Daten enthält, welche "repariert" werden sollen. Das ist zwar automatisiert möglich, jedoch liegt dies außerhalb von "Anfängerlevel".

In den letzten Jahren werden sfc und dism unbedarften Windowsnutzern als eine Art Allheilmittel angepriesen. Allerdings sollten diese Programme nicht automatisiert aus einer Batch gestartet werden. Wenn es sich für zweckmäßig erweisen sollte Reparaturen an einem System vorzunehmen, sollte zuvor die mögliche Ursache für eine mögliche Beschädigung der Systemdateinen geklärt werden.

...zur Antwort

Kannst Du Dein Problem nicht beschreiben? 😅

so in der Art: "Egal welchen Menüpunkt ich wähle, es wird "arp" ausgeführt und zurück zum Menü gesprungen"

Tja das kommt davbon, das Du eine der schlimmsten "Programmiersprachen" für Dein Projektchen gewählt hast und deren Regeln und vor allem Tücken nicht beherrscht. (nicht traurig sein, an Batch scheitern sogar altgediente Profis) .

wo liegt Dein Problem...

Klammern!!! 🥵🥵🥵🥵

Batch kann nicht zwischen funktionalen Klammer und Klammern im Text unterscheiden!

in einem normalen

echo das  ist ein Text (mit Klammern) .  

...absolut kein Problem. ...aber:

if 5 equ 3 (  echo Das  gibt einen (fetten) Syntaxfehler)

weil der Parser die erste schleißende Klammer, welche zum Text gehört als Abschluss des Funktionsblocks sieht und mit dem "danach" nicht anzufangen weiß.

Das bei Dir kein Syntaxfehler ausgelöst wird, ist einfach der gückliche Umstand, das nach echo IP's found! (or not) kein weiteres Zeichen in dieser Zeile folgt und vor der nun "nackten" schließenden Klammer am ende weggesprungen wird (der parser diese nie zu sehen bekommt!)

if 3 equ 3 (
  echo irgendwas (die  folgende Klammer wird  als Abschluss des  funktionsblocks gesehen und nie angezeigt. die  hier: )
  echo diese Zeile   liegt  somit außerhalb des  if-Funktionsblocks
  echo  und  wird immer  ausgeführt egal ob "if"  wahr  oder falsch ist
  goto :raus
)  diese Klammer/Zeile  bekommet der Parser nie  zu Gesicht , deshab  macht die nackte  Klammer  keinen Ärger

:raus
echo  fertig
pause

die lösung ist einfach:

Text-Klammern innerhalb von funktionalen Klammern mit mit einem ^Carret maskieren.

if 5 equ 3 (
    echo  so  ist es richtig ^( Klammern   maskiert^)
    echo diese zeile liegt  nun  innerhalb des Funktionsblocks  und  wür   nur  ausgeführt  wenn 3 gleich 3 ist
)
  • https://ss64.com/nt/syntax-brackets.html

Bei der Gelegenheit habe ich noch einigen anderen Müll gefixt.

Bei eingaben via set/p kann ein Nutzer auch eingaben Tätigen für die Du kein Option vorgesehen hast was zu sehr unvorhersebaren Fehlern führen kann. Nutze besser choice.

  • timeout 3 > NUL: /NOBREAK , ist Käse >nul leitet eine Ausgabe ins Nirvana um das /nobreak interessiert den Parser nicht mehr richtig rum timeout 3 /nobreak >nul https://ss64.com/nt/timeout.html
  • arp /a zeigt den arp-Cache und nicht die IPs in der Nähe! https://www.geeksforgeeks.org/how-address-resolution-protocol-arp-works/
  • für Leerzeilenausgabe nicht echo. (kann zu kritischen Nebeneffekten führen) sondern echo:

nach der Kritik das gefixte Script:

demo.cmd

@echo off
color f0
title Leon's IP scanner -By Kein Zugriff
:menu
cls
echo:
echo:
echo 1) Scan IP's
echo 2) Shutdown PC
echo 3) Be cool
echo 4) Quit
choice /c 1234  &rem nutze choise  , das verhindert  unerwünschte Eingaben durch  den Nutzer
if %Errorlevel% equ 1 (
  cls
  echo Scanning IP's in you're near...
  timeout 3 /nobreak >nul   &rem so herum
  echo:
  echo IP's found! ^(or not^)
  timeout 2 /nobreak >nul
  arp -a    &rem  quatsch! gibt larp-cache  aus  und scannt  nicht  die IPadressen  in der Nähe 
  echo press any key to continue...
  pause >nul
  goto menu
)
if %Errorlevel% equ 2 (
  cls 
  echo PC Shutsdown...
  Shutdown -s -t 100
  exit /b 
)
if %Errorlevel% equ 3 (goto :cool)
if %Errorlevel% equ 4 (exit /b)

:cool
cls
color 0a
rem  das  goto :spam an dieser Stelle erübrigt  sich, weil das  Sprungziel ohnehin die  nächste Zeile wäre!
:spam 
echo Cool!
timeout 1 /nobreak >nul
goto spam

Kleiner Tipp am Rande. Lerne lieber Powershell. Das hat nicht all die fiesen Fallstricke welche Batch hat.

...zur Antwort

Abgesehen von den Problemen welche durch meine Krankheit bedingt sind (und mit keinem Geld der Welt zu beseitigen sind), geht es mir gut. Ich mache "Gutgehen" nicht am Geld fest und lebe eher bescheiden. Ich gönne mir gelegentlich den einen oder anderen kleinen "Luxus". Ich habe keine Geldprobleme. Wie auch, mein Bedarf für meine normale Lebenshaltung liegt aktuell bei unter 1000€. Mehr brauch ich nicht. Ich zeige auch niemandem meine Kontoauszüge, denn dies könnte bei manch einem Begehrlichkeiten wecken.

Ich habe viele gute Bekannte (...um mein Freund zu sein ist die Hürde sehr hoch) , dass ist unbezahlbar und kostet oft nur ein Lächeln oder ein paar freundliche Worte.

Was willst Du mit mehren Häusern oder Autos oder 50k im Monat? Besitz bedeutet auch Verantwortung und Stress.

Viel wichtiger als alles Geld der Welt sind Kontakte und "gute Beziehungen" zu Leuten, welche die eine oder andere "Tür" öffen können. Die meisten welche "höhere Ziele" anstreben scheitern, weil ihnen der Zugang zur "Macht" fehlt (Leuten die mit den Daumen nach oben oder unten zeigen). Du kannst 10.000 Stunden an Deiner Geschäftsidee arbeiten und auf letztlich doch auf die Nase fallen.

... oder in der Oper wärend der Pause mit einem Geschäftsführer (oder einem Politiker) bei einem Glas Sekt ins Gespräch kommen und diesen zum Gönner oder gar Freund gewinnen (dabei entscheiden eigentlich die nur ersten 3 Sekunden)

..jeder hier...

Ich weiß nicht wo Deine hier ist oder wer "jeder" ist?

Du scheinst Dich in einer Blase von Angebern und Tagträumern zu bewegen, fernab der Realität.

Wie ich auf diese Klassifizierung komme...?

Ich habe schon ein paar Jährchen Lebenserfahrung auf dem Buckel und bin zudem ein recht weltgewander Mensch. Warum sollte sich irgendwer in einem "Hier" wie dem GF herumtreiben, der einige Tausend im Monat auf die Seite legen kann ?

Wenn ich auf Instagram gehe , dann wird's noch schlimmer

Warum gehst Du den auf Insta? Ich wüsste nicht was ich dort sollte...

Ich kenne auf Grund meiner früheren Tätigkeit eine ganze Menge Leute, welche wirklich wirklich reich sind (ich rede da hinter vorgehaltener Hand von ...Mio++) . Diese Leute hüten sich davor über ihr Einkommen zu reden und sind eher unscheinbar in der Öffentlichkeit unterwegs.

Die Leute welche mit ihrem angeblichen Einkünften protzen sind Aufschneider mit wenig Selbstwertgefühl oder geschickte "Beutelschneider". Die Einen erhöhen ihr "Selbstwertgefühl" indem sie sich eine Gemeinde von Anbetern schaffen. Die andere Gruppe saugt gierige Verlierer noch mehr aus ...das sind Zecken. Jeder Besucher/Follower bringt Ihnen Geld und leider gibt's genug Leute, die Ihnen in die Falle gehen.

An denen solltest Du dich nicht orientieren .

Lerne Leute statt dessen kennen, die richtige "LEUTE" kennen, die wirklich wichtig sein könnten. Die treiben sich aber nicht irgendwelchen Internetplattformen herum.

Viele Menschen in den Industrieländer leben mit falschen Maximen . Wenn Du mal in meinem Alter bist, wirst Du vielleicht einsehen, wie töricht Deine heutigen Ansprüche waren.

...zur Antwort